progress towards FELIX-1368
* bldcommon/prepare/build.xml downloads external eclipse dependencies to ivy cache
* set up ivy and build files for common and most of eclipse project
* set up sigil-repos.properties 


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@796007 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/sigil/bldcommon/build.properties b/sigil/bldcommon/build.properties
index ad4583b..be1f6bc 100644
--- a/sigil/bldcommon/build.properties
+++ b/sigil/bldcommon/build.properties
@@ -4,8 +4,8 @@
 # set common.dir when used without ant (e.g. IvyDE)
 common.dir	= ${ivy.settings.dir}
 
-ivy.jar		= ${common.dir}/../bld-ivy/lib/compile/ivy-2.0.0-rc1.jar
-sigil-ivy-plugin.jar = ${common.dir}/../bld-ivy/target/sigil-ivy-plugin.jar
+ivy.jar		= ${common.dir}/sigil/ivy-2.0.0-rc1.jar
+sigil-ivy-plugin.jar = ${common.dir}/sigil/sigil-ivy-plugin.jar
 
 build.dir	= ${basedir}/build
 build_xml	= build.xml
diff --git a/sigil/bldcommon/common.xml b/sigil/bldcommon/common.xml
index 957854c..48db7e1 100644
--- a/sigil/bldcommon/common.xml
+++ b/sigil/bldcommon/common.xml
@@ -17,10 +17,10 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project name="common" 
+<project name="bldcommon" 
          xmlns:ivy="antlib:org.apache.ivy.ant">
     
-    <dirname property="common.dir" file="${ant.file.common}"/>
+    <dirname property="common.dir" file="${ant.file.bldcommon}"/>
     <property file="${common.dir}/sigil-defaults.properties" prefix="default."/>
     <property file="${common.dir}/build.properties"/>
 
@@ -141,8 +141,8 @@
     <target name="compile" depends="resolve"
     	description="--> compile the project">
         <!-- uncomment the following to debug classpath -->
-        <!--pathconvert property="cp" refid="javac.classpath"/>
-        <echo>Classpath - ${cp}</echo-->
+        <pathconvert property="cp" refid="javac.classpath"/>
+        <echo>Classpath - ${cp}</echo>
         <mkdir dir="${classes.dir}" />
         <javac srcdir="${src.dir}"
 		destdir="${classes.dir}"
diff --git a/sigil/bldcommon/ivysettings.xml b/sigil/bldcommon/ivysettings.xml
index 2ce1415..89efa40 100644
--- a/sigil/bldcommon/ivysettings.xml
+++ b/sigil/bldcommon/ivysettings.xml
@@ -21,7 +21,7 @@
   <properties file="${ivy.settings.dir}/build.properties"/>
   <caches defaultCacheDir="${cache.dir}" />
 
-  <settings defaultResolver="local" circularDependencyStrategy="error" />
+  <settings defaultResolver="default" circularDependencyStrategy="error" />
 
   <!--
   <classpath file="${sigil-ivy-plugin.jar}" />
@@ -47,18 +47,26 @@
 	   config="${ivy.settings.dir}/sigil-repos.properties"
 	   extractBCP="true"/>
 
-    <filesystem name="local">
-      <ivy pattern="${repository.dir}/local/${repository.pattern}" />
-      <artifact pattern="${repository.dir}/local/${repository.pattern}" />
-    </filesystem>
+    <chain name="default" returnFirst="true">
+      <filesystem name="local">
+        <ivy pattern="${repository.dir}/local/${repository.pattern}" />
+        <artifact pattern="${repository.dir}/local/${repository.pattern}" />
+      </filesystem>
 
-    <filesystem name="shared">
-      <ivy pattern="${repository.dir}/shared/${repository.pattern}" />
-      <artifact pattern="${repository.dir}/shared/${repository.pattern}" />
-    </filesystem>
+      <filesystem name="shared">
+        <ivy pattern="${repository.dir}/shared/${repository.pattern}" />
+        <artifact pattern="${repository.dir}/shared/${repository.pattern}" />
+      </filesystem>
+
+    </chain>
+    <url name="eclipse">
+      <artifact pattern="http://download.eclipse.org/releases/ganymede/plugins/[module]_[revision].[ext]" />
+      <artifact pattern="http://download.eclipse.org/releases/ganymede/[module].[artifact]_[revision].[ext]" />
+    </url>
   </resolvers>
 
   <modules>
     <module organisation="sigil" resolver="sigil"/>
+    <module organisation="org.eclipse" resolver="eclipse"/>
   </modules>
 </ivysettings>
