Before this change JibxMarshallerTests would fail on Windows with an error message explaining that JiBX compiler generated classes are not found on the classpath for binding with name 'binding'. Tests would execute well on Linux and OS X. Actual root cause of this bug is found to be in JiBX 1.1.5 release that is used to build Spring. The binding name can be explicitly specified in JiBX binding file. If omitted, when generating classes the JiBX compiler as fall-back mechanism tries to derive the binding name from the binding file name. That logic had a bug which gets manifested when configured binding file path has mixed Windows and *nix style file separators, as in case of JibxMarshallerTests being executed on a Windows platform. This commit resolves this issue by upgrading Spring's build from JiBX 1.1.5 to 1.2.3, as the bug mentioned was fixed in JiBX 1.2. See JIBX-441 for more details. Issue: SPR-8360
597 lines
20 KiB
Groovy
597 lines
20 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url 'http://repo.springsource.org/plugins-release' }
|
|
}
|
|
dependencies {
|
|
classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.5'
|
|
}
|
|
}
|
|
|
|
configure(allprojects) {
|
|
apply plugin: 'java'
|
|
apply plugin: 'eclipse'
|
|
apply plugin: 'idea'
|
|
|
|
group = 'org.springframework'
|
|
|
|
sourceCompatibility=1.5
|
|
targetCompatibility=1.5
|
|
|
|
ext.aspectjVersion = '1.6.12'
|
|
|
|
[compileJava, compileTestJava]*.options*.compilerArgs = ['-Xlint:none']
|
|
|
|
sourceSets.test.resources.srcDirs = ['src/test/resources', 'src/test/java']
|
|
|
|
test.systemProperty("java.awt.headless", "true")
|
|
|
|
repositories {
|
|
maven { url "http://repo.springsource.org/libs-release" }
|
|
maven { url "http://repo.springsource.org/ebr-maven-external" }
|
|
}
|
|
|
|
dependencies {
|
|
testCompile "junit:junit:4.10"
|
|
testCompile "org.easymock:easymock:2.5.1"
|
|
testCompile "org.hamcrest:hamcrest-all:1.1"
|
|
}
|
|
|
|
// servlet-api (2.5) and tomcat-servlet-api (3.0) classpath entries should not be
|
|
// exported to dependent projects in Eclipse to avoid false compilation errors due
|
|
// to changing APIs across these versions
|
|
eclipse.classpath.file.whenMerged { classpath ->
|
|
classpath.entries.findAll { entry -> entry.path.contains('servlet-api') }*.exported = false
|
|
}
|
|
}
|
|
|
|
configure(subprojects) { subproject ->
|
|
apply from: "${rootProject.projectDir}/publish-maven.gradle"
|
|
|
|
jar {
|
|
manifest.attributes['Implementation-Title'] = subproject.name
|
|
manifest.attributes['Implementation-Version'] = subproject.version
|
|
|
|
from("${rootProject.projectDir}/src/dist") {
|
|
include "license.txt"
|
|
include "notice.txt"
|
|
into "META-INF"
|
|
expand(copyright: new Date().format('yyyy'), version: project.version)
|
|
}
|
|
}
|
|
|
|
javadoc {
|
|
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
|
|
options.author = true
|
|
options.header = project.name
|
|
//options.overview = "${projectDir}/src/main/java/overview.html"
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn:classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allJava
|
|
}
|
|
|
|
task javadocJar(type: Jar) {
|
|
classifier = 'javadoc'
|
|
from javadoc
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
archives javadocJar
|
|
}
|
|
}
|
|
|
|
|
|
project("spring-asm") {
|
|
description = 'Spring ASM'
|
|
ext.asmVersion = '2.2.3'
|
|
|
|
configurations {
|
|
asm
|
|
jarjar
|
|
}
|
|
dependencies {
|
|
asm "asm:asm:${asmVersion}@jar", "asm:asm-commons:${asmVersion}@jar"
|
|
jarjar 'com.googlecode.jarjar:jarjar:1.1'
|
|
}
|
|
|
|
task repackageAsm(type: Jar) { jar ->
|
|
jar.baseName = "asm-repack"
|
|
jar.version = asmVersion
|
|
|
|
doLast() {
|
|
project.ant {
|
|
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask",
|
|
classpath: configurations.jarjar.asPath
|
|
jarjar(destfile: archivePath, index: "true", filesetmanifest: "merge") {
|
|
configurations.asm.each { jarfile ->
|
|
zipfileset(src: jarfile)
|
|
}
|
|
rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
jar {
|
|
dependsOn repackageAsm
|
|
from(zipTree(repackageAsm.archivePath)) {
|
|
exclude 'META-INF/INDEX.LIST'
|
|
}
|
|
}
|
|
}
|
|
|
|
project('spring-core') {
|
|
description = 'Spring Core'
|
|
dependencies {
|
|
// depend on spring-asm project in order to have it show up as a
|
|
// <dependency> in the generated pom
|
|
compile project(":spring-asm")
|
|
// depend directly on the spring-asm jar to avoid errors in Eclipse/STS
|
|
compile files(project(":spring-asm").jar.archivePath) {
|
|
builtBy project(":spring-asm").jar
|
|
}
|
|
compile "commons-logging:commons-logging:1.1.1"
|
|
compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional)
|
|
compile("net.sf.jopt-simple:jopt-simple:3.0") { dep ->
|
|
optional dep
|
|
exclude group: 'org.apache.ant', module: 'ant'
|
|
}
|
|
compile("log4j:log4j:1.2.15") { dep ->
|
|
optional dep
|
|
exclude group: 'javax.mail', module: 'mail'
|
|
exclude group: 'javax.jms', module: 'jms'
|
|
exclude group: 'com.sun.jdmk', module: 'jmxtools'
|
|
exclude group: 'com.sun.jmx', module: 'jmxri'
|
|
}
|
|
testCompile "xmlunit:xmlunit:1.2"
|
|
testCompile "org.codehaus.woodstox:wstx-asl:3.2.7"
|
|
}
|
|
}
|
|
|
|
project('spring-beans') {
|
|
description = 'Spring Beans'
|
|
dependencies {
|
|
compile project(":spring-core")
|
|
compile("javax.el:el-api:1.0", provided)
|
|
compile("javax.inject:javax.inject:1", provided)
|
|
compile("cglib:cglib-nodep:2.2", optional)
|
|
}
|
|
}
|
|
|
|
project('spring-aop') {
|
|
description = 'Spring AOP'
|
|
dependencies {
|
|
compile project(":spring-beans")
|
|
compile("com.jamonapi:jamon:2.4", optional)
|
|
compile("aopalliance:aopalliance:1.0", optional)
|
|
compile("commons-pool:commons-pool:1.5.3", optional)
|
|
}
|
|
}
|
|
|
|
project('spring-expression') {
|
|
description = 'Spring Expression Language (SpEL)'
|
|
dependencies {
|
|
compile project(":spring-core")
|
|
}
|
|
}
|
|
|
|
project('spring-instrument') {
|
|
description = 'Spring Instrument'
|
|
dependencies {
|
|
compile project(":spring-core")
|
|
}
|
|
}
|
|
|
|
project('spring-instrument-tomcat') {
|
|
description = 'Spring Instrument Tomcat'
|
|
dependencies {
|
|
compile("org.apache.tomcat:catalina:6.0.16", provided)
|
|
}
|
|
}
|
|
|
|
project('spring-context') {
|
|
description = 'Spring Context'
|
|
dependencies {
|
|
compile project(":spring-aop")
|
|
compile project(":spring-expression")
|
|
compile project(":spring-instrument")
|
|
compile("backport-util-concurrent:backport-util-concurrent:3.0", optional)
|
|
compile("javax.annotation:jsr250-api:1.0", optional)
|
|
compile("javax.ejb:ejb-api:3.0", optional)
|
|
compile("javax.inject:javax.inject:1", optional)
|
|
compile("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1", optional)
|
|
compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1", optional)
|
|
compile("javax.persistence:persistence-api:1.0", optional)
|
|
compile("javax.validation:validation-api:1.0.0.GA", optional)
|
|
compile("javax.xml.ws:jaxws-api:2.1-1") { dep ->
|
|
optional dep
|
|
exclude group: 'javax.jws', module: 'jsr181'
|
|
}
|
|
compile("org.beanshell:bsh:2.0b4", optional)
|
|
compile("org.codehaus.groovy:groovy-all:1.6.3", optional)
|
|
compile("org.jruby:jruby:1.4.0", optional)
|
|
compile("org.hibernate:hibernate-validator:4.2.0.Final") { dep ->
|
|
optional dep
|
|
exclude group: 'org.slf4j', module: 'slf4j-api'
|
|
}
|
|
compile("joda-time:joda-time:1.6", optional)
|
|
compile("net.sf.ehcache:ehcache-core:2.0.0", optional)
|
|
compile("org.slf4j:slf4j-api:1.6.1", optional)
|
|
compile("org.codehaus.jsr166-mirror:jsr166:1.7.0", provided)
|
|
testCompile "commons-dbcp:commons-dbcp:1.2.2"
|
|
testCompile("javax.xml:jaxrpc-api:1.1")
|
|
testCompile("javax.inject:com.springsource.org.atinject.tck:1.0.0")
|
|
}
|
|
|
|
test {
|
|
jvmArgs = ['-disableassertions:org.aspectj.weaver.UnresolvedType'] // SPR-7989
|
|
}
|
|
}
|
|
|
|
project('spring-tx') {
|
|
description = 'Spring Transaction'
|
|
dependencies {
|
|
compile project(":spring-context")
|
|
compile("com.ibm.websphere:uow:6.0.2.17", provided)
|
|
compile("javax.resource:connector-api:1.5", optional)
|
|
compile "aopalliance:aopalliance:1.0" // NOT optional, as opposed to in :spring-aop
|
|
testCompile "org.easymock:easymockclassextension:2.3"
|
|
}
|
|
}
|
|
|
|
project('spring-oxm') {
|
|
description = 'Spring Object/XML Marshalling'
|
|
apply from: 'oxm.gradle'
|
|
dependencies {
|
|
compile project(":spring-context")
|
|
compile "commons-lang:commons-lang:2.5"
|
|
compile("com.thoughtworks.xstream:xstream:1.3.1", optional)
|
|
compile("com.sun.xml.bind:jaxb-impl:2.1.7", optional)
|
|
compile("org.jibx:jibx-run:1.2.3", optional)
|
|
compile("org.apache.xmlbeans:xmlbeans:2.4.0", optional)
|
|
compile("org.codehaus.castor:castor-xml:1.3.2", optional)
|
|
testCompile "org.codehaus.jettison:jettison:1.0.1"
|
|
testCompile "xmlunit:xmlunit:1.2"
|
|
testCompile "xmlpull:xmlpull:1.1.3.4a"
|
|
testCompile(files(genCastor.classesDir).builtBy(genCastor))
|
|
testCompile(files(genJaxb.classesDir).builtBy(genJaxb))
|
|
testCompile(files(genXmlbeans.classesDir).builtBy(genXmlbeans))
|
|
}
|
|
}
|
|
|
|
project('spring-jms') {
|
|
description = 'Spring JMS'
|
|
dependencies {
|
|
compile project(":spring-oxm")
|
|
compile project(":spring-tx")
|
|
compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional)
|
|
}
|
|
}
|
|
|
|
project('spring-jdbc') {
|
|
description = 'Spring JDBC'
|
|
dependencies {
|
|
compile project(":spring-tx")
|
|
compile("c3p0:c3p0:0.9.1.2", optional)
|
|
compile("hsqldb:hsqldb:1.8.0.7", optional)
|
|
compile("com.h2database:h2:1.0.71", optional)
|
|
compile("org.apache.derby:derby:10.5.3.0_1", optional)
|
|
compile("org.apache.derby:derbyclient:10.5.3.0_1", optional)
|
|
}
|
|
}
|
|
|
|
project('spring-context-support') {
|
|
description = 'Spring Context Support'
|
|
dependencies {
|
|
compile project(":spring-jdbc")
|
|
compile("org.codehaus.fabric3.api:commonj:1.1.0", optional)
|
|
compile("opensymphony:quartz:1.6.2", optional)
|
|
compile("javax.mail:mail:1.4", optional)
|
|
compile("velocity:velocity:1.5", optional)
|
|
compile("commons-collections:commons-collections:3.2", optional)
|
|
compile("org.freemarker:freemarker:2.3.15", optional)
|
|
compile("jasperreports:jasperreports:2.0.5") { dep ->
|
|
optional dep
|
|
transitive = false
|
|
}
|
|
compile("commons-digester:commons-digester:1.8.1", optional)
|
|
compile("commons-beanutils:commons-beanutils:1.8.0", optional)
|
|
compile("com.lowagie:itext:2.0.8", optional)
|
|
testCompile "hsqldb:hsqldb:1.8.0.10"
|
|
testCompile("org.apache.poi:poi:3.0.2-FINAL") {
|
|
exclude group: 'log4j', module: 'log4j'
|
|
}
|
|
}
|
|
|
|
// pick up **/*.types files in src/main
|
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
|
}
|
|
|
|
project('spring-web') {
|
|
description = 'Spring Web'
|
|
dependencies {
|
|
compile project(":spring-oxm")
|
|
compile("com.caucho:hessian:3.2.1", optional)
|
|
compile("rome:rome:1.0", optional)
|
|
compile("javax.el:el-api:1.0", optional)
|
|
compile("javax.faces:jsf-api:1.2_08", optional)
|
|
compile("javax.portlet:portlet-api:2.0", provided)
|
|
compile("org.apache.tomcat:tomcat-servlet-api:7.0.8", provided) // servlet-api 3.0
|
|
compile("javax.servlet.jsp:jsp-api:2.1", provided)
|
|
compile("javax.xml.soap:saaj-api:1.3", provided)
|
|
compile("axis:axis:1.4", optional)
|
|
compile("commons-fileupload:commons-fileupload:1.2", optional)
|
|
runtime("commons-io:commons-io:1.3", optional)
|
|
compile("commons-httpclient:commons-httpclient:3.1", optional)
|
|
compile("org.apache.httpcomponents:httpclient:4.1.1", optional)
|
|
compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional)
|
|
compile("com.fasterxml.jackson.core:jackson-databind:2.0.1", optional)
|
|
compile("taglibs:standard:1.1.2", optional)
|
|
compile("org.mortbay.jetty:jetty:6.1.9") { dep ->
|
|
optional dep
|
|
exclude group: 'org.mortbay.jetty', module: 'servlet-api-2.5'
|
|
}
|
|
testCompile "xmlunit:xmlunit:1.2"
|
|
}
|
|
|
|
// pick up ContextLoader.properties in src/main
|
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
|
}
|
|
|
|
project('spring-orm') {
|
|
description = 'Spring Object/Relational Mapping'
|
|
dependencies {
|
|
// compiling against both hibernate 3 and 4 here in order to support
|
|
// our respective orm.hibernate3 and orm.hibernate4 packages
|
|
compile("org.hibernate:com.springsource.org.hibernate:3.3.1.GA", optional)
|
|
compile("org.hibernate:hibernate-core:4.1.0.Final", optional)
|
|
compile("org.hibernate:hibernate-cglib-repack:2.1_3", optional)
|
|
compile("org.hibernate:hibernate-annotations:3.4.0.GA", optional)
|
|
compile("org.hibernate:hibernate-entitymanager:4.1.0.Final", optional)
|
|
compile("org.apache.openjpa:openjpa:1.1.0", optional)
|
|
compile("org.eclipse.persistence:org.eclipse.persistence.core:1.0.1", optional)
|
|
compile("org.eclipse.persistence:org.eclipse.persistence.jpa:1.0.1", optional)
|
|
compile("toplink.essentials:toplink-essentials:2.0-41b", optional)
|
|
compile("javax.jdo:jdo-api:3.0", optional)
|
|
compile("org.apache.ibatis:ibatis-sqlmap:2.3.4.726", optional)
|
|
testCompile "javax.servlet:servlet-api:2.5"
|
|
testCompile "org.slf4j:slf4j-jcl:1.5.3"
|
|
testCompile "commons-dbcp:commons-dbcp:1.2.2"
|
|
testCompile "org.eclipse.persistence:org.eclipse.persistence.asm:1.0.1"
|
|
testCompile "org.eclipse.persistence:org.eclipse.persistence.antlr:1.0.1"
|
|
compile(project(":spring-web")) {
|
|
exclude group: 'javax.persistence', module: 'persistence-api'
|
|
}
|
|
compile project(":spring-jdbc")
|
|
}
|
|
}
|
|
|
|
project('spring-webmvc') {
|
|
description = 'Spring Web MVC'
|
|
dependencies {
|
|
compile project(":spring-web")
|
|
compile project(":spring-orm")
|
|
compile project(":spring-context-support")
|
|
compile("org.apache.tiles:tiles-api:2.1.2", optional)
|
|
compile("org.apache.tiles:tiles-core:2.1.2", optional)
|
|
compile("org.apache.tiles:tiles-jsp:2.1.2", optional)
|
|
compile("org.apache.tiles:tiles-servlet:2.1.2", optional)
|
|
compile("velocity-tools:velocity-tools-view:1.4", optional)
|
|
compile("net.sourceforge.jexcelapi:jxl:2.6.3") { dep ->
|
|
optional dep
|
|
exclude group: 'log4j', module: 'log4j'
|
|
}
|
|
compile("org.apache.poi:poi:3.0.2-FINAL") { dep ->
|
|
optional dep
|
|
exclude group: 'log4j', module: 'log4j'
|
|
}
|
|
compile("javax.servlet:jstl:1.1.2", provided)
|
|
compile("org.apache.tomcat:tomcat-servlet-api:7.0.8", provided) // servlet-api 3.0
|
|
testCompile("org.slf4j:slf4j-log4j12:1.6.1") {
|
|
exclude group: 'log4j', module: 'log4j'
|
|
}
|
|
testCompile "rhino:js:1.7R1"
|
|
testCompile "xmlunit:xmlunit:1.2"
|
|
testCompile("dom4j:dom4j:1.6.1") {
|
|
exclude group: 'xml-apis', module: 'xml-apis'
|
|
}
|
|
testCompile("jaxen:jaxen:1.1.1") {
|
|
exclude group: 'xml-apis', module: 'xml-apis'
|
|
exclude group: 'xom', module: 'xom'
|
|
exclude group: 'xerces', module: 'xercesImpl'
|
|
}
|
|
}
|
|
|
|
// pick up DispatcherServlet.properties in src/main
|
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
|
}
|
|
|
|
project('spring-webmvc-portlet') {
|
|
description = 'Spring Web Portlet'
|
|
dependencies {
|
|
compile("javax.servlet:servlet-api:2.5", provided)
|
|
compile project(":spring-webmvc")
|
|
}
|
|
|
|
// pick up DispatcherPortlet.properties in src/main
|
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
|
}
|
|
|
|
project('spring-test') {
|
|
description = 'Spring TestContext Framework'
|
|
dependencies {
|
|
compile project(":spring-webmvc-portlet")
|
|
compile("javax.activation:activation:1.0", provided)
|
|
compile("org.testng:testng:6.5.2", optional)
|
|
compile("junit:junit:4.10", optional)
|
|
compile("javax.servlet:servlet-api:2.5", provided)
|
|
testCompile "org.slf4j:slf4j-jcl:1.5.3"
|
|
}
|
|
}
|
|
|
|
project('spring-struts') {
|
|
description = 'Spring Struts'
|
|
dependencies {
|
|
compile project(":spring-webmvc")
|
|
compile "struts:struts:1.2.9"
|
|
compile "commons-beanutils:commons-beanutils:1.7.0"
|
|
compile("javax.servlet:servlet-api:2.5", provided)
|
|
testCompile project(":spring-test")
|
|
}
|
|
}
|
|
|
|
project('spring-aspects') {
|
|
description = 'Spring Aspects'
|
|
apply from: 'aspects.gradle'
|
|
dependencies {
|
|
compile project(":spring-orm")
|
|
aspects project(":spring-orm")
|
|
ajc "org.aspectj:aspectjtools:${aspectjVersion}"
|
|
compile "org.aspectj:aspectjrt:${aspectjVersion}"
|
|
testCompile project(":spring-test")
|
|
}
|
|
eclipse.project {
|
|
natures += 'org.eclipse.ajdt.ui.ajnature'
|
|
buildCommands = [new org.gradle.plugins.ide.eclipse.model.
|
|
BuildCommand('org.eclipse.ajdt.core.ajbuilder')]
|
|
}
|
|
}
|
|
|
|
configure(rootProject) {
|
|
description = 'Spring Framework'
|
|
|
|
apply plugin: 'docbook-reference'
|
|
|
|
reference {
|
|
sourceDir = file('src/reference/docbook')
|
|
}
|
|
|
|
// don't publish the default jar for the root project
|
|
configurations.archives.artifacts.clear()
|
|
|
|
dependencies { // for integration tests
|
|
testCompile project(":spring-test")
|
|
testCompile project(":spring-webmvc-portlet")
|
|
testCompile "org.hibernate:hibernate-core:4.1.0.Final"
|
|
testCompile "javax.servlet:servlet-api:2.5"
|
|
}
|
|
|
|
task api(type: Javadoc) {
|
|
group = 'Documentation'
|
|
description = 'Generates aggregated Javadoc API documentation.'
|
|
title = "${rootProject.description} ${version} API"
|
|
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
|
|
options.author = true
|
|
options.header = rootProject.description
|
|
options.overview = 'src/api/overview.html'
|
|
options.links(
|
|
'http://docs.jboss.org/jbossas/javadoc/4.0.5/connector'
|
|
)
|
|
source subprojects.collect { project ->
|
|
project.sourceSets.main.allJava
|
|
}
|
|
destinationDir = new File(buildDir, "api")
|
|
classpath = files(subprojects.collect { project ->
|
|
project.sourceSets.main.compileClasspath
|
|
})
|
|
maxMemory = '1024m'
|
|
}
|
|
|
|
task docsZip(type: Zip) {
|
|
group = 'Distribution'
|
|
classifier = 'docs'
|
|
description = "Builds -${classifier} archive containing api and reference " +
|
|
"for deployment at static.springframework.org/spring-framework/docs."
|
|
|
|
from('src/dist') {
|
|
include 'changelog.txt'
|
|
}
|
|
|
|
from (api) {
|
|
into 'api'
|
|
}
|
|
|
|
from (reference) {
|
|
into 'reference'
|
|
}
|
|
}
|
|
|
|
task schemaZip(type: Zip) {
|
|
group = 'Distribution'
|
|
classifier = 'schema'
|
|
description = "Builds -${classifier} archive containing all " +
|
|
"XSDs for deployment at static.springframework.org/schema."
|
|
|
|
subprojects.each { subproject ->
|
|
def Properties schemas = new Properties();
|
|
|
|
subproject.sourceSets.main.resources.find {
|
|
it.path.endsWith('META-INF/spring.schemas')
|
|
}?.withInputStream { schemas.load(it) }
|
|
|
|
for (def key : schemas.keySet()) {
|
|
def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
|
|
assert shortName != key
|
|
File xsdFile = subproject.sourceSets.main.resources.find {
|
|
it.path.endsWith(schemas.get(key))
|
|
}
|
|
assert xsdFile != null
|
|
into (shortName) {
|
|
from xsdFile.path
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) {
|
|
group = 'Distribution'
|
|
classifier = 'dist'
|
|
description = "Builds -${classifier} archive, containing all jars and docs, " +
|
|
"suitable for community download page."
|
|
|
|
def baseDir = "${project.name}-${project.version}";
|
|
|
|
from('src/dist') {
|
|
include 'readme.txt'
|
|
include 'license.txt'
|
|
include 'notice.txt'
|
|
into "${baseDir}"
|
|
expand(copyright: new Date().format('yyyy'), version: project.version)
|
|
}
|
|
|
|
from(zipTree(docsZip.archivePath)) {
|
|
into "${baseDir}/docs"
|
|
}
|
|
|
|
from(zipTree(schemaZip.archivePath)) {
|
|
into "${baseDir}/schema"
|
|
}
|
|
|
|
subprojects.each { subproject ->
|
|
into ("${baseDir}/libs") {
|
|
from subproject.jar
|
|
if (subproject.tasks.findByPath('sourcesJar')) {
|
|
from subproject.sourcesJar
|
|
}
|
|
if (subproject.tasks.findByPath('javadocJar')) {
|
|
from subproject.javadocJar
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
archives docsZip
|
|
archives schemaZip
|
|
archives distZip
|
|
}
|
|
|
|
task wrapper(type: Wrapper) {
|
|
description = 'Generates gradlew[.bat] scripts'
|
|
gradleVersion = '1.0-rc-3'
|
|
}
|
|
}
|
|
|