Bläddra i källkod

Merge pull request #573 from jMonkeyEngine/cleanup_build_scripts

Cleanup build scripts (3.1)
empirephoenix 8 år sedan
förälder
incheckning
0f93df648e

+ 1 - 0
.gitignore

@@ -14,6 +14,7 @@
 *.jnilib
 *.dylib
 *.iml
+.gradletasknamecache
 .DS_Store
 /jme3-core/src/main/resources/com/jme3/system/version.properties
 /jme3-*/build/

+ 26 - 17
.travis.yml

@@ -1,17 +1,38 @@
 language: java
 sudo: false
 
-addons:
-  ssh_known_hosts: updates.jmonkeyengine.org
+branches:
+  only:
+  - master
+  - v3.1
+
+matrix:
+  include:
+  - jdk: oraclejdk8
+    os: linux
+    env: UPLOAD_ALL=true
+  - jdk: openjdk7
+    os: linux
+  - os: osx
+
+before_install:
+  - git fetch --unshallow
 
 before_cache:
-  - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- 
+  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
+  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
+
 cache:
   directories:
     - $HOME/.gradle/caches/
     - $HOME/.gradle/wrapper/
 
+script:
+  - ./gradlew check
+
+after_success:
+  - '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ -n "$UPLOAD_ALL" ] && ./gradlew bintrayUpload || :'
+
 notifications:
   slack:
     on_success: change
@@ -19,12 +40,6 @@ notifications:
     rooms:
       secure: "PWEk4+VL986c3gAjWp12nqyifvxCjBqKoESG9d7zWh1uiTLadTHhZJRMdsye36FCpz/c/Jt7zCRO/5y7FaubQptnRrkrRfjp5f99MJRzQVXnUAM+y385qVkXKRKd/PLpM7XPm4AvjvxHCyvzX2wamRvul/TekaXKB9Ti5FCN87s="
 