diff --git a/sigil/bldcommon/prepare/build.xml b/sigil/bldcommon/prepare/build.xml
new file mode 100644
index 0000000..e9a7ec8
--- /dev/null
+++ b/sigil/bldcommon/prepare/build.xml
@@ -0,0 +1,3 @@
+<project name="prepare" default="resolve">
+      <import file="../common.xml"/>
+</project>
diff --git a/sigil/bldcommon/prepare/ivy.xml b/sigil/bldcommon/prepare/ivy.xml
new file mode 100644
index 0000000..d05ce4d
--- /dev/null
+++ b/sigil/bldcommon/prepare/ivy.xml
@@ -0,0 +1,41 @@
+<ivy-module version="1.0">
+  <info organisation="org.apache"
+        module="felix.sigil.bldcommon.prepare"
+        status="integration"/>
+
+    <dependencies>
+        <!-- bundles -->
+        <dependency org="org.eclipse" name="org.eclipse.core.commands" rev="3.4.0.I20080509-2000" />
+        <dependency org="org.eclipse" name="org.eclipse.core.contenttype" rev="3.3.0.v20080604-1400" />
+        <dependency org="org.eclipse" name="org.eclipse.core.expressions" rev="3.4.1.r342_v20081203-0800" />
+        <dependency org="org.eclipse" name="org.eclipse.core.jobs" rev="3.4.1.R34x_v20081128" />
+        <dependency org="org.eclipse" name="org.eclipse.core.resources" rev="3.4.2.R34x_v20090126" />
+        <dependency org="org.eclipse" name="org.eclipse.debug.core" rev="3.4.1.v20090106_r342" />
+        <dependency org="org.eclipse" name="org.eclipse.debug.ui" rev="3.4.2.v20090110_r342" />
+        <dependency org="org.eclipse" name="org.eclipse.equinox.common" rev="3.4.0.v20080421-2006" />
+        <dependency org="org.eclipse" name="org.eclipse.jdt.core" rev="3.4.4.v_894_R34x" />
+        <dependency org="org.eclipse" name="org.eclipse.jdt.ui" rev="3.4.2.r342_v20090107-0800" />
+        <dependency org="org.eclipse" name="org.eclipse.jface.text" rev="3.4.2.r342_v20081119-0800" />
+        <dependency org="org.eclipse" name="org.eclipse.jface" rev="3.4.2.M20090107-0800" />
+        <dependency org="org.eclipse" name="org.eclipse.ltk.core.refactoring" rev="3.4.2.r342_v20081028-0800" />
+        <dependency org="org.eclipse" name="org.eclipse.pde.ui" rev="3.4.0.v20090202" />
+        <dependency org="org.eclipse" name="org.eclipse.swt.carbon.macosx" rev="3.4.1.v3452b" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.cheatsheets" rev="3.3.101.v20080702_34x" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.console" rev="3.3.1.v20090128_r342" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.editors" rev="3.4.0.v20080603-2000" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.forms" rev="3.3.103.v20081027_34x" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.ide" rev="3.4.2.M20090127-1700" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.workbench" rev="3.4.2.M20090127-1700" />
+
+        <dependency org="org.eclipse" name="org.eclipse.draw2d" rev="3.4.2.v20090114-1330" />
+        <dependency org="org.eclipse" name="org.eclipse.zest.core" rev="1.0.0.v20080115" />
+        <dependency org="org.eclipse" name="org.eclipse.zest.layouts" rev="1.0.0.v20080226" />
+	<!-- fragments -->
+        <dependency org="org.eclipse" name="org.eclipse.core.runtime" rev="3.4.0.v20080512" />
+        <dependency org="org.eclipse" name="org.eclipse.equinox.preferences" rev="3.2.201.R34x_v20080709" />
+        <dependency org="org.eclipse" name="org.eclipse.equinox.registry" rev="3.4.0.v20080516-0950" />
+        <dependency org="org.eclipse" name="org.eclipse.swt" rev="3.4.2.v3452b" />
+        <dependency org="org.eclipse" name="org.eclipse.text" rev="3.4.0.v20080605-1800" />
+        <dependency org="org.eclipse" name="org.eclipse.ui.workbench.texteditor" rev="3.4.1.r341_v20080827-1100" />
+    </dependencies>
+</ivy-module>
diff --git a/sigil/bldcommon/sigil-repos.properties b/sigil/bldcommon/sigil-repos.properties
index ace83cc..cb8a550 100644
--- a/sigil/bldcommon/sigil-repos.properties
+++ b/sigil/bldcommon/sigil-repos.properties
@@ -2,23 +2,25 @@
 
 # repository config
 
