Merge "Packaging for full SDK release"
diff --git a/build.gradle b/build.gradle
index b838a5e..579b4ee 100644
--- a/build.gradle
+++ b/build.gradle
@@ -538,6 +538,14 @@
includeEmptyDirs = false
}
copy {
+ from file(joinPath('samples', "tuningfork", "scaledballs"))
+ into file(joinPath(buildFolder, 'samples', "tuningfork", "scaledballs"))
+ exclude '**/build', '**/out', "local.properties", "**/.externalNativeBuild", "**/.gradle",
+ "**/OWNERS", "**/.idea", '**/CMakeLists.txt'
+ rename 'CMakeLists.for-samples-in-archive.txt', 'CMakeLists.txt'
+ includeEmptyDirs = false
+ }
+ copy {
from file(joinPath('src', 'protobuf'))
into file(joinPath(buildFolder, 'src', 'protobuf'))
includeEmptyDirs = false
diff --git a/build.sh b/build.sh
index 1970999..fc17a6f 100755
--- a/build.sh
+++ b/build.sh
@@ -1,41 +1,101 @@
#!/bin/bash
+# Gamesdk build driver script
+# Usage:
+# ./build.sh
+# Builds the gamesdk with Swappy only
+# ./build.sh samples
+# Builds the gamesdk with Swappy and the Swappy samples
+# ./build.sh full
+# Builds the gamesdk with Tuning Fork and all samples
+
set -e # Exit on error
export ANDROID_HOME=`pwd`/../prebuilts/sdk
export ANDROID_NDK_HOME=`pwd`/../prebuilts/ndk/r20
if [[ $1 == "full" ]]
then
TARGET=fullSdkZip
+ OUTDIR=fullsdk
else
TARGET=gamesdkZip
+ OUTDIR=gamesdk
fi
./gradlew $TARGET
-# Build samples
-cp -Rf samples/sdk_licenses ../prebuilts/sdk/licenses
-pushd samples/bouncyball
-./gradlew build
-popd
-pushd samples/cube
-./gradlew build
-popd
-pushd samples/tuningfork/expertballs
-./gradlew build
-popd
-pushd test/tuningfork/testapp
-./gradlew build
-popd
-
-dist_dir=$DIST_DIR
-if [[ -z dist_dir ]]
- then
- export dist_dir=`pwd`/../
+if [[ -z $DIST_DIR ]]
+then
+ dist_dir=`pwd`/../package/$OUTDIR
+else
+ dist_dir=$DIST_DIR/$OUTDIR
fi
+relative_apk_dir=gamesdk/apks
+apk_dir=$dist_dir/$relative_apk_dir
+
if [[ $1 == "samples" ]] || [[ $1 == "full" ]]
- then
- mkdir -p $dist_dir/samples
- cp samples/bouncyball/app/build/outputs/apk/debug/app-debug.apk \
- $dist_dir/samples/bouncyball.apk
- cp samples/tuningfork/expertballs/app/build/outputs/apk/debug/app-debug.apk \
- $dist_dir/samples/expertballs.apk
+then
+ mkdir -p $apk_dir/samples
+ mkdir -p $apk_dir/test
+ mkdir -p $apk_dir/tools
fi
+
+# Swappy samples etc.
+if [[ $1 == "samples" ]] || [[ $1 == "full" ]]
+then
+ # Build samples
+ cp -Rf samples/sdk_licenses ../prebuilts/sdk/licenses
+ pushd samples/bouncyball
+ ./gradlew build
+ popd
+ pushd samples/cube
+ ./gradlew build
+ popd
+ pushd test/swappy/testapp
+ ./gradlew build
+ popd
+
+ # Copy to $apk_dir
+ cp samples/bouncyball/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/samples/bouncyball.apk
+ cp third_party/cube/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/samples/cube.apk
+ cp test/swappy/testapp/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/test/swappytest.apk
+fi
+
+# Tuning fork samples etc.
+if [[ $1 == "full" ]]
+then
+ # Build samples
+ pushd samples/tuningfork/expertballs
+ ./gradlew build
+ popd
+ pushd samples/tuningfork/scaledballs
+ ./gradlew build
+ popd
+ pushd test/tuningfork/testapp
+ ./gradlew build
+ popd
+
+ # Copy to $apk_dir
+ cp samples/tuningfork/expertballs/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/samples/expertballs.apk
+ cp samples/tuningfork/scaledballs/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/samples/scaledballs.apk
+ cp src/tuningfork/tools/TuningForkMonitor/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/tools/TuningForkMonitor.apk
+ cp test/tuningfork/testapp/app/build/outputs/apk/debug/app-debug.apk \
+ $apk_dir/test/tuningforktest.apk
+fi
+
+# Package the apks into the zip file
+if [[ $1 == "samples" ]] || [[ $1 == "full" ]]
+then
+ pushd $dist_dir
+ zip -r -u gamesdk.zip $relative_apk_dir
+ popd
+fi
+
+# Calculate hash of the zip file
+pushd $dist_dir
+sha256sum gamesdk.zip > gamesdk.zip.sha256
+popd
diff --git a/src/tuningfork/tools/TuningForkMonitor/app/build.gradle b/src/tuningfork/tools/TuningForkMonitor/app/build.gradle
index 0e1b7ad..755d332 100644
--- a/src/tuningfork/tools/TuningForkMonitor/app/build.gradle
+++ b/src/tuningfork/tools/TuningForkMonitor/app/build.gradle
@@ -34,6 +34,9 @@
}
}
}
+ lintOptions {
+ abortOnError false
+ }
}
dependencies {
diff --git a/src/tuningfork/tools/TuningForkMonitor/gradlew b/src/tuningfork/tools/TuningForkMonitor/gradlew
old mode 100644
new mode 100755
diff --git a/test/swappy/testapp/app/build.gradle b/test/swappy/testapp/app/build.gradle
index 7e71093..616d29b 100644
--- a/test/swappy/testapp/app/build.gradle
+++ b/test/swappy/testapp/app/build.gradle
@@ -21,6 +21,14 @@
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
+ debug {
+ debuggable true
+ externalNativeBuild {
+ cmake {
+ cppFlags "-DDEBUG=1"
+ }
+ }
+ }
}
externalNativeBuild {
cmake {
diff --git a/test/tuningfork/testapp/app/build.gradle b/test/tuningfork/testapp/app/build.gradle
index 0263fee..5dc8530 100644
--- a/test/tuningfork/testapp/app/build.gradle
+++ b/test/tuningfork/testapp/app/build.gradle
@@ -21,6 +21,9 @@
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
+ debug {
+ debuggable true
+ }
}
externalNativeBuild {
cmake {