aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--anttasks/src/com/android/ant/DexExecTask.java4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/plugin.xml51
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/BuildHelper.java13
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.java73
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java111
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/LibraryClasspathContainerInitializer.java192
-rw-r--r--sdkmanager/libs/sdklib/src/com/android/sdklib/build/JarListSanitizer.java48
-rw-r--r--testapps/basicJar/.classpath6
-rw-r--r--testapps/basicJar/.project17
-rw-r--r--testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java30
-rw-r--r--testapps/basicJar/src/com/android/tests/basicjar/Foo.java16
-rw-r--r--testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt1
-rw-r--r--testapps/jarCheckTests1/SUCCESS0
-rw-r--r--testapps/jarCheckTests1/app/.classpath (renamed from testapps/jarCheckTests2/basicProjectWithSupport/.classpath)0
-rw-r--r--testapps/jarCheckTests1/app/.project (renamed from testapps/jarCheckTests2/basicProjectWithSupport/.project)2
-rw-r--r--testapps/jarCheckTests1/app/AndroidManifest.xml (renamed from testapps/jarCheckTests1/basicProjectWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests1/app/ant.properties (renamed from testapps/jarCheckTests1/basicLibWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests1/app/build.xml (renamed from testapps/jarCheckTests1/basicProjectWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests1/app/libs/android-support-v4.jar (renamed from testapps/jarCheckTests1/basicLibWithSupport/libs/android-support-v4.jar)bin247894 -> 247894 bytes
-rw-r--r--testapps/jarCheckTests1/app/libs/foo.txt (renamed from testapps/jarCheckTests1/basicProjectWithSupport/libs/foo.txt)0
-rw-r--r--testapps/jarCheckTests1/app/proguard-project.txt (renamed from testapps/jarCheckTests1/basicLibWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests1/app/project.properties13
-rw-r--r--testapps/jarCheckTests1/app/res/layout/main.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests1/app/res/values/strings.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java (renamed from testapps/jarCheckTests1/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests1/basicProjectWithSupport/project.properties13
-rw-r--r--testapps/jarCheckTests1/lib1/.classpath (renamed from testapps/jarCheckTests2/basicLibWithSupport/.classpath)0
-rw-r--r--testapps/jarCheckTests1/lib1/.project33
-rw-r--r--testapps/jarCheckTests1/lib1/AndroidManifest.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests1/lib1/ant.properties (renamed from testapps/jarCheckTests1/basicLibWithSupport2/ant.properties)0
-rw-r--r--testapps/jarCheckTests1/lib1/build.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests1/lib1/libs/android-support-v4.jar (renamed from testapps/jarCheckTests1/basicLibWithSupport2/libs/android-support-v4.jar)bin247894 -> 247894 bytes
-rw-r--r--testapps/jarCheckTests1/lib1/proguard-project.txt (renamed from testapps/jarCheckTests1/basicLibWithSupport2/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests1/lib1/project.properties (renamed from testapps/jarCheckTests1/basicLibWithSupport/project.properties)0
-rw-r--r--testapps/jarCheckTests1/lib1/res/layout/main.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport2/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests1/lib1/res/values/strings.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport2/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java (renamed from testapps/jarCheckTests1/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests1/lib2/.classpath (renamed from testapps/jarCheckTests2/basicLibWithSupport2/.classpath)0
-rw-r--r--testapps/jarCheckTests1/lib2/.project33
-rw-r--r--testapps/jarCheckTests1/lib2/AndroidManifest.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport2/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests1/lib2/ant.properties (renamed from testapps/jarCheckTests1/basicProjectWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests1/lib2/build.xml (renamed from testapps/jarCheckTests1/basicLibWithSupport2/build.xml)0
-rw-r--r--testapps/jarCheckTests1/lib2/libs/android-support-v4.jar (renamed from testapps/jarCheckTests1/basicProjectWithSupport/libs/android-support-v4.jar)bin247894 -> 247894 bytes
-rw-r--r--testapps/jarCheckTests1/lib2/proguard-project.txt (renamed from testapps/jarCheckTests1/basicProjectWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests1/lib2/project.properties (renamed from testapps/jarCheckTests1/basicLibWithSupport2/project.properties)0
-rw-r--r--testapps/jarCheckTests1/lib2/res/layout/main.xml (renamed from testapps/jarCheckTests1/basicProjectWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests1/lib2/res/values/strings.xml (renamed from testapps/jarCheckTests1/basicProjectWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java (renamed from testapps/jarCheckTests1/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests2/FAIL0
-rw-r--r--testapps/jarCheckTests2/app/.classpath8
-rw-r--r--testapps/jarCheckTests2/app/.project33
-rw-r--r--testapps/jarCheckTests2/app/AndroidManifest.xml (renamed from testapps/jarCheckTests2/basicProjectWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests2/app/ant.properties (renamed from testapps/jarCheckTests2/basicLibWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests2/app/build.xml (renamed from testapps/jarCheckTests2/basicProjectWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests2/app/libs/foo.txt (renamed from testapps/jarCheckTests2/basicProjectWithSupport/libs/foo.txt)0
-rw-r--r--testapps/jarCheckTests2/app/proguard-project.txt (renamed from testapps/jarCheckTests2/basicLibWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests2/app/project.properties13
-rw-r--r--testapps/jarCheckTests2/app/res/layout/main.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests2/app/res/values/strings.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java (renamed from testapps/jarCheckTests2/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests2/basicProjectWithSupport/project.properties13
-rw-r--r--testapps/jarCheckTests2/lib1/.classpath9
-rw-r--r--testapps/jarCheckTests2/lib1/.project (renamed from testapps/jarCheckTests2/basicLibWithSupport/.project)0
-rw-r--r--testapps/jarCheckTests2/lib1/AndroidManifest.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests2/lib1/ant.properties (renamed from testapps/jarCheckTests2/basicLibWithSupport2/ant.properties)0
-rw-r--r--testapps/jarCheckTests2/lib1/build.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests2/lib1/libs/android-support-v4.jar (renamed from testapps/jarCheckTests2/basicLibWithSupport/libs/android-support-v4.jar)bin247894 -> 247894 bytes
-rw-r--r--testapps/jarCheckTests2/lib1/proguard-project.txt (renamed from testapps/jarCheckTests2/basicLibWithSupport2/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests2/lib1/project.properties (renamed from testapps/jarCheckTests2/basicLibWithSupport/project.properties)0
-rw-r--r--testapps/jarCheckTests2/lib1/res/layout/main.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport2/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests2/lib1/res/values/strings.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport2/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java (renamed from testapps/jarCheckTests2/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests2/lib2/.classpath9
-rw-r--r--testapps/jarCheckTests2/lib2/.project (renamed from testapps/jarCheckTests2/basicLibWithSupport2/.project)0
-rw-r--r--testapps/jarCheckTests2/lib2/AndroidManifest.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport2/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests2/lib2/ant.properties (renamed from testapps/jarCheckTests2/basicProjectWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests2/lib2/build.xml (renamed from testapps/jarCheckTests2/basicLibWithSupport2/build.xml)0
-rw-r--r--testapps/jarCheckTests2/lib2/libs/android-support-v4.jar (renamed from testapps/jarCheckTests2/basicLibWithSupport2/libs/android-support-v4.jar)bin244970 -> 244970 bytes
-rw-r--r--testapps/jarCheckTests2/lib2/proguard-project.txt (renamed from testapps/jarCheckTests2/basicProjectWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests2/lib2/project.properties (renamed from testapps/jarCheckTests2/basicLibWithSupport2/project.properties)0
-rw-r--r--testapps/jarCheckTests2/lib2/res/layout/main.xml (renamed from testapps/jarCheckTests2/basicProjectWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests2/lib2/res/values/strings.xml (renamed from testapps/jarCheckTests2/basicProjectWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java (renamed from testapps/jarCheckTests2/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests3/SUCCESS0
-rw-r--r--testapps/jarCheckTests3/app/.classpath (renamed from testapps/libWithLibTest/basicLib/.classpath)0
-rw-r--r--testapps/jarCheckTests3/app/.project33
-rw-r--r--testapps/jarCheckTests3/app/AndroidManifest.xml (renamed from testapps/jarCheckTests3/basicProjectWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests3/app/ant.properties (renamed from testapps/jarCheckTests3/basicLibWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests3/app/build.xml (renamed from testapps/jarCheckTests3/basicProjectWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests3/app/libs/foo.txt (renamed from testapps/jarCheckTests3/basicProjectWithSupport/libs/foo.txt)0
-rw-r--r--testapps/jarCheckTests3/app/proguard-project.txt (renamed from testapps/jarCheckTests3/basicLibWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests3/app/project.properties13
-rw-r--r--testapps/jarCheckTests3/app/res/layout/main.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests3/app/res/values/strings.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java (renamed from testapps/jarCheckTests3/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests3/basicProjectWithSupport/project.properties13
-rw-r--r--testapps/jarCheckTests3/lib1/.classpath9
-rw-r--r--testapps/jarCheckTests3/lib1/.project33
-rw-r--r--testapps/jarCheckTests3/lib1/AndroidManifest.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests3/lib1/ant.properties (renamed from testapps/jarCheckTests3/basicLibWithSupport2/ant.properties)0
-rw-r--r--testapps/jarCheckTests3/lib1/build.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport/build.xml)0
-rw-r--r--testapps/jarCheckTests3/lib1/libs/android-support-v4.jar (renamed from testapps/jarCheckTests3/basicLibWithSupport/libs/android-support-v4.jar)bin247894 -> 247894 bytes
-rw-r--r--testapps/jarCheckTests3/lib1/proguard-project.txt (renamed from testapps/jarCheckTests3/basicLibWithSupport2/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests3/lib1/project.properties (renamed from testapps/jarCheckTests3/basicLibWithSupport/project.properties)0
-rw-r--r--testapps/jarCheckTests3/lib1/res/layout/main.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport2/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests3/lib1/res/values/strings.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport2/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java (renamed from testapps/jarCheckTests3/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java)0
-rw-r--r--testapps/jarCheckTests3/lib2/.classpath9
-rw-r--r--testapps/jarCheckTests3/lib2/.project33
-rw-r--r--testapps/jarCheckTests3/lib2/AndroidManifest.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport2/AndroidManifest.xml)0
-rw-r--r--testapps/jarCheckTests3/lib2/ant.properties (renamed from testapps/jarCheckTests3/basicProjectWithSupport/ant.properties)0
-rw-r--r--testapps/jarCheckTests3/lib2/build.xml (renamed from testapps/jarCheckTests3/basicLibWithSupport2/build.xml)0
-rw-r--r--testapps/jarCheckTests3/lib2/libs/android-support-v13.jar (renamed from testapps/jarCheckTests3/basicLibWithSupport2/libs/android-support-v13.jar)bin307683 -> 307683 bytes
-rw-r--r--testapps/jarCheckTests3/lib2/proguard-project.txt (renamed from testapps/jarCheckTests3/basicProjectWithSupport/proguard-project.txt)0
-rw-r--r--testapps/jarCheckTests3/lib2/project.properties (renamed from testapps/jarCheckTests3/basicLibWithSupport2/project.properties)0
-rw-r--r--testapps/jarCheckTests3/lib2/res/layout/main.xml (renamed from testapps/jarCheckTests3/basicProjectWithSupport/res/layout/main.xml)0
-rw-r--r--testapps/jarCheckTests3/lib2/res/values/strings.xml (renamed from testapps/jarCheckTests3/basicProjectWithSupport/res/values/strings.xml)0
-rw-r--r--testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java (renamed from testapps/jarCheckTests3/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java)0
-rw-r--r--testapps/javaProjectTest/ECLIPSEONLY0
-rw-r--r--testapps/javaProjectTest/SUCCESS0
-rw-r--r--testapps/javaProjectTest/app/.project2
-rw-r--r--testapps/javaProjectTest/app/AndroidManifest.xml4
-rw-r--r--testapps/javaProjectTest/app/res/layout/main.xml60
-rw-r--r--testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/Main.java22
-rw-r--r--testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/MyTextView.java27
-rw-r--r--testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java38
-rw-r--r--testapps/javaProjectTest/javaProject/.classpath2
-rw-r--r--testapps/javaProjectTest/javaProject/.project2
-rw-r--r--testapps/javaProjectTest/javaProject/libs/basicJar.jarbin2886 -> 0 bytes
-rw-r--r--testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java16
-rw-r--r--testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt1
-rw-r--r--testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java30
-rw-r--r--testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt1
-rw-r--r--testapps/javaProjectTest/javaProject2/.classpath7
-rw-r--r--testapps/javaProjectTest/javaProject2/.project17
-rw-r--r--testapps/javaProjectTest/javaProject2/libs/basicJar.jarbin0 -> 1813 bytes
-rw-r--r--testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java30
-rw-r--r--testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt1
-rw-r--r--testapps/javaProjectTest/lib1/.classpath2
-rw-r--r--testapps/javaProjectTest/lib1/.project2
-rw-r--r--testapps/javaProjectTest/lib1/AndroidManifest.xml20
-rw-r--r--testapps/javaProjectTest/lib1/build.xml83
-rw-r--r--testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java30
-rw-r--r--testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt1
-rw-r--r--testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java (renamed from testapps/javaProjectTest/lib2/src/com/android/test/lib2/Main.java)2
-rw-r--r--testapps/javaProjectTest/lib2/.classpath2
-rw-r--r--testapps/javaProjectTest/lib2/.project2
-rw-r--r--testapps/javaProjectTest/lib2/AndroidManifest.xml20
-rw-r--r--testapps/javaProjectTest/lib2/build.xml83
-rw-r--r--testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java30
-rw-r--r--testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt1
-rw-r--r--testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java (renamed from testapps/javaProjectTest/lib1/src/com/android/test/lib1/Main.java)2
-rw-r--r--testapps/libWithLibTest/.DS_Storebin0 -> 6148 bytes
-rw-r--r--testapps/libWithLibTest/app/.classpath8
-rw-r--r--testapps/libWithLibTest/app/.project (renamed from testapps/libWithLibTest/basicProjectWithLib/.project)0
-rw-r--r--testapps/libWithLibTest/app/AndroidManifest.xml (renamed from testapps/libWithLibTest/basicProjectWithLib/AndroidManifest.xml)0
-rw-r--r--testapps/libWithLibTest/app/ant.properties (renamed from testapps/javaProjectTest/lib1/ant.properties)0
-rw-r--r--testapps/libWithLibTest/app/build.xml (renamed from testapps/libWithLibTest/basicLib/build.xml)0
-rw-r--r--testapps/libWithLibTest/app/proguard-project.txt (renamed from testapps/libWithLibTest/basicLib/proguard-project.txt)0
-rw-r--r--testapps/libWithLibTest/app/project.properties (renamed from testapps/libWithLibTest/basicProjectWithLib/project.properties)2
-rw-r--r--testapps/libWithLibTest/app/res/values/strings.xml (renamed from testapps/libWithLibTest/basicProjectWithLib/res/values/strings.xml)0
-rw-r--r--testapps/libWithLibTest/basicLib/.project33
-rw-r--r--testapps/libWithLibTest/basicLibWithJar/.project33
-rw-r--r--testapps/libWithLibTest/basicLibWithJar/ant.properties17
-rw-r--r--testapps/libWithLibTest/basicProjectWithLib/.classpath9
-rw-r--r--testapps/libWithLibTest/basicProjectWithLib/ant.properties17
-rw-r--r--testapps/libWithLibTest/lib1/.classpath8
-rw-r--r--testapps/libWithLibTest/lib1/.project33
-rw-r--r--testapps/libWithLibTest/lib1/AndroidManifest.xml (renamed from testapps/libWithLibTest/basicLib/AndroidManifest.xml)0
-rw-r--r--testapps/libWithLibTest/lib1/ant.properties (renamed from testapps/javaProjectTest/lib2/ant.properties)0
-rw-r--r--testapps/libWithLibTest/lib1/build.xml (renamed from testapps/libWithLibTest/basicLibWithJar/build.xml)0
-rw-r--r--testapps/libWithLibTest/lib1/proguard-project.txt (renamed from testapps/libWithLibTest/basicLibWithJar/proguard-project.txt)0
-rw-r--r--testapps/libWithLibTest/lib1/project.properties (renamed from testapps/libWithLibTest/basicLib/project.properties)2
-rw-r--r--testapps/libWithLibTest/lib1/res/drawable/icon.png (renamed from testapps/libWithLibTest/basicLib/res/drawable/icon.png)bin2574 -> 2574 bytes
-rw-r--r--testapps/libWithLibTest/lib1/res/layout/basiclib_main.xml (renamed from testapps/libWithLibTest/basicLib/res/layout/basiclib_main.xml)0
-rw-r--r--testapps/libWithLibTest/lib1/res/values/strings.xml (renamed from testapps/libWithLibTest/basicLib/res/values/strings.xml)0
-rw-r--r--testapps/libWithLibTest/lib1/src/com/android/tests/basiclib/Main.java (renamed from testapps/libWithLibTest/basicLib/src/com/android/tests/basiclib/Main.java)0
-rw-r--r--testapps/libWithLibTest/lib2/.classpath (renamed from testapps/libWithLibTest/basicLibWithJar/.classpath)0
-rw-r--r--testapps/libWithLibTest/lib2/.project33
-rw-r--r--testapps/libWithLibTest/lib2/AndroidManifest.xml (renamed from testapps/libWithLibTest/basicLibWithJar/AndroidManifest.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/ant.properties (renamed from testapps/libWithLibTest/basicLib/ant.properties)0
-rw-r--r--testapps/libWithLibTest/lib2/build.xml (renamed from testapps/libWithLibTest/basicProjectWithLib/build.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/libs/basicJar.jar (renamed from testapps/libWithLibTest/basicLibWithJar/libs/basicJar.jar)bin2713 -> 2713 bytes
-rw-r--r--testapps/libWithLibTest/lib2/proguard-project.txt (renamed from testapps/libWithLibTest/basicProjectWithLib/proguard-project.txt)0
-rw-r--r--testapps/libWithLibTest/lib2/project.properties (renamed from testapps/libWithLibTest/basicLibWithJar/project.properties)0
-rw-r--r--testapps/libWithLibTest/lib2/res/drawable/icon.png (renamed from testapps/libWithLibTest/basicLibWithJar/res/drawable/icon.png)bin2574 -> 2574 bytes
-rw-r--r--testapps/libWithLibTest/lib2/res/layout/basiclibwithjar_main.xml (renamed from testapps/libWithLibTest/basicLibWithJar/res/layout/basiclibwithjar_main.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/res/layout/main.xml (renamed from testapps/libWithLibTest/basicLibWithJar/res/layout/main.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/res/values/ids.xml (renamed from testapps/libWithLibTest/basicLibWithJar/res/values/ids.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/res/values/strings.xml (renamed from testapps/libWithLibTest/basicLibWithJar/res/values/strings.xml)0
-rw-r--r--testapps/libWithLibTest/lib2/src/com/android/tests/basiclibwithjar/Main.java (renamed from testapps/libWithLibTest/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java)0
192 files changed, 1053 insertions, 574 deletions
diff --git a/anttasks/src/com/android/ant/DexExecTask.java b/anttasks/src/com/android/ant/DexExecTask.java
index 273f689..085e924 100644
--- a/anttasks/src/com/android/ant/DexExecTask.java
+++ b/anttasks/src/com/android/ant/DexExecTask.java
@@ -210,6 +210,10 @@ public class DexExecTask extends SingleDependencyTask {
try {
results.addAll(sanitizer.sanitize(paths));
} catch (DifferentLibException e) {
+ String[] details = e.getDetails();
+ for (String s : details) {
+ System.err.println(s);
+ }
throw new BuildException(e.getMessage(), e);
} catch (Sha1Exception e) {
throw new BuildException(
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/plugin.xml b/eclipse/plugins/com.android.ide.eclipse.adt/plugin.xml
index 0cd0354..e5e8229 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/plugin.xml
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/plugin.xml
@@ -57,6 +57,35 @@
<super type="org.eclipse.core.resources.textmarker" />
<persistent value="true" />
</extension>
+ <extension
+ id="com.android.ide.eclipse.adt.adtProblem"
+ name="Android ADT Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.core.resources.problemmarker" />
+ <super type="org.eclipse.core.resources.textmarker" />
+ <persistent value="true" />
+ </extension>
+ <extension
+ id="com.android.ide.eclipse.adt.targetProblem"
+ name="Android Target Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.core.resources.problemmarker" />
+ <persistent value="false" />
+ </extension>
+ <extension
+ id="com.android.ide.eclipse.adt.dependencyProblem"
+ name="Android Dependency Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.core.resources.problemmarker" />
+ <persistent value="false" />
+ </extension>
+ <extension
+ id="com.android.ide.eclipse.adt.packagingProblem"
+ name="Android Packaging Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.core.resources.problemmarker" />
+ <persistent value="true" />
+ </extension>
<extension point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
markerType="com.android.ide.eclipse.adt.lintProblem"
@@ -385,28 +414,6 @@
<extension point="org.eclipse.core.runtime.preferences">
<initializer class="com.android.ide.eclipse.adt.internal.preferences.AdtPrefs" />
</extension>
- <extension
- id="com.android.ide.eclipse.adt.adtProblem"
- name="Android ADT Problem"
- point="org.eclipse.core.resources.markers">
- <super type="org.eclipse.core.resources.problemmarker" />
- <super type="org.eclipse.core.resources.textmarker" />
- <persistent value="true" />
- </extension>
- <extension
- id="com.android.ide.eclipse.adt.targetProblem"
- name="Android Target Problem"
- point="org.eclipse.core.resources.markers">
- <super type="org.eclipse.core.resources.problemmarker" />
- <persistent value="false" />
- </extension>
- <extension
- id="com.android.ide.eclipse.adt.packagingProblem"
- name="Android Packaging Problem"
- point="org.eclipse.core.resources.markers">
- <super type="org.eclipse.core.resources.problemmarker" />
- <persistent value="true" />
- </extension>
<extension point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
<newWizardShortcut id="com.android.ide.eclipse.adt.project.NewProjectWizard" />
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java
index 0a1f2bb..0b619fb 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java
@@ -214,10 +214,16 @@ public class AdtConstants {
public final static String MARKER_ADT = AdtPlugin.PLUGIN_ID + ".adtProblem"; //$NON-NLS-1$
/** Marker for Android Target errors.
- * This is not cleared on each like other markers. Instead, it's cleared
+ * This is not cleared on each build like other markers. Instead, it's cleared
* when an AndroidClasspathContainerInitializer has succeeded in creating an
* AndroidClasspathContainer */
public final static String MARKER_TARGET = AdtPlugin.PLUGIN_ID + ".targetProblem"; //$NON-NLS-1$
+ /** Marker for Android Dependency errors.
+ * This is not cleared on each build like other markers. Instead, it's cleared
+ * when a LibraryClasspathContainerInitializer has succeeded in creating a
+ * LibraryClasspathContainer */
+ public final static String MARKER_DEPENDENCY = AdtPlugin.PLUGIN_ID + ".dependencyProblem"; //$NON-NLS-1$
+
/** aapt marker error when running the compile command, only to be used
* in {@link PreCompilerBuilder} */
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/BuildHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/BuildHelper.java
index ef3a7ac..e915544 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/BuildHelper.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/BuildHelper.java
@@ -799,9 +799,11 @@ public class BuildHelper {
String configFilter, int versionCode) throws AaptExecException, AaptResultException {
IAndroidTarget target = Sdk.getCurrent().getTarget(mProject);
+ @SuppressWarnings("deprecation") String aapt = target.getPath(IAndroidTarget.AAPT);
+
// Create the command line.
ArrayList<String> commandArray = new ArrayList<String>();
- commandArray.add(target.getPath(IAndroidTarget.AAPT));
+ commandArray.add(aapt);
commandArray.add(aaptCommand);
if (AdtPrefs.getPrefs().getBuildVerbosity() == BuildVerbosity.VERBOSE) {
commandArray.add("-v"); //$NON-NLS-1$
@@ -1066,8 +1068,13 @@ public class BuildHelper {
IPath path = e.getPath();
IResource resource = wsRoot.findMember(path);
- // case of a jar file (which could be relative to the workspace or a full path)
- if (AdtConstants.EXT_JAR.equalsIgnoreCase(path.getFileExtension())) {
+
+ if (resource != null && resource.getType() == IResource.PROJECT) {
+ // if it's a project we should just ignore it because it's going to be added
+ // later when we add all the referenced projects.
+
+ } else if (AdtConstants.EXT_JAR.equalsIgnoreCase(path.getFileExtension())) {
+ // case of a jar file (which could be relative to the workspace or a full path)
if (resource != null && resource.exists() &&
resource.getType() == IResource.FILE) {
oslibraryList.add(resource.getLocation().toOSString());
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.java
index b2be4a1..c2493e3 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.java
@@ -26,22 +26,15 @@ import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.IAndroidTarget.IOptionalLibrary;
import com.android.sdklib.SdkConstants;
-import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
import org.eclipse.jdt.core.IAccessRule;
import org.eclipse.jdt.core.IClasspathAttribute;
import org.eclipse.jdt.core.IClasspathContainer;
@@ -66,7 +59,7 @@ import java.util.regex.Pattern;
* Classpath container initializer responsible for binding {@link AndroidClasspathContainer} to
* {@link IProject}s. This removes the hard-coded path to the android.jar.
*/
-public class AndroidClasspathContainerInitializer extends ClasspathContainerInitializer {
+public class AndroidClasspathContainerInitializer extends BaseClasspathContainerInitializer {
public static final String NULL_API_URL = "<null>"; //$NON-NLS-1$
@@ -276,69 +269,7 @@ public class AndroidClasspathContainerInitializer extends ClasspathContainerInit
};
}
} finally {
- if (markerMessage != null) {
- // log the error and put the marker on the project if we can.
- if (outputToConsole) {
- AdtPlugin.printErrorToConsole(iProject, markerMessage);
- }
-
- try {
- BaseProjectHelper.markProject(iProject, AdtConstants.MARKER_TARGET,
- markerMessage, IMarker.SEVERITY_ERROR, IMarker.PRIORITY_HIGH);
- } catch (CoreException e) {
- // In some cases, the workspace may be locked for modification when we
- // pass here.
- // We schedule a new job to put the marker after.
- final String fmessage = markerMessage;
- Job markerJob = new Job("Android SDK: Resolving error markers") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- BaseProjectHelper.markProject(iProject,
- AdtConstants.MARKER_TARGET,
- fmessage, IMarker.SEVERITY_ERROR,
- IMarker.PRIORITY_HIGH);
- } catch (CoreException e2) {
- return e2.getStatus();
- }
-
- return Status.OK_STATUS;
- }
- };
-
- // build jobs are run after other interactive jobs
- markerJob.setPriority(Job.BUILD);
- markerJob.schedule();
- }
- } else {
- // no error, remove potential MARKER_TARGETs.
- try {
- if (iProject.exists()) {
- iProject.deleteMarkers(AdtConstants.MARKER_TARGET, true,
- IResource.DEPTH_INFINITE);
- }
- } catch (CoreException ce) {
- // In some cases, the workspace may be locked for modification when we pass
- // here, so we schedule a new job to put the marker after.
- Job markerJob = new Job("Android SDK: Resolving error markers") {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- iProject.deleteMarkers(AdtConstants.MARKER_TARGET, true,
- IResource.DEPTH_INFINITE);
- } catch (CoreException e2) {
- return e2.getStatus();
- }
-
- return Status.OK_STATUS;
- }
- };
-
- // build jobs are run after other interactive jobs
- markerJob.setPriority(Job.BUILD);
- markerJob.schedule();
- }
- }
+ processError(iProject, markerMessage, AdtConstants.MARKER_TARGET, outputToConsole);
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java
new file mode 100644
index 0000000..403b17b
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/BaseClasspathContainerInitializer.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.adt.internal.project;
+
+import com.android.ide.eclipse.adt.AdtPlugin;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jdt.core.ClasspathContainerInitializer;
+
+/**
+ * Base CPC initializer providing support to all our initializer.
+ *
+ */
+abstract class BaseClasspathContainerInitializer extends ClasspathContainerInitializer {
+
+
+ /**
+ * Adds an error to a project, or remove all markers if error message is null
+ * @param project the project to modify
+ * @param errorMessage the errorMessage or null to remove errors.
+ * @param markerType the marker type to be used.
+ * @param outputToConsole whether to output to the console.
+ */
+ protected static void processError(final IProject project, final String errorMessage,
+ final String markerType, boolean outputToConsole) {
+ if (errorMessage != null) {
+ // log the error and put the marker on the project if we can.
+ if (outputToConsole) {
+ AdtPlugin.printErrorToConsole(project, errorMessage);
+ }
+
+ try {
+ BaseProjectHelper.markProject(project, markerType,
+ errorMessage, IMarker.SEVERITY_ERROR, IMarker.PRIORITY_HIGH);
+ } catch (CoreException e) {
+ // In some cases, the workspace may be locked for modification when we
+ // pass here.
+ // We schedule a new job to put the marker after.
+ final String fmessage = errorMessage;
+ Job markerJob = new Job("Android SDK: Resolving error markers") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ BaseProjectHelper.markProject(project,
+ markerType,
+ fmessage, IMarker.SEVERITY_ERROR,
+ IMarker.PRIORITY_HIGH);
+ } catch (CoreException e2) {
+ return e2.getStatus();
+ }
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ // build jobs are run after other interactive jobs
+ markerJob.setPriority(Job.BUILD);
+ markerJob.schedule();
+ }
+ } else {
+ // no error, remove existing markers.
+ try {
+ if (project.exists()) {
+ project.deleteMarkers(markerType, true,
+ IResource.DEPTH_INFINITE);
+ }
+ } catch (CoreException ce) {
+ // In some cases, the workspace may be locked for modification when we pass
+ // here, so we schedule a new job to put the marker after.
+ Job markerJob = new Job("Android SDK: Resolving error markers") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ project.deleteMarkers(markerType, true,
+ IResource.DEPTH_INFINITE);
+ } catch (CoreException e2) {
+ return e2.getStatus();
+ }
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ // build jobs are run after other interactive jobs
+ markerJob.setPriority(Job.BUILD);
+ markerJob.schedule();
+ }
+ }
+ }
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/LibraryClasspathContainerInitializer.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/LibraryClasspathContainerInitializer.java
index d012bc8..f21eb1f 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/LibraryClasspathContainerInitializer.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/LibraryClasspathContainerInitializer.java
@@ -18,20 +18,24 @@ package com.android.ide.eclipse.adt.internal.project;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
+import com.android.ide.eclipse.adt.AndroidPrintStream;
import com.android.ide.eclipse.adt.internal.sdk.ProjectState;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.sdklib.SdkConstants;
+import com.android.sdklib.build.JarListSanitizer;
+import com.android.sdklib.build.JarListSanitizer.DifferentLibException;
+import com.android.sdklib.build.JarListSanitizer.Sha1Exception;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
@@ -40,11 +44,11 @@ import org.eclipse.jdt.core.JavaModelException;
import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
+import java.util.Set;
-public class LibraryClasspathContainerInitializer extends ClasspathContainerInitializer {
+public class LibraryClasspathContainerInitializer extends BaseClasspathContainerInitializer {
public LibraryClasspathContainerInitializer() {
}
@@ -160,6 +164,9 @@ public class LibraryClasspathContainerInitializer extends ClasspathContainerInit
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+ // list of java project dependencies and jar files that will be built while
+ // going through the library projects.
+ Set<File> jarFiles = new HashSet<File>();
HashSet<IProject> refProjects = new HashSet<IProject>();
List<IProject> libProjects = state.getFullLibraryProjects();
@@ -192,24 +199,11 @@ public class LibraryClasspathContainerInitializer extends ClasspathContainerInit
}
// get project dependencies
- try {
- IProject[] refs = libProject.getReferencedProjects();
- refProjects.addAll(Arrays.asList(refs));
- } catch (CoreException e) {
- }
+ processReferencedProjects(libProject, refProjects, jarFiles, true);
}
- for (IProject p : refProjects) {
- // ignore if it's an Android project, or if it's not a Java Project
- try {
- if (p.hasNature(JavaCore.NATURE_ID) &&
- p.hasNature(AdtConstants.NATURE_DEFAULT) == false) {
- entries.add(JavaCore.newProjectEntry(p.getFullPath()));
- }
- } catch (CoreException e) {
- // can't get the nature? ignore the project.
- }
- }
+ // now get the jar files for the referenced project for this project.
+ processReferencedProjects(iProject, refProjects, jarFiles, false);
// annotations support for older version of android
if (state.getTarget() != null && state.getTarget().getVersion().getApiLevel() <= 15) {
@@ -217,14 +211,53 @@ public class LibraryClasspathContainerInitializer extends ClasspathContainerInit
SdkConstants.FD_TOOLS + File.separator + SdkConstants.FD_SUPPORT +
File.separator + SdkConstants.FN_ANNOTATIONS_JAR);
- IClasspathEntry entry = JavaCore.newLibraryEntry(
- new Path(annotationsJar.getAbsolutePath()),
- null, // source attachment path
- null); // default source attachment root path.
+ jarFiles.add(annotationsJar);
+ }
- entries.add(0, entry);
+ // now add a classpath entry for each Java project (this is a set so dups are already
+ // removed)
+ for (IProject p : refProjects) {
+ entries.add(JavaCore.newProjectEntry(p.getFullPath()));
}
+ // and process the jar files list, but first sanitize it to remove dups.
+ JarListSanitizer sanitizer = new JarListSanitizer(
+ iProject.getFolder(SdkConstants.FD_OUTPUT).getLocation().toFile(),
+ new AndroidPrintStream(iProject, null /*prefix*/,
+ AdtPlugin.getOutStream()));
+
+ String errorMessage = null;
+
+ try {
+ List<File> sanitizedList = sanitizer.sanitize(jarFiles);
+
+ for (File jarFile : sanitizedList) {
+ if (jarFile instanceof CPEFile) {
+ CPEFile cpeFile = (CPEFile) jarFile;
+ IClasspathEntry e = cpeFile.getClasspathEntry();
+
+ entries.add(JavaCore.newLibraryEntry(
+ e.getPath(),
+ e.getSourceAttachmentPath(),
+ e.getSourceAttachmentRootPath(),
+ e.getAccessRules(),
+ e.getExtraAttributes(),
+ e.isExported()));
+ } else {
+ entries.add(JavaCore.newLibraryEntry(new Path(jarFile.getAbsolutePath()),
+ null /*sourceAttachmentPath*/, null /*sourceAttachmentRootPath*/));
+ }
+ }
+ } catch (DifferentLibException e) {
+ errorMessage = e.getMessage();
+ AdtPlugin.printErrorToConsole(iProject, (Object[]) e.getDetails());
+ } catch (Sha1Exception e) {
+ errorMessage = e.getMessage();
+ }
+
+ processError(iProject, errorMessage, AdtConstants.MARKER_DEPENDENCY,
+ true /*outputToConsole*/);
+
return new AndroidClasspathContainer(
entries.toArray(new IClasspathEntry[entries.size()]),
new Path(AdtConstants.CONTAINER_LIBRARIES),
@@ -232,4 +265,115 @@ public class LibraryClasspathContainerInitializer extends ClasspathContainerInit
IClasspathContainer.K_APPLICATION);
}
+
+ private static void processReferencedProjects(IProject project,
+ Set<IProject> projects, Set<File> jarFiles, boolean includeAndroidContainer) {
+ // get the jar dependencies of the project in the list
+ getJarDependencies(project, jarFiles, includeAndroidContainer);
+
+ try {
+ IProject[] refs = project.getReferencedProjects();
+ for (IProject p : refs) {
+ // ignore if it's an Android project, or if it's not a Java Project
+ if (p.hasNature(JavaCore.NATURE_ID) &&
+ p.hasNature(AdtConstants.NATURE_DEFAULT) == false) {
+ // add this project to the list
+ projects.add(p);
+
+ // and then process this project too.
+ processReferencedProjects(p, projects, jarFiles, includeAndroidContainer);
+ }
+ }
+ } catch (CoreException e) {
+ // can't get the referenced projects? ignore
+ }
+ }
+
+ private static void getJarDependencies(IProject p, Set<File> jarFiles,
+ boolean includeAndroidContainer) {
+ IJavaProject javaProject = JavaCore.create(p);
+ IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
+
+ // we could use IJavaProject.getResolvedClasspath directly, but we actually
+ // want to see the containers themselves.
+ IClasspathEntry[] classpaths = javaProject.readRawClasspath();
+ if (classpaths != null) {
+ for (IClasspathEntry e : classpaths) {
+ // if this is a classpath variable reference, we resolve it.
+ if (e.getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
+ e = JavaCore.getResolvedClasspathEntry(e);
+ }
+
+ if (e.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
+ handleClasspathEntry(e, wsRoot, jarFiles);
+ } else if (e.getEntryKind() == IClasspathEntry.CPE_CONTAINER &&
+ (includeAndroidContainer ||
+ e.getPath().toString().startsWith(
+ "com.android.ide.eclipse.adt.") == false)) {
+ // get the container.
+ try {
+ IClasspathContainer container = JavaCore.getClasspathContainer(
+ e.getPath(), javaProject);
+ // ignore the system and default_system types as they represent
+ // libraries that are part of the runtime.
+ if (container != null &&
+ container.getKind() == IClasspathContainer.K_APPLICATION) {
+ IClasspathEntry[] entries = container.getClasspathEntries();
+ for (IClasspathEntry entry : entries) {
+ handleClasspathEntry(entry, wsRoot, jarFiles);
+ }
+ }
+ } catch (JavaModelException jme) {
+ // can't resolve the container? ignore it.
+ AdtPlugin.log(jme, "Failed to resolve ClasspathContainer: %s", e.getPath());
+ }
+ }
+ }
+ }
+ }
+
+ private static final class CPEFile extends File {
+ private static final long serialVersionUID = 1L;
+
+ private final IClasspathEntry mClasspathEntry;
+
+ public CPEFile(String pathname, IClasspathEntry classpathEntry) {
+ super(pathname);
+ mClasspathEntry = classpathEntry;
+ }
+
+ public CPEFile(File file, IClasspathEntry classpathEntry) {
+ super(file.getAbsolutePath());
+ mClasspathEntry = classpathEntry;
+ }
+
+ public IClasspathEntry getClasspathEntry() {
+ return mClasspathEntry;
+ }
+ }
+
+ private static void handleClasspathEntry(IClasspathEntry e, IWorkspaceRoot wsRoot,
+ Set<File> jarFiles) {
+ // get the IPath
+ IPath path = e.getPath();
+
+ IResource resource = wsRoot.findMember(path);
+
+ if (AdtConstants.EXT_JAR.equalsIgnoreCase(path.getFileExtension())) {
+ // case of a jar file (which could be relative to the workspace or a full path)
+ if (resource != null && resource.exists() &&
+ resource.getType() == IResource.FILE) {
+ jarFiles.add(new CPEFile(resource.getLocation().toFile(), e));
+ } else {
+ // if the jar path doesn't match a workspace resource,
+ // then we get an OSString and check if this links to a valid file.
+ String osFullPath = path.toOSString();
+
+ File f = new CPEFile(osFullPath, e);
+ if (f.isFile()) {
+ jarFiles.add(f);
+ }
+ }
+ }
+ }
}
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/build/JarListSanitizer.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/build/JarListSanitizer.java
index bd4d9a4..c6c0c22 100644
--- a/sdkmanager/libs/sdklib/src/com/android/sdklib/build/JarListSanitizer.java
+++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/build/JarListSanitizer.java
@@ -24,9 +24,11 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Formatter;
import java.util.HashMap;
import java.util.List;
@@ -135,9 +137,15 @@ public class JarListSanitizer {
*/
public static final class DifferentLibException extends Exception {
private static final long serialVersionUID = 1L;
+ private final String[] mDetails;
- public DifferentLibException(String message) {
+ public DifferentLibException(String message, String[] details) {
super(message);
+ mDetails = details;
+ }
+
+ public String[] getDetails() {
+ return mDetails;
}
}
@@ -159,6 +167,7 @@ public class JarListSanitizer {
}
private final File mOut;
+ private final PrintStream mOutStream;
/**
* Creates a sanitizer.
@@ -166,6 +175,12 @@ public class JarListSanitizer {
*/
public JarListSanitizer(File out) {
mOut = out;
+ mOutStream = System.out;
+ }
+
+ public JarListSanitizer(File out, PrintStream outStream) {
+ mOut = out;
+ mOutStream = outStream;
}
/**
@@ -175,7 +190,7 @@ public class JarListSanitizer {
* @throws DifferentLibException
* @throws Sha1Exception
*/
- public List<File> sanitize(List<File> files) throws DifferentLibException, Sha1Exception {
+ public List<File> sanitize(Collection<File> files) throws DifferentLibException, Sha1Exception {
List<File> results = new ArrayList<File>();
// get the cache list.
@@ -269,8 +284,8 @@ public class JarListSanitizer {
for (int i = 1; i < count ; i++) {
JarEntity entity = list.get(i);
if (entity.getLength() != baseLength || entity.getSha1().equals(baseSha1) == false) {
- printEntityDetails(filename, list);
- throw new DifferentLibException("Jar mismatch! Fix your dependencies");
+ throw new DifferentLibException("Jar mismatch! Fix your dependencies",
+ getEntityDetails(filename, list));
}
}
@@ -288,8 +303,8 @@ public class JarListSanitizer {
List<JarEntity> v13 = nameMap.get("android-support-v13.jar");
if (v13 != null && v4 != null) {
- System.out.println("WARNING: Found both android-support-v4 and android-support-v13 in the dependency list.");
- System.out.println("Because v13 includes v4, using only v13.");
+ mOutStream.println("WARNING: Found both android-support-v4 and android-support-v13 in the dependency list.");
+ mOutStream.println("Because v13 includes v4, using only v13.");
results.remove(v4.get(0).getFile());
}
}
@@ -381,7 +396,7 @@ public class JarListSanitizer {
writer.close();
} catch (IOException e) {
- System.err.println("WARNING: unable to write jarlist cache file " +
+ mOutStream.println("WARNING: unable to write jarlist cache file " +
cacheFile.getAbsolutePath());
} catch (Sha1Exception e) {
// shouldn't happen here since we check that the sha1 is present first, meaning it's
@@ -389,18 +404,21 @@ public class JarListSanitizer {
}
}
- private void printEntityDetails(String filename, List<JarEntity> list) throws Sha1Exception {
- System.err.println(
+ private String[] getEntityDetails(String filename, List<JarEntity> list) throws Sha1Exception {
+ ArrayList<String> result = new ArrayList<String>();
+ result.add(
String.format("Found %d versions of %s in the dependency list,",
list.size(), filename));
- System.err.println("but not all the versions are identical (check is based on SHA-1 only at this time).");
- System.err.println("All versions of the libraries must be the same at this time.");
- System.err.println("Versions found are:");
+ result.add("but not all the versions are identical (check is based on SHA-1 only at this time).");
+ result.add("All versions of the libraries must be the same at this time.");
+ result.add("Versions found are:");
for (JarEntity entity : list) {
- System.err.println("Path: " + entity.getFile().getAbsolutePath());
- System.err.println("\tLength: " + entity.getLength());
- System.err.println("\tSHA-1: " + entity.getSha1());
+ result.add("Path: " + entity.getFile().getAbsolutePath());
+ result.add("\tLength: " + entity.getLength());
+ result.add("\tSHA-1: " + entity.getSha1());
}
+
+ return result.toArray(new String[result.size()]);
}
/**
diff --git a/testapps/basicJar/.classpath b/testapps/basicJar/.classpath
new file mode 100644
index 0000000..11a4c98
--- /dev/null
+++ b/testapps/basicJar/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/basicJar/.project b/testapps/basicJar/.project
new file mode 100644
index 0000000..b7bfb91
--- /dev/null
+++ b/testapps/basicJar/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>basicJar</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java b/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java
new file mode 100644
index 0000000..3347951
--- /dev/null
+++ b/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java
@@ -0,0 +1,30 @@
+package com.android.tests.basicjar;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class BasicJar {
+
+ public static String getContent() {
+ InputStream input = BasicJar.class.getResourceAsStream("basicJar.txt");
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+} \ No newline at end of file
diff --git a/testapps/basicJar/src/com/android/tests/basicjar/Foo.java b/testapps/basicJar/src/com/android/tests/basicjar/Foo.java
deleted file mode 100644
index 6a9536f..0000000
--- a/testapps/basicJar/src/com/android/tests/basicjar/Foo.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.android.tests.basicjar;
-
-import java.util.Random;
-
-public class Foo {
- public static int FOO = 42;
-
- public int getFoo() {
- return FOO;
- }
-
- public int getRandomFoo() {
- Random r = new Random(System.currentTimeMillis());
- return r.nextInt(FOO);
- }
-} \ No newline at end of file
diff --git a/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt b/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt
new file mode 100644
index 0000000..d5a8285
--- /dev/null
+++ b/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt
@@ -0,0 +1 @@
+SUCCESS from basicJar.jar \ No newline at end of file
diff --git a/testapps/jarCheckTests1/SUCCESS b/testapps/jarCheckTests1/SUCCESS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapps/jarCheckTests1/SUCCESS
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/.classpath b/testapps/jarCheckTests1/app/.classpath
index a4763d1..a4763d1 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/.classpath
+++ b/testapps/jarCheckTests1/app/.classpath
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/.project b/testapps/jarCheckTests1/app/.project
index f236696..101d553 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/.project
+++ b/testapps/jarCheckTests1/app/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>test2App</name>
+ <name>jarCheckTests1-app</name>
<comment></comment>
<projects>
</projects>
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/AndroidManifest.xml b/testapps/jarCheckTests1/app/AndroidManifest.xml
index ff41761..ff41761 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests1/app/AndroidManifest.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/ant.properties b/testapps/jarCheckTests1/app/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/ant.properties
+++ b/testapps/jarCheckTests1/app/ant.properties
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/build.xml b/testapps/jarCheckTests1/app/build.xml
index f3a3d91..f3a3d91 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/build.xml
+++ b/testapps/jarCheckTests1/app/build.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/libs/android-support-v4.jar b/testapps/jarCheckTests1/app/libs/android-support-v4.jar
index d006198..d006198 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests1/app/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/libs/foo.txt b/testapps/jarCheckTests1/app/libs/foo.txt
index fe0c852..fe0c852 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/libs/foo.txt
+++ b/testapps/jarCheckTests1/app/libs/foo.txt
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/proguard-project.txt b/testapps/jarCheckTests1/app/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests1/app/proguard-project.txt
diff --git a/testapps/jarCheckTests1/app/project.properties b/testapps/jarCheckTests1/app/project.properties
new file mode 100644
index 0000000..1d28b51
--- /dev/null
+++ b/testapps/jarCheckTests1/app/project.properties
@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-15
+android.library.reference.1=../lib1
+android.library.reference.2=../lib2
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/res/layout/main.xml b/testapps/jarCheckTests1/app/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests1/app/res/layout/main.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/res/values/strings.xml b/testapps/jarCheckTests1/app/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests1/app/res/values/strings.xml
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java
index c065839..c065839 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/project.properties b/testapps/jarCheckTests1/basicProjectWithSupport/project.properties
deleted file mode 100644
index 3c58bfa..0000000
--- a/testapps/jarCheckTests1/basicProjectWithSupport/project.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-15
-android.library.reference.1=../basicLibWithSupport
-android.library.reference.2=../basicLibWithSupport2
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/.classpath b/testapps/jarCheckTests1/lib1/.classpath
index c5c5afd..c5c5afd 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/.classpath
+++ b/testapps/jarCheckTests1/lib1/.classpath
diff --git a/testapps/jarCheckTests1/lib1/.project b/testapps/jarCheckTests1/lib1/.project
new file mode 100644
index 0000000..f5f0058
--- /dev/null
+++ b/testapps/jarCheckTests1/lib1/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests1-lib1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/AndroidManifest.xml b/testapps/jarCheckTests1/lib1/AndroidManifest.xml
index a634bdb..a634bdb 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests1/lib1/AndroidManifest.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/ant.properties b/testapps/jarCheckTests1/lib1/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/ant.properties
+++ b/testapps/jarCheckTests1/lib1/ant.properties
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/build.xml b/testapps/jarCheckTests1/lib1/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/build.xml
+++ b/testapps/jarCheckTests1/lib1/build.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/libs/android-support-v4.jar b/testapps/jarCheckTests1/lib1/libs/android-support-v4.jar
index d006198..d006198 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests1/lib1/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/proguard-project.txt b/testapps/jarCheckTests1/lib1/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/proguard-project.txt
+++ b/testapps/jarCheckTests1/lib1/proguard-project.txt
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/project.properties b/testapps/jarCheckTests1/lib1/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/project.properties
+++ b/testapps/jarCheckTests1/lib1/project.properties
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/res/layout/main.xml b/testapps/jarCheckTests1/lib1/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/res/layout/main.xml
+++ b/testapps/jarCheckTests1/lib1/res/layout/main.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/res/values/strings.xml b/testapps/jarCheckTests1/lib1/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/res/values/strings.xml
+++ b/testapps/jarCheckTests1/lib1/res/values/strings.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java
index 2c316ca..2c316ca 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/.classpath b/testapps/jarCheckTests1/lib2/.classpath
index c5c5afd..c5c5afd 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/.classpath
+++ b/testapps/jarCheckTests1/lib2/.classpath
diff --git a/testapps/jarCheckTests1/lib2/.project b/testapps/jarCheckTests1/lib2/.project
new file mode 100644
index 0000000..1d49c52
--- /dev/null
+++ b/testapps/jarCheckTests1/lib2/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests1-lib2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/AndroidManifest.xml b/testapps/jarCheckTests1/lib2/AndroidManifest.xml
index 6fa91eb..6fa91eb 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/AndroidManifest.xml
+++ b/testapps/jarCheckTests1/lib2/AndroidManifest.xml
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/ant.properties b/testapps/jarCheckTests1/lib2/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/ant.properties
+++ b/testapps/jarCheckTests1/lib2/ant.properties
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/build.xml b/testapps/jarCheckTests1/lib2/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/build.xml
+++ b/testapps/jarCheckTests1/lib2/build.xml
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/libs/android-support-v4.jar b/testapps/jarCheckTests1/lib2/libs/android-support-v4.jar
index d006198..d006198 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests1/lib2/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/proguard-project.txt b/testapps/jarCheckTests1/lib2/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests1/lib2/proguard-project.txt
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/project.properties b/testapps/jarCheckTests1/lib2/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/project.properties
+++ b/testapps/jarCheckTests1/lib2/project.properties
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/res/layout/main.xml b/testapps/jarCheckTests1/lib2/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests1/lib2/res/layout/main.xml
diff --git a/testapps/jarCheckTests1/basicProjectWithSupport/res/values/strings.xml b/testapps/jarCheckTests1/lib2/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests1/basicProjectWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests1/lib2/res/values/strings.xml
diff --git a/testapps/jarCheckTests1/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
index fc97aa7..fc97aa7 100644
--- a/testapps/jarCheckTests1/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java
+++ b/testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
diff --git a/testapps/jarCheckTests2/FAIL b/testapps/jarCheckTests2/FAIL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapps/jarCheckTests2/FAIL
diff --git a/testapps/jarCheckTests2/app/.classpath b/testapps/jarCheckTests2/app/.classpath
new file mode 100644
index 0000000..3f9691c
--- /dev/null
+++ b/testapps/jarCheckTests2/app/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/jarCheckTests2/app/.project b/testapps/jarCheckTests2/app/.project
new file mode 100644
index 0000000..fb6801c
--- /dev/null
+++ b/testapps/jarCheckTests2/app/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests2-app</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/AndroidManifest.xml b/testapps/jarCheckTests2/app/AndroidManifest.xml
index ff41761..ff41761 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests2/app/AndroidManifest.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/ant.properties b/testapps/jarCheckTests2/app/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/ant.properties
+++ b/testapps/jarCheckTests2/app/ant.properties
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/build.xml b/testapps/jarCheckTests2/app/build.xml
index f3a3d91..f3a3d91 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/build.xml
+++ b/testapps/jarCheckTests2/app/build.xml
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/libs/foo.txt b/testapps/jarCheckTests2/app/libs/foo.txt
index fe0c852..fe0c852 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/libs/foo.txt
+++ b/testapps/jarCheckTests2/app/libs/foo.txt
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/proguard-project.txt b/testapps/jarCheckTests2/app/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests2/app/proguard-project.txt
diff --git a/testapps/jarCheckTests2/app/project.properties b/testapps/jarCheckTests2/app/project.properties
new file mode 100644
index 0000000..1d28b51
--- /dev/null
+++ b/testapps/jarCheckTests2/app/project.properties
@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-15
+android.library.reference.1=../lib1
+android.library.reference.2=../lib2
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/res/layout/main.xml b/testapps/jarCheckTests2/app/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests2/app/res/layout/main.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/res/values/strings.xml b/testapps/jarCheckTests2/app/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests2/app/res/values/strings.xml
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java
index c065839..c065839 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/project.properties b/testapps/jarCheckTests2/basicProjectWithSupport/project.properties
deleted file mode 100644
index cf77006..0000000
--- a/testapps/jarCheckTests2/basicProjectWithSupport/project.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-15
-android.library.reference.1=../basicLibWithSupport
-android.library.reference.2=../basicLibWithSupport2 \ No newline at end of file
diff --git a/testapps/jarCheckTests2/lib1/.classpath b/testapps/jarCheckTests2/lib1/.classpath
new file mode 100644
index 0000000..386ce12
--- /dev/null
+++ b/testapps/jarCheckTests2/lib1/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="lib" path="libs/android-support-v4.jar"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/.project b/testapps/jarCheckTests2/lib1/.project
index 467950f..467950f 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/.project
+++ b/testapps/jarCheckTests2/lib1/.project
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/AndroidManifest.xml b/testapps/jarCheckTests2/lib1/AndroidManifest.xml
index a634bdb..a634bdb 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests2/lib1/AndroidManifest.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/ant.properties b/testapps/jarCheckTests2/lib1/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/ant.properties
+++ b/testapps/jarCheckTests2/lib1/ant.properties
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/build.xml b/testapps/jarCheckTests2/lib1/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/build.xml
+++ b/testapps/jarCheckTests2/lib1/build.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/libs/android-support-v4.jar b/testapps/jarCheckTests2/lib1/libs/android-support-v4.jar
index d006198..d006198 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests2/lib1/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/proguard-project.txt b/testapps/jarCheckTests2/lib1/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/proguard-project.txt
+++ b/testapps/jarCheckTests2/lib1/proguard-project.txt
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/project.properties b/testapps/jarCheckTests2/lib1/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/project.properties
+++ b/testapps/jarCheckTests2/lib1/project.properties
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/res/layout/main.xml b/testapps/jarCheckTests2/lib1/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/res/layout/main.xml
+++ b/testapps/jarCheckTests2/lib1/res/layout/main.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/res/values/strings.xml b/testapps/jarCheckTests2/lib1/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/res/values/strings.xml
+++ b/testapps/jarCheckTests2/lib1/res/values/strings.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java
index 2c316ca..2c316ca 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests2/lib2/.classpath b/testapps/jarCheckTests2/lib2/.classpath
new file mode 100644
index 0000000..386ce12
--- /dev/null
+++ b/testapps/jarCheckTests2/lib2/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="lib" path="libs/android-support-v4.jar"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/.project b/testapps/jarCheckTests2/lib2/.project
index efeaaae..efeaaae 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/.project
+++ b/testapps/jarCheckTests2/lib2/.project
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/AndroidManifest.xml b/testapps/jarCheckTests2/lib2/AndroidManifest.xml
index 6fa91eb..6fa91eb 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/AndroidManifest.xml
+++ b/testapps/jarCheckTests2/lib2/AndroidManifest.xml
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/ant.properties b/testapps/jarCheckTests2/lib2/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/ant.properties
+++ b/testapps/jarCheckTests2/lib2/ant.properties
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/build.xml b/testapps/jarCheckTests2/lib2/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/build.xml
+++ b/testapps/jarCheckTests2/lib2/build.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/libs/android-support-v4.jar b/testapps/jarCheckTests2/lib2/libs/android-support-v4.jar
index 1e90718..1e90718 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests2/lib2/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/proguard-project.txt b/testapps/jarCheckTests2/lib2/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests2/lib2/proguard-project.txt
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/project.properties b/testapps/jarCheckTests2/lib2/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/project.properties
+++ b/testapps/jarCheckTests2/lib2/project.properties
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/res/layout/main.xml b/testapps/jarCheckTests2/lib2/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests2/lib2/res/layout/main.xml
diff --git a/testapps/jarCheckTests2/basicProjectWithSupport/res/values/strings.xml b/testapps/jarCheckTests2/lib2/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests2/basicProjectWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests2/lib2/res/values/strings.xml
diff --git a/testapps/jarCheckTests2/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
index fc97aa7..fc97aa7 100644
--- a/testapps/jarCheckTests2/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java
+++ b/testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
diff --git a/testapps/jarCheckTests3/SUCCESS b/testapps/jarCheckTests3/SUCCESS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapps/jarCheckTests3/SUCCESS
diff --git a/testapps/libWithLibTest/basicLib/.classpath b/testapps/jarCheckTests3/app/.classpath
index a4763d1..a4763d1 100644
--- a/testapps/libWithLibTest/basicLib/.classpath
+++ b/testapps/jarCheckTests3/app/.classpath
diff --git a/testapps/jarCheckTests3/app/.project b/testapps/jarCheckTests3/app/.project
new file mode 100644
index 0000000..f2075af
--- /dev/null
+++ b/testapps/jarCheckTests3/app/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests3-app</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/AndroidManifest.xml b/testapps/jarCheckTests3/app/AndroidManifest.xml
index ff41761..ff41761 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests3/app/AndroidManifest.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/ant.properties b/testapps/jarCheckTests3/app/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/ant.properties
+++ b/testapps/jarCheckTests3/app/ant.properties
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/build.xml b/testapps/jarCheckTests3/app/build.xml
index f3a3d91..f3a3d91 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/build.xml
+++ b/testapps/jarCheckTests3/app/build.xml
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/libs/foo.txt b/testapps/jarCheckTests3/app/libs/foo.txt
index fe0c852..fe0c852 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/libs/foo.txt
+++ b/testapps/jarCheckTests3/app/libs/foo.txt
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/proguard-project.txt b/testapps/jarCheckTests3/app/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests3/app/proguard-project.txt
diff --git a/testapps/jarCheckTests3/app/project.properties b/testapps/jarCheckTests3/app/project.properties
new file mode 100644
index 0000000..1d28b51
--- /dev/null
+++ b/testapps/jarCheckTests3/app/project.properties
@@ -0,0 +1,13 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-15
+android.library.reference.1=../lib1
+android.library.reference.2=../lib2
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/res/layout/main.xml b/testapps/jarCheckTests3/app/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests3/app/res/layout/main.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/res/values/strings.xml b/testapps/jarCheckTests3/app/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests3/app/res/values/strings.xml
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java
index c065839..c065839 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/src/com/android/tests/projectwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/project.properties b/testapps/jarCheckTests3/basicProjectWithSupport/project.properties
deleted file mode 100644
index 3c58bfa..0000000
--- a/testapps/jarCheckTests3/basicProjectWithSupport/project.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-15
-android.library.reference.1=../basicLibWithSupport
-android.library.reference.2=../basicLibWithSupport2
diff --git a/testapps/jarCheckTests3/lib1/.classpath b/testapps/jarCheckTests3/lib1/.classpath
new file mode 100644
index 0000000..c5c5afd
--- /dev/null
+++ b/testapps/jarCheckTests3/lib1/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="lib" path="libs/android-support-v4.jar"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/jarCheckTests3/lib1/.project b/testapps/jarCheckTests3/lib1/.project
new file mode 100644
index 0000000..14ffc89
--- /dev/null
+++ b/testapps/jarCheckTests3/lib1/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests3-lib1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/AndroidManifest.xml b/testapps/jarCheckTests3/lib1/AndroidManifest.xml
index a634bdb..a634bdb 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/AndroidManifest.xml
+++ b/testapps/jarCheckTests3/lib1/AndroidManifest.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/ant.properties b/testapps/jarCheckTests3/lib1/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/ant.properties
+++ b/testapps/jarCheckTests3/lib1/ant.properties
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/build.xml b/testapps/jarCheckTests3/lib1/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/build.xml
+++ b/testapps/jarCheckTests3/lib1/build.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/libs/android-support-v4.jar b/testapps/jarCheckTests3/lib1/libs/android-support-v4.jar
index d006198..d006198 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/libs/android-support-v4.jar
+++ b/testapps/jarCheckTests3/lib1/libs/android-support-v4.jar
Binary files differ
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/proguard-project.txt b/testapps/jarCheckTests3/lib1/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/proguard-project.txt
+++ b/testapps/jarCheckTests3/lib1/proguard-project.txt
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/project.properties b/testapps/jarCheckTests3/lib1/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/project.properties
+++ b/testapps/jarCheckTests3/lib1/project.properties
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/res/layout/main.xml b/testapps/jarCheckTests3/lib1/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/res/layout/main.xml
+++ b/testapps/jarCheckTests3/lib1/res/layout/main.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/res/values/strings.xml b/testapps/jarCheckTests3/lib1/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/res/values/strings.xml
+++ b/testapps/jarCheckTests3/lib1/res/values/strings.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java
index 2c316ca..2c316ca 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport/src/com/android/tests/libwithsupport/MyActivity.java
+++ b/testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java
diff --git a/testapps/jarCheckTests3/lib2/.classpath b/testapps/jarCheckTests3/lib2/.classpath
new file mode 100644
index 0000000..c2f48bf
--- /dev/null
+++ b/testapps/jarCheckTests3/lib2/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="lib" path="libs/android-support-v13.jar"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/jarCheckTests3/lib2/.project b/testapps/jarCheckTests3/lib2/.project
new file mode 100644
index 0000000..1441449
--- /dev/null
+++ b/testapps/jarCheckTests3/lib2/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jarCheckTests3-lib2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/AndroidManifest.xml b/testapps/jarCheckTests3/lib2/AndroidManifest.xml
index 6fa91eb..6fa91eb 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/AndroidManifest.xml
+++ b/testapps/jarCheckTests3/lib2/AndroidManifest.xml
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/ant.properties b/testapps/jarCheckTests3/lib2/ant.properties
index ee52d86..ee52d86 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/ant.properties
+++ b/testapps/jarCheckTests3/lib2/ant.properties
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/build.xml b/testapps/jarCheckTests3/lib2/build.xml
index 772f422..772f422 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/build.xml
+++ b/testapps/jarCheckTests3/lib2/build.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/libs/android-support-v13.jar b/testapps/jarCheckTests3/lib2/libs/android-support-v13.jar
index c9354ec..c9354ec 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/libs/android-support-v13.jar
+++ b/testapps/jarCheckTests3/lib2/libs/android-support-v13.jar
Binary files differ
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/proguard-project.txt b/testapps/jarCheckTests3/lib2/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/proguard-project.txt
+++ b/testapps/jarCheckTests3/lib2/proguard-project.txt
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/project.properties b/testapps/jarCheckTests3/lib2/project.properties
index 23d80c4..23d80c4 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/project.properties
+++ b/testapps/jarCheckTests3/lib2/project.properties
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/res/layout/main.xml b/testapps/jarCheckTests3/lib2/res/layout/main.xml
index 7fe5dce..7fe5dce 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/res/layout/main.xml
+++ b/testapps/jarCheckTests3/lib2/res/layout/main.xml
diff --git a/testapps/jarCheckTests3/basicProjectWithSupport/res/values/strings.xml b/testapps/jarCheckTests3/lib2/res/values/strings.xml
index 3fa203a..3fa203a 100644
--- a/testapps/jarCheckTests3/basicProjectWithSupport/res/values/strings.xml
+++ b/testapps/jarCheckTests3/lib2/res/values/strings.xml
diff --git a/testapps/jarCheckTests3/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
index fc97aa7..fc97aa7 100644
--- a/testapps/jarCheckTests3/basicLibWithSupport2/src/com/android/tests/libwithsupport2/MyActivity.java
+++ b/testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java
diff --git a/testapps/javaProjectTest/ECLIPSEONLY b/testapps/javaProjectTest/ECLIPSEONLY
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapps/javaProjectTest/ECLIPSEONLY
diff --git a/testapps/javaProjectTest/SUCCESS b/testapps/javaProjectTest/SUCCESS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapps/javaProjectTest/SUCCESS
diff --git a/testapps/javaProjectTest/app/.project b/testapps/javaProjectTest/app/.project
index 69b06f5..187fb0e 100644
--- a/testapps/javaProjectTest/app/.project
+++ b/testapps/javaProjectTest/app/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>app</name>
+ <name>javaProjectTest-app</name>
<comment></comment>
<projects>
</projects>
diff --git a/testapps/javaProjectTest/app/AndroidManifest.xml b/testapps/javaProjectTest/app/AndroidManifest.xml
index 0ccbb84..36ec8fb 100644
--- a/testapps/javaProjectTest/app/AndroidManifest.xml
+++ b/testapps/javaProjectTest/app/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.tests.basicProjectWithJava"
+ package="com.android.tests.javaprojecttest.app"
android:versionCode="1"
android:versionName="1.0" >
@@ -10,7 +10,7 @@
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
- android:name="Main"
+ android:name="com.android.tests.javaprojecttest.app.Main"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/testapps/javaProjectTest/app/res/layout/main.xml b/testapps/javaProjectTest/app/res/layout/main.xml
index 670dd32..251905a 100644
--- a/testapps/javaProjectTest/app/res/layout/main.xml
+++ b/testapps/javaProjectTest/app/res/layout/main.xml
@@ -1,18 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
- >
-<TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="basicProjectWithJava"
- android:id="@+id/text"
- />
-<com.android.tests.basicProjectWithJava.MyTextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/text"
- />
-</LinearLayout>
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/app"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+ <TextView
+ android:id="@+id/lib1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+ <TextView
+ android:id="@+id/lib2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+ <TextView
+ android:id="@+id/javaProject1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+ <TextView
+ android:id="@+id/javaProject2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+ <TextView
+ android:id="@+id/basicJar"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="\\?"
+ tools:ignore="HardcodedText" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/Main.java b/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/Main.java
deleted file mode 100644
index eb6be25..0000000
--- a/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/Main.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.android.tests.basicProjectWithJava;
-
-import com.android.tests.basicJavaProject.Foo;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.widget.TextView;
-
-public class Main extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- Foo foo = new Foo();
-
- TextView tv = (TextView) findViewById(R.id.text);
- tv.setText("basicProjectWithJava\nvalue from java project:" + foo.getRandomFoo());
- }
-
-} \ No newline at end of file
diff --git a/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/MyTextView.java b/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/MyTextView.java
deleted file mode 100644
index ae35dca..0000000
--- a/testapps/javaProjectTest/app/src/com/android/tests/basicProjectWithJava/MyTextView.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.android.tests.basicProjectWithJava;
-
-import com.android.tests.basicJavaProject.Foo;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.TextView;
-
-public class MyTextView extends TextView {
-
- public MyTextView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
-
- Foo f = new Foo();
- setText("Foo: " + f.getRandomFoo());
- }
-
- public MyTextView(Context context, AttributeSet attrs) {
- super(context, attrs);
- Foo f = new Foo();
- setText("Foo: " + f.getRandomFoo());
- }
-
- public MyTextView(Context context) {
- super(context);
- }
-}
diff --git a/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java
new file mode 100644
index 0000000..233989e
--- /dev/null
+++ b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java
@@ -0,0 +1,38 @@
+package com.android.tests.javaprojecttest.app;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.TextView;
+
+import com.android.tests.basicjar.BasicJar;
+import com.android.tests.javaprojecttest.javaproject.JavaProject;
+import com.android.tests.javaprojecttest.javaproject2.JavaProject2;
+import com.android.tests.javaprojecttest.lib1.Lib1;
+import com.android.tests.javaprojecttest.lib2.Lib2;
+
+public class Main extends Activity {
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ TextView tv = (TextView) findViewById(R.id.app);
+ tv.setText("app");
+
+ tv = (TextView) findViewById(R.id.lib1);
+ tv.setText("Lib1: " + Lib1.getContent());
+
+ tv = (TextView) findViewById(R.id.lib2);
+ tv.setText("Lib2: " + Lib2.getContent());
+
+ tv = (TextView) findViewById(R.id.javaProject1);
+ tv.setText("JavaProject: " + JavaProject.getContent());
+
+ tv = (TextView) findViewById(R.id.javaProject2);
+ tv.setText("JavaProject2: " + JavaProject2.getContent());
+
+ tv = (TextView) findViewById(R.id.basicJar);
+ tv.setText("BasicJar: " + BasicJar.getContent());
+ }
+} \ No newline at end of file
diff --git a/testapps/javaProjectTest/javaProject/.classpath b/testapps/javaProjectTest/javaProject/.classpath
index 139d9a3..fef3993 100644
--- a/testapps/javaProjectTest/javaProject/.classpath
+++ b/testapps/javaProjectTest/javaProject/.classpath
@@ -2,6 +2,6 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="lib" path="libs/basicJar.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/javaProjectTest-javaProject2"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/testapps/javaProjectTest/javaProject/.project b/testapps/javaProjectTest/javaProject/.project
index 225e486..8d99b08 100644
--- a/testapps/javaProjectTest/javaProject/.project
+++ b/testapps/javaProjectTest/javaProject/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>javaProject</name>
+ <name>javaProjectTest-javaProject</name>
<comment></comment>
<projects>
</projects>
diff --git a/testapps/javaProjectTest/javaProject/libs/basicJar.jar b/testapps/javaProjectTest/javaProject/libs/basicJar.jar
deleted file mode 100644
index 0b9c60c..0000000
--- a/testapps/javaProjectTest/javaProject/libs/basicJar.jar
+++ /dev/null
Binary files differ
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java b/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java
deleted file mode 100644
index 4a7d31c..0000000
--- a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/Foo.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.android.tests.basicJavaProject;
-
-import java.util.Random;
-
-public class Foo {
- public static int FOO = 42;
-
- public int getFoo() {
- return FOO;
- }
-
- public int getRandomFoo() {
- Random r = new Random(System.currentTimeMillis());
- return r.nextInt(FOO);
- }
-}
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt b/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt
deleted file mode 100644
index 1c33723..0000000
--- a/testapps/javaProjectTest/javaProject/src/com/android/tests/basicJavaProject/foo.txt
+++ /dev/null
@@ -1 +0,0 @@
-blah blah \ No newline at end of file
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java
new file mode 100644
index 0000000..4f40648
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java
@@ -0,0 +1,30 @@
+package com.android.tests.javaprojecttest.javaproject;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class JavaProject {
+
+ public static String getContent() {
+ InputStream input = JavaProject.class.getResourceAsStream("JavaProject.txt");
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+}
diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt
new file mode 100644
index 0000000..5742eaa
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt
@@ -0,0 +1 @@
+SUCCESS from javaProject \ No newline at end of file
diff --git a/testapps/javaProjectTest/javaProject2/.classpath b/testapps/javaProjectTest/javaProject2/.classpath
new file mode 100644
index 0000000..139d9a3
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject2/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="lib" path="libs/basicJar.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testapps/javaProjectTest/javaProject2/.project b/testapps/javaProjectTest/javaProject2/.project
new file mode 100644
index 0000000..70658ff
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>javaProjectTest-javaProject2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/javaProjectTest/javaProject2/libs/basicJar.jar b/testapps/javaProjectTest/javaProject2/libs/basicJar.jar
new file mode 100644
index 0000000..a81b929
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject2/libs/basicJar.jar
Binary files differ
diff --git a/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java
new file mode 100644
index 0000000..05d6c85
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java
@@ -0,0 +1,30 @@
+package com.android.tests.javaprojecttest.javaproject2;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class JavaProject2 {
+
+ public static String getContent() {
+ InputStream input = JavaProject2.class.getResourceAsStream("JavaProject2.txt");
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+}
diff --git a/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt
new file mode 100644
index 0000000..6ab43f7
--- /dev/null
+++ b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt
@@ -0,0 +1 @@
+SUCCESS from javaProject2 \ No newline at end of file
diff --git a/testapps/javaProjectTest/lib1/.classpath b/testapps/javaProjectTest/lib1/.classpath
index 71cf1b1..8917f25 100644
--- a/testapps/javaProjectTest/lib1/.classpath
+++ b/testapps/javaProjectTest/lib1/.classpath
@@ -4,7 +4,7 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry combineaccessrules="false" kind="src" path="/javaProject"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/javaProjectTest-javaProject"/>
<classpathentry kind="lib" path="libs/android-support-v4.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/testapps/javaProjectTest/lib1/.project b/testapps/javaProjectTest/lib1/.project
index 596b85d..cac8ac1 100644
--- a/testapps/javaProjectTest/lib1/.project
+++ b/testapps/javaProjectTest/lib1/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>Lib1</name>
+ <name>javaProjectTest-Lib1</name>
<comment></comment>
<projects>
</projects>
diff --git a/testapps/javaProjectTest/lib1/AndroidManifest.xml b/testapps/javaProjectTest/lib1/AndroidManifest.xml
index 196db0b..c51696b 100644
--- a/testapps/javaProjectTest/lib1/AndroidManifest.xml
+++ b/testapps/javaProjectTest/lib1/AndroidManifest.xml
@@ -1,15 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.test.lib1"
- android:versionCode="1"
- android:versionName="1.0">
- <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
- <activity android:name="Main"
- android:label="@string/app_name">
+ package="com.android.tests.javaprojecttest.lib1"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <application
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name" >
+ <activity
+ android:name=".Main"
+ android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
+
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
-</manifest>
+
+</manifest> \ No newline at end of file
diff --git a/testapps/javaProjectTest/lib1/build.xml b/testapps/javaProjectTest/lib1/build.xml
deleted file mode 100644
index 2a15ae6..0000000
--- a/testapps/javaProjectTest/lib1/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="lib1" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
- unless="sdk.dir"
- />
-
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
diff --git a/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java
new file mode 100644
index 0000000..b1e7702
--- /dev/null
+++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java
@@ -0,0 +1,30 @@
+package com.android.tests.javaprojecttest.lib1;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class Lib1 {
+
+ public static String getContent() {
+ InputStream input = Lib1.class.getResourceAsStream("Lib1.txt");
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+}
diff --git a/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt
new file mode 100644
index 0000000..b3e210d
--- /dev/null
+++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt
@@ -0,0 +1 @@
+SUCCESS from Lib1 \ No newline at end of file
diff --git a/testapps/javaProjectTest/lib2/src/com/android/test/lib2/Main.java b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java
index 45dad32..f09e1cd 100644
--- a/testapps/javaProjectTest/lib2/src/com/android/test/lib2/Main.java
+++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java
@@ -1,4 +1,4 @@
-package com.android.test.lib2;
+package com.android.tests.javaprojecttest.lib1;
import android.app.Activity;
import android.os.Bundle;
diff --git a/testapps/javaProjectTest/lib2/.classpath b/testapps/javaProjectTest/lib2/.classpath
index 71cf1b1..8917f25 100644
--- a/testapps/javaProjectTest/lib2/.classpath
+++ b/testapps/javaProjectTest/lib2/.classpath
@@ -4,7 +4,7 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry combineaccessrules="false" kind="src" path="/javaProject"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/javaProjectTest-javaProject"/>
<classpathentry kind="lib" path="libs/android-support-v4.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/testapps/javaProjectTest/lib2/.project b/testapps/javaProjectTest/lib2/.project
index 2b723ab..63d7a48 100644
--- a/testapps/javaProjectTest/lib2/.project
+++ b/testapps/javaProjectTest/lib2/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>Lib2</name>
+ <name>javaProjectTest-Lib2</name>
<comment></comment>
<projects>
</projects>
diff --git a/testapps/javaProjectTest/lib2/AndroidManifest.xml b/testapps/javaProjectTest/lib2/AndroidManifest.xml
index cd7393c..10d4a00 100644
--- a/testapps/javaProjectTest/lib2/AndroidManifest.xml
+++ b/testapps/javaProjectTest/lib2/AndroidManifest.xml
@@ -1,15 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.test.lib2"
- android:versionCode="1"
- android:versionName="1.0">
- <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
- <activity android:name="Main"
- android:label="@string/app_name">
+ package="com.android.tests.javaprojecttest.lib2"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <application
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name" >
+ <activity
+ android:name="com.android.tests.javaprojecttest.lib2.Main"
+ android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
+
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
-</manifest>
+
+</manifest> \ No newline at end of file
diff --git a/testapps/javaProjectTest/lib2/build.xml b/testapps/javaProjectTest/lib2/build.xml
deleted file mode 100644
index 3d36fda..0000000
--- a/testapps/javaProjectTest/lib2/build.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="lib2" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
- unless="sdk.dir"
- />
-
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
diff --git a/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java
new file mode 100644
index 0000000..fecc780
--- /dev/null
+++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java
@@ -0,0 +1,30 @@
+package com.android.tests.javaprojecttest.lib2;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class Lib2 {
+
+ public static String getContent() {
+ InputStream input = Lib2.class.getResourceAsStream("Lib2.txt");
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+}
diff --git a/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt
new file mode 100644
index 0000000..3ba8e35
--- /dev/null
+++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt
@@ -0,0 +1 @@
+SUCCESS from Lib2 \ No newline at end of file
diff --git a/testapps/javaProjectTest/lib1/src/com/android/test/lib1/Main.java b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java
index 116f14a..1459896 100644
--- a/testapps/javaProjectTest/lib1/src/com/android/test/lib1/Main.java
+++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java
@@ -1,4 +1,4 @@
-package com.android.test.lib1;
+package com.android.tests.javaprojecttest.lib2;
import android.app.Activity;
import android.os.Bundle;
diff --git a/testapps/libWithLibTest/.DS_Store b/testapps/libWithLibTest/.DS_Store
new file mode 100644
index 0000000..8d9d631
--- /dev/null
+++ b/testapps/libWithLibTest/.DS_Store
Binary files differ
diff --git a/testapps/libWithLibTest/app/.classpath b/testapps/libWithLibTest/app/.classpath
new file mode 100644
index 0000000..a4763d1
--- /dev/null
+++ b/testapps/libWithLibTest/app/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/libWithLibTest/basicProjectWithLib/.project b/testapps/libWithLibTest/app/.project
index 39feaec..39feaec 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/.project
+++ b/testapps/libWithLibTest/app/.project
diff --git a/testapps/libWithLibTest/basicProjectWithLib/AndroidManifest.xml b/testapps/libWithLibTest/app/AndroidManifest.xml
index 4870542..4870542 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/AndroidManifest.xml
+++ b/testapps/libWithLibTest/app/AndroidManifest.xml
diff --git a/testapps/javaProjectTest/lib1/ant.properties b/testapps/libWithLibTest/app/ant.properties
index b0971e8..b0971e8 100644
--- a/testapps/javaProjectTest/lib1/ant.properties
+++ b/testapps/libWithLibTest/app/ant.properties
diff --git a/testapps/libWithLibTest/basicLib/build.xml b/testapps/libWithLibTest/app/build.xml
index bc17734..bc17734 100644
--- a/testapps/libWithLibTest/basicLib/build.xml
+++ b/testapps/libWithLibTest/app/build.xml
diff --git a/testapps/libWithLibTest/basicLib/proguard-project.txt b/testapps/libWithLibTest/app/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/libWithLibTest/basicLib/proguard-project.txt
+++ b/testapps/libWithLibTest/app/proguard-project.txt
diff --git a/testapps/libWithLibTest/basicProjectWithLib/project.properties b/testapps/libWithLibTest/app/project.properties
index a418b0a..6133d73 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/project.properties
+++ b/testapps/libWithLibTest/app/project.properties
@@ -9,4 +9,4 @@
# Project target.
target=android-15
-android.library.reference.1=../basicLib
+android.library.reference.1=../lib1
diff --git a/testapps/libWithLibTest/basicProjectWithLib/res/values/strings.xml b/testapps/libWithLibTest/app/res/values/strings.xml
index bdca683..bdca683 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/res/values/strings.xml
+++ b/testapps/libWithLibTest/app/res/values/strings.xml
diff --git a/testapps/libWithLibTest/basicLib/.project b/testapps/libWithLibTest/basicLib/.project
deleted file mode 100644
index dbf57b4..0000000
--- a/testapps/libWithLibTest/basicLib/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>libWithLibTest-basicLib</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/testapps/libWithLibTest/basicLibWithJar/.project b/testapps/libWithLibTest/basicLibWithJar/.project
deleted file mode 100644
index ef8773c..0000000
--- a/testapps/libWithLibTest/basicLibWithJar/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>libWithLibTest-basicLibWithJar</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>com.android.ide.eclipse.adt.ApkBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/testapps/libWithLibTest/basicLibWithJar/ant.properties b/testapps/libWithLibTest/basicLibWithJar/ant.properties
deleted file mode 100644
index b0971e8..0000000
--- a/testapps/libWithLibTest/basicLibWithJar/ant.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked into Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
diff --git a/testapps/libWithLibTest/basicProjectWithLib/.classpath b/testapps/libWithLibTest/basicProjectWithLib/.classpath
deleted file mode 100644
index abb4b65..0000000
--- a/testapps/libWithLibTest/basicProjectWithLib/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
- <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
- <classpathentry kind="lib" path="/libWithLibTest-basicLibWithJar/libs/basicJar.jar"/>
- <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/testapps/libWithLibTest/basicProjectWithLib/ant.properties b/testapps/libWithLibTest/basicProjectWithLib/ant.properties
deleted file mode 100644
index b0971e8..0000000
--- a/testapps/libWithLibTest/basicProjectWithLib/ant.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked into Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
diff --git a/testapps/libWithLibTest/lib1/.classpath b/testapps/libWithLibTest/lib1/.classpath
new file mode 100644
index 0000000..a4763d1
--- /dev/null
+++ b/testapps/libWithLibTest/lib1/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
diff --git a/testapps/libWithLibTest/lib1/.project b/testapps/libWithLibTest/lib1/.project
new file mode 100644
index 0000000..d256174
--- /dev/null
+++ b/testapps/libWithLibTest/lib1/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>libWithLibTest-lib1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/libWithLibTest/basicLib/AndroidManifest.xml b/testapps/libWithLibTest/lib1/AndroidManifest.xml
index aaf0fff..aaf0fff 100644
--- a/testapps/libWithLibTest/basicLib/AndroidManifest.xml
+++ b/testapps/libWithLibTest/lib1/AndroidManifest.xml
diff --git a/testapps/javaProjectTest/lib2/ant.properties b/testapps/libWithLibTest/lib1/ant.properties
index b0971e8..b0971e8 100644
--- a/testapps/javaProjectTest/lib2/ant.properties
+++ b/testapps/libWithLibTest/lib1/ant.properties
diff --git a/testapps/libWithLibTest/basicLibWithJar/build.xml b/testapps/libWithLibTest/lib1/build.xml
index bc17734..bc17734 100644
--- a/testapps/libWithLibTest/basicLibWithJar/build.xml
+++ b/testapps/libWithLibTest/lib1/build.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/proguard-project.txt b/testapps/libWithLibTest/lib1/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/libWithLibTest/basicLibWithJar/proguard-project.txt
+++ b/testapps/libWithLibTest/lib1/proguard-project.txt
diff --git a/testapps/libWithLibTest/basicLib/project.properties b/testapps/libWithLibTest/lib1/project.properties
index 0a26b19..6bb4bd0 100644
--- a/testapps/libWithLibTest/basicLib/project.properties
+++ b/testapps/libWithLibTest/lib1/project.properties
@@ -10,4 +10,4 @@
# Project target.
target=android-15
android.library=true
-android.library.reference.1=../basicLibWithJar
+android.library.reference.1=../lib2
diff --git a/testapps/libWithLibTest/basicLib/res/drawable/icon.png b/testapps/libWithLibTest/lib1/res/drawable/icon.png
index a07c69f..a07c69f 100644
--- a/testapps/libWithLibTest/basicLib/res/drawable/icon.png
+++ b/testapps/libWithLibTest/lib1/res/drawable/icon.png
Binary files differ
diff --git a/testapps/libWithLibTest/basicLib/res/layout/basiclib_main.xml b/testapps/libWithLibTest/lib1/res/layout/basiclib_main.xml
index 37e5c2c..37e5c2c 100644
--- a/testapps/libWithLibTest/basicLib/res/layout/basiclib_main.xml
+++ b/testapps/libWithLibTest/lib1/res/layout/basiclib_main.xml
diff --git a/testapps/libWithLibTest/basicLib/res/values/strings.xml b/testapps/libWithLibTest/lib1/res/values/strings.xml
index 1bdf988..1bdf988 100644
--- a/testapps/libWithLibTest/basicLib/res/values/strings.xml
+++ b/testapps/libWithLibTest/lib1/res/values/strings.xml
diff --git a/testapps/libWithLibTest/basicLib/src/com/android/tests/basiclib/Main.java b/testapps/libWithLibTest/lib1/src/com/android/tests/basiclib/Main.java
index 0be5f11..0be5f11 100644
--- a/testapps/libWithLibTest/basicLib/src/com/android/tests/basiclib/Main.java
+++ b/testapps/libWithLibTest/lib1/src/com/android/tests/basiclib/Main.java
diff --git a/testapps/libWithLibTest/basicLibWithJar/.classpath b/testapps/libWithLibTest/lib2/.classpath
index 1f92faf..1f92faf 100644
--- a/testapps/libWithLibTest/basicLibWithJar/.classpath
+++ b/testapps/libWithLibTest/lib2/.classpath
diff --git a/testapps/libWithLibTest/lib2/.project b/testapps/libWithLibTest/lib2/.project
new file mode 100644
index 0000000..5f68270
--- /dev/null
+++ b/testapps/libWithLibTest/lib2/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>libWithLibTest-lib2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testapps/libWithLibTest/basicLibWithJar/AndroidManifest.xml b/testapps/libWithLibTest/lib2/AndroidManifest.xml
index 1363206..1363206 100644
--- a/testapps/libWithLibTest/basicLibWithJar/AndroidManifest.xml
+++ b/testapps/libWithLibTest/lib2/AndroidManifest.xml
diff --git a/testapps/libWithLibTest/basicLib/ant.properties b/testapps/libWithLibTest/lib2/ant.properties
index b0971e8..b0971e8 100644
--- a/testapps/libWithLibTest/basicLib/ant.properties
+++ b/testapps/libWithLibTest/lib2/ant.properties
diff --git a/testapps/libWithLibTest/basicProjectWithLib/build.xml b/testapps/libWithLibTest/lib2/build.xml
index bc17734..bc17734 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/build.xml
+++ b/testapps/libWithLibTest/lib2/build.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/libs/basicJar.jar b/testapps/libWithLibTest/lib2/libs/basicJar.jar
index 8169064..8169064 100644
--- a/testapps/libWithLibTest/basicLibWithJar/libs/basicJar.jar
+++ b/testapps/libWithLibTest/lib2/libs/basicJar.jar
Binary files differ
diff --git a/testapps/libWithLibTest/basicProjectWithLib/proguard-project.txt b/testapps/libWithLibTest/lib2/proguard-project.txt
index f2fe155..f2fe155 100644
--- a/testapps/libWithLibTest/basicProjectWithLib/proguard-project.txt
+++ b/testapps/libWithLibTest/lib2/proguard-project.txt
diff --git a/testapps/libWithLibTest/basicLibWithJar/project.properties b/testapps/libWithLibTest/lib2/project.properties
index 7414a68..7414a68 100644
--- a/testapps/libWithLibTest/basicLibWithJar/project.properties
+++ b/testapps/libWithLibTest/lib2/project.properties
diff --git a/testapps/libWithLibTest/basicLibWithJar/res/drawable/icon.png b/testapps/libWithLibTest/lib2/res/drawable/icon.png
index a07c69f..a07c69f 100644
--- a/testapps/libWithLibTest/basicLibWithJar/res/drawable/icon.png
+++ b/testapps/libWithLibTest/lib2/res/drawable/icon.png
Binary files differ
diff --git a/testapps/libWithLibTest/basicLibWithJar/res/layout/basiclibwithjar_main.xml b/testapps/libWithLibTest/lib2/res/layout/basiclibwithjar_main.xml
index 5fefdd7..5fefdd7 100644
--- a/testapps/libWithLibTest/basicLibWithJar/res/layout/basiclibwithjar_main.xml
+++ b/testapps/libWithLibTest/lib2/res/layout/basiclibwithjar_main.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/res/layout/main.xml b/testapps/libWithLibTest/lib2/res/layout/main.xml
index fc39355..fc39355 100644
--- a/testapps/libWithLibTest/basicLibWithJar/res/layout/main.xml
+++ b/testapps/libWithLibTest/lib2/res/layout/main.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/res/values/ids.xml b/testapps/libWithLibTest/lib2/res/values/ids.xml
index 8cbe2cc..8cbe2cc 100644
--- a/testapps/libWithLibTest/basicLibWithJar/res/values/ids.xml
+++ b/testapps/libWithLibTest/lib2/res/values/ids.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/res/values/strings.xml b/testapps/libWithLibTest/lib2/res/values/strings.xml
index 1701887..1701887 100644
--- a/testapps/libWithLibTest/basicLibWithJar/res/values/strings.xml
+++ b/testapps/libWithLibTest/lib2/res/values/strings.xml
diff --git a/testapps/libWithLibTest/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java b/testapps/libWithLibTest/lib2/src/com/android/tests/basiclibwithjar/Main.java
index a7b782a..a7b782a 100644
--- a/testapps/libWithLibTest/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java
+++ b/testapps/libWithLibTest/lib2/src/com/android/tests/basiclibwithjar/Main.java