Skip to content
Snippets Groups Projects
screening-api.gradle 6.12 KiB
Newer Older
configurations.create('screeningApiJarExternalLibs')
dependencies {
    screeningApiJarExternalLibs 'google:gwt-user:2.4'
task screeningApiJar(type: Jar) {
    archiveName 'openbis_screening_api.jar'
    includeEmptyDirs false
    from project(':lib-commonbase').compileJava.outputs.getFiles().getAsFileTree().plus(
            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().plus(
                                                    project(':server-screening').compileJava.outputs.getFiles().getAsFileTree())))))).matching {
        include "OpenBISScreeningML*.class"
        include "ch/systemsx/cisd/common/api/**/*.class"
        exclude "ch/systemsx/cisd/common/api/server/**/*.class"
        include "ch/systemsx/cisd/openbis/common/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/dss/generic/shared/api/authorization/**/*.class"
        include "ch/systemsx/cisd/openbis/dss/screening/shared/api/**/*.class"
        include "ch/systemsx/cisd/openbis/generic/shared/basic/**/*.class"
        include "ch/systemsx/cisd/openbis/generic/shared/api/**/*.class"
        include "ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/**/*.class"
        include "ch/systemsx/cisd/openbis/plugin/query/shared/**/*.class"
        include "ch/systemsx/cisd/openbis/plugin/screening/shared/api/**/*.class"
        include "ch/systemsx/cisd/openbis/plugin/screening/client/api/**/*.class"
        include "ch/systemsx/cisd/openbis/plugin/screening/client/cli/**/*.class"
        include "ch/systemsx/cisd/openbis/generic/client/cli/Login*.class"
        include "ch/systemsx/cisd/openbis/generic/shared/api/v1/**/*.class"
        include "ch/systemsx/cisd/common/**/*.class"
        include "ch/systemsx/cisd/openbis/common/**/*.class"
    }

    from zipTree(configurations.screeningApiJarExternalLibs.files.iterator().next()).matching {
        include '**/com/google/gwt/user/client/rpc/IsSerializable.class'
        include '**/com/google/gwt/user/client/rpc/SerializableException.class'
    }

        attributes("Main-Class": "ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.ScreeningClientApiTest",
                "Version": versionNumber,
                "Build-Number": "${versionNumber} (r${revisionNumber},${cleanFlag})",
                "Class-Path": "spring-ext.jar")
    }
}

task screeningApiSources(type: Zip) {
    archiveName 'sources-screening-api.zip'
    from project(':lib-commonbase').files('source/java').getAsFileTree().plus(
            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().plus(
                                                    project(':server-screening').files('source/java').getAsFileTree())))))).matching {
        include "OpenBISScreeningML*.java"
        include "ch/systemsx/cisd/openbis/plugin/screening/shared/api/**/*.java"
        include "ch/systemsx/cisd/openbis/plugin/screening/client/api/**/*.java"
    }
}

configurations.create('screeningApiJavadoc')
dependencies {
    screeningApiJavadoc project(':server-screening')
}

task screeningApiJavaDoc(type: Javadoc) {
    source screeningApiSources.inputs.getFiles().getAsFileTree().matching {
        include "**/*.java"
    }
    classpath = configurations.screeningApiJavadoc
}

task screeningApiJavaDocZip(type: Zip, dependsOn: screeningApiJavaDoc) {
    archiveName 'javadoc-screening-api.zip'
    from screeningApiJavaDoc.destinationDir
}


configurations.create('batteries')
dependencies {
    batteries 'sis:sis-base:23.06.0',
            'apache:httpclient:4.3.6',
            'apache:httpcore:4.3.3',
            'apache:commons-lang3:3.11',
            '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',
            'cisd:cisd-args4j:9.11.2',
            'python:jython:2.5.2',
            'aopalliance:aopalliance:1.0'
}

task springExt(type: Jar) {
    duplicatesStrategy 'include'
    archiveName 'spring-ext.jar'
    for (File f : configurations.batteries.files) {
        from zipTree(f).matching {
            include '**/**'
        }
    }
}

task screeningApiBatteriesIncluded(type: Jar, dependsOn: [screeningApiJar, springExt]) {
    archiveName 'openbis_screening_api-batteries_included.jar'
    from zipTree(springExt.archivePath)
    from zipTree(screeningApiJar.archivePath)
}

task screeningApiZip(type: Zip, dependsOn: [screeningApiJavaDocZip, screeningApiSources, screeningApiBatteriesIncluded]) {
    baseName 'openBIS-screening-API'
    from screeningApiJar.archivePath
    from springExt.archivePath
    from screeningApiBatteriesIncluded.archivePath
    from screeningApiSources.archivePath
    from screeningApiJavaDocZip.archivePath
    from project(':server-screening').files('dist/api/').getAsFileTree()