--repositories:  system, project, bld-common
+-repositories:  system, project, bld-common, bld-hack
 
 system;provider:        system
 system;level:           -1
 
 project;provider:       project
 project;level:  0
-project;pattern:        ${..}/**/[sigilproject]
+project;pattern:        \
+	${..}/common/**/[sigilproject] \
+	${..}/eclipse/**/[sigilproject] \
 
 bld-common;provider:	filesystem
 bld-common;level:	1
 bld-common;recurse:	true
 bld-common;dir:		${.}/lib
 
-spring;provider:        obr
-spring;level:           2
-spring;url:             http://sigil.codecauldron.org/spring-repository.obr
-spring;index:           ../build/spring-repository.obr
+bld-hack;provider:	filesystem
+bld-hack;level:	2
+bld-hack;recurse:	true
+bld-hack;dir:		${.}/hack
 
 # end
diff --git a/sigil/build.xml b/sigil/build.xml
index 04f030e..9b38cb3 100644
--- a/sigil/build.xml
+++ b/sigil/build.xml
@@ -1,51 +1,8 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
-  
-  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.
--->
-<project name="Sigil" default="build">
-
-  <target name="build-eclipse">
-    <subant buildpath="sigil-builder" target="build"/>
-  </target>
-
-  <target name="build-ivy">
-    <subant buildpath="bld-ivy" target="dist"/>
-  </target>
-
-  <target name="build-junit">
-    <subant buildpath="bld-junit" target="install"/>
-    <subant buildpath="bld-junit-cli" target="install"/>
-  </target>
-
-  <target name="clean">
-    <delete dir="build" />
-    <subant buildpath="sigil-builder" target="clean"/>
-    <subant buildpath="bld-ivy" target="clean"/>
-    <subant buildpath="bld-junit" target="clean"/>
-    <subant buildpath="bld-junit-cli" target="clean"/>
-  </target>
-
-  <target name="build" depends="build-eclipse, build-ivy, build-junit" /> 
-
-  <target name="ci-commit" depends="clean, build"/>
-
-  <target name="ci-daily" depends="clean, build">
-    <subant buildpath="sigil-builder" target="new.updateSite"/>
-  </target>
-
+<project name="sigil" default="build-list">
+  <import file="bldcommon/common.xml"/>
+  <fileset id="my.projects" dir="${basedir}">
+    <exclude name="ivy/**/${build_xml}"/>
+    <exclude name="bldcommon/**/${build_xml}" />
+    <include name="**/${build_xml}"/>
+  </fileset>
 </project>
diff --git a/sigil/common/build.xml b/sigil/common/build.xml
new file mode 100644
index 0000000..95568c0
--- /dev/null
+++ b/sigil/common/build.xml
@@ -0,0 +1,3 @@
+<project name="common" default="build-list">
+  <import file="../bldcommon/common.xml"/>
+</project>
diff --git a/sigil/common/core.tests/build.xml b/sigil/common/core.tests/build.xml
new file mode 100644
index 0000000..0c44701
--- /dev/null
+++ b/sigil/common/core.tests/build.xml
@@ -0,0 +1,3 @@
+<project name="core.tests" default="build">
+      <import file="../build.xml"/>
+</project>
diff --git a/sigil/common/core.tests/ivy.xml b/sigil/common/core.tests/ivy.xml
new file mode 100644
index 0000000..41d1235
--- /dev/null
+++ b/sigil/common/core.tests/ivy.xml
@@ -0,0 +1,9 @@
+<ivy-module version="1.0">
+  <info 
+        organisation="org.apache"
+        module="felix.sigil.common.core.tests"
+        status="integration"/>
+   <publications>
+     <artifact name="org.apache.felix.sigil.common.core.tests" />
+   </publications>
+</ivy-module>
diff --git a/sigil/common/core/build.xml b/sigil/common/core/build.xml
new file mode 100644
index 0000000..e9c83a1
--- /dev/null
+++ b/sigil/common/core/build.xml
@@ -0,0 +1,3 @@
+<project name="common.core" default="build">
+      <import file="../build.xml"/>
+</project>
diff --git a/sigil/common/core/ivy.xml b/sigil/common/core/ivy.xml
new file mode 100644
index 0000000..7cad7e8
--- /dev/null
+++ b/sigil/common/core/ivy.xml
@@ -0,0 +1,9 @@
+<ivy-module version="1.0">
+  <info 
+        organisation="org.apache"
+        module="felix.sigil.common.core"
+        status="integration"/>
+   <publications>
+     <artifact name="org.apache.felix.sigil.common.core" />
+   </publications>
+</ivy-module>
diff --git a/sigil/common/core/sigil.properties b/sigil/common/core/sigil.properties
index 642fef0..085594f 100644
--- a/sigil/common/core/sigil.properties
+++ b/sigil/common/core/sigil.properties
@@ -32,4 +32,7 @@
 	org.eclipse.core.runtime;version=3.4.0, \
 	org.osgi.framework;version=1.4.0, \
 
