[hibernate-commits] Hibernate SVN: r19770 - core/branches/gradle2.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Jun 18 20:03:29 EDT 2010


Author: steve.ebersole at jboss.com
Date: 2010-06-18 20:03:29 -0400 (Fri, 18 Jun 2010)
New Revision: 19770

Modified:
   core/branches/gradle2/settings.gradle
Log:
helpers to handle mixed jdk versions

Modified: core/branches/gradle2/settings.gradle
===================================================================
--- core/branches/gradle2/settings.gradle	2010-06-18 23:22:21 UTC (rev 19769)
+++ core/branches/gradle2/settings.gradle	2010-06-19 00:03:29 UTC (rev 19770)
@@ -1,26 +1,71 @@
-Properties properties = new Properties()
-properties.load(new FileInputStream(new File(gradle.gradleUserHomeDir, 'gradle.properties')))
-
-if (properties.jdk16_home) {
-    include 'hibernate-infinispan'
-}
-
+include 'hibernate-core'
 include 'hibernate-entitymanager'
 include 'hibernate-envers'
-include 'hibernate-core'
-include 'hibernate-testing'         // todo : merge this and testsuite into hibernate-core
 include 'hibernate-jmx'             // todo : merge into hibernate-core
 include 'hibernate-annotations'     // todo : merge into hibernate-core
 include 'hibernate-c3p0'
 include 'hibernate-proxool'
 include 'hibernate-ehcache'
+include 'hibernate-infinispan'
 include 'hibernate-jbosscache'
 include 'hibernate-oscache'
 include 'hibernate-swarmcache'
 include 'hibernate-release'
 
+Properties properties = new Properties()
+properties.load(new FileInputStream(new File(gradle.gradleUserHomeDir, 'gradle.properties')))
 
-rootProject.children.each {project ->
+// handle JDK 1.5 and JDK 1.6 evaluations
+org.gradle.util.Jvm jvm = org.gradle.util.Jvm.current();
+if ( !jvm.isJava5Compatible() ) {
+    logger.error( "Must use a 1.5 or higher version of JDK to run build." );
+    throw new RuntimeException( "Cannot proceed; JDK version < 1.5" );
+}
+
+JdkBuildListener buildListener = new JdkBuildListener();
+
+if ( properties.jdk16_home ) {
+    buildListener.java6Home = new org.hibernate.gradle.util.Jdk( properties.jdk16_home );
+}
+else if ( jvm.isJava6Compatible() ) {
+    // the build is being run with JDK 1.6, use its reported home
+    buildListener.java6Home = new org.hibernate.gradle.util.Jdk( System.getProperty( "java.home" ) );
+}
+else {
+    logger.error( "'jdk16_home' was not specified and Gradle jvm was 1.5." );
+    throw new RuntimeException( "Cannot proceed; unable to determine JDK 1.6 home" );
+}
+
+if ( properties.jdk15_home ) {
+    buildListener.java5Home = new org.hibernate.gradle.util.Jdk( properties.jdk15_home );
+}
+else if ( ! jvm.isJava6Compatible() ) {
+    // the build is being run with JDK 1.5, use its reported home
+    buildListener.java5Home = new org.hibernate.gradle.util.Jdk( System.getProperty( "java.home" ) );
+}
+else {
+    logger.error( "'jdk15_home' was not specified and Gradle jvm was 1.6" );
+    throw new RuntimeException( "Cannot proceed; unable to determine JDK 1.5 home" );
+}
+
+gradle.addListener( buildListener )
+
+class JdkBuildListener extends BuildAdapter {
+    org.hibernate.gradle.util.Jdk java5Home;
+    org.hibernate.gradle.util.Jdk java6Home;
+
+    def JdkBuildListener() {
+    }
+
+    void projectsLoaded(Gradle gradle) {
+        gradle.rootProject.allprojects {
+           project.java5Home = java5Home
+           project.java6Home = java6Home
+        }
+    }
+}
+
+rootProject.children.each { project ->
     project.buildFileName = "${project.name}.gradle"
     assert project.projectDir.isDirectory()
     assert project.buildFile.isFile()



More information about the hibernate-commits mailing list