Newer
Older
felmer
committed
task queryApiJar(type: Jar) {
baseName 'openBIS-query-API'
includeEmptyDirs false
from project(':commonbase').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis_api').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':datastore_server').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'
from project(':commonbase').files('source/java').getAsFileTree().plus(
project(':common').files('source/java').getAsFileTree().plus(
project(':openbis-common').files('source/java').getAsFileTree().plus(
project(':openbis').files('source/java').getAsFileTree().plus(
project(':openbis_api').files('source/java').getAsFileTree().plus(
project(':datastore_server').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(':datastore_server')
}
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 {
queryApiDependencies 'sis:sis-base:18.09.0',
'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',
'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
from project(':commonbase').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':common').compileJava.outputs.getFiles().getAsFileTree().plus(
felmer
committed
project(':openbis-common').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis_api').compileJava.outputs.getFiles().getAsFileTree())))).matching {
felmer
committed
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"
felmer
committed
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"
felmer
committed
include "ch/systemsx/cisd/openbis/common/api/**/*.class"
exclude "ch/systemsx/cisd/openbis/common/api/server/**/*.class"
include "ch/ethz/sis/openbis/generic/asapi/v3/**/*.class"
include "ch/ethz/sis/openbis/generic/dssapi/v3/**/*.class"
felmer
committed
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.class"
include "*.INFO"
}
}
configurations.create('apiV3Dependencies')
dependencies {
apiV3Dependencies 'sis:sis-base:18.09.0',
'eclipse:jetty-client:9.4.44.v20210927',
'springframework:spring-web:5.0.1.RELEASE',
'marathon:marathon-spring-util:1.2.5'
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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'
from project(':commonbase').files('source/java').getAsFileTree().plus(
project(':common').files('source/java').getAsFileTree().plus(
felmer
committed
project(':openbis-common').files('source/java').getAsFileTree().plus(
project(':openbis').files('source/java').getAsFileTree().plus(
project(':openbis_api').files('source/java').getAsFileTree())))).matching {
felmer
committed
include "ch/systemsx/cisd/common/exceptions/**/*.java"
include "ch/systemsx/cisd/common/spring/HttpInvokerUtils.java"
include "ch/systemsx/cisd/common/spring/IRemoteSpringBeanProvider.java"
felmer
committed
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"
felmer
committed
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"
felmer
committed
include "ch/systemsx/cisd/openbis/BuildAndEnvironmentInfo.java"
}
}
configurations.create('apiV3Javadoc')
dependencies {
apiV3Javadoc project(':openbis_api')
}
task apiV3JavaDoc(type: Javadoc) {
source apiV3Sources.inputs.getFiles().getAsFileTree().matching {
include "**/*.java"
}
classpath = configurations.apiV3Javadoc
}
task apiV3JavaDocZip(type: Zip, dependsOn: apiV3JavaDoc) {
archiveName 'javadoc-api-v3.zip'
from apiV3JavaDoc.destinationDir
}
task apiV3Zip(type: Zip, dependsOn: [apiV3JarBatteriesIncluded, apiV3Sources, apiV3JavaDocZip]) {
felmer
committed
baseName 'openBIS-API-V3'
from apiV3Jar.archivePath
from apiV3JarBatteriesIncluded.archivePath