apply plugin: 'war' apply plugin: 'eclipse' apply plugin: 'eclipse-wtp' apply plugin: 'distribution' apply plugin: 'maven-publish' configurations { jaxb } dependencies { jaxb group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: '3.0.2' jaxb group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2' implementation project(':common') implementation project(':moa-sig-lib') implementation project(':moa-asic') implementation fileTree(dir: 'libs', include: '*.jar') compileOnly 'javax.servlet:javax.servlet-api:3.1.0' implementation 'commons-discovery:commons-discovery:0.5' implementation 'org.apache.logging.log4j:log4j-1.2-api:2.20.0' implementation group: 'org.slf4j', name: 'log4j-over-slf4j', version: '1.7.36' implementation group: 'javax.jws', name: 'javax.jws-api', version: '1.1' implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.12' testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-migrationsupport', version: '5.8.2' testImplementation group: 'org.junit.platform', name: 'junit-platform-engine', version: '1.8.2' testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.8.2' testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.12' } sourceSets { main { java { srcDirs = ['src/main/java', 'src/generated/java'] } } } war { archiveBaseName = "moa-spss" duplicatesStrategy = DuplicatesStrategy.EXCLUDE } task jaxb () { // output directory def jaxbTargetDir = file( "${projectDir}/src/generated/java" ) // perform actions doLast { jaxbTargetDir.mkdirs() ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath) // MOA Sig ant.xjc( destdir: jaxbTargetDir.path, package: 'at.gv.egiz.moasig', schema: 'src/main/resources/resources/schemas/MOA-SPSS-3.1.2.xsd' ) } } distributions { main { distributionBaseName = "moa-spss" contents { into('/') { // Copy the following jars to the lib/ directory in the distribution archive from war.outputs from "$rootDir/../release-infos/readme_" + "$version" + ".txt" dirMode = 0755 fileMode = 0644 } into('/handbook') { from rootDir.toString() + "/../release-infos/handbook/" } into('/endorsed_libs') { from findJar('serializer') from findJar('xalan') from findJar('xercesImpl') from findJar('xml-apis') } into('/ext_libs') { from findJar('iaik_jce_full') from rootDir.toString() + "/../release-infos/ext_libs/" } } } } def findJar(prefix) { configurations.runtimeClasspath.filter { it.name.startsWith(prefix) } } task releases(type: Copy) { from distZip.outputs //from distTar.outputs into rootDir.toString() + "/releases/" + version }