aboutsummaryrefslogtreecommitdiffstats
path: root/make/build.xml
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-17 21:15:49 +0100
committerSven Gothel <[email protected]>2012-03-17 21:15:49 +0100
commit235f8b1cbff8ed13071d5c19c0be492c0b25cb78 (patch)
tree659845e16bd69372bc7ddc3a42b3aa7130d18df5 /make/build.xml
parent0cfc7847c58b51c9a26b50d905b592d1fc4c8578 (diff)
Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; Android ClassLoaderUtil cleanup;
- Add 'asset' URLConnection - Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection' - Solves generic resource handling where platform locations may differ, ie ClassLoader lookup on Android in the 'assets/' subfolder. - New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..) - aapt.signed (our APK ant task) - uses 'assets/' folder - adds the 'assetsdir' attribute allowing to copy other assets into the APK - IOUtil uses URLConnection / incr. effeciency - using URLConnection on all getResource(..) since URL is connected anyways for validation and URLConnection can be used by caller right away - String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String) - preserves scheme, authority, etc - simple parentOf handling, more efficient - reusing new 'asset' protocol impl. - Android ClassLoaderUtil cleanup; - Use createClassLoader(..) impl for build-in static jogamp and user APKs, which removes code redundancy Tests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux.
Diffstat (limited to 'make/build.xml')
-rw-r--r--make/build.xml10
1 files changed, 9 insertions, 1 deletions
diff --git a/make/build.xml b/make/build.xml
index 1eaab32..7e1b6c0 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -696,6 +696,9 @@
<exclude name="jogamp/common/os/android/**" />
<exclude name="${jogamp.android-launcher.classes}" />
</fileset>
+ <fileset dir="resources/assets">
+ <include name="**" />
+ </fileset>
</jar>
<copy file="Manifest-rt"
@@ -717,6 +720,9 @@
<include name="jogamp/common/**" />
<exclude name="${jogamp.android-launcher.classes}" />
</fileset>
+ <fileset dir="resources/assets">
+ <include name="**" />
+ </fileset>
</jar>
<!-- Copy antlr.jar into build directory for convenience so
@@ -749,6 +755,7 @@
<javac destdir="${classes}"
includeAntRuntime="false"
includes="${jogamp.android-launcher.classes}"
+ excludes="${jogamp.common.classes}"
memoryMaximumSize="${javac.memorymax}"
encoding="UTF-8"
source="${target.sourcelevel}"
@@ -777,6 +784,7 @@
</jar>
<aapt.signed
+ assetsdir="resources/android/assets-launcher"
jarbuilddir="${build}"
jarbasename="jogamp.android-launcher"
nativebuilddir="${build}"
@@ -802,6 +810,7 @@
<target name="android.package" depends="gluegen.cpptasks.detect.os,gluegen.build.check.aapt" if="isAndroid" unless="gluegen.build.skip.aapt" >
<aapt.signed
+ assetsdir="resources/assets"
jarbuilddir="${build}"
jarbasename="gluegen-rt"
nativebuilddir="${gluegen.lib.dir}"
@@ -813,7 +822,6 @@
version.code="${gluegen_int_version}"
version.name="${gluegen.version.plus}"
/>
-
</target>
<target name="base.compile" description="Base compile ensuring valid build results w/o tampering the artifacts.properties"