Newer
Older
configurations.create('webStartJars')
configurations.create('appbundler')
dependencies {
anttil
committed
webStartJars 'sis:sis-base:+',
'cisd:cisd-args4j:+',
'cglib:cglib-nodep:+',
'jline:jline:+',
'apache:commons-codec:+',
'apache:commons-io:+',
'apache:httpclient:+',
'apache:commons-lang:+',
'apache:commons-logging:+',
'apache:log4j:+',
'apache:geronimo-stax:+',
'apache:poi:+',
'apache:poi-ooxml:+',
'apache:poi-ooxml-schemas:+',
'apache:xmlbeans:+',
'dom4j:dom4j:+',
'imagej:ij:+',
'python:jython:+',
'sybit:image-viewer:+',
'springframework:spring-aop:+',
'springframework:spring-beans:+',
'springframework:spring-context:+',
'springframework:spring-core:+',
'springframework:spring-web:+',
'springframework:spring-webmvc:+',
'springframework:spring-expression:+',
'marathon:marathon-spring-util:+',
'aopalliance:aopalliance:+'
appbundler 'oracle:appbundler:+'
}
ext.jarsToBeSignedFolder = "${buildDir}/jars_to_be_signed"
ext.signedJarsFolder = "${buildDir}/signed_jars"
ext.openbisClientJarName = 'openbis.jar'
ext.dssCliClientJarName = 'dss_client.jar'
ext.dssGuiClientJarName = 'dss_upload_gui.jar'
task createOpenbisJar(type: Jar) {
archiveName = openbisClientJarName
destinationDir = file(jarsToBeSignedFolder)
outputs.file new File(jarsToBeSignedFolder, archiveName)
from zipTree(project(':commonbase').jar.archivePath).plus(
zipTree(project(':common').jar.archivePath).plus(
zipTree(project(':openbis-common').jar.archivePath).plus(
zipTree(project(':openbis_api').jar.archivePath).plus(
zipTree(project(':datastore_server').jar.archivePath).plus(
zipTree(project(':screening').jar.archivePath).plus(
zipTree(project(':openbis').jar.archivePath))))))).matching {
include '**/ch/systemsx/cisd/common/**/*.class'
include '**/ch/systemsx/cisd/openbis/common/**/*.class'
include '**/ch/systemsx/cisd/openbis/generic/client/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/generic/client/cli/**/*.class'
include '**/ch/systemsx/cisd/openbis/generic/shared/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/plugin/screening/client/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/plugin/screening/shared/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/dss/client/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/dss/generic/shared/api/**/*.class'
include '**/ch/systemsx/cisd/openbis/dss/screening/shared/api/**/*.class'
include '**/shared/I*.class'
include '**/shared/basic/dto/**/*.class'
include '**/shared/basic/*.class'
include '**/*BuildAndEnvironmentInfo.class'
}
}
anttil
committed
createOpenbisJar.dependsOn(':commonbase:jar', ':common:jar', ':openbis-common:jar',
':openbis_api:jar', ':datastore_server:jar', ':screening:jar', ':openbis:jar')
task createDssClientJar(type: Jar) {
archiveName = dssGuiClientJarName
destinationDir = file(jarsToBeSignedFolder)
outputs.file new File(jarsToBeSignedFolder, archiveName)
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_api').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':openbis').compileJava.outputs.getFiles().getAsFileTree().plus(
project(':datastore_server').compileJava.outputs.getFiles().getAsFileTree()))))).matching {
include 'ch/ethz/sis/openbis/generic/asapi/**/*.class'
include 'ch/ethz/sis/openbis/generic/dssapi/**/*.class'
include 'ch/systemsx/cisd/common/**/*.class'
include 'ch/systemsx/cisd/openbis/common/**/*.class'
include 'ch/systemsx/cisd/openbis/generic/shared/**/*.class'
include 'ch/systemsx/cisd/openbis/plugin/query/shared/**/*.class'
include 'ch/systemsx/cisd/openbis/dss/client/**/*.class'
include 'ch/systemsx/cisd/openbis/dss/generic/shared/api/**/*.class'
include 'ch/systemsx/cisd/openbis/dss/generic/shared/utils/**/*.class'
include 'org/python/core/SyspathArchiveHack.class'
include 'ch/systemsx/cisd/openbis/dss/BuildAndEnvironmentInfo.class'
})
from (project(':datastore_server').fileTree(dir: 'resource', includes: ['ok.png', 'wrong.png', 'wait.gif']))
anttil
committed
def dssClientJars = ['aopalliance.jar','sis-base.jar', 'cisd-args4j.jar', 'cglib-nodep.jar ', 'jline.jar',
'spring-aop.jar', 'spring-beans.jar','spring-context.jar','spring-core.jar','spring-web.jar','spring-webmvc.jar','spring-expression.jar',
'stream-supporting-httpinvoker.jar', 'poi.jar', 'poi-ooxml.jar', 'poi-ooxml-schemas.jar',
'commons-codec.jar', 'httpclient.jar', 'httpcore.jar', 'commons-io.jar', 'commons-lang.jar',
'commons-logging.jar', 'jython.jar', 'log4j.jar', 'dom4j-1.6.1.jar',
'geronimo-stax-api_1.0_spec-1.0.jar', 'xmlbeans-2.3.0.jar']
manifest {
def manifestClasspath = dssClientJars.collect { it }.join(' ')
attributes("Main-Class": "ch.systemsx.cisd.openbis.dss.client.api.gui.DataSetUploadClient",
"Version": versionNumber,
"Permissions": "all-permissions",
"Build-Number": "${versionNumber} (r${revisionNumber},${cleanFlag})",
"Class-Path": manifestClasspath)
}
}
task copyJarsForWebStart(type: Copy, dependsOn: [createOpenbisJar, createDssClientJar]) {
from configurations.webStartJars.files
from (jarsToBeSignedFolder) {
include dssGuiClientJarName
rename { String fileName -> fileName.replace(dssGuiClientJarName, dssCliClientJarName)}
}
into jarsToBeSignedFolder
rename 'poi-[0-9]+.*\\.jar', 'poi.jar'
rename 'poi-ooxml-[0-9]+.*\\.jar', 'poi-ooxml.jar'
rename 'poi-ooxml-schemas-.*\\.jar', 'poi-ooxml-schemas.jar'
rename '(.+)-[0-9[r]]+.*\\.jar', '$1.jar'
rename 'dom4j.jar', 'dom4j-1.6.1.jar'
rename 'geronimo-stax.jar', 'geronimo-stax-api_1.0_spec-1.0.jar'
rename 'xmlbeans.jar', 'xmlbeans-2.3.0.jar'
rename 'marathon-spring-util.*jar', 'stream-supporting-httpinvoker.jar'
}
task signWebStartJars(type: Copy, dependsOn: [copyJarsForWebStart]) {
from jarsToBeSignedFolder
into signedJarsFolder
def keystoreFile = '../screening/etc/dev.keystore'
135
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
inputs.file keystoreFile
doLast {
file(signedJarsFolder).listFiles().each { file ->
if (file.name == dssCliClientJarName) {
ant.jar(destfile: file, update: true) {
delegate.manifest {
attribute(name: 'Main-Class', value: 'ch.systemsx.cisd.openbis.dss.client.api.cli.DssClient')
}
}
}
ant.signjar(jar: file, keystore: keystoreFile,
alias: 'openbis', storepass: 'openbistest')
}
}
}
task dssClientZip(type: Zip, dependsOn: signWebStartJars) {
baseName 'dss_client'
from (signedJarsFolder) {
into 'dss_client/lib'
exclude openbisClientJarName
}
from(project(':datastore_server').file('dist/dss_client.sh')) {
into 'dss_client'
fileMode 0755
}
}
task dssUploadGuiStandalone << {
ant.taskdef(name: 'bundle', classname: 'com.oracle.appbundler.AppBundlerTask', classpath: configurations.appbundler.asPath)
ant.bundle(outputdirectory: "${buildDir}",
name: 'DataSetUploader',
displayname: 'Data Set Uploader',
identifier: 'ch.systemsx.cisd.openbis.dss.client.api.gui.DataSetUploadClient',
mainclassname: 'ch.systemsx.cisd.openbis.dss.client.api.gui.DataSetUploadClient') {
classpath(dir: "${signedJarsFolder}") {
include(name: "aopalliance.jar")
include(name: "cglib-nodep.jar")
include(name: "cisd-args4j.jar")
anttil
committed
include(name: "sis-base.jar")
include(name: "commons-codec.jar")
include(name: "httpclient.jar")
include(name: "httpcore.jar")
include(name: "commons-io.jar")
include(name: "commons-lang.jar")
include(name: "commons-logging.jar")
include(name: "dom4j-1.6.1.jar")
include(name: "dss_upload_gui.jar")
include(name: "geronimo-stax-api_1.0_spec-1.0.jar")
include(name: "jython.jar")
include(name: "log4j.jar")
include(name: "poi-ooxml-schemas.jar")
include(name: "poi-ooxml.jar")
include(name: "poi.jar")
include(name: "spring-aop.jar")
include(name: "spring-beans.jar")
include(name: "spring-context.jar")
include(name: "spring-core.jar")
include(name: "spring-web.jar")
include(name: "spring-webmvc.jar")
include(name: "spring-expression.jar")
include(name: "stream-supporting-httpinvoker.jar")
}
}
}
dssUploadGuiStandalone.dependsOn signWebStartJars
anttil
committed
task dssUploadGuiStandaloneJar(type: Jar, dependsOn: dssUploadGuiStandalone) {
baseName 'dss_upload_gui_standalone'
from ({ fileTree("${signedJarsFolder}").matching {
include "aopalliance.jar"
anttil
committed
include "cglib-nodep.jar"
include "cisd-args4j.jar"
anttil
committed
include "sis-base.jar"
anttil
committed
include "commons-codec.jar"
include "httpclient.jar"
include "httpcore.jar"
anttil
committed
include "commons-io.jar"
include "commons-lang.jar"
include "commons-logging.jar"
include "dom4j-1.6.1.jar"
include "dss_upload_gui.jar"
include "geronimo-stax-api_1.0_spec-1.0.jar"
include "jython.jar"
include "log4j.jar"
include "poi-ooxml-schemas.jar"
include "poi-ooxml.jar"
include "poi.jar"
include "spring-aop.jar"
include "spring-beans.jar"
include "spring-context.jar"
include "spring-core.jar"
include "spring-web.jar"
include "spring-webmvc.jar"
include "spring-expression.jar"
anttil
committed
include "stream-supporting-httpinvoker.jar"
}.collect { zipTree(it).matching {exclude "META-INF/**", "ch/systemsx/cisd/base/utilities/AbstractBuildAndEnvironmentInfo.class"}}})
anttil
committed
manifest {
attributes(
"Main-Class": "ch.systemsx.cisd.openbis.dss.client.api.gui.DataSetUploadClient",
"Permissions": "all-permissions")
anttil
committed
}
}
task dssUploadGuiStandaloneZip(type: Zip, dependsOn: dssUploadGuiStandalone) {
baseName 'dss_upload_gui_standalone'
from ("${buildDir}/DataSetUploader.app") {
into 'DataSetUploader.app'
}
}