diff options
author | Siva Velusamy <vsiva@google.com> | 2014-06-10 14:29:11 -0700 |
---|---|---|
committer | Siva Velusamy <vsiva@google.com> | 2014-06-10 15:32:43 -0700 |
commit | da9cddc36601cc91d13a6256cc24c4c628f2c870 (patch) | |
tree | 4df1ab26cb8c9a63bc2043e0917329e95a87bada /eclipse/scripts | |
parent | f970b9a6676679fdaef6388c44b6575f95bc5875 (diff) | |
download | sdk-da9cddc36601cc91d13a6256cc24c4c628f2c870.zip sdk-da9cddc36601cc91d13a6256cc24c4c628f2c870.tar.gz sdk-da9cddc36601cc91d13a6256cc24c4c628f2c870.tar.bz2 |
Revert back from OSGI -> bundled jars
We tried the approach of replacing bundled jars with OSGI
jars. However, this eventually ended up resulting in
ClassCircularityError thrown at runtime when running on
Java 7. As far as we could diagnose, the issue seems to
be that:
- LayoutLibrary attempts to load layoutlib.jar (which is
a regular jar present inside the android sdk data folder).
- The class loader passed to layoutlib is the LayoutLibrary's
class loader.
- The classes inside the layout library then attempt to
load classes from a different OSGI jar (layoutlib-api)
- At this time, we receive a ClassCircularityError
Most of our other jars depend on layoutlib-api, so it is
not possible to just bundle layoutlib-api. So for now, we
are back to bundling jars.
Change-Id: Ic8c838a1a7e90e1bc6b8c5251341b1ded46053ba
Diffstat (limited to 'eclipse/scripts')
-rwxr-xr-x | eclipse/scripts/build_adt.sh | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/eclipse/scripts/build_adt.sh b/eclipse/scripts/build_adt.sh index 0c5792c..7741da6 100755 --- a/eclipse/scripts/build_adt.sh +++ b/eclipse/scripts/build_adt.sh @@ -36,28 +36,11 @@ echo Running gradle to build tools libraries... cd "$ANDROID_SRC"/tools ./gradlew --no-daemon publishLocal -# The following step temporarily disabled: we are running maven in online mode, but it -# actually picks up everything it needs from within the prebuilts or the out folder. The -# current issue is just in creating a local repository that looks as if it has been -# initialized by downloading from a remote repository. - -# 2. Create a combined m2 repository that has the tools generated in step 1 and other prebuilts -# This is required so that maven can be run in offline mode in the next step. -# echo Creating a combined tools + prebuilts maven repo... -# COMBINED_M2_REPO="$ANDROID_SRC"/out/host/maven/toolsRepo -# mkdir -p "$COMBINED_M2_REPO" -# cp -r "$ANDROID_SRC"/out/repo "$COMBINED_M2_REPO" -# cp -r "$ANDROID_SRC"/prebuilts/tools/common/m2/repository/* "$COMBINED_M2_REPO" - -# 3. Convert the generated Maven repository into a p2 repository -echo Converting maven repo to p2 repo... -cd "$ANDROID_SRC"/sdk/p2gen -"$MAVEN" --no-snapshot-updates \ - -P online \ - -Dmaven.repo.local=../../out/host/maven/toolsRepo \ - p2:site +# 2. Copy dependent jars into the libs folder of each plugin +cd "$ANDROID_SRC"/sdk/eclipse +../../tools/gradlew --no-daemon copydeps -# 4. Launch Tycho build +# 3. Launch Tycho build echo Launching Tycho to build ADT plugins and bundle cd "$ANDROID_SRC"/sdk/eclipse make -f maven.mk |