+-libs: \
+	lib/bndlib.jar;kind=classpath, \
+
 # end
diff --git a/sigil/common/junit/build.xml b/sigil/common/junit/build.xml
index 46ce9d1..712ef92 100644
--- a/sigil/common/junit/build.xml
+++ b/sigil/common/junit/build.xml
@@ -18,6 +18,6 @@
   under the License.
 -->
 
-<project name="bld-junit" default="bundle" basedir=".">
-  <import file="../bldcommon/common.xml"/>
+<project name="junit" default="bundle" basedir=".">
+  <import file="../build.xml"/>
 </project>
diff --git a/sigil/common/junit/ivy.xml b/sigil/common/junit/ivy.xml
index 9135f4a..6121212 100644
--- a/sigil/common/junit/ivy.xml
+++ b/sigil/common/junit/ivy.xml
@@ -19,10 +19,10 @@
 -->
 <ivy-module version="1.0">
     <info 
-        organisation="org.cauldron"
-        module="bld.junit"
+        organisation="org.apache"
+        module="felix.sigil.common.junit"
         status="integration"/>
-    <publications>
-      <artifact name="org.cauldron.sigil.junit" />
-    </publications>
+   <publications>
+     <artifact name="org.apache.felix.sigil.common.junit" />
+   </publications>
 </ivy-module>
diff --git a/sigil/common/obr/build.xml b/sigil/common/obr/build.xml
new file mode 100644
index 0000000..47b1739
--- /dev/null
+++ b/sigil/common/obr/build.xml
@@ -0,0 +1,3 @@
+<project name="core" default="build">
+      <import file="../build.xml"/>
+</project>
diff --git a/sigil/common/obr/ivy.xml b/sigil/common/obr/ivy.xml
new file mode 100644
index 0000000..1ecf6c0
--- /dev/null
+++ b/sigil/common/obr/ivy.xml
@@ -0,0 +1,9 @@
+<ivy-module version="1.0">
+    <info 
+        organisation="org.apache"
+        module="felix.sigil.common.obr"
+        status="integration"/>
+   <publications>
+     <artifact name="org.apache.felix.sigil.common.obr" />
+   </publications>
+</ivy-module>
diff --git a/sigil/eclipse/build.xml b/sigil/eclipse/build.xml
new file mode 100644
index 0000000..125174a
--- /dev/null
+++ b/sigil/eclipse/build.xml
@@ -0,0 +1,3 @@
+<project name="eclipse" default="build-list">
+  <import file="../bldcommon/common.xml"/>
+</project>
diff --git a/sigil/eclipse/core/build.xml b/sigil/eclipse/core/build.xml
new file mode 100644
index 0000000..c4266c2
--- /dev/null
+++ b/sigil/eclipse/core/build.xml
@@ -0,0 +1,3 @@
+<project name="eclipse.core" default="build">
+      <import file="../build.xml"/>
+</project>
diff --git a/sigil/eclipse/core/ivy.xml b/sigil/eclipse/core/ivy.xml
new file mode 100644
index 0000000..3739fe7
--- /dev/null
+++ b/sigil/eclipse/core/ivy.xml
@@ -0,0 +1,9 @@
+<ivy-module version="1.0">
+  <info 
+        organisation="org.apache"
+        module="felix.sigil.eclipse.core"
+        status="integration"/>
+   <publications>
+     <artifact name="org.apache.felix.sigil.eclipse.core" />
+   </publications>
+</ivy-module>
diff --git a/sigil/eclipse/search/sigil.properties b/sigil/eclipse/search/sigil.properties
index 650e652..110b07a 100644
--- a/sigil/eclipse/search/sigil.properties
+++ b/sigil/eclipse/search/sigil.properties
@@ -27,6 +27,9 @@
 	org.eclipse.ui.plugin;version=3.4.1, \
 	org.osgi.framework;version=1.4.0, \
 
+-libs: \
+	lib/bcel-5.2.jar;kind=classpath, \
+
 -requires: \
 	org.eclipse.core.runtime;version=3.4.0, \