diff --git a/build.gradle b/build.gradle index 000b9cea..519ca079 100644 --- a/build.gradle +++ b/build.gradle @@ -8,20 +8,18 @@ buildscript { dependencies { classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.3' } - - project.ext { - springVersion = '3.1.1.RELEASE' - springSecurityVersion = '3.0.7.RELEASE' - slf4jVersion = '1.6.1' - log4jVersion = '1.2.15' - } } configure(allprojects) { - apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' +} + +configure(subprojects) { subproject -> + + apply plugin: 'java' + apply from: "${rootProject.projectDir}/publish-maven.gradle" group = 'org.springframework.webflow' @@ -32,25 +30,10 @@ configure(allprojects) { sourceSets.test.resources.srcDirs = ['src/main/java', 'src/test/resources', 'src/test/java'] - test { - systemProperty("java.awt.headless", "true") - include '**/*Tests.class' - } - repositories { maven { url "http://repo.springsource.org/libs-release" } } - dependencies { - testCompile "junit:junit:3.8.2" - testCompile "org.easymock:easymock:2.5.1" - } -} - -configure(subprojects) { subproject -> - - apply from: "${rootProject.projectDir}/publish-maven.gradle" - jar { manifest.attributes['Implementation-Title'] = subproject.name manifest.attributes['Implementation-Version'] = subproject.version @@ -62,6 +45,26 @@ configure(subprojects) { subproject -> expand(copyright: new Date().format('yyyy'), version: project.version) } } +} + +configure(subprojects.findAll {it.name != 'spring-js-resources'}) { subproject -> + + dependencies { + testCompile "junit:junit:3.8.2" + testCompile "org.easymock:easymock:2.5.1" + } + + subproject.ext { + springVersion = '3.1.1.RELEASE' + springSecurityVersion = '3.0.7.RELEASE' + slf4jVersion = '1.6.1' + log4jVersion = '1.2.15' + } + + test { + systemProperty("java.awt.headless", "true") + include '**/*Tests.class' + } javadoc { options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED @@ -110,15 +113,24 @@ project('spring-binding') { } } +project('spring-js-resources') { + + description = 'Spring JS Resources' + + apply from: "spring-js-resources.gradle" + + jar { + dependsOn prepareResources + } +} + project('spring-js') { description = 'Spring JS' dependencies { - // depend on spring-js-resources in order to have it show up as a - // in the generated pom - // compile project(":spring-js-resources") + compile project(":spring-js-resources") compile "commons-logging:commons-logging:1.1.1" compile("javax.servlet:servlet-api:2.5", provided) diff --git a/build.properties b/build.properties deleted file mode 100644 index b9b50c63..00000000 --- a/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -version=2.4.0 -release.type=integration -natural.name=spring-webflow -project.key=SWF -ivy.cache.dir=${basedir}/../ivy-cache -integration.repo.dir=${basedir}/../integration-repo -source.version=1.5 -javadoc.exclude.package.names=org/springframework/webflow/samples/** -javadoc.max.memory=256M -test.vm.args=-Xmx1024M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -ivy.settings.file=${basedir}/../build-spring-webflow/ivysettings.xml - -# For when releasing -#release.type=release -#build.stamp=RELEASE - -# For when releasing milestones -#release.type=milestone -#build.stamp=M1 - -# For development in trunk -#release.type=integration - diff --git a/settings.gradle b/settings.gradle index ec78cc16..1273c39c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,6 +3,6 @@ rootProject.name = 'webflow' include 'spring-binding' include 'spring-faces' include 'spring-js' -// include 'spring-js-resources' +include 'spring-js-resources' include 'spring-webflow' diff --git a/settings.xml b/settings.xml deleted file mode 100644 index 15637135..00000000 --- a/settings.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - fast - - true - - - - default - - true - - - - - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2 - false - - - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - - - - org.jboss.repository - JBoss Maven Repository - http://repository.jboss.org/maven2 - false - - - - java.net.release - Repository for Projects On Hosted on java.net - http://download.java.net/maven/2 - - - - maven1.java.net - http://download.java.net/maven/1 - legacy - - - - primefaces - Prime Technology Maven Repository - http://repository.prime.com.tr - default - - - - - diff --git a/spring-binding/.project b/spring-binding/.project deleted file mode 100644 index 1e51943c..00000000 --- a/spring-binding/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - spring-binding - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/spring-faces/.project b/spring-faces/.project deleted file mode 100644 index 674b52ad..00000000 --- a/spring-faces/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - spring-faces - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/spring-js-resources/.project b/spring-js-resources/.project deleted file mode 100644 index 94561936..00000000 --- a/spring-js-resources/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - spring-js-resources - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/spring-js-resources/spring-js-resources.gradle b/spring-js-resources/spring-js-resources.gradle new file mode 100644 index 00000000..26e79392 --- /dev/null +++ b/spring-js-resources/spring-js-resources.gradle @@ -0,0 +1,42 @@ +configurations { + shrinksafe +} + +dependencies { + shrinksafe "org.dojotoolkit:dojo-shrinksafe:1.7.2" +} + +task prepareResources(type: Jar) { jar -> + doLast() { + minify("Spring.js") + minify("Spring-Dojo.js") + ant.unzip(src: "${projectDir}/dojo-build/dojo-build.zip", + dest: "${buildDir}/resources/main/META-INF/web-resources") + } +} + +void minify(fileName) { + + project.ant { + def sourceDir = "${basedir}/src/main/resources/META-INF/web-resources/spring/" + def outputDir = "${buildDir}/resources/main/META-INF/web-resources/spring/" + + copy(file: "${outputDir}/${fileName}", tofile: "${outputDir}/${fileName}.uncompressed.js") + + java(classname: "org.dojotoolkit.shrinksafe.Main", + classpath: configurations.shrinksafe.asPath, fork: true, + output: "${outputDir}/${fileName}.TMP.js") { + arg(value: "${sourceDir}/${fileName}") + } + + move(file: "${outputDir}/${fileName}.TMP.js", toFile: "${outputDir}/${fileName}") { + filterchain { + filterreader(classname: "org.apache.tools.ant.filters.StripLineBreaks") + } + filterchain { + concatfilter(prepend: "${basedir}/../src/dist/javascript-copyright.txt") + } + } + } +} + diff --git a/spring-js/.project b/spring-js/.project deleted file mode 100644 index 335ed577..00000000 --- a/spring-js/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - spring-js - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/spring-webflow/.project b/spring-webflow/.project deleted file mode 100644 index 3701fb0a..00000000 --- a/spring-webflow/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - spring-webflow - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - -