build: update to gradle 2.13

cleanup_build_scripts
Kirill Vainer 9 years ago
parent 8416dd8c65
commit a7b20629e7
  1. 2
      build.gradle
  2. BIN
      gradle/wrapper/gradle-wrapper.jar
  3. 4
      gradle/wrapper/gradle-wrapper.properties
  4. 52
      gradlew
  5. 8
      gradlew.bat
  6. 270
      jme3-bullet-native/build.gradle

@ -118,7 +118,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.2.1' gradleVersion = '2.13'
} }
ext { ext {

Binary file not shown.

@ -1,6 +1,6 @@
#Mon Dec 01 20:04:11 EST 2014 #Sat Apr 30 16:44:31 EDT 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.2.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip

52
gradlew vendored

@ -6,12 +6,30 @@
## ##
############################################################################## ##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Attempt to set APP_HOME
DEFAULT_JVM_OPTS="" # Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle" APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"` APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum" MAX_FD="maximum"
@ -30,6 +48,7 @@ die ( ) {
cygwin=false cygwin=false
msys=false msys=false
darwin=false darwin=false
nonstop=false
case "`uname`" in case "`uname`" in
CYGWIN* ) CYGWIN* )
cygwin=true cygwin=true
@ -40,31 +59,11 @@ case "`uname`" in
MINGW* ) MINGW* )
msys=true msys=true
;; ;;
NONSTOP* )
nonstop=true
;;
esac esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@ -90,7 +89,7 @@ location of your Java installation."
fi fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n` MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`

8
gradlew.bat vendored

@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,7 +46,7 @@ echo location of your Java installation.
goto fail goto fail
:init :init
@rem Get command-line arguments, handling Windowz variants @rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args if "%@eval[2+2]" == "4" goto 4NT_args

