New library project mechanism.

Libraries now generate a jar file that is used by the projects
referencing them, instead of having the main projects compile
the library source code themselves.

This means we can remove the link mechanism that created linked
folder in ADT and instead use a container that is lazily initalized
to be all the jar files of the libraries.

Also merged all 3 Ant build files (main_rules, lib_rules, test_rules)
into a single build.xml that can build any kind of projects.
Lot's of improvement in there too. Much cleaner.

Change-Id: I98307e25cd76722e8595938528e6ef57a7e226ad
diff --git a/testapps/basicLib/.classpath b/testapps/basicLib/.classpath
index 609aa00..765e549 100644
--- a/testapps/basicLib/.classpath
+++ b/testapps/basicLib/.classpath
@@ -3,5 +3,6 @@
 	<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"/>
 </classpath>
diff --git a/testapps/basicLibWithJar/.classpath b/testapps/basicLibWithJar/.classpath
index cc48f32..08a60d4 100644
--- a/testapps/basicLibWithJar/.classpath
+++ b/testapps/basicLibWithJar/.classpath
@@ -3,6 +3,7 @@
 	<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/basicJar.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/basicProject/.classpath b/testapps/basicProject/.classpath
index 609aa00..765e549 100644
--- a/testapps/basicProject/.classpath
+++ b/testapps/basicProject/.classpath
@@ -3,5 +3,6 @@
 	<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"/>
 </classpath>
diff --git a/testapps/basicProjectWithAidl/.classpath b/testapps/basicProjectWithAidl/.classpath
index 609aa00..765e549 100644
--- a/testapps/basicProjectWithAidl/.classpath
+++ b/testapps/basicProjectWithAidl/.classpath
@@ -3,5 +3,6 @@
 	<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"/>
 </classpath>
diff --git a/testapps/basicProjectWithJar/.classpath b/testapps/basicProjectWithJar/.classpath
index cc48f32..08a60d4 100644
--- a/testapps/basicProjectWithJar/.classpath
+++ b/testapps/basicProjectWithJar/.classpath
@@ -3,6 +3,7 @@
 	<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/basicJar.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/basicProjectWithJava/.classpath b/testapps/basicProjectWithJava/.classpath
index 475139c..61fad04 100644
--- a/testapps/basicProjectWithJava/.classpath
+++ b/testapps/basicProjectWithJava/.classpath
@@ -3,6 +3,7 @@
 	<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 combineaccessrules="false" kind="src" path="/basicJavaProject"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/basicProjectWithJavaFolder/.classpath b/testapps/basicProjectWithJavaFolder/.classpath
index 2fc51f4..5ae731a 100644
--- a/testapps/basicProjectWithJavaFolder/.classpath
+++ b/testapps/basicProjectWithJavaFolder/.classpath
@@ -3,6 +3,7 @@
 	<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="/basicJavaProject/bin"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/basicProjectWithJavaFolder/.project b/testapps/basicProjectWithJavaFolder/.project
index 5ff4505..e65e06a 100644
--- a/testapps/basicProjectWithJavaFolder/.project
+++ b/testapps/basicProjectWithJavaFolder/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>basicProjectWithJava</name>
+	<name>basicProjectWithJavaFolder</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/testapps/basicProjectWithLib/.classpath b/testapps/basicProjectWithLib/.classpath
index a4a3dc5..29e2115 100644
--- a/testapps/basicProjectWithLib/.classpath
+++ b/testapps/basicProjectWithLib/.classpath
@@ -3,8 +3,7 @@
 	<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="/basicLibWithJar/libs/basicJar.jar"/>
-	<classpathentry kind="src" path="basicLib_src"/>
-	<classpathentry kind="src" path="basicLibWithJar_src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/testapps/basicProjectWithLib/.project b/testapps/basicProjectWithLib/.project
index f6514f1..4b74bbd 100644
--- a/testapps/basicProjectWithLib/.project
+++ b/testapps/basicProjectWithLib/.project
@@ -30,16 +30,4 @@
 		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
-	<linkedResources>
-		<link>
-			<name>basicLibWithJar_src</name>
-			<type>2</type>
-			<locationURI>_android_basicLibWithJar_aa4247fe/src</locationURI>
-		</link>
-		<link>
-			<name>basicLib_src</name>
-			<type>2</type>
-			<locationURI>_android_basicLib_99a2bf77/src</locationURI>
-		</link>
-	</linkedResources>
 </projectDescription>