summaryrefslogtreecommitdiffstats
path: root/android/xscreensaver/build.gradle
diff options
context:
space:
mode:
authorSimon Rettberg2018-10-16 10:08:48 +0200
committerSimon Rettberg2018-10-16 10:08:48 +0200
commitd3a98cf6cbc3bd0b9efc570f58e8812c03931c18 (patch)
treecbddf8e50f35a9c6e878a5bfe3c6d625d99e12ba /android/xscreensaver/build.gradle
downloadxscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.gz
xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.tar.xz
xscreensaver-d3a98cf6cbc3bd0b9efc570f58e8812c03931c18.zip
Original 5.40
Diffstat (limited to 'android/xscreensaver/build.gradle')
-rw-r--r--android/xscreensaver/build.gradle109
1 files changed, 109 insertions, 0 deletions
diff --git a/android/xscreensaver/build.gradle b/android/xscreensaver/build.gradle
new file mode 100644
index 0000000..f0ff9a3
--- /dev/null
+++ b/android/xscreensaver/build.gradle
@@ -0,0 +1,109 @@
+apply plugin: 'android'
+
+dependencies {
+ compile fileTree(include: '*.jar', dir: 'libs')
+ compile "com.android.support:support-v4:27.1.1"
+}
+
+android {
+ compileSdkVersion 27
+ buildToolsVersion "27.0.3"
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_7
+ targetCompatibility JavaVersion.VERSION_1_7
+ }
+ sourceSets {
+ main {
+ manifest.srcFile 'AndroidManifest.xml'
+ java.srcDirs = ['src']
+ resources.srcDirs = ['src']
+ aidl.srcDirs = ['src']
+ renderscript.srcDirs = ['src']
+ res.srcDirs = ['res']
+ assets.srcDirs = ['assets']
+ // jniLibs.srcDirs = ['jni']
+ jniLibs.srcDirs = ['libs']
+ jni.srcDirs = [] // disable automatic ndk-build call
+ }
+
+ // Move the tests to tests/java, tests/res, etc...
+ androidTest.setRoot('tests')
+
+ // Move the build types to build-types/<type>
+ // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
+ // This moves them out of them default location under src/<type>/... which would
+ // conflict with src/ being used by the main source set.
+ // Adding new build types or product flavors should be accompanied
+ // by a similar customization.
+ debug.setRoot('build-types/debug')
+ release.setRoot('build-types/release')
+ }
+ project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
+ //versionCode digit for each supported ABI, with 64bit>32bit and x86>armeabi-*
+
+
+ // put ndk-build in build's path, or replace below with its full path
+ task ndkBuild(type: Exec) {
+ Properties properties = new Properties()
+ properties.load(project.rootProject.file('local.properties').newDataInputStream())
+ def ndkDir = properties.getProperty('ndk.dir')
+ commandLine "$ndkDir/ndk-build", '-C', file('jni').absolutePath,
+ '-j' + Runtime.getRuntime().availableProcessors().toString()
+ }
+
+ // generate files early in the process
+ task perlBuild(type: Exec) {
+ commandLine 'sh', '-c',
+ 'cd ..; ../hacks/check-configs.pl --build-android $ANDROID_HACKS'
+ }
+
+ task perlClean(type: Delete) {
+ delete('../gen')
+ delete('res/values')
+ delete('res/xml')
+ delete('src/org/jwz/xscreensaver/gen')
+ delete('AndroidManifest.xml')
+ }
+
+ task objlibClean(type: Delete) {
+ delete('./build')
+ delete('./libs')
+ delete('./obj')
+ }
+
+ task downloadNeededDrawables(type: Exec) {
+ commandLine 'sh', '-c',
+ 'cd ../ ; \
+ for f in $ANDROID_HACKS; do \
+ f=`echo "$f" | sed s/rd-bomb/rdbomb/` ; \
+ make -s xscreensaver/res/drawable/$f.png ; \
+ done'
+ }
+ preBuild.dependsOn downloadNeededDrawables
+
+ preBuild.dependsOn perlBuild
+
+ clean.dependsOn perlClean
+ clean.dependsOn objlibClean
+
+ tasks.withType(JavaCompile) {
+ options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
+ }
+
+ tasks.withType(JavaCompile) {
+ compileTask -> compileTask.dependsOn ndkBuild
+ }
+
+
+ defaultConfig {
+ minSdkVersion 15
+ targetSdkVersion 27
+ }
+ productFlavors {
+ }
+ buildTypes {
+ debug {
+ jniDebuggable true
+ }
+ }
+}