@ -1,46 +1,97 @@
apply plugin: 'cpp' apply plugin: 'cpp'
String bulletSrcPath = bulletFolder + '/src' import java.nio.file.Paths
if (!hasProperty('mainClass')) { String bulletSrcPath = bulletFolder + '/src'
ext.mainClass = ''
}
dependencies { dependencies {
compile project(':jme3-bullet') compile project(':jme3-bullet')
} }
// Defines created C++ libraries model {
libraries { components {
bulletjme { bulletjme(NativeLibrarySpec) {
targetPlatform 'Windows64'
targetPlatform 'Windows32'
targetPlatform 'Mac64'
targetPlatform 'Mac32'
targetPlatform 'Linux64'
targetPlatform 'Linux32'
sources {
cpp {
source {
srcDir 'src/native/cpp'
srcDir bulletSrcPath
exclude 'BulletMultiThreaded/GpuSoftBodySolvers/**'
include '**/*.cpp'
}
exportedHeaders {
srcDir 'src/native/cpp'
srcDir bulletSrcPath
include '**/*.h'
}
}
}
}
} }
all {
binaries.all { binaries {
withType(SharedLibraryBinarySpec) {
def projectPath = project.projectDir.absolutePath
def javaHome = org.gradle.internal.jvm.Jvm.current().javaHome
def os = targetPlatform.operatingSystem.name
def arch = targetPlatform.architecture.name
def fileName = sharedLibraryFile.name
// Gradle decided to change underscores to dashes - fix that.
arch = arch.replaceAll('-', '_')
// For all binaries that can't be built on the current system
if (buildNativeProjects != "true") {
buildable = false
}
if (!buildable) {
if (sharedLibraryFile.exists()) {
// Add binary to jar file if the binary exists in the build folder already,
// e.g. when the build of jme3-bullet-native has been run on a virtual box
// and the project hasn't been cleaned yet.
jar.into("native/${os}/${arch}") {
from sharedLibraryFile
}
} else {
// Get from libs folder if no fresh build is available in the build folder and add to jar file
def precompiledFile = Paths.get(projectPath, 'libs', 'native', os, arch, fileName).toFile()
if (precompiledFile.exists()) {
jar.into("native/${os}/${arch}") {
from precompiledFile
}
}
}
return
}
if (toolChain in VisualCpp) { if (toolChain in VisualCpp) {
cppCompiler.args "/I${org.gradle.internal.jvm.Jvm.current().javaHome}\\include" cppCompiler.args "/I$javaHome\\include"
} else{ } else{
cppCompiler.args '-I', "${org.gradle.internal.jvm.Jvm.current().javaHome}/include" cppCompiler.args '-I', "$javaHome/include"
} }
if (targetPlatform.operatingSystem.name == "osx") { if (os == "osx") {
cppCompiler.args '-I', "${org.gradle.internal.jvm.Jvm.current().javaHome}/include/darwin" cppCompiler.args '-I', "$javaHome/include/darwin"
} else if (targetPlatform.operatingSystem.name == "linux") { } else if (os == "linux") {
cppCompiler.args "-fvisibility=hidden" cppCompiler.args "-fvisibility=hidden"
cppCompiler.args '-I', "${org.gradle.internal.jvm.Jvm.current().javaHome}/include/linux" cppCompiler.args '-I', "$javaHome/include/linux"
cppCompiler.args "-fPIC" cppCompiler.args "-fPIC"
cppCompiler.args "-fpermissive" cppCompiler.args "-fpermissive"
linker.args "-fvisibility=hidden" linker.args "-fvisibility=hidden"
} else if (os == "windows") {
// cppCompiler.args "-static-libgcc"
// cppCompiler.args "-static-libstdc++"
// linker.args "-static-libgcc"
// linker.args "-static-libstdc++"
} else if (targetPlatform.operatingSystem.name == "windows") {
if (toolChain in Gcc) { if (toolChain in Gcc) {
if (toolChain.name.startsWith('mingw')) { if (toolChain.name.startsWith('mingw')) {
cppCompiler.args '-I', "${projectDir}/src/native/cpp/fake_win32" cppCompiler.args '-I', "$projectDir/src/native/cpp/fake_win32"
} else { } else {
cppCompiler.args '-I', "${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32" cppCompiler.args '-I', "$javaHome/include/win32"
} }
cppCompiler.args "-fpermissive" cppCompiler.args "-fpermissive"
cppCompiler.args "-static" cppCompiler.args "-static"
@ -48,45 +99,59 @@ libraries {
linker.args "-Wl,--exclude-all-symbols" linker.args "-Wl,--exclude-all-symbols"
} }
else if (toolChain in VisualCpp) { else if (toolChain in VisualCpp) {
cppCompiler.args "/I${org.gradle.internal.jvm.Jvm.current().javaHome}\\include\\win32" cppCompiler.args "/I$javaHome\\include\\win32"
} }
cppCompiler.define('WIN32') cppCompiler.define('WIN32')
// linker.args 'Shlwapi.lib', 'Advapi32.lib'
} }
}
}
}
// C++ sources for binary compilation tasks.all { dependsOn unzipBulletIfNeeded }
sources {
bulletjme { // Add output to jar file
cpp { jar.into("native/${os}/${arch}") {
source { from sharedLibraryFile
srcDir 'src/native/cpp'
srcDir bulletSrcPath
exclude 'BulletMultiThreaded/GpuSoftBodySolvers/**'
include '**/*.cpp'
} }
exportedHeaders {
srcDir 'src/native/cpp' // Add depend on build
srcDir bulletSrcPath jar.dependsOn tasks
include '**/*.h' // Add output to libs folder
task "copyBinaryToLibs${targetPlatform.name}"(type: Copy, dependsOn: tasks) {
from sharedLibraryFile
into "libs/native/${os}/${arch}"
} }
// Add depend on copy
jar.dependsOn("copyBinaryToLibs${targetPlatform.name}")
}
withType(StaticLibraryBinarySpec) {
buildable = false
} }
} }
}
// Java source sets for IDE acces and source jar bundling / mavenization platforms {
sourceSets { Windows32 {
main { architecture "x86"
java { operatingSystem "windows"
srcDir 'src/native/cpp' }
Windows64 {
architecture "x86_64"
operatingSystem "windows"
}
Mac32 {
architecture "x86"
operatingSystem "osx"
}
Mac64 {
architecture "x86_64"
operatingSystem "osx"
}
Linux32 {
architecture "x86"
operatingSystem "linux"
}
Linux64 {
architecture "x86_64"
operatingSystem "linux"
} }
} }
}
// Set of target platforms, will be available based on build system
model {
toolChains { toolChains {
gcc(Gcc) gcc(Gcc)
@ -112,112 +177,40 @@ model {
target("windows_x86_64") target("windows_x86_64")
} }
} }
}
platforms{ // Java source sets for IDE access and source jar bundling / mavenization
// osx_universal { // TODO: universal binary doesn't work? sourceSets {
// architecture 'x86_64' main {
// architecture 'x86' java {
// operatingSystem 'osx' srcDir 'src/native/cpp'
// }
osx_x86 {
architecture "x86"
operatingSystem "osx"
}
osx_x86_64 {
architecture "x86_64"
operatingSystem "osx"
}
linux_x86 {
architecture "x86"
operatingSystem "linux"
}
linux_x86_64 {
architecture "x86_64"
operatingSystem "linux"
}
windows_x86 {
architecture "x86"
operatingSystem "windows"
}
windows_x86_64 {
architecture "x86_64"
operatingSystem "windows"
} }
} }
} }
// Download bullet if not available
task downloadBullet(type: MyDownload) { task downloadBullet(type: MyDownload) {
sourceUrl = bulletUrl sourceUrl = bulletUrl
target = file(bulletZipFile) target = file(bulletZipFile)
} }
// Unzip bullet if not available
task unzipBullet(type: Copy) { task unzipBullet(type: Copy) {
def zipFile = file(bulletZipFile) from zipTree(bulletZipFile)
def outputDir = file(".") into file('.')
from zipTree(zipFile)
into outputDir
} }
unzipBullet.dependsOn { unzipBullet.dependsOn {
def zipFilePath = project.projectDir.absolutePath + File.separator + bulletZipFile if (!file(bulletZipFile).exists()) {
def zipFile = new File(zipFilePath)
if (!zipFile.exists()) {
downloadBullet downloadBullet
} }
} }
compileJava.dependsOn { task unzipBulletIfNeeded << {
if(buildNativeProjects=="true"){
def bulletUnzipDir = new File(project.projectDir.absolutePath + File.separator + bulletFolder)
if (!bulletUnzipDir.isDirectory()) {
unzipBullet
}
}
} }
binaries.withType(StaticLibraryBinarySpec) { unzipBulletIfNeeded.dependsOn {
buildable = false if (buildNativeProjects == "true" && !file(bulletFolder).isDirectory()) {
} unzipBullet
// Adds all available binaries to java jar task
binaries.withType(SharedLibraryBinary) { binary ->
// For all binaries that can't be built on the current system
if(buildNativeProjects!="true"){
buildable = false;
}
if (!buildable) {
//Get from libs folder if no fresh build is available in the build folder and add to jar file
if(!binary.tasks.outputFile.get(0).exists()){
def fileName = binary.tasks.outputFile.get(0).getName();
def precompiledFile = new File(project.projectDir.absolutePath + File.separator + "libs" + File.separator + "native" + File.separator + "${targetPlatform.operatingSystem.name}" + File.separator + "${targetPlatform.architecture.name}" + File.separator + "${fileName}")
if(precompiledFile.exists()){
jar.into("native/${targetPlatform.operatingSystem.name}/${targetPlatform.architecture.name}") { from precompiledFile }
}
return
} else{
// Add binary to jar file if the binary exists in the build folder already,
// e.g. when the build of jme3-bullet-native has been run on a virtual box
// and the project hasn't been cleaned yet.
jar.into("native/${targetPlatform.operatingSystem.name}/${targetPlatform.architecture.name}") { from binary.tasks.outputFile }
return
}
}
// For all binaries that can be built on the current system
def builderTask = binary.tasks
// Add output to jar file
jar.into("native/${targetPlatform.operatingSystem.name}/${targetPlatform.architecture.name}") { from builderTask.outputFile }
// Add depend on build
jar.dependsOn builderTask
// Add output to libs folder
task "copyBinaryToLibs${targetPlatform}"(type: Copy, dependsOn: builderTask) {
from builderTask.outputFile
into "libs/native/${targetPlatform.operatingSystem.name}/${targetPlatform.architecture.name}"
} }
// Add depend on copy
jar.dependsOn("copyBinaryToLibs${targetPlatform}")
} }
// Helper class to wrap ant dowload task // Helper class to wrap ant dowload task
@ -230,7 +223,6 @@ class MyDownload extends DefaultTask {
@TaskAction @TaskAction
void download() { void download() {
ant.get(src: sourceUrl, dest: target) ant.get(src: sourceUrl, dest: target)
} }
} }

Loading…
Cancel
Save