diff options
author | Sven Gothel <[email protected]> | 2012-03-17 21:15:49 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-03-17 21:15:49 +0100 |
commit | 235f8b1cbff8ed13071d5c19c0be492c0b25cb78 (patch) | |
tree | 659845e16bd69372bc7ddc3a42b3aa7130d18df5 /make/build.xml | |
parent | 0cfc7847c58b51c9a26b50d905b592d1fc4c8578 (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.xml | 10 |
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" |