commit
a2ab6f183d
@ -1,132 +1,132 @@ |
||||
// OpenAL Soft r1.15.1 |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/9b6a226da55a987cb883f425eeb568776ea12c8d.zip' |
||||
// OpenAL Soft r1.15.1 + Android OpenSL Support |
||||
String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/be25e6802dacad78876c6fa1d6a5c63797b8a9ed.zip' |
||||
// OpenAL Soft r1.15.1 latest build (at the time) |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/3f5914e0949ee12b504ee7254990e007ff8057ef.zip' |
||||
String openALSoftZipFile = 'OpenALSoft.zip' |
||||
|
||||
// OpenAL Soft directory the download is extracted into |
||||
// Typically, the downloaded OpenAL Soft zip file will extract to a directory |
||||
// called "openal-soft" |
||||
String openALSoftFolder = 'openal-soft' |
||||
|
||||
//Working directories for the ndk build. |
||||
String openalsoftBuildDir = "${buildDir}" + File.separator + 'openalsoft' |
||||
String openalsoftBuildJniDir = openalsoftBuildDir + File.separator + 'jni' |
||||
String openalsoftBuildLibsDir = openalsoftBuildDir + File.separator + 'libs' |
||||
|
||||
//Pre-compiled libs directory |
||||
String openalsoftPreCompiledLibsDir = 'libs' + File.separator + 'openalsoft' |
||||
|
||||
// jME Android Native source files path |
||||
String openalsoftJmeAndroidPath = 'src/native/jme_openalsoft' |
||||
|
||||
// Download external source files if not available |
||||
task downloadOpenALSoft(type: MyDownload) { |
||||
sourceUrl = openALSoftUrl |
||||
target = file(openALSoftZipFile) |
||||
} |
||||
|
||||
// Unzip external source files |
||||
task unzipOpenALSoft(type: Copy) { |
||||
def zipFile = file(openALSoftZipFile) |
||||
def outputDir = file(".") |
||||
|
||||
from zipTree(zipFile) |
||||
into outputDir |
||||
} |
||||
unzipOpenALSoft.dependsOn { |
||||
def zipFilePath = project.projectDir.absolutePath + File.separator + openALSoftZipFile |
||||
def zipFile = new File(zipFilePath) |
||||
// println "zipFile path: " + zipFile.absolutePath |
||||
// println "zipFile exists: " + zipFile.exists() |
||||
if (!zipFile.exists()) { |
||||
downloadOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy external source files to jni directory |
||||
task copyOpenALSoft(type: Copy) { |
||||
def sourceDir = file(openALSoftFolder) |
||||
def outputDir = file(openalsoftBuildJniDir) |
||||
// println "copyOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyOpenALSoft.dependsOn { |
||||
def openALSoftUnzipDir = new File(project.projectDir.absolutePath + File.separator + openALSoftFolder) |
||||
// println "openALSoftUnzipDir path: " + openALSoftUnzipDir.absolutePath |
||||
// println "openALSoftUnzipDir exists: " + openALSoftUnzipDir.isDirectory() |
||||
if (!openALSoftUnzipDir.isDirectory()) { |
||||
unzipOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy jME Android native files to jni directory |
||||
task copyJmeOpenALSoft(type: Copy, dependsOn:copyOpenALSoft) { |
||||
def sourceDir = file(openalsoftJmeAndroidPath) |
||||
def outputDir = file(openalsoftBuildJniDir) |
||||
// println "copyJmeOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyJmeOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyJmeOpenALSoft.doLast { |
||||
String destDirPath = openalsoftBuildJniDir |
||||
String classes = "" |
||||
.concat("com.jme3.audio.android.AndroidOpenALSoftAudioRenderer, ") |
||||
// println "openalsoft classes = " + classes |
||||
// println "openalsoft destDir = " + destDir |
||||
// println "openalsoft classpath = " + project.projectClassPath |
||||
|
||||
ant.javah( |
||||
classpath: project.projectClassPath, |
||||
destdir: destDirPath, |
||||
class: classes |
||||
) |
||||
} |
||||
|
||||
task buildOpenAlSoftNativeLib(type: Exec, dependsOn: copyJmeOpenALSoft) { |
||||
// println "openalsoft build dir: " + openalsoftBuildDir |
||||
// println "ndkCommandPath: " + project.ndkCommandPath |
||||
args 'TARGET_PLATFORM=android-9' |
||||
workingDir openalsoftBuildDir |
||||
executable project.ndkCommandPath |
||||
} |
||||
|
||||
// Copy pre-compiled libs to build directory (when not building new libs) |
||||
task copyPreCompiledOpenAlSoftLibs(type: Copy) { |
||||
def sourceDir = file(openalsoftPreCompiledLibsDir) |
||||
def outputDir = file(openalsoftBuildLibsDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
|
||||
if (ndkExists()) { |
||||
compileJava.dependsOn { buildOpenAlSoftNativeLib } |
||||
} else { |
||||
compileJava.dependsOn { copyPreCompiledOpenAlSoftLibs } |
||||
} |
||||
|
||||
jar.into("lib") { from openalsoftBuildLibsDir } |
||||
|
||||
// Helper class to wrap ant dowload task |
||||
class MyDownload extends DefaultTask { |
||||
@Input |
||||
String sourceUrl |
||||
|
||||
@OutputFile |
||||
File target |
||||
|
||||
@TaskAction |
||||
void download() { |
||||
ant.get(src: sourceUrl, dest: target) |
||||
} |
||||
} |
||||
// OpenAL Soft r1.15.1 |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/9b6a226da55a987cb883f425eeb568776ea12c8d.zip' |
||||
// OpenAL Soft r1.15.1 + Android OpenSL Support |
||||
String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/be25e6802dacad78876c6fa1d6a5c63797b8a9ed.zip' |
||||
// OpenAL Soft r1.15.1 latest build (at the time) |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/3f5914e0949ee12b504ee7254990e007ff8057ef.zip' |
||||
String openALSoftZipFile = 'OpenALSoft.zip' |
||||
|
||||
// OpenAL Soft directory the download is extracted into |
||||
// Typically, the downloaded OpenAL Soft zip file will extract to a directory |
||||
// called "openal-soft" |
||||
String openALSoftFolder = 'openal-soft' |
||||
|
||||
//Working directories for the ndk build. |
||||
String openalsoftBuildDir = "${buildDir}" + File.separator + 'openalsoft' |
||||
String openalsoftBuildJniDir = openalsoftBuildDir + File.separator + 'jni' |
||||
String openalsoftBuildLibsDir = openalsoftBuildDir + File.separator + 'libs' |
||||
|
||||
//Pre-compiled libs directory |
||||
String openalsoftPreCompiledLibsDir = 'libs' + File.separator + 'openalsoft' |
||||
|
||||
// jME Android Native source files path |
||||
String openalsoftJmeAndroidPath = 'src/native/jme_openalsoft' |
||||
|
||||
// Download external source files if not available |
||||
task downloadOpenALSoft(type: MyDownload) { |
||||
sourceUrl = openALSoftUrl |
||||
target = file(openALSoftZipFile) |
||||
} |
||||
|
||||
// Unzip external source files |
||||
task unzipOpenALSoft(type: Copy) { |
||||
def zipFile = file(openALSoftZipFile) |
||||
def outputDir = file(".") |
||||
|
||||
from zipTree(zipFile) |
||||
into outputDir |
||||
} |
||||
unzipOpenALSoft.dependsOn { |
||||
def zipFilePath = project.projectDir.absolutePath + File.separator + openALSoftZipFile |
||||
def zipFile = new File(zipFilePath) |
||||
// println "zipFile path: " + zipFile.absolutePath |
||||
// println "zipFile exists: " + zipFile.exists() |
||||
if (!zipFile.exists()) { |
||||
downloadOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy external source files to jni directory |
||||
task copyOpenALSoft(type: Copy) { |
||||
def sourceDir = file(openALSoftFolder) |
||||
def outputDir = file(openalsoftBuildJniDir) |
||||
// println "copyOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyOpenALSoft.dependsOn { |
||||
def openALSoftUnzipDir = new File(project.projectDir.absolutePath + File.separator + openALSoftFolder) |
||||
// println "openALSoftUnzipDir path: " + openALSoftUnzipDir.absolutePath |
||||
// println "openALSoftUnzipDir exists: " + openALSoftUnzipDir.isDirectory() |
||||
if (!openALSoftUnzipDir.isDirectory()) { |
||||
unzipOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy jME Android native files to jni directory |
||||
task copyJmeOpenALSoft(type: Copy, dependsOn:copyOpenALSoft) { |
||||
def sourceDir = file(openalsoftJmeAndroidPath) |
||||
def outputDir = file(openalsoftBuildJniDir) |
||||
// println "copyJmeOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyJmeOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyJmeOpenALSoft.doLast { |
||||
String destDirPath = openalsoftBuildJniDir |
||||
String classes = "" |
||||
.concat("com.jme3.audio.android.AndroidOpenALSoftAudioRenderer, ") |
||||
// println "openalsoft classes = " + classes |
||||
// println "openalsoft destDir = " + destDir |
||||
// println "openalsoft classpath = " + project.projectClassPath |
||||
|
||||
ant.javah( |
||||
classpath: project.projectClassPath, |
||||
destdir: destDirPath, |
||||
class: classes |
||||
) |
||||
} |
||||
|
||||
task buildOpenAlSoftNativeLib(type: Exec, dependsOn: copyJmeOpenALSoft) { |
||||
// println "openalsoft build dir: " + openalsoftBuildDir |
||||
// println "ndkCommandPath: " + project.ndkCommandPath |
||||
args 'TARGET_PLATFORM=android-9' |
||||
workingDir openalsoftBuildDir |
||||
executable project.ndkCommandPath |
||||
} |
||||
|
||||
// Copy pre-compiled libs to build directory (when not building new libs) |
||||
task copyPreCompiledOpenAlSoftLibs(type: Copy) { |
||||
def sourceDir = file(openalsoftPreCompiledLibsDir) |
||||
def outputDir = file(openalsoftBuildLibsDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
|
||||
if (ndkExists()) { |
||||
compileJava.dependsOn { buildOpenAlSoftNativeLib } |
||||
} else { |
||||
compileJava.dependsOn { copyPreCompiledOpenAlSoftLibs } |
||||
} |
||||
|
||||
jar.into("lib") { from openalsoftBuildLibsDir } |
||||
|
||||
// Helper class to wrap ant dowload task |
||||
class MyDownload extends DefaultTask { |
||||
@Input |
||||
String sourceUrl |
||||
|
||||
@OutputFile |
||||
File target |
||||
|
||||
@TaskAction |
||||
void download() { |
||||
ant.get(src: sourceUrl, dest: target) |
||||
} |
||||
} |
||||
|
@ -1,112 +1,112 @@ |
||||
// stb_image url for download |
||||
String stbiUrl = 'http://www.nothings.org/stb_image.c' |
||||
String stbiDownloadTarget = 'stb_image.c' |
||||
|
||||
// stb_image is not downloaded. The single source file is included in the repo |
||||
String stbiFolder = 'stb_image' |
||||
|
||||
//Working directories for the ndk build. |
||||
String stbiBuildDir = "${buildDir}" + File.separator + 'stb_image' |
||||
String stbiBuildJniDir = stbiBuildDir + File.separator + 'jni' |
||||
String stbiBuildLibsDir = stbiBuildDir + File.separator + 'libs' |
||||
|
||||
//Pre-compiled libs directory |
||||
String stbiPreCompiledLibsDir = 'libs' + File.separator + 'stb_image' |
||||
|
||||
// jME Android Native source files path |
||||
String stbiJmeAndroidPath = 'src/native/jme_stbi' |
||||
|
||||
// Download external source files if not available |
||||
task downloadStbImage(type: MyDownload) { |
||||
sourceUrl = stbiUrl |
||||
target = file(stbiFolder + File.separator + stbiDownloadTarget) |
||||
} |
||||
|
||||
// Copy stb_image files to jni directory |
||||
task copyStbiFiles(type: Copy) { |
||||
def sourceDir = file(stbiFolder) |
||||
def outputDir = file(stbiBuildJniDir) |
||||
// println "copyStbiFiles sourceDir: " + sourceDir |
||||
// println "copyStbiFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyStbiFiles.dependsOn { |
||||
def stbiFilePath = project.projectDir.absolutePath + stbiFolder + File.separator + stbiDownloadTarget |
||||
def stbiFile = new File(stbiFilePath) |
||||
// println "zipFile path: " + zipFile.absolutePath |
||||
// println "zipFile exists: " + zipFile.exists() |
||||
if (!stbiFile.exists()) { |
||||
downloadStbImage |
||||
} |
||||
} |
||||
|
||||
|
||||
// Copy jME Android native files to jni directory |
||||
task copyStbiJmeFiles(type: Copy, dependsOn:copyStbiFiles) { |
||||
def sourceDir = file(stbiJmeAndroidPath) |
||||
def outputDir = file(stbiBuildJniDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyStbiJmeFiles.doLast { |
||||
String destDirPath = stbiBuildJniDir |
||||
String classes = "" |
||||
.concat("com.jme3.texture.plugins.AndroidNativeImageLoader, ") |
||||
|
||||
// println "stb_image classes = " + classes |
||||
// println "stb_image destDir = " + destDir |
||||
// println "stb_image classpath = " + project.projectClassPath |
||||
|
||||
ant.javah( |
||||
classpath: project.projectClassPath, |
||||
destdir: destDirPath, |
||||
class: classes |
||||
) |
||||
|
||||
} |
||||
|
||||
task buildStbiNativeLib(type: Exec, dependsOn: copyStbiJmeFiles) { |
||||
// println "stb_image build dir: " + buildLibDir |
||||
// println "ndkCommandPath: " + project.ndkCommandPath |
||||
args 'TARGET_PLATFORM=android-9' |
||||
workingDir stbiBuildDir |
||||
executable project.ndkCommandPath |
||||
} |
||||
|
||||
// Copy pre-compiled libs to build directory (when not building new libs) |
||||
task copyPreCompiledStbiLibs(type: Copy) { |
||||
def sourceDir = file(stbiPreCompiledLibsDir) |
||||
def outputDir = file(stbiBuildLibsDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
|
||||
if (ndkExists()) { |
||||
compileJava.dependsOn { buildStbiNativeLib } |
||||
} else { |
||||
compileJava.dependsOn { copyPreCompiledStbiLibs } |
||||
} |
||||
|
||||
jar.into("lib") { from stbiBuildLibsDir } |
||||
|
||||
// Helper class to wrap ant dowload task |
||||
class MyDownload extends DefaultTask { |
||||
@Input |
||||
String sourceUrl |
||||
|
||||
@OutputFile |
||||
File target |
||||
|
||||
@TaskAction |
||||
void download() { |
||||
ant.get(src: sourceUrl, dest: target) |
||||
} |
||||
} |
||||
// stb_image url for download |
||||
String stbiUrl = 'http://www.nothings.org/stb_image.c' |
||||
String stbiDownloadTarget = 'stb_image.c' |
||||
|
||||
// stb_image is not downloaded. The single source file is included in the repo |
||||
String stbiFolder = 'stb_image' |
||||
|
||||
//Working directories for the ndk build. |
||||
String stbiBuildDir = "${buildDir}" + File.separator + 'stb_image' |
||||
String stbiBuildJniDir = stbiBuildDir + File.separator + 'jni' |
||||
String stbiBuildLibsDir = stbiBuildDir + File.separator + 'libs' |
||||
|
||||
//Pre-compiled libs directory |
||||
String stbiPreCompiledLibsDir = 'libs' + File.separator + 'stb_image' |
||||
|
||||
// jME Android Native source files path |
||||
String stbiJmeAndroidPath = 'src/native/jme_stbi' |
||||
|
||||
// Download external source files if not available |
||||
task downloadStbImage(type: MyDownload) { |
||||
sourceUrl = stbiUrl |
||||
target = file(stbiFolder + File.separator + stbiDownloadTarget) |
||||
} |
||||
|
||||
// Copy stb_image files to jni directory |
||||
task copyStbiFiles(type: Copy) { |
||||
def sourceDir = file(stbiFolder) |
||||
def outputDir = file(stbiBuildJniDir) |
||||
// println "copyStbiFiles sourceDir: " + sourceDir |
||||
// println "copyStbiFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyStbiFiles.dependsOn { |
||||
def stbiFilePath = project.projectDir.absolutePath + stbiFolder + File.separator + stbiDownloadTarget |
||||
def stbiFile = new File(stbiFilePath) |
||||
// println "zipFile path: " + zipFile.absolutePath |
||||
// println "zipFile exists: " + zipFile.exists() |
||||
if (!stbiFile.exists()) { |
||||
downloadStbImage |
||||
} |
||||
} |
||||
|
||||
|
||||
// Copy jME Android native files to jni directory |
||||
task copyStbiJmeFiles(type: Copy, dependsOn:copyStbiFiles) { |
||||
def sourceDir = file(stbiJmeAndroidPath) |
||||
def outputDir = file(stbiBuildJniDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyStbiJmeFiles.doLast { |
||||
String destDirPath = stbiBuildJniDir |
||||
String classes = "" |
||||
.concat("com.jme3.texture.plugins.AndroidNativeImageLoader, ") |
||||
|
||||
// println "stb_image classes = " + classes |
||||
// println "stb_image destDir = " + destDir |
||||
// println "stb_image classpath = " + project.projectClassPath |
||||
|
||||
ant.javah( |
||||
classpath: project.projectClassPath, |
||||
destdir: destDirPath, |
||||
class: classes |
||||
) |
||||
|
||||
} |
||||
|
||||
task buildStbiNativeLib(type: Exec, dependsOn: copyStbiJmeFiles) { |
||||
// println "stb_image build dir: " + buildLibDir |
||||
// println "ndkCommandPath: " + project.ndkCommandPath |
||||
args 'TARGET_PLATFORM=android-9' |
||||
workingDir stbiBuildDir |
||||
executable project.ndkCommandPath |
||||
} |
||||
|
||||
// Copy pre-compiled libs to build directory (when not building new libs) |
||||
task copyPreCompiledStbiLibs(type: Copy) { |
||||
def sourceDir = file(stbiPreCompiledLibsDir) |
||||
def outputDir = file(stbiBuildLibsDir) |
||||
// println "copyStbiJmeFiles sourceDir: " + sourceDir |
||||
// println "copyStbiJmeFiles outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
|
||||
if (ndkExists()) { |
||||
compileJava.dependsOn { buildStbiNativeLib } |
||||
} else { |
||||
compileJava.dependsOn { copyPreCompiledStbiLibs } |
||||
} |
||||
|
||||
jar.into("lib") { from stbiBuildLibsDir } |
||||
|
||||
// Helper class to wrap ant dowload task |
||||
class MyDownload extends DefaultTask { |
||||
@Input |
||||
String sourceUrl |
||||
|
||||
@OutputFile |
||||
File target |
||||
|
||||
@TaskAction |
||||
void download() { |
||||
ant.get(src: sourceUrl, dest: target) |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue