Merge pull request #574 from jMonkeyEngine/cleanup_build_scripts_master

Improve build scripts (master)
native-compilation-test
Kirill Vainer 8 years ago committed by GitHub
commit a784818211
  1. 1
      .gitignore
  2. 45
      .travis.yml
  3. 50
      appveyor.yml
  4. 7
      build.gradle
  5. 19
      common.gradle
  6. 7
      gradle.properties
  7. 4
      gradle/wrapper/gradle-wrapper.properties
  8. 4
      jme3-bullet-native-android/build.gradle
  9. 27
      jme3-bullet-native/build.gradle
  10. 4
      jme3-examples/build.gradle
  11. BIN
      private/www-updater.key.enc
  12. 2
      settings.gradle
  13. 19
      version.gradle

1
.gitignore vendored

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

@ -1,20 +1,46 @@
language: java language: java
sudo: false sudo: false
jdk: branches:
- oraclejdk8 only:
- master
- v3.1
matrix:
include:
- os: linux
jdk: oraclejdk8
env: UPLOAD=true
- os: linux
jdk: openjdk7
addons: addons:
ssh_known_hosts: updates.jmonkeyengine.org apt:
packages:
- gcc-multilib
- g++-multilib
before_install:
- git fetch --unshallow
before_cache: 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: cache:
directories: directories:
- $HOME/.gradle/caches/ - $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/ - $HOME/.gradle/wrapper/
install:
- ./gradlew assemble
script:
- ./gradlew check
after_success:
- '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ -n "$UPLOAD" ] && ./gradlew bintrayUpload || :'
notifications: notifications:
slack: slack:
on_success: change on_success: change
@ -22,12 +48,6 @@ notifications:
rooms: rooms:
secure: "PWEk4+VL986c3gAjWp12nqyifvxCjBqKoESG9d7zWh1uiTLadTHhZJRMdsye36FCpz/c/Jt7zCRO/5y7FaubQptnRrkrRfjp5f99MJRzQVXnUAM+y385qVkXKRKd/PLpM7XPm4AvjvxHCyvzX2wamRvul/TekaXKB9Ti5FCN87s=" secure: "PWEk4+VL986c3gAjWp12nqyifvxCjBqKoESG9d7zWh1uiTLadTHhZJRMdsye36FCpz/c/Jt7zCRO/5y7FaubQptnRrkrRfjp5f99MJRzQVXnUAM+y385qVkXKRKd/PLpM7XPm4AvjvxHCyvzX2wamRvul/TekaXKB9Ti5FCN87s="
install:
- ./gradlew assemble
script:
- ./gradlew check
before_deploy: before_deploy:
- ./gradlew createZipDistribution - ./gradlew createZipDistribution
- export RELEASE_DIST=$(ls build/distributions/*.zip) - export RELEASE_DIST=$(ls build/distributions/*.zip)
@ -43,9 +63,6 @@ deploy:
repo: jMonkeyEngine/jmonkeyengine repo: jMonkeyEngine/jmonkeyengine
tags: true 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: # before_install:
# required libs for android build tools # required libs for android build tools
@ -57,6 +74,4 @@ before_install:
# 7z x ndk.bin -y > /dev/null # 7z x ndk.bin -y > /dev/null
# export ANDROID_NDK=`pwd`/android-ndk-r10c # export ANDROID_NDK=`pwd`/android-ndk-r10c
after_success:
- '[ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives || :'
- '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives bintrayUpload || :'

@ -0,0 +1,50 @@
version: 1.0.{build}.{branch}
branches:
only:
- master
only_commits:
files:
- jme3-bullet-native/
skip_tags: true
max_jobs: 1
clone_depth: 1
image: Visual Studio 2013
environment:
priv_key:
secure: g0Q/3gQcGBr74DyDiaTi48DSKEuNAympaHF0pjWeeQgKlPZEBUNPKbBM+okJn13/IvEo5YiQO19l/0G0B6J0oiEAm9h8x+I31jskKFUD5Og9xZkZB0m0aI7zoBReiZTqojIBw8zZo4xXCkOhFTrzxaeJtqdtcObPFGWk4uUdPlcne3e81NHj6TWax2tx+yqA0i6Jkz+Jd+XvbicskgthjCmcNz07XhS7F6niC8REbSU=
init:
- ps: >-
$fileContent = "-----BEGIN EC PRIVATE KEY-----`n"
$fileContent += $env:priv_key.Replace(' ', "`n")
$fileContent += "`n-----END EC PRIVATE KEY-----`n"
Set-Content c:\users\appveyor\.ssh\id_rsa $fileContent
install:
- cmd: del C:\Users\appveyor\.gradle\caches\modules-2\modules-2.lock
build_script:
- cmd: gradlew.bat --no-daemon -PbuildNativeProjects=true :jme3-bullet-native:assemble
cache:
- C:\Users\appveyor\.gradle\caches
- C:\Users\appveyor\.gradle\wrapper
- jme3-bullet-native\bullet3.zip
test: off
deploy: off
on_success:
- cmd: >-
git checkout -q %APPVEYOR_REPO_BRANCH%
git add -- jme3-bullet-native/libs/native/windows/
git commit -m "[ci skip] bullet: update windows natives"
git pull -q --rebase
git push git@github.com:jMonkeyEngine/jmonkeyengine.git

@ -29,8 +29,8 @@ task run(dependsOn: ':jme3-examples:run') {
defaultTasks 'run' defaultTasks 'run'
task libDist(dependsOn: subprojects.build) << { task libDist(dependsOn: subprojects.build, description: 'Builds and copies the engine binaries, sources and javadoc to build/libDist') {
// description 'Builds and copies the engine binaries, sources and javadoc to build/libDist' doLast {
File libFolder = mkdir("$buildDir/libDist/lib") File libFolder = mkdir("$buildDir/libDist/lib")
File sourceFolder = mkdir("$buildDir/libDist/sources") File sourceFolder = mkdir("$buildDir/libDist/sources")
File javadocFolder = mkdir("$buildDir/libDist/javadoc") File javadocFolder = mkdir("$buildDir/libDist/javadoc")
@ -60,6 +60,7 @@ task libDist(dependsOn: subprojects.build) << {
} }
} }
} }
}
task createZipDistribution(type:Zip,dependsOn:["dist","libDist"], description:"Package the nightly zip distribution"){ task createZipDistribution(type:Zip,dependsOn:["dist","libDist"], description:"Package the nightly zip distribution"){
archiveName "jME" + jmeFullVersion + ".zip" archiveName "jME" + jmeFullVersion + ".zip"
@ -115,7 +116,7 @@ task mergedSource(type: Copy){
} }
task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper to the current directory.') { task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper to the current directory.') {
gradleVersion = '2.13' gradleVersion = '3.2.1'
} }
ext { ext {

@ -18,16 +18,11 @@ repositories {
} }
} }
configurations {
deployerJars
}
dependencies { dependencies {
// Adding dependencies here will add the dependencies to each subproject. // Adding dependencies here will add the dependencies to each subproject.
testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.mockito', name: 'mockito-core', version: '2.0.28-beta' testCompile group: 'org.mockito', name: 'mockito-core', version: '2.0.28-beta'
testCompile group: 'org.easytesting', name: 'fest-assert-core', version: '2.0M10' testCompile group: 'org.easytesting', name: 'fest-assert-core', version: '2.0M10'
deployerJars "org.apache.maven.wagon:wagon-ssh:2.9"
} }
jar { jar {
@ -116,17 +111,3 @@ artifacts {
archives writeFullPom.outputs.files[0] 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
}
}

@ -8,7 +8,7 @@ jmeVersionTag = SNAPSHOT
jmeVersionTagID = 0 jmeVersionTagID = 0
# specify if JavaDoc should be built # specify if JavaDoc should be built
buildJavaDoc = true buildJavaDoc = false
# specify if SDK and Native libraries get built # specify if SDK and Native libraries get built
buildNativeProjects = false buildNativeProjects = false
@ -21,10 +21,7 @@ ndkPath = /opt/android-ndk-r10c
# Path for downloading native Bullet # Path for downloading native Bullet
bulletUrl = https://github.com/bulletphysics/bullet3/archive/2.83.7.zip bulletUrl = https://github.com/bulletphysics/bullet3/archive/2.83.7.zip
bulletFolder = bullet3-2.83.7 bulletFolder = bullet3-2.83.7
bulletZipFile = bullet.zip bulletZipFile = bullet3.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 settings
POM_NAME=jMonkeyEngine POM_NAME=jMonkeyEngine

@ -1,6 +1,6 @@
#Sat Apr 30 16:44:31 EDT 2016 #Fri Nov 25 13:05:50 EST 2016
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip

@ -102,7 +102,8 @@ task copyJmeAndroid(type: Copy, dependsOn:copyJmeCpp) {
into outputDir into outputDir
} }
task generateNativeHeaders(dependsOn: copyJmeAndroid) << { task generateNativeHeaders(dependsOn: copyJmeAndroid) {
doLast {
String destDirPath = jniPath String destDirPath = jniPath
String classes = " \ String classes = " \
com.jme3.bullet.PhysicsSpace, \ com.jme3.bullet.PhysicsSpace, \
@ -154,6 +155,7 @@ task generateNativeHeaders(dependsOn: copyJmeAndroid) << {
args classes.split(",").collect { it.trim() } args classes.split(",").collect { it.trim() }
} }
} }
}
task buildBulletNativeLib(type: Exec, dependsOn: generateNativeHeaders) { task buildBulletNativeLib(type: Exec, dependsOn: generateNativeHeaders) {
// args 'TARGET_PLATFORM=android-9' // args 'TARGET_PLATFORM=android-9'

@ -163,31 +163,6 @@ model {
operatingSystem "linux" operatingSystem "linux"
} }
} }
toolChains {
gcc(Gcc)
clang(Clang)
mingw_x86(Gcc) {
eachPlatform() {
cCompiler.executable "i686-w64-mingw32-gcc"
cppCompiler.executable "i686-w64-mingw32-g++"
linker.executable "i686-w64-mingw32-g++"
assembler.executable "i686-w64-mingw32-g++"
staticLibArchiver.executable "i686-w64-mingw32-gcc-ar"
}
target("Windows32")
}
mingw_x86_64(Gcc) {
eachPlatform() {
cCompiler.executable "x86_64-w64-mingw32-gcc"
cppCompiler.executable "x86_64-w64-mingw32-g++"
linker.executable "x86_64-w64-mingw32-g++"
assembler.executable "x86_64-w64-mingw32-g++"
staticLibArchiver.executable "x86_64-w64-mingw32-gcc-ar"
}
target("Windows64")
}
}
} }
// Java source sets for IDE access and source jar bundling / mavenization // Java source sets for IDE access and source jar bundling / mavenization
@ -215,7 +190,7 @@ unzipBullet.dependsOn {
} }
} }
task unzipBulletIfNeeded << { task unzipBulletIfNeeded {
} }
unzipBulletIfNeeded.dependsOn { unzipBulletIfNeeded.dependsOn {

@ -63,7 +63,8 @@ jar.doFirst{
task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar', \ task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar', \
':jme3-android-native:jar', ':jme3-bullet-native-android:jar', \ ':jme3-android-native:jar', ':jme3-bullet-native-android:jar', \
':jme3-bullet-native:jar']) << { ':jme3-bullet-native:jar']) {
doLast {
// Copy all dependencies to ../dist/lib, remove versions from jar files // Copy all dependencies to ../dist/lib, remove versions from jar files
configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact -> configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
copy { copy {
@ -129,3 +130,4 @@ task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-and
rename {project(':jme3-bullet-native-android').name+".jar"} rename {project(':jme3-bullet-native-android').name+".jar"}
} }
} }
}

Binary file not shown.

@ -15,7 +15,9 @@ include 'jme3-desktop'
include 'jme3-blender' include 'jme3-blender'
include 'jme3-jogl' include 'jme3-jogl'
include 'jme3-lwjgl' include 'jme3-lwjgl'
if (JavaVersion.current().isJava8Compatible()) {
include 'jme3-lwjgl3' include 'jme3-lwjgl3'
}
// Other external dependencies // Other external dependencies
include 'jme3-jbullet' include 'jme3-jbullet'

@ -45,7 +45,6 @@ buildscript {
ext { ext {
jmeRevision = 0 jmeRevision = 0
jmeNbmRevision = 0
jmeGitHash = "" jmeGitHash = ""
jmeGitTag = "" jmeGitTag = ""
jmeShortGitHash = "" jmeShortGitHash = ""
@ -53,7 +52,6 @@ ext {
jmeBranchName = "unknown" jmeBranchName = "unknown"
jmeFullVersion = "${jmeVersion}-UNKNOWN" jmeFullVersion = "${jmeVersion}-UNKNOWN"
jmePomVersion = "unknown" jmePomVersion = "unknown"
jmeNbmUcSuffix = "unknown"
} }
def getReleaseInfo(String tag) { def getReleaseInfo(String tag) {
@ -125,44 +123,43 @@ task configureVersionInfo {
if (jmeGitTag != null) { if (jmeGitTag != null) {
jmeGitTag = jmeGitTag.name jmeGitTag = jmeGitTag.name
} else {
if (System.env.APPVEYOR_REPO_TAG == "true") {
jmeGitTag = System.env.APPVEYOR_REPO_TAG_NAME
} else { } else {
jmeGitTag = System.env.TRAVIS_TAG jmeGitTag = System.env.TRAVIS_TAG
} }
}
def releaseInfo = getReleaseInfo(jmeGitTag) def releaseInfo = getReleaseInfo(jmeGitTag)
if (releaseInfo != null) { if (releaseInfo != null) {
jmeFullVersion = "${releaseInfo.baseVersion}${releaseInfo.releaseSuffix}" jmeFullVersion = "${releaseInfo.baseVersion}${releaseInfo.releaseSuffix}"
jmePomVersion = "${releaseInfo.mainVersion}${releaseInfo.releaseSuffix}" jmePomVersion = "${releaseInfo.mainVersion}${releaseInfo.releaseSuffix}"
jmeNbmRevision = "0"
jmeNbmUcSuffix = "stable/${releaseInfo.baseVersion}/plugins"
} else { } else {
// SNAPSHOT // SNAPSHOT
jmeFullVersion = jmeMainVersion jmeFullVersion = jmeMainVersion
jmePomVersion = jmeVersion jmePomVersion = jmeVersion
if (System.env.TRAVIS_BRANCH != null) { if (System.env.TRAVIS_BRANCH != null) {
jmeBranchName = System.env.TRAVIS_BRANCH jmeBranchName = System.env.TRAVIS_BRANCH
} else if (System.env.APPVEYOR_REPO_BRANCH != null) {
jmeBranchName = System.env.APPVEYOR_REPO_BRANCH
} }
if (System.env.TRAVIS_PULL_REQUEST != null && if (System.env.TRAVIS_PULL_REQUEST != null &&
System.env.TRAVIS_PULL_REQUEST != "false") { System.env.TRAVIS_PULL_REQUEST != "false") {
jmeBranchName += "-pr-" + System.env.TRAVIS_PULL_REQUEST jmeBranchName += "-pr-" + System.env.TRAVIS_PULL_REQUEST
} else if (System.env.APPVEYOR_PULL_REQUEST_NUMBER != null) {
jmeBranchName += "-pr-" + System.env.APPVEYOR_PULL_REQUEST_NUMBER
} }
if (jmeBranchName != "master") { if (jmeBranchName != "master") {
jmeFullVersion += "-${jmeBranchName}" jmeFullVersion += "-${jmeBranchName}"
jmePomVersion += "-${jmeBranchName}" jmePomVersion += "-${jmeBranchName}"
jmeNbmUcSuffix = "${jmeBranchName}-"
} else {
jmeNbmUcSuffix = ""
} }
jmeNbmUcSuffix += "nightly/" + jmeMainVersion + "/plugins"
jmeFullVersion += "-${jmeRevision}" jmeFullVersion += "-${jmeRevision}"
jmePomVersion += "-SNAPSHOT" jmePomVersion += "-SNAPSHOT"
jmeNbmRevision = jmeRevision
} }
logger.warn("Full Version: ${jmeFullVersion}") logger.warn("Full Version: ${jmeFullVersion}")
logger.warn("POM Version: ${jmePomVersion}") logger.warn("POM Version: ${jmePomVersion}")
logger.warn("NBM Revision: ${jmeNbmRevision}")
logger.warn("NBM UC Suffix: ${jmeNbmUcSuffix}")
} catch (ex) { } catch (ex) {
// Failed to get repo info // Failed to get repo info
logger.warn("Failed to get repository info: " + ex.message + ". " + \ logger.warn("Failed to get repository info: " + ex.message + ". " + \

Loading…
Cancel
Save