From da9cddc36601cc91d13a6256cc24c4c628f2c870 Mon Sep 17 00:00:00 2001 From: Siva Velusamy Date: Tue, 10 Jun 2014 14:29:11 -0700 Subject: 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 --- eclipse/scripts/build_adt.sh | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) (limited to 'eclipse/scripts') 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 -- cgit v1.1