Prechádzať zdrojové kódy

Merge pull request #624 from jMonkeyEngine/revert-573-cleanup_build_scripts

Revert "Cleanup build scripts (3.1)"
empirephoenix 8 rokov pred
rodič
commit
8214346e8b

+ 0 - 1
.gitignore

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

+ 17 - 26
.travis.yml

@@ -1,38 +1,17 @@
 language: java
 sudo: false
 
-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
+addons:
+  ssh_known_hosts: updates.jmonkeyengine.org
 
 before_cache:
-  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
-  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
-
+  - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
+ 
 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
@@ -40,6 +19,12 @@ 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)
@@ -55,6 +40,9 @@ 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
@@ -66,4 +54,7 @@ deploy:
   # 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 || :'

+ 25 - 26
build.gradle

@@ -29,32 +29,31 @@ 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') {
-    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}
-                        }
+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}
                     }
                 }
             }

+ 19 - 0
common.gradle

@@ -18,11 +18,16 @@ 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 {
@@ -111,3 +116,17 @@ 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
+    }
+}

+ 3 - 0
gradle.properties

@@ -23,6 +23,9 @@ 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

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

@@ -102,58 +102,56 @@ task copyJmeAndroid(type: Copy, dependsOn:copyJmeCpp) {
     into outputDir
 }
 
-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() }
-        }
+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() }
     }
 }
 

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

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

+ 58 - 60
jme3-examples/build.gradle

@@ -62,71 +62,69 @@ 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']) {
-    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}" }
-                }
-            }
-        }
+                       ':jme3-bullet-native:jar']) << {
+    // Copy all dependencies to ../dist/lib, remove versions from jar files
+    configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
         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}" }
-                }
+            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 project(':jme3-jogl').jar.archivePath
-            into '../dist/opt/jogl'
-            rename {project(':jme3-jogl').name+".jar"}
+    }
+    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 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


+ 17 - 6
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,6 +45,7 @@ buildscript {
 
 ext {
     jmeRevision     = 0
+    jmeNbmRevision  = 0
     jmeGitHash      = ""
     jmeGitTag       = ""
     jmeShortGitHash = ""
@@ -52,6 +53,7 @@ ext {
     jmeBranchName   = "unknown"
     jmeFullVersion  = "${jmeVersion}-UNKNOWN"
     jmePomVersion   = "unknown"
+    jmeNbmUcSuffix  = "unknown"
 }
 
 def getReleaseInfo(String tag) {
@@ -120,7 +122,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 {
@@ -131,6 +133,8 @@ 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
@@ -138,20 +142,27 @@ 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 + ". " + \