-install:
-  - ./gradlew assemble
-
-script:
-  - ./gradlew check
-
 before_deploy:
   - ./gradlew createZipDistribution
   - export RELEASE_DIST=$(ls build/distributions/*.zip)
@@ -40,9 +55,6 @@ deploy:
     repo: jMonkeyEngine/jmonkeyengine
     tags: true
 
-before_install:
-  - git fetch --unshallow
-  - "[ $TRAVIS_PULL_REQUEST == 'false' ] && openssl aes-256-cbc -K $encrypted_a1949b55824a_key -iv $encrypted_a1949b55824a_iv -in private/www-updater.key.enc -out private/www-updater.key -d || :"
 
 # before_install:
   # required libs for android build tools
@@ -54,7 +66,4 @@ before_install:
   # 7z x ndk.bin -y > /dev/null
   # export ANDROID_NDK=`pwd`/android-ndk-r10c
 
-after_success:
-  - '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew bintrayUpload || :'
-#  - '[ "$TRAVIS_BRANCH" == "v3.1" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives || :'
-#  - '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives bintrayUpload || :'
+

+ 26 - 25
build.gradle

@@ -29,31 +29,32 @@ task run(dependsOn: ':jme3-examples:run') {
 
 defaultTasks 'run'
 
-task libDist(dependsOn: subprojects.build) << {
-//    description 'Builds and copies the engine binaries, sources and javadoc to build/libDist'
-    File libFolder = mkdir("$buildDir/libDist/lib")
-    File sourceFolder = mkdir("$buildDir/libDist/sources")
-    File javadocFolder = mkdir("$buildDir/libDist/javadoc")
-    subprojects.each {project ->
-        if(project.ext.mainClass == ''){
-            project.tasks.withType(Jar).each {archiveTask ->
-                if(archiveTask.classifier == "sources"){
-                    copy {
-                        from archiveTask.archivePath
-                        into sourceFolder
-                        rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
-                    }
-                } else if(archiveTask.classifier == "javadoc"){
-                    copy {
-                        from archiveTask.archivePath
-                        into javadocFolder
-                        rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
-                    }
-                } else{
-                    copy {
-                        from archiveTask.archivePath
-                        into libFolder
-                        rename {project.name + '.' + archiveTask.extension}
+task libDist(dependsOn: subprojects.build, description: 'Builds and copies the engine binaries, sources and javadoc to build/libDist') {
+    doLast {
+        File libFolder = mkdir("$buildDir/libDist/lib")
+        File sourceFolder = mkdir("$buildDir/libDist/sources")
+        File javadocFolder = mkdir("$buildDir/libDist/javadoc")
+        subprojects.each {project ->
+            if(project.ext.mainClass == ''){
+                project.tasks.withType(Jar).each {archiveTask ->
+                    if(archiveTask.classifier == "sources"){
+                        copy {
+                            from archiveTask.archivePath
+                                into sourceFolder
+                                rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
+                        }
+                    } else if(archiveTask.classifier == "javadoc"){
+                        copy {
+                            from archiveTask.archivePath
+                                into javadocFolder
+                                rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
+                        }
+                    } else{
+                        copy {
+                            from archiveTask.archivePath
+                                into libFolder
+                                rename {project.name + '.' + archiveTask.extension}
+                        }
                     }
                 }
             }

+ 0 - 19
common.gradle

@@ -18,16 +18,11 @@ repositories {
     }
 }
 
-configurations {
-    deployerJars
-}
-
 dependencies {
     // Adding dependencies here will add the dependencies to each subproject.
     testCompile group: 'junit', name: 'junit', version: '4.12'
     testCompile group: 'org.mockito', name: 'mockito-core', version: '2.0.28-beta'
     testCompile group: 'org.easytesting', name: 'fest-assert-core', version: '2.0M10'
-    deployerJars "org.apache.maven.wagon:wagon-ssh:2.9"
 }
 
 jar {
@@ -116,17 +111,3 @@ artifacts {
     archives writeFullPom.outputs.files[0]
 }
 
-uploadArchives {
-    repositories.mavenDeployer {
-        configuration = configurations.deployerJars
-        
-        // disable this otherwise it will fill up the server with stale jars
-        uniqueVersion = false
-        
-        repository(url: "scp://updates.jmonkeyengine.org/var/www/updates/maven") {
-             authentication(userName: "www-updater", privateKey: "private/www-updater.key")
-        }
-        
-        pom.project pomConfig
-    }
-}

+ 0 - 3
gradle.properties

@@ -23,9 +23,6 @@ bulletUrl = https://storage.googleapis.com/google-code-archive-downloads/v2/code
 bulletFolder = bullet-2.82-r2704
 bulletZipFile = bullet.zip
 
-# Path for downloading NetBeans Base
-netbeansUrl = http://download.netbeans.org/netbeans/8.0.2/final/zip/netbeans-8.0.2-201411181905-javase.zip
-
 # POM settings
 POM_NAME=jMonkeyEngine
 POM_DESCRIPTION=jMonkeyEngine is a 3D game engine for adventurous Java developers

+ 52 - 50
jme3-bullet-native-android/build.gradle

@@ -102,56 +102,58 @@ task copyJmeAndroid(type: Copy, dependsOn:copyJmeCpp) {
     into outputDir
 }
 
-task generateNativeHeaders(dependsOn: copyJmeAndroid) << {
-    String destDirPath = jniPath
-    String classes = " \
-            com.jme3.bullet.PhysicsSpace, \
-            \
-            com.jme3.bullet.collision.PhysicsCollisionEvent, \
-            com.jme3.bullet.collision.PhysicsCollisionObject,\
-            com.jme3.bullet.objects.PhysicsCharacter, \
-            com.jme3.bullet.objects.PhysicsGhostObject, \
-            com.jme3.bullet.objects.PhysicsRigidBody, \
-            com.jme3.bullet.objects.PhysicsVehicle, \
-            com.jme3.bullet.objects.VehicleWheel, \
-            com.jme3.bullet.objects.infos.RigidBodyMotionState, \
-            \
-            com.jme3.bullet.collision.shapes.CollisionShape, \
-            com.jme3.bullet.collision.shapes.BoxCollisionShape, \
-            com.jme3.bullet.collision.shapes.CapsuleCollisionShape, \
-            com.jme3.bullet.collision.shapes.CompoundCollisionShape, \
-            com.jme3.bullet.collision.shapes.ConeCollisionShape, \
-            com.jme3.bullet.collision.shapes.CylinderCollisionShape, \
-            com.jme3.bullet.collision.shapes.GImpactCollisionShape, \
-            com.jme3.bullet.collision.shapes.HeightfieldCollisionShape, \
-            com.jme3.bullet.collision.shapes.HullCollisionShape, \
-            com.jme3.bullet.collision.shapes.MeshCollisionShape, \
-            com.jme3.bullet.collision.shapes.PlaneCollisionShape, \
-            com.jme3.bullet.collision.shapes.SimplexCollisionShape, \
-            com.jme3.bullet.collision.shapes.SphereCollisionShape, \
-            \
-            com.jme3.bullet.joints.PhysicsJoint, \
-            com.jme3.bullet.joints.ConeJoint, \
-            com.jme3.bullet.joints.HingeJoint, \
-            com.jme3.bullet.joints.Point2PointJoint, \
-            com.jme3.bullet.joints.SixDofJoint, \
-            com.jme3.bullet.joints.SixDofSpringJoint, \
-            com.jme3.bullet.joints.SliderJoint, \
-            com.jme3.bullet.joints.motors.RotationalLimitMotor, \
-            com.jme3.bullet.joints.motors.TranslationalLimitMotor, \
-            \
-            com.jme3.bullet.util.NativeMeshUtil, \
-            com.jme3.bullet.util.DebugShapeFactory"
-
-    String projectClassPath = configurations.runtime.asFileTree.matching {
-        exclude ".gradle"
-    }.asPath
-
-    exec {
-        executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
-        args '-d', destDirPath
-        args '-classpath', projectClassPath
-        args classes.split(",").collect { it.trim() }
+task generateNativeHeaders(dependsOn: copyJmeAndroid) {
+    doLast {
+        String destDirPath = jniPath
+        String classes = " \
+                com.jme3.bullet.PhysicsSpace, \
+                \
+                com.jme3.bullet.collision.PhysicsCollisionEvent, \
+                com.jme3.bullet.collision.PhysicsCollisionObject,\
+                com.jme3.bullet.objects.PhysicsCharacter, \
+                com.jme3.bullet.objects.PhysicsGhostObject, \
+                com.jme3.bullet.objects.PhysicsRigidBody, \
+                com.jme3.bullet.objects.PhysicsVehicle, \
+                com.jme3.bullet.objects.VehicleWheel, \
+                com.jme3.bullet.objects.infos.RigidBodyMotionState, \
+                \
+                com.jme3.bullet.collision.shapes.CollisionShape, \
+                com.jme3.bullet.collision.shapes.BoxCollisionShape, \
+                com.jme3.bullet.collision.shapes.CapsuleCollisionShape, \
+                com.jme3.bullet.collision.shapes.CompoundCollisionShape, \
+                com.jme3.bullet.collision.shapes.ConeCollisionShape, \
+                com.jme3.bullet.collision.shapes.CylinderCollisionShape, \
+                com.jme3.bullet.collision.shapes.GImpactCollisionShape, \
+                com.jme3.bullet.collision.shapes.HeightfieldCollisionShape, \
+                com.jme3.bullet.collision.shapes.HullCollisionShape, \
+                com.jme3.bullet.collision.shapes.MeshCollisionShape, \
+                com.jme3.bullet.collision.shapes.PlaneCollisionShape, \
+                com.jme3.bullet.collision.shapes.SimplexCollisionShape, \
+                com.jme3.bullet.collision.shapes.SphereCollisionShape, \
+                \
+                com.jme3.bullet.joints.PhysicsJoint, \
+                com.jme3.bullet.joints.ConeJoint, \
+                com.jme3.bullet.joints.HingeJoint, \
+                com.jme3.bullet.joints.Point2PointJoint, \
+                com.jme3.bullet.joints.SixDofJoint, \
+                com.jme3.bullet.joints.SixDofSpringJoint, \
+                com.jme3.bullet.joints.SliderJoint, \
+                com.jme3.bullet.joints.motors.RotationalLimitMotor, \
+                com.jme3.bullet.joints.motors.TranslationalLimitMotor, \
+                \
+                com.jme3.bullet.util.NativeMeshUtil, \
+                com.jme3.bullet.util.DebugShapeFactory"
+
+        String projectClassPath = configurations.runtime.asFileTree.matching {
+            exclude ".gradle"
+        }.asPath
+
+        exec {
+            executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
+            args '-d', destDirPath
+            args '-classpath', projectClassPath
+            args classes.split(",").collect { it.trim() }
+        }
     }
 }
 

+ 1 - 1
jme3-bullet-native/build.gradle

@@ -208,7 +208,7 @@ unzipBullet.dependsOn {
     }
 }
 
-task unzipBulletIfNeeded << {
+task unzipBulletIfNeeded {
 }
 
 unzipBulletIfNeeded.dependsOn {

+ 60 - 58
jme3-examples/build.gradle

@@ -62,69 +62,71 @@ jar.doFirst{
 
 task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar', \
                        ':jme3-android-native:jar', ':jme3-bullet-native-android:jar', \
-                       ':jme3-bullet-native:jar']) << {
-    // Copy all dependencies to ../dist/lib, remove versions from jar files
-    configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
-        copy {
-            from artifact.file
-            into '../dist/lib'
-            if(artifact.classifier != null){
-                rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
-            } else{
-                rename { "${artifact.name}.${artifact.extension}" }
+                       ':jme3-bullet-native:jar']) {
+    doLast {
+        // Copy all dependencies to ../dist/lib, remove versions from jar files
+        configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
+            copy {
+                from artifact.file
+                into '../dist/lib'
+                if(artifact.classifier != null){
+                    rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
+                } else{
+                    rename { "${artifact.name}.${artifact.extension}" }
+                }
             }
         }
-    }
-    copy {
-        from jar.archivePath
-        into '../dist'
-        rename { "jMonkeyEngine3.jar" }
-    }
-    // Copy JOGL packages, remove version
-    def config = project(':jme3-jogl').configurations.runtime.copyRecursive({ !(it instanceof ProjectDependency); })
-    config.resolvedConfiguration.resolvedArtifacts.each {artifact ->
-        copy{
-            from artifact.file
-            into '../dist/opt/jogl/lib'
-            if(artifact.classifier != null){
-                rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
-            } else{
-                rename { "${artifact.name}.${artifact.extension}" }
+        copy {
+            from jar.archivePath
+            into '../dist'
+            rename { "jMonkeyEngine3.jar" }
+        }
+        // Copy JOGL packages, remove version
+        def config = project(':jme3-jogl').configurations.runtime.copyRecursive({ !(it instanceof ProjectDependency); })
+        config.resolvedConfiguration.resolvedArtifacts.each {artifact ->
+            copy{
+                from artifact.file
+                into '../dist/opt/jogl/lib'
+                if(artifact.classifier != null){
+                    rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
+                } else{
+                    rename { "${artifact.name}.${artifact.extension}" }
+                }
             }
         }
-    }
-    copy {
-        from project(':jme3-jogl').jar.archivePath
-        into '../dist/opt/jogl'
-        rename {project(':jme3-jogl').name+".jar"}
-    }
+        copy {
+            from project(':jme3-jogl').jar.archivePath
+            into '../dist/opt/jogl'
+            rename {project(':jme3-jogl').name+".jar"}
+        }
 
-    // Copy bullet packages, remove version
-    copy {
-        from project(':jme3-bullet').jar.archivePath
-        into '../dist/opt/native-bullet'
-        rename {project(':jme3-bullet').name+".jar"}
-    }
-    copy {
-        from project(':jme3-bullet-native').jar.archivePath
-        into '../dist/opt/native-bullet'
-        rename {project(':jme3-bullet-native').name+".jar"}
-    }
+        // Copy bullet packages, remove version
+        copy {
+            from project(':jme3-bullet').jar.archivePath
+            into '../dist/opt/native-bullet'
+            rename {project(':jme3-bullet').name+".jar"}
+        }
+        copy {
+            from project(':jme3-bullet-native').jar.archivePath
+            into '../dist/opt/native-bullet'
+            rename {project(':jme3-bullet-native').name+".jar"}
+        }
 
-    // Copy android packages, remove version
-    copy {
-        from project(':jme3-android').jar.archivePath
-        into '../dist/opt/android'
-        rename {project(':jme3-android').name+".jar"}
-    }
-    copy {
-        from project(':jme3-android-native').jar.archivePath
-        into '../dist/opt/android'
-        rename {project(':jme3-android-native').name+".jar"}
-    }
-    copy {
-        from project(':jme3-bullet-native-android').jar.archivePath
-        into '../dist/opt/native-bullet'
-        rename {project(':jme3-bullet-native-android').name+".jar"}
+        // Copy android packages, remove version
+        copy {
+            from project(':jme3-android').jar.archivePath
+            into '../dist/opt/android'
+            rename {project(':jme3-android').name+".jar"}
+        }
+        copy {
+            from project(':jme3-android-native').jar.archivePath
+            into '../dist/opt/android'
+            rename {project(':jme3-android-native').name+".jar"}
+        }
+        copy {
+            from project(':jme3-bullet-native-android').jar.archivePath
+            into '../dist/opt/native-bullet'
+            rename {project(':jme3-bullet-native-android').name+".jar"}
+        }
     }
 }

BIN
private/www-updater.key.enc


+ 6 - 17
version.gradle

@@ -1,7 +1,7 @@
 /*
  Version Info Examples
  =====================
- 
+
  Nightly Build Snapshot
  * git tag:
  * Full Version: 3.1-5124
@@ -22,14 +22,14 @@
  * POM Version: 3.1.0-alpha1
  * NBM Revision: 0
  * NBM UC Suffix: stable/3.1/plugins
- 
+
  Final Release
  * git tag: v3.1.0
  * Full Version: 3.1
  * POM Version: 3.1.0
  * NBM Revision: 0
  * NBM UC Suffix: stable/3.1/plugins
- */ 
+ */
 
 import java.text.SimpleDateFormat
 import org.ajoberstar.grgit.*
@@ -45,7 +45,6 @@ buildscript {
 
 ext {
     jmeRevision     = 0
-    jmeNbmRevision  = 0
     jmeGitHash      = ""
     jmeGitTag       = ""
     jmeShortGitHash = ""
@@ -53,7 +52,6 @@ ext {
     jmeBranchName   = "unknown"
     jmeFullVersion  = "${jmeVersion}-UNKNOWN"
     jmePomVersion   = "unknown"
-    jmeNbmUcSuffix  = "unknown"
 }
 
 def getReleaseInfo(String tag) {
@@ -122,7 +120,7 @@ task configureVersionInfo {
         jmeShortGitHash = head.abbreviatedId
         jmeBranchName = grgit.branch.current.name
         jmeGitTag = grgit.tag.list().find { it.commit == head }
-        
+
         if (jmeGitTag != null) {
             jmeGitTag = jmeGitTag.name
         } else {
@@ -133,8 +131,6 @@ task configureVersionInfo {
         if (releaseInfo != null) {
             jmeFullVersion = "${releaseInfo.baseVersion}${releaseInfo.releaseSuffix}"
             jmePomVersion = "${releaseInfo.mainVersion}${releaseInfo.releaseSuffix}"
-            jmeNbmRevision = "0"
-            jmeNbmUcSuffix = "stable/${releaseInfo.baseVersion}/plugins"
         } else {
             // SNAPSHOT
             jmeFullVersion = jmeMainVersion
@@ -142,27 +138,20 @@ task configureVersionInfo {
             if (System.env.TRAVIS_BRANCH != null) {
                 jmeBranchName = System.env.TRAVIS_BRANCH
             }
-            if (System.env.TRAVIS_PULL_REQUEST != null && 
+            if (System.env.TRAVIS_PULL_REQUEST != null &&
                 System.env.TRAVIS_PULL_REQUEST != "false") {
                 jmeBranchName += "-pr-" + System.env.TRAVIS_PULL_REQUEST
             }
             if (jmeBranchName != "v3.1") {
                 jmeFullVersion += "-${jmeBranchName}"
                 jmePomVersion  += "-${jmeBranchName}"
-                jmeNbmUcSuffix = "${jmeBranchName}-"
-            } else {
-                jmeNbmUcSuffix = ""
             }
-            jmeNbmUcSuffix += "nightly/" + jmeMainVersion + "/plugins"
             jmeFullVersion += "-${jmeRevision}"
             jmePomVersion  += "-SNAPSHOT"
-            jmeNbmRevision = jmeRevision
         }
-            
+
         logger.warn("Full Version: ${jmeFullVersion}")
         logger.warn("POM Version: ${jmePomVersion}")
-        logger.warn("NBM Revision: ${jmeNbmRevision}")
-        logger.warn("NBM UC Suffix: ${jmeNbmUcSuffix}")
     } catch (ex) {
         // Failed to get repo info
         logger.warn("Failed to get repository info: " + ex.message + ". " + \