apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'java-library-distribution' jar { manifest { attributes 'Implementation-Title': 'PDF-AS-4 Library', 'JARMANIFEST': 'PDF-AS-LIB' } } buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath("commons-io:commons-io:2.4") } } sourceSets { main { java { srcDirs = [ 'src/main/java', 'src/generated/java' ] } } } configurations { ws pdfDoclet { extendsFrom compile } } project.ext { wsdlDir = file("src/main/resources/wsdl") generatedWsdlDir = file("src/generated/java") wsdlsToGenerate = [ ['-xjc', "$wsdlDir/MOA-SPSS-2.0.0.wsdl"], ] } task createConf(type: Zip, dependsOn: JavaPlugin.PROCESS_RESOURCES_TASK_NAME) { from 'src/configuration' archiveName 'config.zip' destinationDir new File(projectDir, 'src/main/resources/config') } compileJava.dependsOn(createConf) repositories { mavenLocal() mavenCentral() } dependencies { compile project (':pdf-as-common') compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.3.2' compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.3.5' compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.5' compile group: 'commons-io', name: 'commons-io', version: '2.4' compile 'org.apache.commons:commons-collections4:4.0' compile group: 'ognl', name: 'ognl', version: '3.0.8' compile files('libs/iaik_eccelerate_cms.jar') compile files('libs/iaik_eccelerate.jar') compile files('libs/iaik_jce_full.jar') compile files('libs/iaik_cms.jar') compile 'ch.qos.logback:logback-classic:1.1.2' compile group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion compile group: 'com.google.zxing', name: 'core', version: '3.1.0' compile group: 'com.google.zxing', name: 'javase', version: '3.1.0' testCompile group: 'junit', name: 'junit', version: '4.+' ws group: 'org.apache.cxf', name: 'cxf-tools', version: cxfVersion ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-databinding-jaxb', version: cxfVersion ws group: 'org.apache.cxf', name: 'cxf-tools-wsdlto-frontend-jaxws', version: cxfVersion } task wsdl2Java() { if (!wsdlDir.listFiles()) { // do nothing } else { inputs.files wsdlDir.listFiles() outputs.files generatedWsdlDir doLast { wsdlsToGenerate.each { argsin -> argsin.add(argsin.size - 1, '-d') argsin.add(argsin.size - 1, generatedWsdlDir) javaexec { classpath configurations.ws main = 'org.apache.cxf.tools.wsdlto.WSDLToJava' args = argsin systemProperties = ['exitOnFinish':'TRUE'] } } } } } task releaseConfig(type: Copy) { from 'src/main/resources/config/config.zip' into rootDir.toString() + "/releases/" + version + "/cfg" rename 'config.zip', 'defaultConfig.zip' } task releases(type: Copy) { from jar.outputs from distZip.outputs from distTar.outputs into rootDir.toString() + "/releases/" + version } releases.dependsOn jar releases.dependsOn distZip releases.dependsOn distTar releases.dependsOn releaseConfig task apidocs(type: Javadoc) { classpath = configurations.compile source = sourceSets.main.allJava destinationDir = new File(rootDir.toString() + "/releases/" + version + "/docs/api") title = "PDF-AS " + project.pdfasversion + " Documentation" options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PUBLIC options.charSet = "ISO-8859-1" options.author = "Andreas Fitzek" options.docTitle = "PDF-AS " + project.pdfasversion + " Documentation" options.version = project.pdfasversion options.windowTitle = "PDF-AS " + project.pdfasversion + " Library" options.header = "PDF-AS " + project.pdfasversion + " Library " + project.pdfasversion + " [" + project.revision + "]" options.use = "true" options.links("http://docs.oracle.com/javase/1.5.0/docs/api/") include('at/gv/egiz/pdfas/lib/api/**') } task fulldocs(type: Javadoc) { classpath = configurations.compile source = sourceSets.main.allJava destinationDir = new File(rootDir.toString() + "/releases/" + version + "/docs/full") title = "PDF-AS " + project.pdfasversion + " Documentation" options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED options.charSet = "ISO-8859-1" options.author = "Andreas Fitzek" options.docTitle = "PDF-AS " + project.pdfasversion + " Documentation" options.version = project.pdfasversion options.windowTitle = "PDF-AS " + project.pdfasversion + " Library" options.header = "PDF-AS " + project.pdfasversion + " Library " + project.pdfasversion + " [" + project.revision + "]" options.use = "true" options.links("http://docs.oracle.com/javase/1.5.0/docs/api/") include('at/knowcenter/wag/egiz/**') include('at/gv/egiz/**') } releases.dependsOn apidocs releases.dependsOn fulldocs test { systemProperties 'property': 'value' }