Newer
Older
task queryApiJar(type: Jar) {
baseName 'openBIS-query-API'
includeEmptyDirs false
Adam Laskowski
committed
from project(':lib-commonbase').compileJava.outputs.getFiles().getAsFileTree().plus(
Adam Laskowski
committed
project(':lib-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':lib-openbis-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':server-application-server').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':api-openbis-java').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':server-original-data-store').compileJava.outputs.getFiles().getAsFileTree()))))).matching {
include "ch/systemsx/cisd/common/exceptions/**/*.class"
include "ch/systemsx/cisd/common/spring/HttpInvokerUtils.class"
include "ch/systemsx/cisd/common/api/**/*.class"
exclude "ch/systemsx/cisd/common/api/server/**/*.class"
include "ch/systemsx/cisd/openbis/common/api/**/*.class"
exclude "ch/systemsx/cisd/openbis/common/api/server/**/*.class"
include "ch/systemsx/cisd/openbis/generic/shared/api/**/*.class"
include "ch/systemsx/cisd/openbis/generic/shared/basic/**/*.class"
include "ch/systemsx/cisd/openbis/plugin/query/**/api/**/*.class"
exclude "ch/systemsx/cisd/openbis/**/server/api/**/*.class"
include "ch/systemsx/cisd/openbis/dss/client/api/v1/**/*.class"
include "ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/**/*.class"
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.class"
include "*.INFO"
}
}
task queryApiSources(type: Zip) {
archiveName 'sources-query-api.zip'
Adam Laskowski
committed
from project(':lib-commonbase').files('source/java').getAsFileTree().plus(
Adam Laskowski
committed
project(':lib-common').files('source/java').getAsFileTree().plus(
project(':lib-openbis-common').files('source/java').getAsFileTree().plus(
project(':server-application-server').files('source/java').getAsFileTree().plus(
project(':api-openbis-java').files('source/java').getAsFileTree().plus(
project(':server-original-data-store').files('source/java').getAsFileTree()))))).matching {
include "ch/systemsx/cisd/common/exceptions/**/*.java"
include "ch/systemsx/cisd/common/spring/HttpInvokerUtils.java"
include "ch/systemsx/cisd/common/api/**/*.java"
exclude "ch/systemsx/cisd/common/api/server/**/*.java"
include "ch/systemsx/cisd/openbis/common/api/**/*.java"
exclude "ch/systemsx/cisd/openbis/common/api/server/**/*.java"
include "ch/systemsx/cisd/openbis/generic/shared/api/**/*.java"
include "ch/systemsx/cisd/openbis/generic/shared/basic/**/*.java"
include "ch/systemsx/cisd/openbis/plugin/query/**/api/**/*.java"
exclude "ch/systemsx/cisd/openbis/**/server/api/**/*.java"
include "ch/systemsx/cisd/openbis/dss/client/api/v1/**/*.java"
include "ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/**/*.java"
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.java"
}
}
configurations.create('queryApiJavadoc')
dependencies {
queryApiJavadoc project(':server-original-data-store')
}
task queryApiJavaDoc(type: Javadoc) {
source queryApiSources.inputs.getFiles().getAsFileTree().matching {
include "**/*.java"
}
classpath = configurations.queryApiJavadoc
}
task queryApiJavaDocZip(type: Zip, dependsOn: queryApiJavaDoc) {
archiveName 'javadoc-query-api.zip'
from queryApiJavaDoc.destinationDir
}
configurations.create('queryApiDependencies')
dependencies {
'apache:httpclient:4.3.6',
'apache:httpcore:4.3.3',
'apache:log4j:1.2.15',
'springframework:spring-aop:5.0.1.RELEASE',
'springframework:spring-beans:5.0.1.RELEASE',
'springframework:spring-context:5.0.1.RELEASE',
'springframework:spring-core:5.0.1.RELEASE',
'springframework:spring-web:5.0.1.RELEASE',
'springframework:spring-webmvc:5.0.1.RELEASE',
'springframework:spring-expression:5.0.1.RELEASE',
'apache:commons-logging:1.2',
'apache:commons-lang3:3.11',
'marathon:marathon-spring-util:1.2.5',
'aopalliance:aopalliance:1.0'
}
task queryApiZip(type: Zip, dependsOn: [queryApiJar, queryApiSources, queryApiJavaDocZip]) {
baseName 'openBIS-query-API'
from queryApiJar.archivePath
from queryApiSources.archivePath
from queryApiJavaDocZip.archivePath
from configurations.queryApiDependencies
into 'openBIS-query-API'
}
felmer
committed
/////////// API V3 ////////////////////
felmer
committed
task apiV3Jar(type: Jar) {
baseName 'openBIS-API-V3'
includeEmptyDirs false
Adam Laskowski
committed
from project(':lib-commonbase').compileJava.outputs.getFiles().getAsFileTree().plus(
Adam Laskowski
committed
project(':lib-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':lib-openbis-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':server-application-server').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':api-openbis-java').compileJava.outputs.getFiles().getAsFileTree())))).matching {
include "ch/systemsx/cisd/common/exceptions/**/*.class"
include "ch/systemsx/cisd/common/spring/HttpInvokerUtils.class"
include "ch/systemsx/cisd/common/spring/IRemoteSpringBeanProvider.class"
include "ch/systemsx/cisd/common/spring/Jetty*.class"
include "ch/systemsx/cisd/common/http/*.class"
include "ch/systemsx/cisd/common/api/**/*.class"
exclude "ch/systemsx/cisd/common/api/server/**/*.class"
include "ch/systemsx/cisd/common/reflection/*.class"
include "ch/systemsx/cisd/common/shared/basic/**/*.class"
include "ch/systemsx/cisd/openbis/common/api/**/*.class"
exclude "ch/systemsx/cisd/openbis/common/api/server/**/*.class"
include "ch/ethz/sis/openbis/generic/*.class"
include "ch/ethz/sis/openbis/generic/asapi/v3/**/*.class"
include "ch/ethz/sis/openbis/generic/dssapi/v3/**/*.class"
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.class"
include "*.INFO"
}
felmer
committed
}
configurations.create('apiV3Dependencies')
dependencies {
'sis:sis-file-transfer:19.03.1',
'apache:httpclient:4.3.6',
'apache:commons-lang3:3.11',
'eclipse:jetty-client:9.4.44.v20210927',
'springframework:spring-web:5.0.1.RELEASE',
'marathon:marathon-spring-util:1.2.5'
apply plugin: 'ivy-publish'
def _configurations = configurations
if (!project.hasProperty("publishRevision")) {
ext.publishRevision = "-1"
}
if (!project.hasProperty("repositoryRoot")) {
ext.repositoryRoot = "/non-existent"
}
publishing {
publications {
ivyApiV3(IvyPublication) {
from components.java
organisation 'openbis'
module 'openbis-v3-api'
revision = project.publishRevision
descriptor.withXml {
asNode().remove(asNode().publications)
asNode().remove(asNode().configurations)
asNode().info[0].attributes().remove('status')
asNode().info[0].attributes().remove('publication')
asNode().remove(asNode().dependencies)
asNode().appendNode('dependencies')
_configurations.apiV3Dependencies.resolvedConfiguration.firstLevelModuleDependencies.each {
def node = asNode().dependencies[0].appendNode('dependency')
node.attributes()['org'] = it.moduleGroup
node.attributes()['name'] = it.moduleName
node.attributes()['rev'] = it.moduleVersion
}
}
}
}
}
task prepublish {
doLast {
if (publishRevision == "-1") {
throw new GradleException("No publish revision defined. Run this task like: ./gradlew clean publishApiV3 -PpublishRevision=S277 -PrepositoryRoot=/Users/juanf/git/openbis/ivy-repository")
}
if (repositoryRoot == "/non-existent") {
throw new GradleException("No repository root defined. Run this task like: ./gradlew clean publishApiV3 -PpublishRevision=S277 -PrepositoryRoot=/Users/juanf/git/openbis/ivy-repository")
}
}
}
def publishDir = new File("${repositoryRoot}/openbis/openbis-v3-api/${publishRevision}")
task publishApiV3(type: Sync) {
dependsOn "prepublish", "generateDescriptorFileForIvyApiV3Publication", "apiV3Jar"
doFirst {
publishDir.mkdirs()
}
from("${buildDir}/publications/ivyApiV3/ivy.xml")
from(apiV3Jar.archivePath) {
rename '(.*)', "openbis-v3-api-${publishRevision}.jar"
}
into publishDir
}
task apiV3JarBatteriesIncluded(type: Jar, dependsOn: [apiV3Jar]) {
duplicatesStrategy 'include'
baseName 'openBIS-API-V3-batteries-included'
includeEmptyDirs false
from(zipTree(apiV3Jar.archivePath)) {
include '**/*'
}
from(configurations.apiV3Dependencies.collect { zipTree(it) }) {
include '**/*'
}
felmer
committed
task apiV3Sources(type: Jar) {
archiveName 'sources-api-v3.zip'
Adam Laskowski
committed
from project(':lib-commonbase').files('source/java').getAsFileTree().plus(
Adam Laskowski
committed
project(':lib-common').files('source/java').getAsFileTree().plus(
project(':lib-openbis-common').files('source/java').getAsFileTree().plus(
project(':server-application-server').files('source/java').getAsFileTree().plus(
project(':api-openbis-java').files('source/java').getAsFileTree())))).matching {
include "ch/systemsx/cisd/common/exceptions/**/*.java"
include "ch/systemsx/cisd/common/spring/HttpInvokerUtils.java"
include "ch/systemsx/cisd/common/spring/IRemoteSpringBeanProvider.java"
include "ch/systemsx/cisd/common/api/**/*.java"
exclude "ch/systemsx/cisd/common/api/server/**/*.java"
include "ch/systemsx/cisd/common/reflection/*.java"
include "ch/systemsx/cisd/common/shared/basic/**/*.java"
include "ch/systemsx/cisd/openbis/common/api/**/*.java"
exclude "ch/systemsx/cisd/openbis/common/api/server/**/*.java"
include "ch/ethz/sis/openbis/generic/asapi/v3/**/*.java"
include "ch/ethz/sis/openbis/generic/dssapi/v3/**/*.java"
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.java"
felmer
committed
}
}
configurations.create('apiV3Javadoc')
dependencies {
apiV3Javadoc project(':api-openbis-java')
felmer
committed
}
task apiV3JavaDoc(type: Javadoc) {
source apiV3Sources.inputs.getFiles().getAsFileTree().matching {
include "**/*.java"
}
classpath = configurations.apiV3Javadoc
felmer
committed
}
task apiV3JavaDocZip(type: Zip, dependsOn: apiV3JavaDoc) {
archiveName 'javadoc-api-v3.zip'
from apiV3JavaDoc.destinationDir
felmer
committed
}
task apiV3Zip(type: Zip, dependsOn: [apiV3JarBatteriesIncluded, apiV3Sources, apiV3JavaDocZip]) {
baseName 'openBIS-API-V3'
from apiV3Jar.archiveFile
from apiV3JarBatteriesIncluded.archiveFile
from apiV3Sources.archiveFile
from apiV3JavaDocZip.archiveFile
from configurations.apiV3Dependencies
into 'openBIS-API-V3'
felmer
committed
}
/////////// DROPBOX API V2 ////////////////////
task dropboxApiJar(type: Jar) {
baseName 'openBIS-API-dropbox'
includeEmptyDirs false
from project(':server-original-data-store').compileJava.outputs.getFiles().getAsFileTree().matching {
include "ch/systemsx/cisd/etlserver/registrator/api/v2/*.class"
include "ch/systemsx/cisd/etlserver/registrator/api/v2/impl/*.class"
include "ch/systemsx/cisd/openbis/dss/generic/shared/api/**/*.class"
}
}
task dropboxApiZip(type: Zip, dependsOn: [dropboxApiJar]) {
baseName 'openBIS-API-dropbox'
from dropboxApiJar.archiveFile
into 'openBIS-API-dropbox'
}
configurations.create('dropboxApiJavadoc')
dependencies {
dropboxApiJavadoc project(':server-original-data-store')
}
task dropboxApiJavadoc(type: Javadoc) {
source project(':server-original-data-store').files('source/java').getAsFileTree().matching {
include "ch/systemsx/cisd/etlserver/registrator/api/v2/*.java"
include "ch/systemsx/cisd/etlserver/registrator/api/v2/impl/*.java"
include "ch/systemsx/cisd/openbis/dss/generic/shared/api/**/*.class"
}
classpath = configurations.dropboxApiJavadoc
}
task dropboxJavaDocZip(type: Zip, dependsOn: dropboxApiJavadoc) {
archiveName 'javadoc-dropbox-api.zip'
from dropboxApiJavadoc.destinationDir
}
/////////// DYNAMIC PROPERTIES API ////////////////////
configurations.create('dynamicApiJavadoc')
dependencies {
dynamicApiJavadoc project(':server-application-server')
}
task dynamicApiJavadoc(type: Javadoc) {
source project(':server-application-server').files('source/java').getAsFileTree().matching {
include "ch/systemsx/cisd/openbis/generic/shared/hotdeploy_plugins/api/*.java"
}
classpath = configurations.dynamicApiJavadoc
}
task dynamicApiJavadocZip(type: Zip, dependsOn: dynamicApiJavadoc) {
archiveName 'javadoc-dynamic-api.zip'
from dropboxApiJavadoc.destinationDir