diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ant/BundleInfoTask.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleInfoTask.java
similarity index 98%
rename from sigil/bld-ivy/src/org/cauldron/bld/ant/BundleInfoTask.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleInfoTask.java
index 572b64f..5971ddf 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ant/BundleInfoTask.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleInfoTask.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ant;
+package org.apache.felix.sigil.ant;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ant/BundleTask.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleTask.java
similarity index 94%
rename from sigil/bld-ivy/src/org/cauldron/bld/ant/BundleTask.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleTask.java
index f8ab762..ba75de1 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ant/BundleTask.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ant/BundleTask.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ant;
+package org.apache.felix.sigil.ant;
 
 import java.io.File;
 import java.io.IOException;
@@ -26,14 +26,14 @@
 import java.util.List;
 import java.util.Properties;
 
+import org.apache.felix.sigil.bnd.BundleBuilder;
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.config.IBldProject.IBldBundle;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;
 import org.apache.tools.ant.types.Path;
-import org.cauldron.bld.bnd.BundleBuilder;
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.config.IBldProject.IBldBundle;
 
 public class BundleTask extends Task {
 	private File[] classpath;
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/BldRepositoryManager.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldRepositoryManager.java
similarity index 90%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/BldRepositoryManager.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldRepositoryManager.java
index ce5d9db..d558415 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/BldRepositoryManager.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldRepositoryManager.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-import org.cauldron.bld.config.IRepositoryConfig;
-import org.cauldron.sigil.repository.AbstractRepositoryManager;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.config.IRepositoryConfig;
+import org.apache.felix.sigil.repository.AbstractRepositoryManager;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
 
 public class BldRepositoryManager extends AbstractRepositoryManager {
 	private static Map<String, String> aliases = new HashMap<String, String>();
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/BldResolver.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldResolver.java
similarity index 85%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/BldResolver.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldResolver.java
index f29f656..9f1a6f0 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/BldResolver.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/BldResolver.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.util.Map;
 import java.util.Properties;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.IResolutionMonitor;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.IResolutionMonitor;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
 
 public class BldResolver implements IBldResolver {
 	private Map<String, Properties> repos;
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/FindUtil.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/FindUtil.java
similarity index 98%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/FindUtil.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/FindUtil.java
index e914172..e8f1a99 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/FindUtil.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/FindUtil.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.io.File;
 import java.io.FileFilter;
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/IBldResolver.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/IBldResolver.java
similarity index 83%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/IBldResolver.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/IBldResolver.java
index 35ff995..d94aaac 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/IBldResolver.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/IBldResolver.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionException;
 
 public interface IBldResolver {
 	IResolution resolveOrFail(IModelElement element, boolean transitive) throws ResolutionException;
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/Log.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/Log.java
similarity index 97%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/Log.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/Log.java
index 6724063..3e7fece 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/Log.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/Log.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import org.apache.ivy.util.Message;
 
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepository.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepository.java
similarity index 90%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepository.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepository.java
index 8dbca34..24d1c78 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepository.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepository.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.io.File;
 import java.io.IOException;
@@ -27,22 +27,22 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.config.IBldProject.IBldBundle;
+import org.apache.felix.sigil.core.internal.model.eclipse.SigilBundle;
+import org.apache.felix.sigil.core.internal.model.osgi.BundleModelElement;
+import org.apache.felix.sigil.core.licence.ILicensePolicy;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.config.IBldProject.IBldBundle;
-import org.cauldron.bld.core.internal.model.eclipse.SigilBundle;
-import org.cauldron.bld.core.internal.model.osgi.BundleModelElement;
-import org.cauldron.bld.core.licence.ILicensePolicy;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
 
 import org.osgi.framework.Version;
 
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepositoryProvider.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepositoryProvider.java
similarity index 87%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepositoryProvider.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepositoryProvider.java
index e04dc60..346d464 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/ProjectRepositoryProvider.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/ProjectRepositoryProvider.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.util.HashMap;
 import java.util.Properties;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
-import org.cauldron.sigil.repository.RepositoryException;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.RepositoryException;
 
 public class ProjectRepositoryProvider implements IRepositoryProvider{
 	private static HashMap<String, ProjectRepository> cache = new HashMap<String, ProjectRepository>();
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilParser.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilParser.java
similarity index 97%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilParser.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilParser.java
index 1ab3772..5d8e29e 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilParser.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilParser.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import java.io.File;
 import java.io.IOException;
@@ -30,6 +30,15 @@
 import java.util.Map;
 import java.util.regex.Pattern;
 
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IResolution;
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.module.descriptor.Artifact;
@@ -50,15 +59,6 @@
 import org.apache.ivy.plugins.repository.file.FileResource;
 import org.apache.ivy.plugins.repository.url.URLResource;
 import org.apache.ivy.plugins.resolver.DependencyResolver;
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.repository.IResolution;
 
 public class SigilParser implements ModuleDescriptorParser {
 
diff --git a/sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilResolver.java b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilResolver.java
similarity index 95%
rename from sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilResolver.java
rename to sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilResolver.java
index 596aaba..62c8112 100644
--- a/sigil/bld-ivy/src/org/cauldron/bld/ivy/SigilResolver.java
+++ b/sigil/bld-ivy/src/org/apache/felix/sigil/ivy/SigilResolver.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.ivy;
+package org.apache.felix.sigil.ivy;
 
 import static java.lang.String.format;
 
@@ -35,6 +35,14 @@
 import java.util.jar.JarInputStream;
 import java.util.jar.Manifest;
 
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.core.internal.model.osgi.RequiredBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionException;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
@@ -44,14 +52,6 @@
 import org.apache.ivy.plugins.resolver.BasicResolver;
 import org.apache.ivy.plugins.resolver.util.ResolvedResource;
 import org.apache.ivy.util.FileUtil;
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.core.internal.model.osgi.RequiredBundle;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionException;
 
 /**
  * This resolver is able to work with Sigil repositories.
diff --git a/sigil/bld-junit/sigil.properties b/sigil/bld-junit/sigil.properties
index c22f88c..65fcec3 100644
--- a/sigil/bld-junit/sigil.properties
+++ b/sigil/bld-junit/sigil.properties
@@ -12,10 +12,11 @@
 	src, \
 
 -exports: \
-	org.cauldron.sigil.junit.server, \
+	org.apache.felix.sigil.junit.server, \
 
 -imports: \
 	junit.framework;version=4.5.0, \
+	org.apache.felix.sigil.junit.server, \
 	org.osgi.framework;version=1.4.0, \
 	org.osgi.util.tracker;version=1.3.3, \
 
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/AbstractSigilTestCase.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/AbstractSigilTestCase.java
similarity index 98%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/AbstractSigilTestCase.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/AbstractSigilTestCase.java
index 0c84937..53e62e8 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/AbstractSigilTestCase.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/AbstractSigilTestCase.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit;
+package org.apache.felix.sigil.junit;
 
 import java.lang.reflect.Method;
 import java.util.LinkedList;
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/ReflectiveSigilTestCase.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/ReflectiveSigilTestCase.java
similarity index 98%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/ReflectiveSigilTestCase.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/ReflectiveSigilTestCase.java
index 2614113..424ea60 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/ReflectiveSigilTestCase.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/ReflectiveSigilTestCase.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit;
+package org.apache.felix.sigil.junit;
 
 import java.lang.reflect.Method;
 import java.util.HashMap;
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/activator/Activator.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/activator/Activator.java
similarity index 88%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/activator/Activator.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/activator/Activator.java
index b22920b..dbfb2b6 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/activator/Activator.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/activator/Activator.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit.activator;
+package org.apache.felix.sigil.junit.activator;
 
-import org.cauldron.sigil.junit.server.JUnitService;
-import org.cauldron.sigil.junit.server.impl.JUnitServiceFactory;
+import org.apache.felix.sigil.junit.server.JUnitService;
+import org.apache.felix.sigil.junit.server.impl.JUnitServiceFactory;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/JUnitService.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/JUnitService.java
similarity index 95%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/server/JUnitService.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/server/JUnitService.java
index e111b26..dc417f0 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/JUnitService.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/JUnitService.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit.server;
+package org.apache.felix.sigil.junit.server;
 
 import java.util.Set;
 
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceFactory.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceFactory.java
similarity index 97%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceFactory.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceFactory.java
index 49fadf6..884aae2 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceFactory.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceFactory.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit.server.impl;
+package org.apache.felix.sigil.junit.server.impl;
 
 import java.util.HashMap;
 import java.util.Set;
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceImpl.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceImpl.java
similarity index 97%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceImpl.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceImpl.java
index c549cea..153eb4c 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/JUnitServiceImpl.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/JUnitServiceImpl.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit.server.impl;
+package org.apache.felix.sigil.junit.server.impl;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -31,7 +31,7 @@
 import junit.framework.TestResult;
 import junit.framework.TestSuite;
 
-import org.cauldron.sigil.junit.server.JUnitService;
+import org.apache.felix.sigil.junit.server.JUnitService;
 import org.osgi.framework.BundleContext;
 
 public class JUnitServiceImpl implements JUnitService {
diff --git a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/TestClassListener.java b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/TestClassListener.java
similarity index 98%
rename from sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/TestClassListener.java
rename to sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/TestClassListener.java
index c3db3f9..b7e74f8 100644
--- a/sigil/bld-junit/src/org/cauldron/sigil/junit/server/impl/TestClassListener.java
+++ b/sigil/bld-junit/src/org/apache/felix/sigil/junit/server/impl/TestClassListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.junit.server.impl;
+package org.apache.felix.sigil.junit.server.impl;
 
 import java.lang.reflect.Modifier;
 import java.net.URL;
diff --git a/sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/BundleModelElementTest.java b/sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/BundleModelElementTest.java
similarity index 90%
rename from sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/BundleModelElementTest.java
rename to sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/BundleModelElementTest.java
index b4bfc51..4a97475 100644
--- a/sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/BundleModelElementTest.java
+++ b/sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/BundleModelElementTest.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.bld.core;
+package org.apache.felix.sigil.core;
 
 import java.util.Arrays;
 
-import org.cauldron.bld.core.internal.model.osgi.BundleModelElement;
-import org.cauldron.bld.core.internal.model.osgi.PackageImport;
-import org.cauldron.bld.core.internal.model.osgi.RequiredBundle;
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.core.internal.model.osgi.BundleModelElement;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageImport;
+import org.apache.felix.sigil.core.internal.model.osgi.RequiredBundle;
+import org.apache.felix.sigil.model.common.VersionRange;
 
 import junit.framework.TestCase;
 
diff --git a/sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/ConfigTest.java b/sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/ConfigTest.java
similarity index 82%
rename from sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/ConfigTest.java
rename to sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/ConfigTest.java
index 080d5ab..cf4bd39 100644
--- a/sigil/org.cauldron.bld.core.tests/src/org/cauldron/bld/core/ConfigTest.java
+++ b/sigil/org.cauldron.bld.core.tests/src/org/apache/felix/sigil/core/ConfigTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core;
+package org.apache.felix.sigil.core;
 
 import java.io.IOException;
 import java.net.URI;
@@ -25,13 +25,13 @@
 
 import junit.framework.TestCase;
 
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.core.internal.model.osgi.PackageImport;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageImport;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 
 public class ConfigTest extends TestCase {
 	
diff --git a/sigil/org.cauldron.bld.core/META-INF/MANIFEST.MF b/sigil/org.cauldron.bld.core/META-INF/MANIFEST.MF
index cc6768b..6c06a64 100644
--- a/sigil/org.cauldron.bld.core/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.bld.core/META-INF/MANIFEST.MF
@@ -4,18 +4,18 @@
 Bundle-SymbolicName: org.cauldron.bld.core;singleton:=true
 Bundle-Version: 0.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Activator: org.cauldron.bld.core.BldCore
+Bundle-Activator: org.apache.felix.sigil.core.BldCore
 Bundle-ActivationPolicy: lazy
-Export-Package: org.cauldron.bld.bnd,
- org.cauldron.bld.config,
- org.cauldron.bld.core,
- org.cauldron.bld.core.licence,
- org.cauldron.bld.core.repository,
- org.cauldron.sigil.model,
- org.cauldron.sigil.model.common,
- org.cauldron.sigil.model.eclipse,
- org.cauldron.sigil.model.osgi,
- org.cauldron.sigil.repository
+Export-Package: org.apache.felix.sigil.bnd,
+ org.apache.felix.sigil.config,
+ org.apache.felix.sigil.core,
+ org.apache.felix.sigil.core.licence,
+ org.apache.felix.sigil.core.repository,
+ org.apache.felix.sigil.model,
+ org.apache.felix.sigil.model.common,
+ org.apache.felix.sigil.model.eclipse,
+ org.apache.felix.sigil.model.osgi,
+ org.apache.felix.sigil.repository
 Import-Package: org.osgi.framework
 Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
 Bundle-ClassPath: lib/bndlib.jar,
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/bnd/BundleBuilder.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/bnd/BundleBuilder.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/bnd/BundleBuilder.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/bnd/BundleBuilder.java
index 6f6a33e..8886ffa 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/bnd/BundleBuilder.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/bnd/BundleBuilder.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.bnd;
+package org.apache.felix.sigil.bnd;
 
 import static java.lang.String.format;
 
@@ -36,15 +36,15 @@
 import java.util.Set;
 import java.util.jar.Attributes;
 
-import org.cauldron.bld.config.BldAttr;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.config.IBldProject.IBldBundle;
-import org.cauldron.bld.core.internal.model.osgi.PackageImport;
-import org.cauldron.bld.core.repository.SystemRepositoryProvider;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.config.BldAttr;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.config.IBldProject.IBldBundle;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageImport;
+import org.apache.felix.sigil.core.repository.SystemRepositoryProvider;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.osgi.framework.Version;
 
 import aQute.lib.osgi.Builder;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldAttr.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldAttr.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldAttr.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldAttr.java
index 7496121..b104d8a 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldAttr.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldAttr.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 public class BldAttr {
 	// Sigil attributes
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConfig.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConfig.java
similarity index 99%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConfig.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConfig.java
index 225406a..caed8e1 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConfig.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConfig.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -29,7 +29,7 @@
 import java.util.Properties;
 import java.util.TreeMap;
 
-import org.cauldron.bld.core.util.QuoteUtil;
+import org.apache.felix.sigil.core.util.QuoteUtil;
 
 public class BldConfig {
 	
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConverter.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConverter.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConverter.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConverter.java
index 0f8a332..ae0efdb 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldConverter.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldConverter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.net.URI;
 import java.util.ArrayList;
@@ -30,17 +30,17 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.cauldron.bld.config.IBldProject.IBldBundle;
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.bld.core.internal.model.eclipse.SigilBundle;
-import org.cauldron.bld.core.internal.model.osgi.BundleModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISCAComposite;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.config.IBldProject.IBldBundle;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.core.internal.model.eclipse.SigilBundle;
+import org.apache.felix.sigil.core.internal.model.osgi.BundleModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISCAComposite;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.osgi.framework.Version;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldFactory.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldFactory.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldFactory.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldFactory.java
index a02adccc..3c69ea3 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldFactory.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldFactory.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldProject.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldProject.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldProject.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldProject.java
index 585a029..9e1a031 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldProject.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldProject.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
@@ -41,19 +41,19 @@
 import java.util.Properties;
 import java.util.TreeSet;
 
-import org.cauldron.bld.bnd.BundleBuilder;
-import org.cauldron.bld.core.internal.model.osgi.BundleModelElement;
-import org.cauldron.bld.core.internal.model.osgi.PackageExport;
-import org.cauldron.bld.core.internal.model.osgi.PackageImport;
-import org.cauldron.bld.core.internal.model.osgi.RequiredBundle;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.osgi.IPackageImport.OSGiImport;
+import org.apache.felix.sigil.bnd.BundleBuilder;
+import org.apache.felix.sigil.core.internal.model.osgi.BundleModelElement;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageExport;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageImport;
+import org.apache.felix.sigil.core.internal.model.osgi.RequiredBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport.OSGiImport;
 import org.osgi.framework.Version;
 
 public class BldProject implements IBldProject, IRepositoryConfig {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldUtil.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldUtil.java
similarity index 99%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldUtil.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldUtil.java
index ad85627..211b63d 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/BldUtil.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/BldUtil.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.util.Map;
 import java.util.Properties;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IBldProject.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IBldProject.java
similarity index 92%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IBldProject.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IBldProject.java
index b273b7b..e66cc19 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IBldProject.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IBldProject.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.io.File;
 import java.io.IOException;
@@ -26,11 +26,11 @@
 import java.util.Map;
 import java.util.Properties;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public interface IBldProject {
 	
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IRepositoryConfig.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IRepositoryConfig.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IRepositoryConfig.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IRepositoryConfig.java
index edcc1d0..b3a7d0c 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/config/IRepositoryConfig.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/config/IRepositoryConfig.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.config;
+package org.apache.felix.sigil.config;
 
 import java.util.Map;
 import java.util.Properties;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/BldCore.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/BldCore.java
similarity index 66%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/BldCore.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/BldCore.java
index c39e8ab..6488e9f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/BldCore.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/BldCore.java
@@ -17,32 +17,32 @@
  * under the License.
  */
 
-package org.cauldron.bld.core;
+package org.apache.felix.sigil.core;
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import org.cauldron.bld.core.internal.license.LicenseManager;
-import org.cauldron.bld.core.internal.model.eclipse.DownloadJar;
-import org.cauldron.bld.core.internal.model.eclipse.Library;
-import org.cauldron.bld.core.internal.model.eclipse.LibraryImport;
-import org.cauldron.bld.core.internal.model.eclipse.SigilBundle;
-import org.cauldron.bld.core.internal.model.osgi.BundleModelElement;
-import org.cauldron.bld.core.internal.model.osgi.PackageExport;
-import org.cauldron.bld.core.internal.model.osgi.PackageImport;
-import org.cauldron.bld.core.internal.model.osgi.RequiredBundle;
-import org.cauldron.bld.core.licence.ILicenseManager;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.eclipse.IDownloadJar;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
-import org.cauldron.sigil.model.eclipse.INewtonSystem;
-import org.cauldron.sigil.model.eclipse.ISCAComposite;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.core.internal.license.LicenseManager;
+import org.apache.felix.sigil.core.internal.model.eclipse.DownloadJar;
+import org.apache.felix.sigil.core.internal.model.eclipse.Library;
+import org.apache.felix.sigil.core.internal.model.eclipse.LibraryImport;
+import org.apache.felix.sigil.core.internal.model.eclipse.SigilBundle;
+import org.apache.felix.sigil.core.internal.model.osgi.BundleModelElement;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageExport;
+import org.apache.felix.sigil.core.internal.model.osgi.PackageImport;
+import org.apache.felix.sigil.core.internal.model.osgi.RequiredBundle;
+import org.apache.felix.sigil.core.licence.ILicenseManager;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.eclipse.IDownloadJar;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.eclipse.INewtonSystem;
+import org.apache.felix.sigil.model.eclipse.ISCAComposite;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicenseManager.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicenseManager.java
similarity index 89%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicenseManager.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicenseManager.java
index 456cfc9..236a78f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicenseManager.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicenseManager.java
@@ -17,16 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.license;
+package org.apache.felix.sigil.core.internal.license;
 
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Set;
 import java.util.regex.Pattern;
 
-import org.cauldron.bld.core.licence.ILicenseManager;
-import org.cauldron.bld.core.licence.ILicensePolicy;
-//import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.core.licence.ILicenseManager;
+import org.apache.felix.sigil.core.licence.ILicensePolicy;
 
 public class LicenseManager implements ILicenseManager {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicensePolicy.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicensePolicy.java
similarity index 88%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicensePolicy.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicensePolicy.java
index 4a00b00..19645ba 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/license/LicensePolicy.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/license/LicensePolicy.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.license;
+package org.apache.felix.sigil.core.internal.license;
 
-import org.cauldron.bld.core.licence.ILicensePolicy;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.core.licence.ILicensePolicy;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.runtime.IProgressMonitor;
 
 public class LicensePolicy implements ILicensePolicy {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/DownloadJar.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/DownloadJar.java
similarity index 88%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/DownloadJar.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/DownloadJar.java
index f8bc392..349d71a 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/DownloadJar.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/DownloadJar.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.eclipse;
+package org.apache.felix.sigil.core.internal.model.eclipse;
 
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.AbstractCompoundModelElement;
-import org.cauldron.sigil.model.eclipse.IDownloadJar;
+import org.apache.felix.sigil.model.AbstractCompoundModelElement;
+import org.apache.felix.sigil.model.eclipse.IDownloadJar;
 import org.eclipse.core.runtime.IPath;
 
 public class DownloadJar extends AbstractCompoundModelElement implements IDownloadJar {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/Library.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/Library.java
similarity index 86%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/Library.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/Library.java
index 9ce6be8..97b3d2f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/Library.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/Library.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.eclipse;
+package org.apache.felix.sigil.core.internal.model.eclipse;
 
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.AbstractCompoundModelElement;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.AbstractCompoundModelElement;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.osgi.framework.Version;
 
 public class Library extends AbstractCompoundModelElement implements ILibrary {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/LibraryImport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/LibraryImport.java
similarity index 85%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/LibraryImport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/LibraryImport.java
index 2c86944..d44196d 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/LibraryImport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/LibraryImport.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.eclipse;
+package org.apache.felix.sigil.core.internal.model.eclipse;
 
-import org.cauldron.sigil.model.AbstractModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.AbstractModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
 
 public class LibraryImport extends AbstractModelElement implements ILibraryImport {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/SigilBundle.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/SigilBundle.java
similarity index 94%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/SigilBundle.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/SigilBundle.java
index 1e09fcc..1166e16 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/eclipse/SigilBundle.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/eclipse/SigilBundle.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.eclipse;
+package org.apache.felix.sigil.core.internal.model.eclipse;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -32,14 +32,14 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.AbstractCompoundModelElement;
-import org.cauldron.sigil.model.eclipse.IDownloadJar;
-import org.cauldron.sigil.model.eclipse.ISCAComposite;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.AbstractCompoundModelElement;
+import org.apache.felix.sigil.model.eclipse.IDownloadJar;
+import org.apache.felix.sigil.model.eclipse.ISCAComposite;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.SubMonitor;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/BundleModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/BundleModelElement.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/BundleModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/BundleModelElement.java
index f4024ef..d1c65ee 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/BundleModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/BundleModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.osgi;
+package org.apache.felix.sigil.core.internal.model.osgi;
 
 import java.net.URI;
 import java.util.Collection;
@@ -25,13 +25,13 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.AbstractCompoundModelElement;
-import org.cauldron.sigil.model.InvalidModelException;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.AbstractCompoundModelElement;
+import org.apache.felix.sigil.model.InvalidModelException;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.osgi.framework.Version;
 
 public class BundleModelElement extends AbstractCompoundModelElement implements IBundleModelElement {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageExport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageExport.java
similarity index 93%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageExport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageExport.java
index 536dbaf..cbc92bd 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageExport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageExport.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.osgi;
+package org.apache.felix.sigil.core.internal.model.osgi;
 
 import java.util.Collection;
 import java.util.HashSet;
 
-import org.cauldron.sigil.model.AbstractModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.AbstractModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
 import org.osgi.framework.Version;
 
 public class PackageExport extends AbstractModelElement implements IPackageExport {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageImport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageImport.java
similarity index 91%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageImport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageImport.java
index a9319f3..7bc862a 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/PackageImport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/PackageImport.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.osgi;
+package org.apache.felix.sigil.core.internal.model.osgi;
 
-import org.cauldron.sigil.model.AbstractModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.InvalidModelException;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.AbstractModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.InvalidModelException;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 
 public class PackageImport extends AbstractModelElement implements IPackageImport {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/RequiredBundle.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/RequiredBundle.java
similarity index 91%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/RequiredBundle.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/RequiredBundle.java
index 35c3f7b..a676aba 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/internal/model/osgi/RequiredBundle.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/internal/model/osgi/RequiredBundle.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.internal.model.osgi;
+package org.apache.felix.sigil.core.internal.model.osgi;
 
-import org.cauldron.sigil.model.AbstractModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.AbstractModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public class RequiredBundle extends AbstractModelElement implements IRequiredBundle {
 	private static final long serialVersionUID = 1L;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicenseManager.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicenseManager.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicenseManager.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicenseManager.java
index 9157288..de15489 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicenseManager.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicenseManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.licence;
+package org.apache.felix.sigil.core.licence;
 
 import java.util.Set;
 import java.util.regex.Pattern;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicensePolicy.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicensePolicy.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicensePolicy.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicensePolicy.java
index a5bcdac..b242f02 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/licence/ILicensePolicy.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/licence/ILicensePolicy.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.licence;
+package org.apache.felix.sigil.core.licence;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.runtime.IProgressMonitor;
 
 public interface ILicensePolicy {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/BundleResolver.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/BundleResolver.java
similarity index 92%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/BundleResolver.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/BundleResolver.java
index 57d859a..3c10bea 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/BundleResolver.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/BundleResolver.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -31,24 +31,24 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.cauldron.bld.core.BldCore;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IBundleResolver;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.IResolutionMonitor;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.SubMonitor;
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IBundleResolver;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.IResolutionMonitor;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
 import org.osgi.framework.Version;
 
 public class BundleResolver implements IBundleResolver {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/DirectoryHelper.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/DirectoryHelper.java
similarity index 87%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/DirectoryHelper.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/DirectoryHelper.java
index 0bb50d5..42daf08 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/DirectoryHelper.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/DirectoryHelper.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.io.File;
 import java.io.IOException;
@@ -25,12 +25,12 @@
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepository.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepository.java
similarity index 87%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepository.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepository.java
index 3525a4e..d0933ad 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepository.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepository.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.util.ArrayList;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 import org.eclipse.core.runtime.IPath;
 
 public class FileSystemRepository extends AbstractBundleRepository {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepositoryProvider.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepositoryProvider.java
similarity index 85%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepositoryProvider.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepositoryProvider.java
index 093d06b..c9950e4 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/FileSystemRepositoryProvider.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/FileSystemRepositoryProvider.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.io.File;
 import java.util.Properties;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
-import org.cauldron.sigil.repository.RepositoryException;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.RepositoryException;
 import org.eclipse.core.runtime.Path;
 
 public class FileSystemRepositoryProvider implements IRepositoryProvider {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/ProgressWrapper.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/ProgressWrapper.java
similarity index 93%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/ProgressWrapper.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/ProgressWrapper.java
index 5ca4ec3..18b166f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/ProgressWrapper.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/ProgressWrapper.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.cauldron.sigil.repository.IResolutionMonitor;
+import org.apache.felix.sigil.repository.IResolutionMonitor;
 
 public class ProgressWrapper implements IProgressMonitor {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepository.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepository.java
similarity index 84%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepository.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepository.java
index b23b64b..3b471c3 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepository.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepository.java
@@ -17,19 +17,19 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.io.IOException;
 import java.util.jar.JarFile;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 import org.eclipse.core.runtime.IPath;
 
 public class SystemRepository extends AbstractBundleRepository {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepositoryProvider.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepositoryProvider.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepositoryProvider.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepositoryProvider.java
index c13e278..8f5c065 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/repository/SystemRepositoryProvider.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/repository/SystemRepositoryProvider.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.repository;
+package org.apache.felix.sigil.core.repository;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
-import org.cauldron.sigil.repository.RepositoryException;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.RepositoryException;
 import org.eclipse.core.runtime.Path;
 
 public class SystemRepositoryProvider implements IRepositoryProvider {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/util/QuoteUtil.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/util/QuoteUtil.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/util/QuoteUtil.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/util/QuoteUtil.java
index 29c22d1..6559d87 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/bld/core/util/QuoteUtil.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/core/util/QuoteUtil.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.core.util;
+package org.apache.felix.sigil.core.util;
 
 import java.util.ArrayList;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractCompoundModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractCompoundModelElement.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractCompoundModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractCompoundModelElement.java
index 98b1a22..41b8306 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractCompoundModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractCompoundModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.util.HashMap;
 import java.util.HashSet;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractModelElement.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractModelElement.java
index e65b3ea..628b543 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/AbstractModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/AbstractModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.io.Serializable;
 import java.util.Collections;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ICompoundModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ICompoundModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
index 8df2b11..672224d 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ICompoundModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.util.Set;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependency.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependency.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependency.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependency.java
index 0047bb9..ca82523 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependency.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependency.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface IDependency extends IModelElement {
 	IDependent getDependent();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependent.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependent.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependent.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependent.java
index d97722e..1bd23d3 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependent.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependent.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface IDependent extends IModelElement {
 	IDependency getDepender();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependentModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependentModelElement.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependentModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependentModelElement.java
index 4b3c53e..941fc9c 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IDependentModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IDependentModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface IDependentModelElement extends IModelElement {
     /**
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelElement.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelElement.java
index 4d230f0..2e355ad 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.util.Map;
 import java.util.Set;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelInfo.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelInfo.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelInfo.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelInfo.java
index b4525f8..fdc3b6e 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelInfo.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface IModelInfo {
 	String getGroupName();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelWalker.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelWalker.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelWalker.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelWalker.java
index a42c468..345f45f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IModelWalker.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IModelWalker.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 
 public interface IModelWalker {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/INamedModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/INamedModelElement.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/INamedModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/INamedModelElement.java
index 5a280db..1a73baa 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/INamedModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/INamedModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface INamedModelElement extends IModelElement {
 	void setName(String name);
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IRequirementModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IRequirementModelElement.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IRequirementModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IRequirementModelElement.java
index 9e9594c..8877f9b 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/IRequirementModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/IRequirementModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public interface IRequirementModelElement {
 	boolean accepts(IModelElement provider);
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/InvalidModelException.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/InvalidModelException.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/InvalidModelException.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/InvalidModelException.java
index d4751c0..f334f80 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/InvalidModelException.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/InvalidModelException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 /**
  * @author dave
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactory.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactory.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactory.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactory.java
index 186d2d0..4d131c8 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactory.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactory.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactoryException.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactoryException.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactoryException.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactoryException.java
index c450537..163681c 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementFactoryException.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementFactoryException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 public class ModelElementFactoryException extends RuntimeException {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementSupport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementSupport.java
similarity index 99%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementSupport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementSupport.java
index 40c64f0..a3347a4 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/ModelElementSupport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/ModelElementSupport.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.io.Serializable;
 import java.lang.ref.SoftReference;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/OverrideOptions.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/OverrideOptions.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/OverrideOptions.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/OverrideOptions.java
index c82fea7..53db850 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/OverrideOptions.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/OverrideOptions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/Required.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/Required.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/Required.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/Required.java
index 79b4278..9f40c14 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/Required.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/Required.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model;
+package org.apache.felix.sigil.model;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/And.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/And.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/And.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/And.java
index 28b83d0..ca91ee4 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/And.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/And.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Cardinality.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Cardinality.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Cardinality.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Cardinality.java
index ecf105e..f190de8 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Cardinality.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Cardinality.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.io.Serializable;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ExprVisitor.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ExprVisitor.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ExprVisitor.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ExprVisitor.java
index e112928..bc7ced6 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ExprVisitor.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ExprVisitor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 public interface ExprVisitor {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Expressions.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Expressions.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Expressions.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Expressions.java
index 24ea698..6bc0987 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Expressions.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Expressions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/FilterValidator.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/FilterValidator.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/FilterValidator.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/FilterValidator.java
index 8e3ebad..b6c6863 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/FilterValidator.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/FilterValidator.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 public interface FilterValidator {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPExpr.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPExpr.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPExpr.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPExpr.java
index a009b76..13bced3 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPExpr.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPExpr.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.io.Serializable;
 import java.util.Map;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParseException.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParseException.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParseException.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParseException.java
index 2e67024..85ea519 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParseException.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParseException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 public class LDAPParseException extends Exception {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParser.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParser.java
similarity index 91%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParser.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParser.java
index 8353041..8c4a9df 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/LDAPParser.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/LDAPParser.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
-import static org.cauldron.sigil.model.common.Expressions.and;
-import static org.cauldron.sigil.model.common.Expressions.not;
-import static org.cauldron.sigil.model.common.Expressions.or;
-import static org.cauldron.sigil.model.common.Ops.APPROX;
-import static org.cauldron.sigil.model.common.Ops.EQ;
-import static org.cauldron.sigil.model.common.Ops.GE;
-import static org.cauldron.sigil.model.common.Ops.GT;
-import static org.cauldron.sigil.model.common.Ops.LE;
-import static org.cauldron.sigil.model.common.Ops.LT;
+import static org.apache.felix.sigil.model.common.Expressions.and;
+import static org.apache.felix.sigil.model.common.Expressions.not;
+import static org.apache.felix.sigil.model.common.Expressions.or;
+import static org.apache.felix.sigil.model.common.Ops.APPROX;
+import static org.apache.felix.sigil.model.common.Ops.EQ;
+import static org.apache.felix.sigil.model.common.Ops.GE;
+import static org.apache.felix.sigil.model.common.Ops.GT;
+import static org.apache.felix.sigil.model.common.Ops.LE;
+import static org.apache.felix.sigil.model.common.Ops.LT;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Not.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Not.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Not.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Not.java
index a3b59c3..2ef43c5 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Not.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Not.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Ops.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Ops.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Ops.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Ops.java
index 570fe8d..ed913bc 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Ops.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Ops.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 public enum Ops {
     EQ, GE, LE, GT, LT, APPROX;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Or.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Or.java
similarity index 98%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Or.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Or.java
index 39f3470..a50a5b9 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Or.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Or.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ParseState.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ParseState.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ParseState.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ParseState.java
index a6f23ac..2a839cd 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/ParseState.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/ParseState.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.io.Serializable;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/SimpleTerm.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/SimpleTerm.java
similarity index 99%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/SimpleTerm.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/SimpleTerm.java
index ebc4517..038676e 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/SimpleTerm.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/SimpleTerm.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.lang.reflect.Constructor;
 import java.util.Iterator;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Utils.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Utils.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Utils.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Utils.java
index 0b6b30b..dd308d5 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/Utils.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/Utils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRange.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRange.java
similarity index 99%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRange.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRange.java
index 3505df4..3839a88 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRange.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRange.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 import java.io.Serializable;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRangeBoundingRule.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRangeBoundingRule.java
similarity index 94%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRangeBoundingRule.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRangeBoundingRule.java
index a92139d..145e791 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/common/VersionRangeBoundingRule.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/common/VersionRangeBoundingRule.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.common;
+package org.apache.felix.sigil.model.common;
 
 public enum VersionRangeBoundingRule {
 	Exact, Micro, Minor, Major, Any
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/IDownloadJar.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/IDownloadJar.java
similarity index 92%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/IDownloadJar.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/IDownloadJar.java
index aa2b25a..b4565b8 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/IDownloadJar.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/IDownloadJar.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
 import java.util.Set;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 import org.eclipse.core.runtime.IPath;
 
 public interface IDownloadJar extends IModelElement {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibrary.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibrary.java
similarity index 88%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibrary.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibrary.java
index b89dd1c..e98a4a7 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibrary.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibrary.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
 import java.util.Collection;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 import org.osgi.framework.Version;
 
 public interface ILibrary extends IModelElement {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibraryImport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibraryImport.java
similarity index 86%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibraryImport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibraryImport.java
index 8d53c39..9ebc7f6 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ILibraryImport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ILibraryImport.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
 
 public interface ILibraryImport extends IModelElement {
 	String getLibraryName();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/INewtonSystem.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/INewtonSystem.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/INewtonSystem.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/INewtonSystem.java
index 38e14c6..61eed82 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/INewtonSystem.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/INewtonSystem.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 import org.eclipse.core.runtime.IPath;
 
 /**
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISCAComposite.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISCAComposite.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISCAComposite.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISCAComposite.java
index 6205744..d9cc88d 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISCAComposite.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISCAComposite.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 import org.eclipse.core.runtime.IPath;
 
 /**
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISigilBundle.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISigilBundle.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISigilBundle.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISigilBundle.java
index 54a80dd..5419cbb 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/eclipse/ISigilBundle.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/eclipse/ISigilBundle.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.eclipse;
+package org.apache.felix.sigil.model.eclipse;
 
 import java.io.IOException;
 import java.util.Set;
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IVersionedModelElement;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IVersionedModelElement;
 
 /**
  * @author dave
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IBundleModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IBundleModelElement.java
similarity index 92%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IBundleModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IBundleModelElement.java
index 1f2b8ad..7edb8c3 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IBundleModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IBundleModelElement.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
 import java.net.URI;
 import java.util.Collection;
 import java.util.Set;
 
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.INamedModelElement;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.INamedModelElement;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
 import org.osgi.framework.Version;
 
 public interface IBundleModelElement extends INamedModelElement, ICompoundModelElement, IVersionedModelElement {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageExport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageExport.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageExport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageExport.java
index 008b56e..463201f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageExport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageExport.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
 import java.util.Collection;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageImport.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageImport.java
similarity index 94%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageImport.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageImport.java
index c9a7704..2355b08 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageImport.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageImport.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
-import org.cauldron.sigil.model.IRequirementModelElement;
+import org.apache.felix.sigil.model.IRequirementModelElement;
 
 public interface IPackageImport extends IPackageModelElement, IVersionRangeModelElement, IRequirementModelElement, Comparable<IPackageImport> {
 	/**
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageModelElement.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageModelElement.java
index 3e40d45..aab0b14 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IPackageModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IPackageModelElement.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 
 public interface IPackageModelElement extends IModelElement {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IRequiredBundle.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IRequiredBundle.java
similarity index 84%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IRequiredBundle.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IRequiredBundle.java
index 9f75a43..226abee 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IRequiredBundle.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IRequiredBundle.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IRequirementModelElement;
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IRequirementModelElement;
+import org.apache.felix.sigil.model.common.VersionRange;
 
 public interface IRequiredBundle extends IModelElement, IRequirementModelElement, Comparable<IRequiredBundle> {
 	String getSymbolicName();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionRangeModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionRangeModelElement.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionRangeModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionRangeModelElement.java
index dfc7382..d65e451 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionRangeModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionRangeModelElement.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRange;
 
 public interface IVersionRangeModelElement {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionedModelElement.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionedModelElement.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionedModelElement.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionedModelElement.java
index 10c60c9..6d8421b 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/model/osgi/IVersionedModelElement.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/model/osgi/IVersionedModelElement.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.osgi;
+package org.apache.felix.sigil.model.osgi;
 
 import org.osgi.framework.Version;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractBundleRepository.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
similarity index 92%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractBundleRepository.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
index 850de43..a4ec531 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractBundleRepository.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.io.IOException;
 import java.io.OutputStream;
@@ -28,20 +28,20 @@
 import java.util.jar.Attributes;
 import java.util.jar.Manifest;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.bld.core.licence.ILicenseManager;
-import org.cauldron.bld.core.licence.ILicensePolicy;
-import org.cauldron.bld.core.util.QuoteUtil;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.core.licence.ILicenseManager;
+import org.apache.felix.sigil.core.licence.ILicensePolicy;
+import org.apache.felix.sigil.core.util.QuoteUtil;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.osgi.framework.Version;
 
 public abstract class AbstractBundleRepository implements IBundleRepository {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractRepositoryManager.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractRepositoryManager.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractRepositoryManager.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractRepositoryManager.java
index a4d09e8..ad00f45 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/AbstractRepositoryManager.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/AbstractRepositoryManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -30,12 +30,12 @@
 import java.util.Map;
 import java.util.TreeMap;
 
-import org.cauldron.bld.core.repository.BundleResolver;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.repository.RepositoryChangeEvent.Type;
+import org.apache.felix.sigil.core.repository.BundleResolver;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.RepositoryChangeEvent.Type;
 
 public abstract class AbstractRepositoryManager implements IRepositoryManager, IBundleRepositoryListener {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepository.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepository.java
similarity index 86%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepository.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepository.java
index ed7ddc1..281f707 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepository.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepository.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Collection;
 
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public interface IBundleRepository {
 	static final int NORMAL_PRIORITY = 0;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepositoryListener.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepositoryListener.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepositoryListener.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepositoryListener.java
index 33c8e6c..1f94760 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleRepositoryListener.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleRepositoryListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public interface IBundleRepositoryListener {
 	void notifyChange(IBundleRepository repository);
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleResolver.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleResolver.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleResolver.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleResolver.java
index f42d372..d819f24 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IBundleResolver.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IBundleResolver.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 
 public interface IBundleResolver {
 	IResolution resolve(IModelElement element, ResolutionConfig config, IResolutionMonitor monitor) throws ResolutionException;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IProviderChangeListener.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IProviderChangeListener.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IProviderChangeListener.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IProviderChangeListener.java
index 7f2eba3..254d316 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IProviderChangeListener.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IProviderChangeListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public interface IProviderChangeListener {
 	void notifyChange(IRepositoryProvider provider);
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryChangeListener.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryChangeListener.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryChangeListener.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryChangeListener.java
index f8964f3..29394be 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryChangeListener.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryChangeListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public interface IRepositoryChangeListener {
 	void repositoryChanged(RepositoryChangeEvent event);
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryManager.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryManager.java
similarity index 87%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryManager.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryManager.java
index f4a5ede..5259b95 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryManager.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryManager.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.util.Collection;
 
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
 import org.eclipse.core.runtime.CoreException;
 
 public interface IRepositoryManager {
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryProvider.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryProvider.java
similarity index 95%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryProvider.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryProvider.java
index 856a8b4..f8a023e 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryProvider.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.util.Properties;
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryVisitor.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryVisitor.java
similarity index 91%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryVisitor.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryVisitor.java
index 1768815..6ebb192 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IRepositoryVisitor.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IRepositoryVisitor.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public interface IRepositoryVisitor {
 	/**
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolution.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolution.java
similarity index 88%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolution.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolution.java
index 51360c7..4831ad0 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolution.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolution.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import java.util.List;
 import java.util.Set;
 
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public interface IResolution {
 	Set<ISigilBundle> getBundles();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolutionMonitor.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolutionMonitor.java
similarity index 86%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolutionMonitor.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolutionMonitor.java
index 9a739c2..814fdae 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/IResolutionMonitor.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/IResolutionMonitor.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public interface IResolutionMonitor {
 	boolean isCanceled();
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryChangeEvent.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryChangeEvent.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryChangeEvent.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryChangeEvent.java
index 476b219..54dbb7a 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryChangeEvent.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryChangeEvent.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public class RepositoryChangeEvent {
 	public static enum Type { ADDED, CHANGED, REMOVED };
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryException.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryException.java
similarity index 96%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryException.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryException.java
index a9a71c5..b521961 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/RepositoryException.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/RepositoryException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public class RepositoryException extends Exception {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionConfig.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionConfig.java
similarity index 97%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionConfig.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionConfig.java
index ae90a75..de49072 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionConfig.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionConfig.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 public class ResolutionConfig {
 	private int options;
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionException.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionException.java
similarity index 94%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionException.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionException.java
index c0c093d..92bb07f 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionException.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionException.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 
 public class ResolutionException extends Exception {
 
diff --git a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionMonitorAdapter.java b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionMonitorAdapter.java
similarity index 90%
rename from sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionMonitorAdapter.java
rename to sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionMonitorAdapter.java
index 06348f9..92cbbe1 100644
--- a/sigil/org.cauldron.bld.core/src/org/cauldron/sigil/repository/ResolutionMonitorAdapter.java
+++ b/sigil/org.cauldron.bld.core/src/org/apache/felix/sigil/repository/ResolutionMonitorAdapter.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.repository;
+package org.apache.felix.sigil.repository;
 
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public class ResolutionMonitorAdapter implements IResolutionMonitor {
 
diff --git a/sigil/org.cauldron.bld.obr/META-INF/MANIFEST.MF b/sigil/org.cauldron.bld.obr/META-INF/MANIFEST.MF
index 20dfeea..1728047 100644
--- a/sigil/org.cauldron.bld.obr/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.bld.obr/META-INF/MANIFEST.MF
@@ -8,4 +8,4 @@
 Require-Bundle: org.cauldron.bld.core;bundle-version="0.6.0",
  org.eclipse.equinox.common;bundle-version="3.4.0"
 Import-Package: org.osgi.framework;version="1.4.0"
-Export-Package: org.cauldron.bld.obr
+Export-Package: org.cauldron.sigil.obr
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/AbstractOBRBundleRepository.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/AbstractOBRBundleRepository.java
similarity index 96%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/AbstractOBRBundleRepository.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/AbstractOBRBundleRepository.java
index 71c033d..d363e61 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/AbstractOBRBundleRepository.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/AbstractOBRBundleRepository.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -30,7 +30,7 @@
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
-import org.cauldron.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
 
 public abstract class AbstractOBRBundleRepository extends AbstractBundleRepository {
 	private static SAXParserFactory factory = SAXParserFactory.newInstance();
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/CachingOBRBundleRepository.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/CachingOBRBundleRepository.java
similarity index 93%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/CachingOBRBundleRepository.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/CachingOBRBundleRepository.java
index f0ed825..6d3de79 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/CachingOBRBundleRepository.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/CachingOBRBundleRepository.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.io.File;
 import java.lang.ref.SoftReference;
@@ -26,8 +26,8 @@
 import java.util.List;
 
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 
 public class CachingOBRBundleRepository extends AbstractOBRBundleRepository {
 
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/NonCachingOBRBundleRepository.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/NonCachingOBRBundleRepository.java
similarity index 88%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/NonCachingOBRBundleRepository.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/NonCachingOBRBundleRepository.java
index 4c11840..d3eb5dd 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/NonCachingOBRBundleRepository.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/NonCachingOBRBundleRepository.java
@@ -17,18 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.io.File;
 import java.net.URL;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 
 public class NonCachingOBRBundleRepository extends AbstractOBRBundleRepository {
 
-	public static void main(String[] args) throws Exception {
+	/*public static void main(String[] args) throws Exception {
 		String url = args[0];
 		String obr = args[1];
 		String cache = args[2];
@@ -41,7 +40,7 @@
 				return true;
 			}
 		});
-	}
+	} */
 	
 	public NonCachingOBRBundleRepository(String id, URL repositoryURL, File obrCache, File bundleCache, long updatePeriod) {
 		super(id, repositoryURL, obrCache, bundleCache, updatePeriod);
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRHandler.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRHandler.java
similarity index 92%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRHandler.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRHandler.java
index b090521..ca725c4 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRHandler.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.io.File;
 import java.net.URI;
@@ -29,17 +29,17 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.LDAPExpr;
-import org.cauldron.sigil.model.common.LDAPParseException;
-import org.cauldron.sigil.model.common.LDAPParser;
-import org.cauldron.sigil.model.common.SimpleTerm;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.LDAPExpr;
+import org.apache.felix.sigil.model.common.LDAPParseException;
+import org.apache.felix.sigil.model.common.LDAPParser;
+import org.apache.felix.sigil.model.common.SimpleTerm;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.osgi.framework.Version;
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRListener.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRListener.java
similarity index 90%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRListener.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRListener.java
index ae7bdd2..bbd4d42 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRListener.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRListener.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public interface OBRListener {
 	void handleBundle(ISigilBundle bundle);
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRRepositoryProvider.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRRepositoryProvider.java
similarity index 89%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRRepositoryProvider.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRRepositoryProvider.java
index 4653d38..fa5b93a 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/OBRRepositoryProvider.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/OBRRepositoryProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.io.File;
 import java.net.MalformedURLException;
@@ -25,9 +25,9 @@
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
-import org.cauldron.sigil.repository.RepositoryException;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.RepositoryException;
 
 public class OBRRepositoryProvider implements IRepositoryProvider {
 	public IBundleRepository createRepository(String id, Properties preferences) throws RepositoryException {
diff --git a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/VersionRangeHelper.java b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/VersionRangeHelper.java
similarity index 93%
rename from sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/VersionRangeHelper.java
rename to sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/VersionRangeHelper.java
index 50b0fb1..f7c147a 100644
--- a/sigil/org.cauldron.bld.obr/src/org/cauldron/bld/obr/VersionRangeHelper.java
+++ b/sigil/org.cauldron.bld.obr/src/org/cauldron/sigil/obr/VersionRangeHelper.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.bld.obr;
+package org.cauldron.sigil.obr;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.cauldron.sigil.model.common.LDAPExpr;
-import org.cauldron.sigil.model.common.LDAPParseException;
-import org.cauldron.sigil.model.common.LDAPParser;
-import org.cauldron.sigil.model.common.Not;
-import org.cauldron.sigil.model.common.Ops;
-import org.cauldron.sigil.model.common.SimpleTerm;
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.LDAPExpr;
+import org.apache.felix.sigil.model.common.LDAPParseException;
+import org.apache.felix.sigil.model.common.LDAPParser;
+import org.apache.felix.sigil.model.common.Not;
+import org.apache.felix.sigil.model.common.Ops;
+import org.apache.felix.sigil.model.common.SimpleTerm;
+import org.apache.felix.sigil.model.common.VersionRange;
 import org.osgi.framework.Version;
 
 class VersionRangeHelper {
diff --git a/sigil/org.cauldron.sigil.core/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.core/META-INF/MANIFEST.MF
index f9bcf63..439f076 100644
--- a/sigil/org.cauldron.sigil.core/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: org.cauldron.sigil.core
 Bundle-SymbolicName: org.cauldron.sigil.core;singleton:=true
 Bundle-Version: 0.8.0.qualifier
-Bundle-Activator: org.cauldron.sigil.SigilCore
+Bundle-Activator: org.apache.felix.sigil.eclipse.SigilCore
 Bundle-Vendor: Paremus Ltd.
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.expressions,
@@ -15,13 +15,13 @@
  org.cauldron.sigil.utils,
  org.cauldron.bld.core
 Bundle-ActivationPolicy: lazy
-Export-Package: org.cauldron.sigil,
- org.cauldron.sigil.install,
- org.cauldron.sigil.job,
- org.cauldron.sigil.model.project,
- org.cauldron.sigil.model.repository,
- org.cauldron.sigil.model.util,
- org.cauldron.sigil.preferences
+Export-Package: org.apache.felix.sigil.eclipse,
+ org.apache.felix.sigil.eclipse.install,
+ org.apache.felix.sigil.eclipse.job,
+ org.apache.felix.sigil.eclipse.model.project,
+ org.apache.felix.sigil.eclipse.model.repository,
+ org.apache.felix.sigil.eclipse.model.util,
+ org.apache.felix.sigil.eclipse.preferences
 Bundle-ClassPath: .,
  lib/commons-lang-2.4.jar
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/sigil/org.cauldron.sigil.core/plugin.xml b/sigil/org.cauldron.sigil.core/plugin.xml
index 3128c58..f2964dd 100644
--- a/sigil/org.cauldron.sigil.core/plugin.xml
+++ b/sigil/org.cauldron.sigil.core/plugin.xml
@@ -36,7 +36,7 @@
    <extension
          point="org.eclipse.core.expressions.propertyTesters">
       <propertyTester
-            class="org.cauldron.sigil.property.SigilPropertyTester"
+            class="org.apache.felix.sigil.property.SigilPropertyTester"
             id="org.cauldron.sigil.property.NewtonPropertyTester"
             namespace="org.cauldron.sigil"
             properties="isNewtonResource,isCompositeResource,isSystemResource,isScriptResource,isSigilProject"
@@ -46,13 +46,13 @@
          point="org.eclipse.core.runtime.adapters">
       <factory
             adaptableType="org.eclipse.core.resources.IFile"
-            class="org.cauldron.sigil.internal.adapter.FileAdaptorFactory">
+            class="org.apache.felix.sigil.eclipse.internal.adapter.FileAdaptorFactory">
          <adapter type="org.cauldron.sigil.model.eclipse.ISigilBundle"/>
       </factory>
       <factory
             adaptableType="org.eclipse.core.resources.IProject"
-            class="org.cauldron.sigil.internal.adapter.ProjectAdaptorFactory">
-         <adapter type="org.cauldron.sigil.model.project.ISigilProjectModel"/>
+            class="org.apache.felix.sigil.eclipse.internal.adapter.ProjectAdaptorFactory">
+         <adapter type="org.apache.felix.sigil.model.project.ISigilProjectModel"/>
       </factory>
    </extension>
    <extension
@@ -60,7 +60,7 @@
          name="Sigil Nature"
          point="org.eclipse.core.resources.natures">
       <runtime>
-         <run class="org.cauldron.sigil.nature.SigilProjectNature"/>
+         <run class="org.apache.felix.sigil.nature.SigilProjectNature"/>
       </runtime>
    </extension>
    <extension
@@ -70,19 +70,19 @@
       <builder
             hasNature="false"
             isConfigurable="false">
-         <run class="org.cauldron.sigil.internal.builders.SigilIncrementalProjectBuilder"/>
+         <run class="org.apache.felix.sigil.eclipse.internal.builders.SigilIncrementalProjectBuilder"/>
       </builder>
    </extension>
    <extension
          point="org.eclipse.core.runtime.preferences">
       <initializer
-            class="org.cauldron.sigil.preferences.SigilPreferencesInitializer">
+            class="org.apache.felix.sigil.preferences.SigilPreferencesInitializer">
       </initializer>
    </extension>
    <extension
          point="org.cauldron.sigil.repositoryprovider">
       <provider
-            class="org.cauldron.sigil.internal.repository.eclipse.WorkspaceRepositoryProvider"
+            class="org.apache.felix.sigil.eclipse.internal.repository.eclipse.WorkspaceRepositoryProvider"
             defaultLevel="-3"
             dynamic="false"
             id="org.cauldron.sigil.core.workspaceprovider"
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/SigilCore.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/SigilCore.java
similarity index 92%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/SigilCore.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/SigilCore.java
index b0e123e..9c7656a 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/SigilCore.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/SigilCore.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil;
+package org.apache.felix.sigil.eclipse;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -31,25 +31,25 @@
 import java.util.ResourceBundle;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.install.IOSGiInstallManager;
-import org.cauldron.sigil.internal.install.OSGiInstallManager;
-import org.cauldron.sigil.internal.model.project.SigilModelRoot;
-import org.cauldron.sigil.internal.model.project.SigilProject;
-import org.cauldron.sigil.internal.model.repository.RepositoryConfiguration;
-import org.cauldron.sigil.internal.repository.eclipse.GlobalRepositoryManager;
-import org.cauldron.sigil.internal.repository.eclipse.SigilRepositoryManager;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilModelRoot;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.repository.IRepositoryConfiguration;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
-import org.cauldron.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstallManager;
+import org.apache.felix.sigil.eclipse.internal.install.OSGiInstallManager;
+import org.apache.felix.sigil.eclipse.internal.model.project.SigilModelRoot;
+import org.apache.felix.sigil.eclipse.internal.model.project.SigilProject;
+import org.apache.felix.sigil.eclipse.internal.model.repository.RepositoryConfiguration;
+import org.apache.felix.sigil.eclipse.internal.repository.eclipse.GlobalRepositoryManager;
+import org.apache.felix.sigil.eclipse.internal.repository.eclipse.SigilRepositoryManager;
+import org.apache.felix.sigil.eclipse.model.project.ISigilModelRoot;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryConfiguration;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.repository.ResolutionConfig;
 import org.eclipse.core.resources.ICommand;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IProjectDescription;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstall.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstall.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstall.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstall.java
index 3e91ca1..5cf85dc 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstall.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstall.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallBuilder.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallBuilder.java
similarity index 95%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallBuilder.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallBuilder.java
index ce066ea..42329a6 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallBuilder.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallBuilder.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallManager.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallManager.java
similarity index 95%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallManager.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallManager.java
index c33f746..a3776bc 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallManager.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 public interface IOSGiInstallManager {
 	IOSGiInstall findInstall(String id);
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallType.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallType.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallType.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallType.java
index f975151..6a2cdd5 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/IOSGiInstallType.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/IOSGiInstallType.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.swt.graphics.Image;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstall.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstall.java
similarity index 97%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstall.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstall.java
index 633f1f3..4316e6f 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstall.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstall.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 import java.util.Arrays;
 import java.util.Map;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstallType.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstallType.java
similarity index 98%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstallType.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstallType.java
index e584f1c..c670363 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/install/OSGiInstallType.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/install/OSGiInstallType.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.install;
+package org.apache.felix.sigil.eclipse.install;
 
 import java.util.Arrays;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/FileAdaptorFactory.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/FileAdaptorFactory.java
similarity index 87%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/FileAdaptorFactory.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/FileAdaptorFactory.java
index 4b63ad3..e8c8ee2 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/FileAdaptorFactory.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/FileAdaptorFactory.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.adapter;
+package org.apache.felix.sigil.eclipse.internal.adapter;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/ProjectAdaptorFactory.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/ProjectAdaptorFactory.java
similarity index 91%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/ProjectAdaptorFactory.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/ProjectAdaptorFactory.java
index 4811476..d6a3543 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/adapter/ProjectAdaptorFactory.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/adapter/ProjectAdaptorFactory.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.adapter;
+package org.apache.felix.sigil.eclipse.internal.adapter;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdapterFactory;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/BuildConsole.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/BuildConsole.java
similarity index 95%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/BuildConsole.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/BuildConsole.java
index 5ac8117..bd96066 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/BuildConsole.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/BuildConsole.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.builders;
+package org.apache.felix.sigil.eclipse.internal.builders;
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.console.MessageConsole;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/SigilIncrementalProjectBuilder.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/SigilIncrementalProjectBuilder.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/SigilIncrementalProjectBuilder.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/SigilIncrementalProjectBuilder.java
index acea59a..c521e07 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/builders/SigilIncrementalProjectBuilder.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/builders/SigilIncrementalProjectBuilder.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.builders;
+package org.apache.felix.sigil.eclipse.internal.builders;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -26,11 +26,11 @@
 import java.util.Map;
 import java.util.Properties;
 
-import org.cauldron.bld.bnd.BundleBuilder;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
+import org.apache.felix.sigil.bnd.BundleBuilder;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/install/OSGiInstallManager.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/install/OSGiInstallManager.java
similarity index 95%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/install/OSGiInstallManager.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/install/OSGiInstallManager.java
index ce5f20f..98bc195 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/install/OSGiInstallManager.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/install/OSGiInstallManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.install;
+package org.apache.felix.sigil.eclipse.internal.install;
 
 import java.util.Collections;
 import java.util.Comparator;
@@ -25,11 +25,11 @@
 import java.util.LinkedList;
 import java.util.Map;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.install.IOSGiInstall;
-import org.cauldron.sigil.install.IOSGiInstallBuilder;
-import org.cauldron.sigil.install.IOSGiInstallManager;
-import org.cauldron.sigil.install.IOSGiInstallType;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstall;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstallBuilder;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstallManager;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstallType;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilModelRoot.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilModelRoot.java
similarity index 79%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilModelRoot.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilModelRoot.java
index ea05121..050ce1f 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilModelRoot.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilModelRoot.java
@@ -17,28 +17,28 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.model.project;
+package org.apache.felix.sigil.eclipse.internal.model.project;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.eclipse.ILibraryImport;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilModelRoot;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.repository.IBundleResolver;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
-import org.cauldron.sigil.repository.ResolutionMonitorAdapter;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilModelRoot;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.eclipse.ILibraryImport;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IBundleResolver;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.repository.ResolutionMonitorAdapter;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilProject.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
similarity index 91%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilProject.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
index 7a7f3af..62f6734 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/project/SigilProject.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/project/SigilProject.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.model.project;
+package org.apache.felix.sigil.eclipse.internal.model.project;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -27,26 +27,26 @@
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.cauldron.bld.config.BldFactory;
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.job.ThreadProgressMonitor;
-import org.cauldron.sigil.model.AbstractCompoundModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
-import org.cauldron.sigil.repository.ResolutionMonitorAdapter;
+import org.apache.felix.sigil.config.BldFactory;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.job.ThreadProgressMonitor;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.AbstractCompoundModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.repository.ResolutionMonitorAdapter;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryConfiguration.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryConfiguration.java
similarity index 95%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryConfiguration.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryConfiguration.java
index 592e75b..8599062 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryConfiguration.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryConfiguration.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.model.repository;
+package org.apache.felix.sigil.eclipse.internal.model.repository;
 
 import java.io.File;
 import java.io.IOException;
@@ -29,14 +29,14 @@
 import java.util.Map;
 import java.util.UUID;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryConfiguration;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.repository.IRepositorySet;
-import org.cauldron.sigil.model.repository.IRepositoryType;
-import org.cauldron.sigil.model.repository.RepositorySet;
-import org.cauldron.sigil.preferences.PrefsUtils;
-import org.cauldron.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryConfiguration;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositorySet;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
+import org.apache.felix.sigil.eclipse.model.repository.RepositorySet;
+import org.apache.felix.sigil.eclipse.preferences.PrefsUtils;
+import org.apache.felix.sigil.repository.IBundleRepository;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryModel.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryModel.java
similarity index 91%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryModel.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryModel.java
index 9b72541..bfc555a 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryModel.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryModel.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.model.repository;
+package org.apache.felix.sigil.eclipse.internal.model.repository;
 
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.repository.IRepositoryType;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
 import org.eclipse.jface.preference.PreferenceStore;
 
 public class RepositoryModel implements IRepositoryModel {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryType.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryType.java
similarity index 93%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryType.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryType.java
index 30525a4..beaa0ea 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/model/repository/RepositoryType.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/model/repository/RepositoryType.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.model.repository;
+package org.apache.felix.sigil.eclipse.internal.model.repository;
 
-import org.cauldron.sigil.model.repository.IRepositoryType;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
 import org.eclipse.swt.graphics.Image;
 
 public class RepositoryType implements IRepositoryType {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/GlobalRepositoryManager.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/GlobalRepositoryManager.java
similarity index 77%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/GlobalRepositoryManager.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/GlobalRepositoryManager.java
index c974644..51bff92 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/GlobalRepositoryManager.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/GlobalRepositoryManager.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.internal.repository.eclipse.SigilRepositoryManager;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.internal.repository.eclipse.SigilRepositoryManager;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.repository.IRepositoryManager;
 
 public class GlobalRepositoryManager extends SigilRepositoryManager implements
 		IRepositoryManager {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepository.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepository.java
similarity index 85%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepository.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepository.java
index 186e962..7747dc9 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepository.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepository.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.io.File;
 import java.io.IOException;
@@ -28,15 +28,15 @@
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
 
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.install.IOSGiInstall;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstall;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepositoryProvider.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepositoryProvider.java
similarity index 84%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepositoryProvider.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepositoryProvider.java
index 043eb81..0d76fe8 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/OSGiInstallRepositoryProvider.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/OSGiInstallRepositoryProvider.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.util.Properties;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
 
 public class OSGiInstallRepositoryProvider implements IRepositoryProvider {
 	public IBundleRepository createRepository(String id, Properties preferences) {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/SigilRepositoryManager.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/SigilRepositoryManager.java
similarity index 89%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/SigilRepositoryManager.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/SigilRepositoryManager.java
index 0b4b757..8bd1095 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/SigilRepositoryManager.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/SigilRepositoryManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -28,15 +28,15 @@
 import java.util.Iterator;
 import java.util.Properties;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.repository.IRepositorySet;
-import org.cauldron.sigil.model.repository.IRepositoryType;
-import org.cauldron.sigil.repository.AbstractRepositoryManager;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IRepositoryProvider;
-import org.cauldron.sigil.repository.RepositoryException;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositorySet;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
+import org.apache.felix.sigil.repository.AbstractRepositoryManager;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.RepositoryException;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepository.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepository.java
similarity index 90%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepository.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepository.java
index d144e6f..076261e 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepository.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepository.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.repository.AbstractBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.AbstractBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceChangeEvent;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepositoryProvider.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepositoryProvider.java
similarity index 88%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepositoryProvider.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepositoryProvider.java
index b67aa25..3a2744c 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/internal/repository/eclipse/WorkspaceRepositoryProvider.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/internal/repository/eclipse/WorkspaceRepositoryProvider.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.internal.repository.eclipse;
+package org.apache.felix.sigil.eclipse.internal.repository.eclipse;
 
 import java.util.Properties;
 
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryProvider;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryProvider;
 import org.eclipse.core.resources.IResourceChangeEvent;
 import org.eclipse.core.resources.ResourcesPlugin;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ResolveProjectsJob.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ResolveProjectsJob.java
similarity index 89%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ResolveProjectsJob.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ResolveProjectsJob.java
index 243dccf..f2280e8 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ResolveProjectsJob.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ResolveProjectsJob.java
@@ -17,22 +17,22 @@
  * under the License.
  */
 
-package org.cauldron.sigil.job;
+package org.apache.felix.sigil.eclipse.job;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.repository.IBundleResolver;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
-import org.cauldron.sigil.repository.ResolutionMonitorAdapter;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IBundleResolver;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.repository.ResolutionMonitorAdapter;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ThreadProgressMonitor.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ThreadProgressMonitor.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ThreadProgressMonitor.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ThreadProgressMonitor.java
index 5c526d0..6d6989d 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/job/ThreadProgressMonitor.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/job/ThreadProgressMonitor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.job;
+package org.apache.felix.sigil.eclipse.job;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilModelRoot.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilModelRoot.java
similarity index 88%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilModelRoot.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilModelRoot.java
index 2c9b53a..e6a9a9a 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilModelRoot.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilModelRoot.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.project;
+package org.apache.felix.sigil.eclipse.model.project;
 
 import java.util.Collection;
 import java.util.List;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilProjectModel.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
similarity index 90%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilProjectModel.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
index ebb8fe9..f1a2b0a 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/project/ISigilProjectModel.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/project/ISigilProjectModel.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.project;
+package org.apache.felix.sigil.eclipse.model.project;
 
 import java.util.Collection;
 
-import org.cauldron.bld.config.IBldProject;
-import org.cauldron.bld.core.BldCore;
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.config.IBldProject;
+import org.apache.felix.sigil.core.BldCore;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryConfiguration.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryConfiguration.java
similarity index 91%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryConfiguration.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryConfiguration.java
index 7c62e6c..66487a4 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryConfiguration.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryConfiguration.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.repository;
+package org.apache.felix.sigil.eclipse.model.repository;
 
 import java.util.List;
 import java.util.Map;
 
-import org.cauldron.sigil.internal.model.repository.RepositoryType;
+import org.apache.felix.sigil.eclipse.internal.model.repository.RepositoryType;
 import org.eclipse.core.runtime.CoreException;
 
 public interface IRepositoryConfiguration {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryModel.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryModel.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryModel.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryModel.java
index 182998f..70fc90d 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryModel.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryModel.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.repository;
+package org.apache.felix.sigil.eclipse.model.repository;
 
 import org.eclipse.jface.preference.PreferenceStore;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositorySet.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositorySet.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositorySet.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositorySet.java
index b4e644b..acd6523 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositorySet.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositorySet.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.repository;
+package org.apache.felix.sigil.eclipse.model.repository;
 
 public interface IRepositorySet {
 	void setRepository(IRepositoryModel id, int position);
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryType.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryType.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryType.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryType.java
index 33df100..ed673fb 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/IRepositoryType.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/IRepositoryType.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.repository;
+package org.apache.felix.sigil.eclipse.model.repository;
 
 import org.eclipse.swt.graphics.Image;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/RepositorySet.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/RepositorySet.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/RepositorySet.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/RepositorySet.java
index 5630a6d..557cb77 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/repository/RepositorySet.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/repository/RepositorySet.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.repository;
+package org.apache.felix.sigil.eclipse.model.repository;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/Grep.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/Grep.java
similarity index 98%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/Grep.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/Grep.java
index b2c7854..009f2f1 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/Grep.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/Grep.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.util;
+package org.apache.felix.sigil.eclipse.model.util;
 
 import java.io.FileInputStream;
 import java.io.IOException;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/JavaHelper.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/JavaHelper.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/JavaHelper.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/JavaHelper.java
index 1c87c87..a28771f 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/JavaHelper.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/JavaHelper.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.util;
+package org.apache.felix.sigil.eclipse.model.util;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -38,23 +38,23 @@
 import java.util.jar.JarInputStream;
 import java.util.regex.Pattern;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.eclipse.ISCAComposite;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IResolution;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
-import org.cauldron.sigil.repository.ResolutionMonitorAdapter;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.eclipse.ISCAComposite;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IResolution;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.repository.ResolutionMonitorAdapter;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ModelHelper.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ModelHelper.java
similarity index 82%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ModelHelper.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ModelHelper.java
index a9f5017..690fc8a 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ModelHelper.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ModelHelper.java
@@ -17,19 +17,19 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.util;
+package org.apache.felix.sigil.eclipse.model.util;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public class ModelHelper {
 	public static List<IModelElement> findUsers(IModelElement e) {
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ProfileManager.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ProfileManager.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ProfileManager.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ProfileManager.java
index b42287c..751a0bb 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/model/util/ProfileManager.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/model/util/ProfileManager.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.model.util;
+package org.apache.felix.sigil.eclipse.model.util;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -28,9 +28,9 @@
 import java.util.Properties;
 import java.util.regex.Pattern;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.utils.GlobCompiler;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.utils.GlobCompiler;
 import org.eclipse.core.runtime.Platform;
 import org.osgi.framework.Bundle;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/nature/SigilProjectNature.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/nature/SigilProjectNature.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/nature/SigilProjectNature.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/nature/SigilProjectNature.java
index b425fa2..7908789 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/nature/SigilProjectNature.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/nature/SigilProjectNature.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.nature;
+package org.apache.felix.sigil.eclipse.nature;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IProjectNature;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PrefsUtils.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PrefsUtils.java
similarity index 96%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PrefsUtils.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PrefsUtils.java
index 0635220..8e17fd8 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PrefsUtils.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PrefsUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.preferences;
+package org.apache.felix.sigil.eclipse.preferences;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PromptablePreference.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PromptablePreference.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PromptablePreference.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PromptablePreference.java
index 4feb070..235f626 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/PromptablePreference.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/PromptablePreference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.preferences;
+package org.apache.felix.sigil.eclipse.preferences;
 
 public enum PromptablePreference {
 	Always, Prompt, Never
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/SigilPreferencesInitializer.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/SigilPreferencesInitializer.java
similarity index 88%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/SigilPreferencesInitializer.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/SigilPreferencesInitializer.java
index 6d2e1e2..5f81c12 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/preferences/SigilPreferencesInitializer.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/preferences/SigilPreferencesInitializer.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.preferences;
+package org.apache.felix.sigil.eclipse.preferences;
 
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.internal.model.repository.RepositoryConfiguration;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.internal.model.repository.RepositoryConfiguration;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
 import org.eclipse.jface.preference.IPreferenceStore;
 
diff --git a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/property/SigilPropertyTester.java b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/property/SigilPropertyTester.java
similarity index 94%
rename from sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/property/SigilPropertyTester.java
rename to sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/property/SigilPropertyTester.java
index ae85568..34f3adf 100644
--- a/sigil/org.cauldron.sigil.core/src/org/cauldron/sigil/property/SigilPropertyTester.java
+++ b/sigil/org.cauldron.sigil.core/src/org/apache/felix/sigil/eclipse/property/SigilPropertyTester.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.property;
+package org.apache.felix.sigil.eclipse.property;
 
-import org.cauldron.sigil.SigilCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
 import org.eclipse.core.expressions.PropertyTester;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
index 97cd5ab..1be94c9 100644
--- a/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
@@ -14,5 +14,5 @@
  org.cauldron.sigil.core;bundle-version="0.5.5"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Import-Package: org.cauldron.sigil.model.eclipse,
+Import-Package: org.apache.felix.sigil.model.eclipse,
  org.eclipse.core.resources
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
index 34d08da..9f2b643 100644
--- a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
@@ -19,7 +19,7 @@
 
 package org.cauldron.sigil.cheatsheets.actions;
 
-import org.cauldron.sigil.ui.wizard.project.SigilProjectWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.project.SigilProjectWizard;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.cheatsheets.ICheatSheetAction;
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
index a851e3d..3912402 100644
--- a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
@@ -19,9 +19,9 @@
 
 package org.cauldron.sigil.cheatsheets.actions;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.actions.ResolveProjectDependenciesAction;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.actions.ResolveProjectDependenciesAction;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
index ef48890..67cb12b 100644
--- a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
@@ -19,7 +19,7 @@
 
 package org.cauldron.sigil.cheatsheets.actions;
 
-import org.cauldron.sigil.SigilCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
 import org.eclipse.jface.action.Action;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
diff --git a/sigil/org.cauldron.sigil.junit/src/org/cauldron/sigil/junit/activator/Activator.java b/sigil/org.cauldron.sigil.junit/src/org/cauldron/sigil/junit/activator/Activator.java
index b9bbc32..a7fbe8b 100644
--- a/sigil/org.cauldron.sigil.junit/src/org/cauldron/sigil/junit/activator/Activator.java
+++ b/sigil/org.cauldron.sigil.junit/src/org/cauldron/sigil/junit/activator/Activator.java
@@ -19,7 +19,7 @@
 
 package org.cauldron.sigil.junit.activator;
 
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
diff --git a/sigil/org.cauldron.sigil.obr/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.obr/META-INF/MANIFEST.MF
index 9a09325..11d068b 100644
--- a/sigil/org.cauldron.sigil.obr/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.obr/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: OBR Plug-in
 Bundle-SymbolicName: org.cauldron.sigil.obr;singleton:=true
 Bundle-Version: 0.8.0.qualifier
-Bundle-Activator: org.cauldron.sigil.obr.Activator
+Bundle-Activator: org.apache.felix.sigil.obr.eclipse.Activator
 Bundle-Vendor: Paremus Ltd
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
@@ -12,5 +12,5 @@
  org.cauldron.bld.core
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Import-Package: org.cauldron.bld.obr,
- org.cauldron.sigil.model
+Import-Package: org.apache.felix.sigil.model,
+ org.cauldron.sigil.obr
diff --git a/sigil/org.cauldron.sigil.obr/plugin.xml b/sigil/org.cauldron.sigil.obr/plugin.xml
index 03b79c1..89819f8 100644
--- a/sigil/org.cauldron.sigil.obr/plugin.xml
+++ b/sigil/org.cauldron.sigil.obr/plugin.xml
@@ -31,7 +31,7 @@
    <extension
          point="org.cauldron.sigil.ui.repositorywizard">
       <wizard
-            class="org.cauldron.sigil.obr.OBRRepositoryWizard"
+            class="org.apache.felix.sigil.obr.eclipse.OBRRepositoryWizard"
             repository="org.cauldron.sigil.obr.provider">
       </wizard>
    </extension>
diff --git a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/Activator.java b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/Activator.java
similarity index 97%
rename from sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/Activator.java
rename to sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/Activator.java
index 4bad94b..45683c8 100644
--- a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/Activator.java
+++ b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/Activator.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.obr;
+package org.apache.felix.sigil.obr.eclipse;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
diff --git a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizard.java b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizard.java
similarity index 88%
rename from sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizard.java
rename to sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizard.java
index 79e0e72..8f06603 100644
--- a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizard.java
+++ b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizard.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.obr;
+package org.apache.felix.sigil.obr.eclipse;
 
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 
 public class OBRRepositoryWizard extends RepositoryWizard {
 	
diff --git a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizardPage.java b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizardPage.java
similarity index 93%
rename from sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizardPage.java
rename to sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizardPage.java
index a607ac1..babb384 100644
--- a/sigil/org.cauldron.sigil.obr/src/org/cauldron/sigil/obr/OBRRepositoryWizardPage.java
+++ b/sigil/org.cauldron.sigil.obr/src/org/apache/felix/sigil/obr/eclipse/OBRRepositoryWizardPage.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.obr;
+package org.apache.felix.sigil.obr.eclipse;
 
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizardPage;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizardPage;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.DirectoryFieldEditor;
diff --git a/sigil/org.cauldron.sigil.search/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.search/META-INF/MANIFEST.MF
index 7a97ca1..f9bb4fb 100644
--- a/sigil/org.cauldron.sigil.search/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.search/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: Search Plug-in
 Bundle-SymbolicName: org.cauldron.sigil.search;singleton:=true
 Bundle-Version: 0.8.0.qualifier
-Bundle-Activator: org.cauldron.sigil.search.SigilSearch
+Bundle-Activator: org.apache.felix.sigil.search.SigilSearch
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.jdt.core;bundle-version="3.4.0",
@@ -12,6 +12,6 @@
  org.eclipse.core.resources;bundle-version="3.4.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.cauldron.sigil.search
+Export-Package: org.apache.felix.sigil.search
 Bundle-ClassPath: lib/bcel-5.2.jar,
  .
diff --git a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/ISearchResult.java b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/ISearchResult.java
similarity index 85%
rename from sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/ISearchResult.java
rename to sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/ISearchResult.java
index f47deed..9a04a25 100644
--- a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/ISearchResult.java
+++ b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/ISearchResult.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.search;
+package org.apache.felix.sigil.search;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
 
 public interface ISearchResult {
 	ISigilBundle getProvider();
diff --git a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/SigilSearch.java b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/SigilSearch.java
similarity index 91%
rename from sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/SigilSearch.java
rename to sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/SigilSearch.java
index 79ca623..709b015 100644
--- a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/SigilSearch.java
+++ b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/SigilSearch.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.search;
+package org.apache.felix.sigil.search;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -33,16 +33,16 @@
 
 import org.apache.bcel.classfile.ClassParser;
 import org.apache.bcel.classfile.JavaClass;
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryChangeListener;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
-import org.cauldron.sigil.repository.RepositoryChangeEvent;
-import org.cauldron.sigil.search.index.Index;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryChangeListener;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.repository.RepositoryChangeEvent;
+import org.apache.felix.sigil.search.index.Index;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jdt.core.ICompilationUnit;
diff --git a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/index/Index.java b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/index/Index.java
similarity index 93%
rename from sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/index/Index.java
rename to sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/index/Index.java
index b62421f..a9501f7 100644
--- a/sigil/org.cauldron.sigil.search/src/org/cauldron/sigil/search/index/Index.java
+++ b/sigil/org.cauldron.sigil.search/src/org/apache/felix/sigil/search/index/Index.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.search.index;
+package org.apache.felix.sigil.search.index;
 
 import java.lang.ref.SoftReference;
 import java.util.Collections;
@@ -31,13 +31,13 @@
 import java.util.regex.Pattern;
 
 import org.apache.bcel.classfile.JavaClass;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.search.ISearchResult;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.search.ISearchResult;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IJavaElement;
diff --git a/sigil/org.cauldron.sigil.ui/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.ui/META-INF/MANIFEST.MF
index 4b4103a..e28f274 100644
--- a/sigil/org.cauldron.sigil.ui/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.ui/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: Ui Plug-in
 Bundle-SymbolicName: org.cauldron.sigil.ui;singleton:=true
 Bundle-Version: 0.8.0.qualifier
-Bundle-Activator: org.cauldron.sigil.ui.SigilUI
+Bundle-Activator: org.apache.felix.sigil.ui.eclipse.ui.SigilUI
 Bundle-Vendor: Paremus Ltd
 Require-Bundle: org.cauldron.sigil.core,
  org.cauldron.bld.core,
@@ -24,11 +24,11 @@
  org.eclipse.zest.layouts;bundle-version="[1,2)",
  org.eclipse.ltk.core.refactoring
 Eclipse-LazyStart: true
-Export-Package: org.cauldron.sigil.actions,
- org.cauldron.sigil.handlers,
- org.cauldron.sigil.ui,
- org.cauldron.sigil.ui.util,
- org.cauldron.sigil.ui.wizard.project,
- org.cauldron.sigil.ui.wizard.repository
+Export-Package: org.apache.felix.sigil.ui.eclipse.actions,
+ org.apache.felix.sigil.ui.eclipse.handlers,
+ org.apache.felix.sigil.ui.eclipse.ui,
+ org.apache.felix.sigil.ui.eclipse.ui.util,
+ org.apache.felix.sigil.ui.eclipse.ui.wizard.project,
+ org.apache.felix.sigil.ui.eclipse.ui.wizard.repository
 Bundle-Localization: plugin
 
diff --git a/sigil/org.cauldron.sigil.ui/plugin.xml b/sigil/org.cauldron.sigil.ui/plugin.xml
index d8b96a5..2c1d730 100644
--- a/sigil/org.cauldron.sigil.ui/plugin.xml
+++ b/sigil/org.cauldron.sigil.ui/plugin.xml
@@ -22,7 +22,7 @@
    <extension-point id="org.cauldron.sigil.ui.repositorywizard" name="Repository Wizard" schema="schema/org.cauldron.sigil.ui.repositorywizard.exsd"/>
       <extension
          point="org.eclipse.ui.startup">
-      <startup class="org.cauldron.sigil.startup.SigilStartup"/>
+      <startup class="org.apache.felix.sigil.ui.eclipse.startup.SigilStartup"/>
    </extension>
    <extension
          point="org.eclipse.ui.newWizards">
@@ -31,7 +31,7 @@
             name="Sigil"/>
       <wizard
             category="org.cauldron.sigil.newWizardCategory"
-            class="org.cauldron.sigil.ui.wizard.project.SigilProjectWizard"
+            class="org.apache.felix.sigil.ui.eclipse.ui.wizard.project.SigilProjectWizard"
             finalPerspective="org.cauldron.sigil.ui.perspective"
             icon="etc/images/newton.png"
             id="org.cauldron.sigil.editors.newProjectWizard"
@@ -41,7 +41,7 @@
    <extension
          point="org.eclipse.ui.preferencePages">
       <page
-            class="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.SigilPreferencePage"
             id="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
             name="Sigil"/>
       <!--page
@@ -52,25 +52,25 @@
       </page-->
       <page
             category="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
-            class="org.cauldron.sigil.ui.preferences.repository.RepositoriesPreferencePage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.repository.RepositoriesPreferencePage"
             id="org.cauldron.sigil.ui.preferences.repositoriesPreferencePage"
             name="%repositoriesPrefPage">
       </page>
       <page
             category="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
-            class="org.cauldron.sigil.ui.preferences.ExcludedResourcesPrefsPage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.ExcludedResourcesPrefsPage"
             id="org.cauldron.sigil.ui.preferences.excludedResources"
             name="Excluded Resources">
       </page>
       <page
             category="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
-            class="org.cauldron.sigil.ui.preferences.VersionsPreferencePage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.VersionsPreferencePage"
             id="org.cauldron.sigil.ui.preferences.VersionsPreferencePage"
             name="Version Handling">
       </page>
       <page
             category="org.cauldron.sigil.ui.preferences.SigilPreferencePage"
-            class="org.cauldron.sigil.ui.preferences.installs.OSGiInstallsPreferencePage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.installs.OSGiInstallsPreferencePage"
             id="org.cauldron.sigil.ui.preferences.newtonInstalls"
             name="Newton Installs">
       </page>
@@ -78,7 +78,7 @@
    <extension
          point="org.eclipse.ui.editors">
       <editor
-            class="org.cauldron.sigil.ui.editors.project.SigilProjectEditorPart"
+            class="org.apache.felix.sigil.ui.eclipse.ui.editors.project.SigilProjectEditorPart"
             default="true"
             filenames="sigil.properties"
             icon="etc/images/newton.png"
@@ -88,19 +88,19 @@
    <extension
          point="org.eclipse.jdt.core.classpathContainerInitializer">
       <classpathContainerInitializer
-            class="org.cauldron.sigil.classpath.SigilClasspathContainerInitializer"
+            class="org.apache.felix.sigil.ui.eclipse.classpath.SigilClasspathContainerInitializer"
             id="org.cauldron.sigil.core.classpathContainer"/>
    </extension>
    <extension
          point="org.eclipse.jdt.ui.classpathContainerPage">
       <classpathContainerPage
-            class="org.cauldron.sigil.classpath.SigilLibraryPage"        id="org.cauldron.sigil.core.classpathContainer"
+            class="org.apache.felix.sigil.ui.eclipse.classpath.SigilLibraryPage"        id="org.cauldron.sigil.core.classpathContainer"
             name="Sigil Library"/>
    </extension>
    <extension
          point="org.eclipse.ui.perspectives">
       <perspective
-            class="org.cauldron.sigil.ui.perspective.SigilPerspectiveFactory"
+            class="org.apache.felix.sigil.ui.eclipse.ui.perspective.SigilPerspectiveFactory"
             icon="etc/images/newton.png"
             id="org.cauldron.sigil.ui.perspective"
             name="Sigil">
@@ -109,7 +109,7 @@
    <extension
          point="org.eclipse.jdt.ui.quickFixProcessors">
       <quickFixProcessor
-            class="org.cauldron.sigil.ui.quickfix.ImportQuickFixProcessor"
+            class="org.apache.felix.sigil.ui.eclipse.ui.quickfix.ImportQuickFixProcessor"
             id="org.cauldron.sigil.ui.quickFixProcessor1">
       </quickFixProcessor>
    </extension>
@@ -118,7 +118,7 @@
       <view
             allowMultiple="false"
             category="org.cauldron.sigil.ui.views"
-            class="org.cauldron.sigil.ui.views.resolution.BundleResolverView"
+            class="org.apache.felix.sigil.ui.eclipse.ui.views.resolution.BundleResolverView"
             icon="icons/jar_web_obj.png"
             id="org.cauldron.sigil.ui.bundleDependencyView"
             name="Bundle Dependency View"
@@ -127,7 +127,7 @@
       <view
             allowMultiple="false"
             category="org.cauldron.sigil.ui.views"
-            class="org.cauldron.sigil.ui.views.RepositoryViewPart"
+            class="org.apache.felix.sigil.ui.eclipse.ui.views.RepositoryViewPart"
             icon="icons/jars_obj.png"
             id="org.cauldron.sigil.ui.repositoryBrowser"
             name="Repository Browser"
@@ -141,7 +141,7 @@
    <extension
          point="org.cauldron.sigil.ui.repositorywizard">
       <wizard
-            class="org.cauldron.sigil.ui.internal.repository.FileSystemRepositoryWizard"
+            class="org.apache.felix.sigil.ui.eclipse.ui.internal.repository.FileSystemRepositoryWizard"
             repository="org.cauldron.sigil.core.file">
       </wizard>
    </extension>
@@ -155,14 +155,14 @@
    <extension
          point="org.eclipse.ltk.core.refactoring.refactoringContributions">
       <contribution
-            class="org.cauldron.sigil.ui.refactor.RenameCompositeRefactoring"
+            class="org.apache.felix.sigil.ui.eclipse.ui.refactor.RenameCompositeRefactoring"
             id="org.cauldron.sigil.ui.rename.composite">
       </contribution>
    </extension>
    <extension
          point="org.eclipse.ui.propertyPages">
       <page
-            class="org.cauldron.sigil.ui.preferences.project.ProjectPropertyPage"
+            class="org.apache.felix.sigil.ui.eclipse.ui.preferences.project.ProjectPropertyPage"
             id="org.cauldron.sigil.ui.projectpage"
             name="Repositories">
          <filter
@@ -232,7 +232,7 @@
    <extension
          point="org.eclipse.ui.handlers">
       <handler
-            class="org.cauldron.sigil.handlers.project.ConvertProjectHandler"
+            class="org.apache.felix.sigil.ui.eclipse.handlers.project.ConvertProjectHandler"
             commandId="org.cauldron.sigil.ui.convertproject">
          <activeWhen>
             <with
@@ -252,7 +252,7 @@
          </activeWhen>
       </handler>      
       <handler
-            class="org.cauldron.sigil.handlers.project.RefreshSigilClasspathHandler"
+            class="org.apache.felix.sigil.ui.eclipse.handlers.project.RefreshSigilClasspathHandler"
             commandId="org.cauldron.sigil.ui.refreshclasspath">
          <activeWhen>
             <with
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/DisplayAction.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/DisplayAction.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/DisplayAction.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/DisplayAction.java
index 852f972..58c7f80 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/DisplayAction.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/DisplayAction.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.actions;
+package org.apache.felix.sigil.ui.eclipse.actions;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.dialogs.MessageDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/PruneProjectDependenciesAction.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/PruneProjectDependenciesAction.java
similarity index 87%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/PruneProjectDependenciesAction.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/PruneProjectDependenciesAction.java
index 86886bd..6481880 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/PruneProjectDependenciesAction.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/PruneProjectDependenciesAction.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.actions;
+package org.apache.felix.sigil.ui.eclipse.actions;
 
 import java.util.Collection;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.util.ResourceReviewDialog;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourceReviewDialog;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/RefreshRepositoryAction.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/RefreshRepositoryAction.java
similarity index 85%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/RefreshRepositoryAction.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/RefreshRepositoryAction.java
index 39d3abd..77d0fd4 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/RefreshRepositoryAction.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/RefreshRepositoryAction.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.actions;
+package org.apache.felix.sigil.ui.eclipse.actions;
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.SubMonitor;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/ResolveProjectDependenciesAction.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/ResolveProjectDependenciesAction.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/ResolveProjectDependenciesAction.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/ResolveProjectDependenciesAction.java
index 1f1ec1e..719df19 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/actions/ResolveProjectDependenciesAction.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/actions/ResolveProjectDependenciesAction.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.actions;
+package org.apache.felix.sigil.ui.eclipse.actions;
 
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.util.ResourceReviewDialog;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourceReviewDialog;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClassPathContainer.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClassPathContainer.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClassPathContainer.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClassPathContainer.java
index 69d8894..4646ac0 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClassPathContainer.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClassPathContainer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.classpath;
+package org.apache.felix.sigil.ui.eclipse.classpath;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.job.ThreadProgressMonitor;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.job.ThreadProgressMonitor;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClasspathContainerInitializer.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClasspathContainerInitializer.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClasspathContainerInitializer.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClasspathContainerInitializer.java
index f0229ee..3acb68b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilClasspathContainerInitializer.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilClasspathContainerInitializer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.classpath;
+package org.apache.felix.sigil.ui.eclipse.classpath;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.job.*;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.job.*;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilLibraryPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilLibraryPage.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilLibraryPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilLibraryPage.java
index cd73c8f..5453e77 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/classpath/SigilLibraryPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/classpath/SigilLibraryPage.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.classpath;
+package org.apache.felix.sigil.ui.eclipse.classpath;
 
-import org.cauldron.sigil.SigilCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.JavaCore;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/AbstractResourceCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/AbstractResourceCommandHandler.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/AbstractResourceCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/AbstractResourceCommandHandler.java
index 94184a9..a7dae76 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/AbstractResourceCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/AbstractResourceCommandHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers;
+package org.apache.felix.sigil.ui.eclipse.handlers;
 
 import org.eclipse.core.commands.AbstractHandler;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/EditorResourceCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/EditorResourceCommandHandler.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/EditorResourceCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/EditorResourceCommandHandler.java
index 8bbcc6f..b637cf1 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/EditorResourceCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/EditorResourceCommandHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers;
+package org.apache.felix.sigil.ui.eclipse.handlers;
 
 import java.lang.reflect.InvocationTargetException;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/IResourceCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/IResourceCommandHandler.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/IResourceCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/IResourceCommandHandler.java
index a1eb206..04cc045 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/IResourceCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/IResourceCommandHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers;
+package org.apache.felix.sigil.ui.eclipse.handlers;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/SelectionResourceCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/SelectionResourceCommandHandler.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/SelectionResourceCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/SelectionResourceCommandHandler.java
index b96cc73..e40da15 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/SelectionResourceCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/SelectionResourceCommandHandler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers;
+package org.apache.felix.sigil.ui.eclipse.handlers;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectCommandHandler.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectCommandHandler.java
index 8e93c4e..0aaed76 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectCommandHandler.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers.project;
+package org.apache.felix.sigil.ui.eclipse.handlers.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.handlers.IResourceCommandHandler;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.handlers.IResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectHandler.java
similarity index 82%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectHandler.java
index bf012f8..0656905 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/ConvertProjectHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/ConvertProjectHandler.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers.project;
+package org.apache.felix.sigil.ui.eclipse.handlers.project;
 
-import org.cauldron.sigil.handlers.IResourceCommandHandler;
-import org.cauldron.sigil.handlers.SelectionResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.handlers.IResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.handlers.SelectionResourceCommandHandler;
 
 public class ConvertProjectHandler extends SelectionResourceCommandHandler {
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathCommandHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathCommandHandler.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathCommandHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathCommandHandler.java
index 0df3770..140d1ee 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathCommandHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathCommandHandler.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers.project;
+package org.apache.felix.sigil.ui.eclipse.handlers.project;
 
 import java.lang.reflect.InvocationTargetException;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.handlers.IResourceCommandHandler;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.handlers.IResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathHandler.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathHandler.java
similarity index 82%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathHandler.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathHandler.java
index 6dc20bb..25fbd41 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/handlers/project/RefreshSigilClasspathHandler.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/handlers/project/RefreshSigilClasspathHandler.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.handlers.project;
+package org.apache.felix.sigil.ui.eclipse.handlers.project;
 
-import org.cauldron.sigil.handlers.IResourceCommandHandler;
-import org.cauldron.sigil.handlers.SelectionResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.handlers.IResourceCommandHandler;
+import org.apache.felix.sigil.ui.eclipse.handlers.SelectionResourceCommandHandler;
 
 public class RefreshSigilClasspathHandler extends SelectionResourceCommandHandler {
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/startup/SigilStartup.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/startup/SigilStartup.java
similarity index 84%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/startup/SigilStartup.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/startup/SigilStartup.java
index 3f437bd..ce00ffb 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/startup/SigilStartup.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/startup/SigilStartup.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.startup;
+package org.apache.felix.sigil.ui.eclipse.startup;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.job.ResolveProjectsJob;
-import org.cauldron.sigil.repository.IRepositoryChangeListener;
-import org.cauldron.sigil.repository.RepositoryChangeEvent;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.job.ResolveProjectsJob;
+import org.apache.felix.sigil.repository.IRepositoryChangeListener;
+import org.apache.felix.sigil.repository.RepositoryChangeEvent;
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.ui.IStartup;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/SigilUI.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/SigilUI.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/SigilUI.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/SigilUI.java
index a3c70d5..43fdabd 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/SigilUI.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/SigilUI.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui;
+package org.apache.felix.sigil.ui.eclipse.ui;
 
 import java.io.InputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
-import org.cauldron.sigil.SigilCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.resource.ImageRegistry;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/completion/CompletionProposal.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/completion/CompletionProposal.java
similarity index 98%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/completion/CompletionProposal.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/completion/CompletionProposal.java
index b8e7d2e..7e10863 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/completion/CompletionProposal.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/completion/CompletionProposal.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.completion;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.completion;
 
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/AbstractResourceSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/AbstractResourceSection.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/AbstractResourceSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/AbstractResourceSection.java
index 2ba92ca..a6d11ad 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/AbstractResourceSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/AbstractResourceSection.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.io.File;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/BundleDependencySection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/BundleDependencySection.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/BundleDependencySection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/BundleDependencySection.java
index 0750e0f..d21598b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/BundleDependencySection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/BundleDependencySection.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.ISelection;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ClasspathSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ClasspathSection.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ClasspathSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ClasspathSection.java
index 311acca..789aeb5 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ClasspathSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ClasspathSection.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 
 import java.util.ArrayList;
@@ -27,15 +27,15 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
-import org.cauldron.sigil.ui.util.BackgroundLoadingSelectionDialog;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.IFilter;
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
+import org.apache.felix.sigil.ui.eclipse.ui.util.BackgroundLoadingSelectionDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.IFilter;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.JavaModelException;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContainerTreeProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContainerTreeProvider.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContainerTreeProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContainerTreeProvider.java
index 5d091fb..f775ec3 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContainerTreeProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContainerTreeProvider.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.ui.util.DefaultTreeContentProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTreeContentProvider;
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentSummarySection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentSummarySection.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentSummarySection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentSummarySection.java
index 7d1fbcb..bb9abed 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentSummarySection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentSummarySection.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentsForm.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentsForm.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentsForm.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentsForm.java
index 62d58a8..75fdde4 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ContentsForm.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ContentsForm.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependenciesForm.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependenciesForm.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependenciesForm.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependenciesForm.java
index 1c28ba5..3dbce0c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependenciesForm.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependenciesForm.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependencyManagementSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependencyManagementSection.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependencyManagementSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependencyManagementSection.java
index aadf990..234b83f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DependencyManagementSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DependencyManagementSection.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -25,20 +25,20 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
-import org.cauldron.sigil.ui.util.AccumulatorAdapter;
-import org.cauldron.sigil.ui.util.ExportedPackageFinder;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
+import org.apache.felix.sigil.ui.eclipse.ui.util.AccumulatorAdapter;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ExportedPackageFinder;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DownloadSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DownloadSection.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DownloadSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DownloadSection.java
index ad2e705..eff4321 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/DownloadSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/DownloadSection.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 
 
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.IDownloadJar;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.IDownloadJar;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExcludedResourcesFilter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExcludedResourcesFilter.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExcludedResourcesFilter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExcludedResourcesFilter.java
index 4f91445..87db86d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExcludedResourcesFilter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExcludedResourcesFilter.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.HashSet;
 import java.util.Set;
 import java.util.regex.Pattern;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.preferences.PrefsUtils;
-import org.cauldron.sigil.utils.GlobCompiler;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.preferences.PrefsUtils;
+import org.apache.felix.sigil.utils.GlobCompiler;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.Viewer;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportPackagesSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportPackagesSection.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportPackagesSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportPackagesSection.java
index 406a5e5..92d141c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportPackagesSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportPackagesSection.java
@@ -17,24 +17,24 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Iterator;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.preferences.OptionalPrompt;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.ResourcesDialogHelper;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.preferences.OptionalPrompt;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IPackageFragment;
 import org.eclipse.jface.preference.IPreferenceStore;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportsForm.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportsForm.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportsForm.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportsForm.java
index 7a6fe3c..0ef1d7f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ExportsForm.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ExportsForm.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/GeneralInfoSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/GeneralInfoSection.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/GeneralInfoSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/GeneralInfoSection.java
index 4200712..916f95c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/GeneralInfoSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/GeneralInfoSection.java
@@ -17,20 +17,20 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.IFormValueConverter;
-import org.cauldron.sigil.ui.form.SigilFormEntry;
-import org.cauldron.sigil.ui.form.SigilFormEntryAdapter;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
-import org.cauldron.sigil.ui.util.BackgroundLoadingSelectionDialog;
-import org.cauldron.sigil.ui.util.ResourcesDialogHelper;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.form.IFormValueConverter;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilFormEntry;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilFormEntryAdapter;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
+import org.apache.felix.sigil.ui.eclipse.ui.util.BackgroundLoadingSelectionDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.SWT;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IDependencyChecker.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IDependencyChecker.java
similarity index 84%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IDependencyChecker.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IDependencyChecker.java
index 556c5e9..c99b6c2 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IDependencyChecker.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IDependencyChecker.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public interface IDependencyChecker {
 	boolean isSatisfied(IPackageImport packageImport);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IElementDescriptor.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IElementDescriptor.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IElementDescriptor.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IElementDescriptor.java
index 4aa2953..7049e3d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/IElementDescriptor.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/IElementDescriptor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 public interface IElementDescriptor<E> {	
 	/**
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ImportPackagesSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ImportPackagesSection.java
similarity index 87%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ImportPackagesSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ImportPackagesSection.java
index 9403075..93cc7e2 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ImportPackagesSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ImportPackagesSection.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -25,15 +25,15 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IPackageModelElement;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.ResourcesDialogHelper;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IPackageModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewPackageExportDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewPackageExportDialog.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewPackageExportDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewPackageExportDialog.java
index 02289d6..bf6f83b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewPackageExportDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewPackageExportDialog.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Comparator;
 
-import org.cauldron.sigil.ui.util.BackgroundLoadingSelectionDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.util.BackgroundLoadingSelectionDialog;
 import org.eclipse.jdt.core.IPackageFragment;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewResourceSelectionDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewResourceSelectionDialog.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewResourceSelectionDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewResourceSelectionDialog.java
index 59812cc..db09307 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/NewResourceSelectionDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/NewResourceSelectionDialog.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.osgi.IVersionedModelElement;
-import org.cauldron.sigil.ui.util.BackgroundLoadingSelectionDialog;
-import org.cauldron.sigil.ui.util.IValidationListener;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.osgi.IVersionedModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.util.BackgroundLoadingSelectionDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.util.IValidationListener;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/OverviewForm.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/OverviewForm.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/OverviewForm.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/OverviewForm.java
index a948427..c044515 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/OverviewForm.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/OverviewForm.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PackageExportDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PackageExportDialog.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PackageExportDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PackageExportDialog.java
index 80c2328..fb82550 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PackageExportDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PackageExportDialog.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.ViewerFilter;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectLabelProvider.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectLabelProvider.java
index ca745f5..3a23d0e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectLabelProvider.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.io.InputStream;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.ui.util.DefaultLabelProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultLabelProvider;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IPackageFragment;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectTableViewer.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectTableViewer.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectTableViewer.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectTableViewer.java
index 362de5b..3ba1ec5 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ProjectTableViewer.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ProjectTableViewer.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.Set;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.widgets.Table;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PropertiesForm.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PropertiesForm.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PropertiesForm.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PropertiesForm.java
index 1e069fd..4bba773 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/PropertiesForm.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/PropertiesForm.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.propertiesfileeditor.IPropertiesFilePartitions;
 import org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileSourceViewerConfiguration;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/RequiresBundleSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/RequiresBundleSection.java
similarity index 84%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/RequiresBundleSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/RequiresBundleSection.java
index 5adf84d..0c45b5e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/RequiresBundleSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/RequiresBundleSection.java
@@ -17,23 +17,23 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 
 import java.util.Iterator;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.ResourcesDialogHelper;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceBuildSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceBuildSection.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceBuildSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceBuildSection.java
index efd61d6..9ddbe34 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceBuildSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceBuildSection.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceChangeListener;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceImportDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceImportDialog.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceImportDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceImportDialog.java
index e50fb21..68fd401 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceImportDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceImportDialog.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.ViewerFilter;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceSelectDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceSelectDialog.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceSelectDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceSelectDialog.java
index e967548..c923377 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ResourceSelectDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ResourceSelectDialog.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
-import org.cauldron.sigil.ui.util.SingletonSelection;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.SingletonSelection;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilProjectEditorPart.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilProjectEditorPart.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
index c1fafaf..308a2ab 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilProjectEditorPart.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilProjectEditorPart.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.Collections;
@@ -25,14 +25,14 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilSourcePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilSourcePage.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilSourcePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilSourcePage.java
index 291c927..8391f37 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/SigilSourcePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/SigilSourcePage.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.runtime.IProgressMonitor;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/TestingSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/TestingSection.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/TestingSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/TestingSection.java
index ca0eb01..ae751e0 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/TestingSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/TestingSection.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtensionRegistry;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ToolsSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ToolsSection.java
similarity index 85%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ToolsSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ToolsSection.java
index 22d9824..7068562 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/ToolsSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/ToolsSection.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.actions.PruneProjectDependenciesAction;
-import org.cauldron.sigil.actions.ResolveProjectDependenciesAction;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.form.SigilPage;
-import org.cauldron.sigil.ui.form.SigilSection;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.actions.PruneProjectDependenciesAction;
+import org.apache.felix.sigil.ui.eclipse.actions.ResolveProjectDependenciesAction;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilPage;
+import org.apache.felix.sigil.ui.eclipse.ui.form.SigilSection;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionRangeComponent.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionRangeComponent.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionRangeComponent.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionRangeComponent.java
index 7591b38..f07d3c1 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionRangeComponent.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionRangeComponent.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.ui.util.IValidationListener;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.ui.eclipse.ui.util.IValidationListener;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyAdapter;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionsChangeListener.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionsChangeListener.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionsChangeListener.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionsChangeListener.java
index d97bdc2..a59cbad 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/VersionsChangeListener.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/VersionsChangeListener.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
-import org.cauldron.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRange;
 
 public interface VersionsChangeListener {
 	void versionsChanged(VersionRange range);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/WrappedContentProposal.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/WrappedContentProposal.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/WrappedContentProposal.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/WrappedContentProposal.java
index 6f0e397..3242a70 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/editors/project/WrappedContentProposal.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/editors/project/WrappedContentProposal.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.editors.project;
+package org.apache.felix.sigil.ui.eclipse.ui.editors.project;
 
 import org.eclipse.jface.fieldassist.IContentProposal;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/IFormValueConverter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/IFormValueConverter.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/IFormValueConverter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/IFormValueConverter.java
index 34c8bb6..19f8ff2 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/IFormValueConverter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/IFormValueConverter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
 public interface IFormValueConverter {
 	String getLabel(Object value);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/ISigilFormEntryListener.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/ISigilFormEntryListener.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/ISigilFormEntryListener.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/ISigilFormEntryListener.java
index 89afefa..73934df 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/ISigilFormEntryListener.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/ISigilFormEntryListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
 public interface ISigilFormEntryListener {
 	void browseButtonSelected(SigilFormEntry form);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntry.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntry.java
similarity index 98%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntry.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntry.java
index ea5bf9d..f307672 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntry.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntry.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.FocusAdapter;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntryAdapter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntryAdapter.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntryAdapter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntryAdapter.java
index 3170d01..188a823 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilFormEntryAdapter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilFormEntryAdapter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
 public class SigilFormEntryAdapter implements ISigilFormEntryListener{
 	public void browseButtonSelected(SigilFormEntry form) {
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilPage.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilPage.java
index a2873ad..23ef4cf 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilPage.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
 import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.forms.editor.FormPage;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilSection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilSection.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilSection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilSection.java
index b825ec0..513a555 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/form/SigilSection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/form/SigilSection.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.form;
+package org.apache.felix.sigil.ui.eclipse.ui.form;
 
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizard.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizard.java
index df5314b..fecdc3b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizard.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.internal.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.internal.repository;
 
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 
 public class FileSystemRepositoryWizard extends RepositoryWizard {
 	@Override
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizardPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizardPage.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizardPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizardPage.java
index a46f7d9..1169e10 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/FileSystemRepositoryWizardPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/FileSystemRepositoryWizardPage.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.internal.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.internal.repository;
 
 import java.io.File;
 
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizardPage;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizardPage;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.DirectoryFieldEditor;
 import org.eclipse.jface.wizard.IWizardPage;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizard.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizard.java
index ae8da79..b6a205e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizard.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.internal.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.internal.repository;
 
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 
 public class OSGiInstallRepositoryWizard extends RepositoryWizard {
 	@Override
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizardPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizardPage.java
similarity index 82%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizardPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizardPage.java
index 772b151..8c5dc0d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/internal/repository/OSGiInstallRepositoryWizardPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/internal/repository/OSGiInstallRepositoryWizardPage.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.internal.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.internal.repository;
 
 import java.util.ArrayList;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.install.IOSGiInstall;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizardPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstall;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizardPage;
 import org.eclipse.jface.preference.RadioGroupFieldEditor;
 
 public class OSGiInstallRepositoryWizardPage extends RepositoryWizardPage {
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/perspective/SigilPerspectiveFactory.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/perspective/SigilPerspectiveFactory.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/perspective/SigilPerspectiveFactory.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/perspective/SigilPerspectiveFactory.java
index 34d428c..f6e2083 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/perspective/SigilPerspectiveFactory.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/perspective/SigilPerspectiveFactory.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.perspective;
+package org.apache.felix.sigil.ui.eclipse.ui.perspective;
 
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.debug.ui.IDebugUIConstants;
 import org.eclipse.jdt.ui.JavaUI;
 import org.eclipse.ui.IFolderLayout;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ExcludedResourcesPrefsPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ExcludedResourcesPrefsPage.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ExcludedResourcesPrefsPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ExcludedResourcesPrefsPage.java
index 134f3c3..af1e4de 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ExcludedResourcesPrefsPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ExcludedResourcesPrefsPage.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.preferences.PrefsUtils;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.preferences.PrefsUtils;
 import org.eclipse.core.internal.preferences.PrefsMessages;
 import org.eclipse.jface.dialogs.IInputValidator;
 import org.eclipse.jface.dialogs.InputDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryConfigurationDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryConfigurationDialog.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryConfigurationDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryConfigurationDialog.java
index d7b6786..265322e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryConfigurationDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryConfigurationDialog.java
@@ -17,20 +17,20 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.TreeSet;
 
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IPackageModelElement;
-import org.cauldron.sigil.ui.editors.project.NewResourceSelectionDialog;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.ResourcesDialogHelper;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IPackageModelElement;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.NewResourceSelectionDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ResourcesDialogHelper;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.dialogs.TitleAreaDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryPreferencePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryPreferencePage.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryPreferencePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryPreferencePage.java
index cf77287..fe3208a 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/LibraryPreferencePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/LibraryPreferencePage.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.TreeSet;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ILibrary;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.model.eclipse.ILibrary;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/OptionalPrompt.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/OptionalPrompt.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/OptionalPrompt.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/OptionalPrompt.java
index 45ace9f..460fce3 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/OptionalPrompt.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/OptionalPrompt.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
-import org.cauldron.sigil.preferences.PromptablePreference;
+import org.apache.felix.sigil.eclipse.preferences.PromptablePreference;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.MessageDialogWithToggle;
 import org.eclipse.jface.preference.IPreferenceStore;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ProjectDependentPreferencesPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ProjectDependentPreferencesPage.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ProjectDependentPreferencesPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ProjectDependentPreferencesPage.java
index 07a564c..d7846ea 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/ProjectDependentPreferencesPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/ProjectDependentPreferencesPage.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
-import org.cauldron.sigil.ui.util.ProjectUtils;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ProjectUtils;
 import org.eclipse.jface.preference.PreferencePage;
 
 public abstract class ProjectDependentPreferencesPage extends PreferencePage {
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/SigilPreferencePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/SigilPreferencePage.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/SigilPreferencePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/SigilPreferencePage.java
index 4a16093..fb717bf 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/SigilPreferencePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/SigilPreferencePage.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.preferences.PromptablePreference;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.preferences.PromptablePreference;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.RadioGroupFieldEditor;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/VersionsPreferencePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/VersionsPreferencePage.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/VersionsPreferencePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/VersionsPreferencePage.java
index 82cd79c..290467f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/VersionsPreferencePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/VersionsPreferencePage.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.swt.SWT;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/installs/OSGiInstallsPreferencePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/installs/OSGiInstallsPreferencePage.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/installs/OSGiInstallsPreferencePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/installs/OSGiInstallsPreferencePage.java
index 9e205d3..74dde4c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/installs/OSGiInstallsPreferencePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/installs/OSGiInstallsPreferencePage.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.installs;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.installs;
 
 import java.util.HashMap;
 import java.util.UUID;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.install.IOSGiInstallType;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.preferences.ProjectDependentPreferencesPage;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.install.IOSGiInstallType;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.preferences.ProjectDependentPreferencesPage;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/project/ProjectPropertyPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/project/ProjectPropertyPage.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/project/ProjectPropertyPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/project/ProjectPropertyPage.java
index cbfa165..ececc87 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/project/ProjectPropertyPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/project/ProjectPropertyPage.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.project;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.project;
 
 import java.util.concurrent.Callable;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.util.ProjectUtils;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ProjectUtils;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.preference.PreferenceDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/NewRepositoryWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/NewRepositoryWizard.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/NewRepositoryWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/NewRepositoryWizard.java
index bf410ae..3d16553 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/NewRepositoryWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/NewRepositoryWizard.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
-import org.cauldron.sigil.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
 import org.eclipse.jface.wizard.Wizard;
 
 public class NewRepositoryWizard extends Wizard {
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesPreferencePage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesPreferencePage.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesPreferencePage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesPreferencePage.java
index 9503a98..3e1baef 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesPreferencePage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesPreferencePage.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryConfiguration;
-import org.cauldron.sigil.model.repository.IRepositorySet;
-import org.cauldron.sigil.model.repository.RepositorySet;
-import org.cauldron.sigil.ui.preferences.ProjectDependentPreferencesPage;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryConfiguration;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositorySet;
+import org.apache.felix.sigil.eclipse.model.repository.RepositorySet;
+import org.apache.felix.sigil.ui.eclipse.ui.preferences.ProjectDependentPreferencesPage;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.swt.SWT;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesView.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesView.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesView.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesView.java
index f9394e7..5048d73 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoriesView.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoriesView.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.actions.RefreshRepositoryAction;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.ui.eclipse.actions.RefreshRepositoryAction;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetDialog.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetDialog.java
index 8136f55..09a63ba 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetDialog.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.ui.util.DefaultLabelProvider;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultLabelProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.TitleAreaDialog;
 import org.eclipse.jface.viewers.CheckboxTableViewer;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetsView.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetsView.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetsView.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetsView.java
index 0470675..af92242 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositorySetsView.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositorySetsView.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -25,12 +25,12 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.repository.IRepositorySet;
-import org.cauldron.sigil.model.repository.RepositorySet;
-import org.cauldron.sigil.ui.util.DefaultLabelProvider;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositorySet;
+import org.apache.felix.sigil.eclipse.model.repository.RepositorySet;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultLabelProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryTypeSelectionPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryTypeSelectionPage.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryTypeSelectionPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryTypeSelectionPage.java
index 3dfe8b8..5a7ce11 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryTypeSelectionPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryTypeSelectionPage.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.repository.IRepositoryType;
-import org.cauldron.sigil.ui.util.DefaultTableProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTableProvider;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.LabelProvider;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryViewData.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryViewData.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryViewData.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryViewData.java
index 85124c7..171ab3b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryViewData.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryViewData.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
-import org.cauldron.sigil.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
 
 class RepositoryViewData {
 	private String name;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryWizardNode.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryWizardNode.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryWizardNode.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryWizardNode.java
index 5ea458a..ab92a62 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/RepositoryWizardNode.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/RepositoryWizardNode.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.wizard.IWizard;
 import org.eclipse.jface.wizard.IWizardNode;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/WizardHelper.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/WizardHelper.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/WizardHelper.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/WizardHelper.java
index 101b57e..f41da6c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/preferences/repository/WizardHelper.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/preferences/repository/WizardHelper.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.preferences.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.preferences.repository;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.repository.IRepositoryType;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.wizard.repository.RepositoryWizard;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryType;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.repository.RepositoryWizard;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportPackageProposal.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportPackageProposal.java
similarity index 84%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportPackageProposal.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportPackageProposal.java
index 163154d..4e8ecf5 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportPackageProposal.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportPackageProposal.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.quickfix;
+package org.apache.felix.sigil.ui.eclipse.ui.quickfix;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportQuickFixProcessor.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportQuickFixProcessor.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportQuickFixProcessor.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportQuickFixProcessor.java
index ac3f9ba..18f37b8 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportQuickFixProcessor.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportQuickFixProcessor.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.quickfix;
+package org.apache.felix.sigil.ui.eclipse.ui.quickfix;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.search.ISearchResult;
-import org.cauldron.sigil.search.SigilSearch;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.search.ISearchResult;
+import org.apache.felix.sigil.search.SigilSearch;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.ICompilationUnit;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportSearchResultProposal.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportSearchResultProposal.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportSearchResultProposal.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportSearchResultProposal.java
index fbbf524..4d0e289 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportSearchResultProposal.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportSearchResultProposal.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.quickfix;
+package org.apache.felix.sigil.ui.eclipse.ui.quickfix;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ModelElementFactory;
-import org.cauldron.sigil.model.ModelElementFactoryException;
-import org.cauldron.sigil.model.common.VersionRange;
-import org.cauldron.sigil.model.common.VersionRangeBoundingRule;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.search.ISearchResult;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.ModelElementFactory;
+import org.apache.felix.sigil.model.ModelElementFactoryException;
+import org.apache.felix.sigil.model.common.VersionRange;
+import org.apache.felix.sigil.model.common.VersionRangeBoundingRule;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.search.ISearchResult;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jdt.core.ICompilationUnit;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportedClassReference.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportedClassReference.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportedClassReference.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportedClassReference.java
index 3a264c2..ca234ec 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/quickfix/ImportedClassReference.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/quickfix/ImportedClassReference.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.quickfix;
+package org.apache.felix.sigil.ui.eclipse.ui.quickfix;
 
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 
 public class ImportedClassReference {
 	private IPackageImport pi;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/refactor/RenameCompositeRefactoring.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/refactor/RenameCompositeRefactoring.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/refactor/RenameCompositeRefactoring.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/refactor/RenameCompositeRefactoring.java
index ce5075f..7668804 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/refactor/RenameCompositeRefactoring.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/refactor/RenameCompositeRefactoring.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.refactor;
+package org.apache.felix.sigil.ui.eclipse.ui.refactor;
 
 import java.util.Map;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/AccumulatorAdapter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/AccumulatorAdapter.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/AccumulatorAdapter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/AccumulatorAdapter.java
index 3ad4fe9..309d549 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/AccumulatorAdapter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/AccumulatorAdapter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/BackgroundLoadingSelectionDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/BackgroundLoadingSelectionDialog.java
similarity index 98%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/BackgroundLoadingSelectionDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/BackgroundLoadingSelectionDialog.java
index 8ad02de..e22b620 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/BackgroundLoadingSelectionDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/BackgroundLoadingSelectionDialog.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -29,8 +29,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.cauldron.sigil.ui.editors.project.IElementDescriptor;
-import org.cauldron.sigil.ui.editors.project.WrappedContentProposal;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.IElementDescriptor;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.WrappedContentProposal;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.jobs.Job;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ColumnModelLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ColumnModelLabelProvider.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ColumnModelLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ColumnModelLabelProvider.java
index 2febfbd..39311fc 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ColumnModelLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ColumnModelLabelProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.swt.graphics.Image;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultContentProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultContentProvider.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultContentProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultContentProvider.java
index 5fb4237..8081e51 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultContentProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultContentProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import org.eclipse.jface.viewers.IContentProvider;
 import org.eclipse.jface.viewers.Viewer;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultLabelProvider.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultLabelProvider.java
index 29fb24b..0d02846 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultLabelProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import org.eclipse.jface.viewers.IBaseLabelProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTableProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTableProvider.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTableProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTableProvider.java
index 715afa9..dac615f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTableProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTableProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.Collection;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTreeContentProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTreeContentProvider.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTreeContentProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTreeContentProvider.java
index d223835..4a60b72 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/DefaultTreeContentProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/DefaultTreeContentProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import org.eclipse.jface.viewers.ITreeContentProvider;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExclusionContentProposalProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExclusionContentProposalProvider.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExclusionContentProposalProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExclusionContentProposalProvider.java
index 1663e2f..0dd4254 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExclusionContentProposalProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExclusionContentProposalProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -25,9 +25,9 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.cauldron.sigil.ui.editors.project.IElementDescriptor;
-import org.cauldron.sigil.ui.editors.project.WrappedContentProposal;
-import org.cauldron.sigil.utils.GlobCompiler;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.IElementDescriptor;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.WrappedContentProposal;
+import org.apache.felix.sigil.utils.GlobCompiler;
 import org.eclipse.jface.fieldassist.IContentProposal;
 import org.eclipse.jface.fieldassist.IContentProposalProvider;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExportedPackageFinder.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExportedPackageFinder.java
similarity index 86%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExportedPackageFinder.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExportedPackageFinder.java
index 5c85724..71e053b 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ExportedPackageFinder.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ExportedPackageFinder.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/FileUtils.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/FileUtils.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/FileUtils.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/FileUtils.java
index 60cb121..951aad2 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/FileUtils.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/FileUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.DirectoryDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IAccumulator.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IAccumulator.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IAccumulator.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IAccumulator.java
index 99384be..86a1859 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IAccumulator.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IAccumulator.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.Collection;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IExportToImportConverter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IExportToImportConverter.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IExportToImportConverter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IExportToImportConverter.java
index 915d16c..7c30b61 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IExportToImportConverter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IExportToImportConverter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 public interface IExportToImportConverter<E,I> {
 	I convert(E exportElement);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IFilter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IFilter.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IFilter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IFilter.java
index 6cd3f23..987485d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IFilter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IFilter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 public interface IFilter<T> {
 	boolean select(T element);
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IValidationListener.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IValidationListener.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IValidationListener.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IValidationListener.java
index 6c1b701..ae1f6d1 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/IValidationListener.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/IValidationListener.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 public interface IValidationListener {
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ModelLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ModelLabelProvider.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ModelLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ModelLabelProvider.java
index 6ff6901..ea28ed8 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ModelLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ModelLabelProvider.java
@@ -17,20 +17,20 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IPackageFragment;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/PackageFilter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/PackageFilter.java
similarity index 88%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/PackageFilter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/PackageFilter.java
index d451538..c5d41a4 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/PackageFilter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/PackageFilter.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.HashSet;
 import java.util.Set;
 
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
 
 public class PackageFilter implements IFilter<IPackageImport> {
 	
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ProjectUtils.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ProjectUtils.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ProjectUtils.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ProjectUtils.java
index 4cf8ad4..4da941d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ProjectUtils.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ProjectUtils.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.concurrent.Callable;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.preferences.OptionalPrompt;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.preferences.OptionalPrompt;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.swt.widgets.Shell;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourceReviewDialog.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourceReviewDialog.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourceReviewDialog.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourceReviewDialog.java
index bebe867..f427036 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourceReviewDialog.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourceReviewDialog.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.Collection;
 
-import org.cauldron.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelElement;
 import org.eclipse.jface.dialogs.TitleAreaDialog;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourcesDialogHelper.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourcesDialogHelper.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourcesDialogHelper.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourcesDialogHelper.java
index 4644fe3..c90ebed 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/ResourcesDialogHelper.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/ResourcesDialogHelper.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -26,19 +26,19 @@
 import java.util.List;
 import java.util.Set;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.IModelWalker;
-import org.cauldron.sigil.model.osgi.IBundleModelElement;
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IPackageModelElement;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.model.util.JavaHelper;
-import org.cauldron.sigil.ui.editors.project.IElementDescriptor;
-import org.cauldron.sigil.ui.editors.project.NewPackageExportDialog;
-import org.cauldron.sigil.ui.editors.project.NewResourceSelectionDialog;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.model.util.JavaHelper;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.IModelWalker;
+import org.apache.felix.sigil.model.osgi.IBundleModelElement;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IPackageModelElement;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.IElementDescriptor;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.NewPackageExportDialog;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.NewResourceSelectionDialog;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/SingletonSelection.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/SingletonSelection.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/SingletonSelection.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/SingletonSelection.java
index 22a0a46..49d087e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/SingletonSelection.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/SingletonSelection.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/WrappedContentProposalLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/WrappedContentProposalLabelProvider.java
similarity index 89%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/WrappedContentProposalLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/WrappedContentProposalLabelProvider.java
index f46b4b2..cde3bc1 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/util/WrappedContentProposalLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/util/WrappedContentProposalLabelProvider.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.util;
+package org.apache.felix.sigil.ui.eclipse.ui.util;
 
-import org.cauldron.sigil.ui.editors.project.IElementDescriptor;
-import org.cauldron.sigil.ui.editors.project.WrappedContentProposal;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.IElementDescriptor;
+import org.apache.felix.sigil.ui.eclipse.ui.editors.project.WrappedContentProposal;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/ModelElementComparator.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/ModelElementComparator.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/ModelElementComparator.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/ModelElementComparator.java
index cbfbbbe..5196fba 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/ModelElementComparator.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/ModelElementComparator.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views;
+package org.apache.felix.sigil.ui.eclipse.ui.views;
 
-import org.cauldron.sigil.model.osgi.IPackageExport;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.osgi.IPackageExport;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 import org.eclipse.jface.viewers.ContentViewer;
 import org.eclipse.jface.viewers.IBaseLabelProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/RepositoryViewPart.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/RepositoryViewPart.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/RepositoryViewPart.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/RepositoryViewPart.java
index 4fdb238..545caf6 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/RepositoryViewPart.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/RepositoryViewPart.java
@@ -17,25 +17,25 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views;
+package org.apache.felix.sigil.ui.eclipse.ui.views;
 
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.ICompoundModelElement;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.repository.IRepositoryModel;
-import org.cauldron.sigil.model.util.ModelHelper;
-import org.cauldron.sigil.repository.IBundleRepository;
-import org.cauldron.sigil.repository.IRepositoryChangeListener;
-import org.cauldron.sigil.repository.IRepositoryVisitor;
-import org.cauldron.sigil.repository.RepositoryChangeEvent;
-import org.cauldron.sigil.ui.SigilUI;
-import org.cauldron.sigil.ui.util.DefaultTreeContentProvider;
-import org.cauldron.sigil.ui.util.ModelLabelProvider;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.util.ModelHelper;
+import org.apache.felix.sigil.model.ICompoundModelElement;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.repository.IBundleRepository;
+import org.apache.felix.sigil.repository.IRepositoryChangeListener;
+import org.apache.felix.sigil.repository.IRepositoryVisitor;
+import org.apache.felix.sigil.repository.RepositoryChangeEvent;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
+import org.apache.felix.sigil.ui.eclipse.ui.util.DefaultTreeContentProvider;
+import org.apache.felix.sigil.ui.eclipse.ui.util.ModelLabelProvider;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IToolBarManager;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleConnectionHighlighter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleConnectionHighlighter.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleConnectionHighlighter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleConnectionHighlighter.java
index 586375e..f320923 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleConnectionHighlighter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleConnectionHighlighter.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
 import java.util.Set;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.draw2d.ColorConstants;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraph.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraph.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraph.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraph.java
index 8fad30f..db26f1f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraph.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraph.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -27,8 +27,8 @@
 import java.util.List;
 import java.util.Set;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 
 public class BundleGraph {
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphContentProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphContentProvider.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphContentProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphContentProvider.java
index 0c0547c..f319046 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphContentProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphContentProvider.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.zest.core.viewers.IGraphContentProvider;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphLabelProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphLabelProvider.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphLabelProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphLabelProvider.java
index d48c253..ca5041f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphLabelProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphLabelProvider.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.graphics.Image;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphViewFilter.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphViewFilter.java
similarity index 94%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphViewFilter.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphViewFilter.java
index 4100ad8..5d55ac8 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleGraphViewFilter.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleGraphViewFilter.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerFilter;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleResolverView.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleResolverView.java
similarity index 92%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleResolverView.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleResolverView.java
index 91c0dcb..0e77c12 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/BundleResolverView.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/BundleResolverView.java
@@ -17,24 +17,24 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
-import org.cauldron.sigil.repository.IRepositoryManager;
-import org.cauldron.sigil.repository.IResolutionMonitor;
-import org.cauldron.sigil.repository.ResolutionConfig;
-import org.cauldron.sigil.repository.ResolutionException;
-import org.cauldron.sigil.repository.ResolutionMonitorAdapter;
-import org.cauldron.sigil.ui.SigilUI;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.repository.IRepositoryManager;
+import org.apache.felix.sigil.repository.IResolutionMonitor;
+import org.apache.felix.sigil.repository.ResolutionConfig;
+import org.apache.felix.sigil.repository.ResolutionException;
+import org.apache.felix.sigil.repository.ResolutionMonitorAdapter;
+import org.apache.felix.sigil.ui.eclipse.ui.SigilUI;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/EditorViewPartListener.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/EditorViewPartListener.java
similarity index 93%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/EditorViewPartListener.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/EditorViewPartListener.java
index 78bceb7..ad1f7ea 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/EditorViewPartListener.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/EditorViewPartListener.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.ui.IEditorInput;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/Link.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/Link.java
similarity index 91%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/Link.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/Link.java
index 35591a4..9550a2f 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/views/resolution/Link.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/views/resolution/Link.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.views.resolution;
+package org.apache.felix.sigil.ui.eclipse.ui.views.resolution;
 
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.cauldron.sigil.model.IModelElement;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.osgi.IPackageImport;
-import org.cauldron.sigil.model.osgi.IRequiredBundle;
+import org.apache.felix.sigil.model.IModelElement;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
+import org.apache.felix.sigil.model.osgi.IPackageImport;
+import org.apache.felix.sigil.model.osgi.IRequiredBundle;
 
 public class Link {	
 	public static class Unsatisfied {
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/SigilNewResourceWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/SigilNewResourceWizard.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/SigilNewResourceWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/SigilNewResourceWizard.java
index bc4a39d..b4b40db 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/SigilNewResourceWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/SigilNewResourceWizard.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.jface.dialogs.MessageDialog;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/WorkspaceContentProvider.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/WorkspaceContentProvider.java
similarity index 96%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/WorkspaceContentProvider.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/WorkspaceContentProvider.java
index cbab33b..eb57a7c 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/WorkspaceContentProvider.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/WorkspaceContentProvider.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
+import org.apache.felix.sigil.eclipse.SigilCore;
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizard.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizard.java
index 8f926bf..8b3dbc5 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizard.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard.project;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard.project;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.ui.wizard.SigilNewResourceWizard;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.ui.eclipse.ui.wizard.SigilNewResourceWizard;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IWorkspace;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardFirstPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardFirstPage.java
similarity index 98%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardFirstPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardFirstPage.java
index 78eaf19..c4779a9 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardFirstPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardFirstPage.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard.project;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard.project;
 
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.ResourcesPlugin;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardSecondPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardSecondPage.java
similarity index 97%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardSecondPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardSecondPage.java
index 3b2592d..910ed9e 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/project/SigilProjectWizardSecondPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/project/SigilProjectWizardSecondPage.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard.project;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard.project;
 
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import org.cauldron.sigil.SigilCore;
-import org.cauldron.sigil.model.eclipse.ISigilBundle;
-import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.eclipse.SigilCore;
+import org.apache.felix.sigil.eclipse.model.project.ISigilProjectModel;
+import org.apache.felix.sigil.model.eclipse.ISigilBundle;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizard.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizard.java
similarity index 90%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizard.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizard.java
index c2403e9..abf618d 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizard.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizard.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard.repository;
 
-import org.cauldron.sigil.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.jface.wizard.Wizard;
 
diff --git a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizardPage.java b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizardPage.java
similarity index 95%
rename from sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizardPage.java
rename to sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizardPage.java
index 9a22aa4..4502a71 100644
--- a/sigil/org.cauldron.sigil.ui/src/org/cauldron/sigil/ui/wizard/repository/RepositoryWizardPage.java
+++ b/sigil/org.cauldron.sigil.ui/src/org/apache/felix/sigil/ui/eclipse/ui/wizard/repository/RepositoryWizardPage.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.cauldron.sigil.ui.wizard.repository;
+package org.apache.felix.sigil.ui.eclipse.ui.wizard.repository;
 
 import java.util.ArrayList;
 
-import org.cauldron.sigil.model.repository.IRepositoryModel;
+import org.apache.felix.sigil.eclipse.model.repository.IRepositoryModel;
 import org.eclipse.jface.preference.FieldEditor;
 import org.eclipse.jface.preference.StringFieldEditor;
 import org.eclipse.jface.wizard.WizardPage;
diff --git a/sigil/org.cauldron.sigil.utils/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.utils/META-INF/MANIFEST.MF
index 7df73f4..da50f10 100644
--- a/sigil/org.cauldron.sigil.utils/META-INF/MANIFEST.MF
+++ b/sigil/org.cauldron.sigil.utils/META-INF/MANIFEST.MF
@@ -9,4 +9,4 @@
 Import-Package: org.eclipse.core.expressions,
  org.eclipse.core.resources,
  org.eclipse.ui
-Export-Package: org.cauldron.sigil.utils
+Export-Package: org.apache.felix.sigil.utils
diff --git a/sigil/org.cauldron.sigil.utils/plugin.xml b/sigil/org.cauldron.sigil.utils/plugin.xml
index 0d14f33..e822e4b 100644
--- a/sigil/org.cauldron.sigil.utils/plugin.xml
+++ b/sigil/org.cauldron.sigil.utils/plugin.xml
@@ -22,21 +22,21 @@
    <extension
          point="org.eclipse.core.expressions.propertyTesters">
       <propertyTester
-            class="org.cauldron.sigil.utils.properties.EditorPropertyTester"
+            class="org.apache.felix.sigil.utils.properties.EditorPropertyTester"
             id="org.cauldron.sigil.utils.editorPropertyTester"
             namespace="org.cauldron.sigil"
             properties="isEditorOfType"
             type="org.eclipse.ui.IWorkbenchPart">
       </propertyTester>
       <propertyTester
-            class="org.cauldron.sigil.utils.properties.PartKindPropertyTester"
+            class="org.apache.felix.sigil.utils.properties.PartKindPropertyTester"
             id="org.cauldron.sigil.runtime.PartKindPropertyTester"
             namespace="org.cauldron.sigil"
             properties="partKind,partId"
             type="org.eclipse.ui.IWorkbenchPart">
       </propertyTester>
       <propertyTester
-            class="org.cauldron.sigil.utils.properties.ResourceTypePropertyTester"
+            class="org.apache.felix.sigil.utils.properties.ResourceTypePropertyTester"
             id="org.cauldron.sigil.utils.ResourcePropertyTester"
             namespace="org.cauldron.sigil"
             properties="isResourceOfType"
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/GlobCompiler.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/GlobCompiler.java
similarity index 97%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/GlobCompiler.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/GlobCompiler.java
index 401c390..d531370 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/GlobCompiler.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/GlobCompiler.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils;
+package org.apache.felix.sigil.utils;
 
 import java.util.regex.Pattern;
 
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/PathHelper.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/PathHelper.java
similarity index 97%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/PathHelper.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/PathHelper.java
index 00de2b9..54325f8 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/PathHelper.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/PathHelper.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils;
+package org.apache.felix.sigil.utils;
 
 import java.io.File;
 import java.util.List;
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/SigilUtils.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/SigilUtils.java
similarity index 96%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/SigilUtils.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/SigilUtils.java
index 6f379d6..caa5840 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/SigilUtils.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/SigilUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils;
+package org.apache.felix.sigil.utils;
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.Platform;
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/EditorPropertyTester.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/EditorPropertyTester.java
similarity index 94%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/EditorPropertyTester.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/EditorPropertyTester.java
index ce6ad86..c23c16b 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/EditorPropertyTester.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/EditorPropertyTester.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils.properties;
+package org.apache.felix.sigil.utils.properties;
 
-import org.cauldron.sigil.utils.SigilUtils;
+import org.apache.felix.sigil.utils.SigilUtils;
 import org.eclipse.core.expressions.PropertyTester;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.ui.IEditorInput;
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/PartKindPropertyTester.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/PartKindPropertyTester.java
similarity index 96%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/PartKindPropertyTester.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/PartKindPropertyTester.java
index b0dceee..7a9e0f9 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/PartKindPropertyTester.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/PartKindPropertyTester.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils.properties;
+package org.apache.felix.sigil.utils.properties;
 
 import org.eclipse.core.expressions.PropertyTester;
 import org.eclipse.ui.IEditorPart;
diff --git a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/ResourceTypePropertyTester.java b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/ResourceTypePropertyTester.java
similarity index 96%
rename from sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/ResourceTypePropertyTester.java
rename to sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/ResourceTypePropertyTester.java
index efc32e3..fc56df1 100644
--- a/sigil/org.cauldron.sigil.utils/src/org/cauldron/sigil/utils/properties/ResourceTypePropertyTester.java
+++ b/sigil/org.cauldron.sigil.utils/src/org/apache/felix/sigil/utils/properties/ResourceTypePropertyTester.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.cauldron.sigil.utils.properties;
+package org.apache.felix.sigil.utils.properties;
 
 import org.eclipse.core.expressions.PropertyTester;
 import org.eclipse.core.resources.IResource;
diff --git a/sigil/sigil-builder/src/org/cauldron/sigil/build/Feature.java b/sigil/sigil-builder/src/org/apache/felix/sigil/build/Feature.java
similarity index 95%
rename from sigil/sigil-builder/src/org/cauldron/sigil/build/Feature.java
rename to sigil/sigil-builder/src/org/apache/felix/sigil/build/Feature.java
index 6f4378a..66fc79e 100644
--- a/sigil/sigil-builder/src/org/cauldron/sigil/build/Feature.java
+++ b/sigil/sigil-builder/src/org/apache/felix/sigil/build/Feature.java
@@ -19,7 +19,7 @@
 /**
  * 
  */
-package org.cauldron.sigil.build;
+package org.apache.felix.sigil.build;
 
 class Feature {
 	String id, version, url;
diff --git a/sigil/sigil-builder/src/org/cauldron/sigil/build/FindBundlesTask.java b/sigil/sigil-builder/src/org/apache/felix/sigil/build/FindBundlesTask.java
similarity index 98%
rename from sigil/sigil-builder/src/org/cauldron/sigil/build/FindBundlesTask.java
rename to sigil/sigil-builder/src/org/apache/felix/sigil/build/FindBundlesTask.java
index 0f7b4a2..059f3e9 100644
--- a/sigil/sigil-builder/src/org/cauldron/sigil/build/FindBundlesTask.java
+++ b/sigil/sigil-builder/src/org/apache/felix/sigil/build/FindBundlesTask.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.cauldron.sigil.build;
+package org.apache.felix.sigil.build;
 
 import java.io.File;
 import java.io.FilenameFilter;
diff --git a/sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatureContentHandler.java b/sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatureContentHandler.java
similarity index 96%
rename from sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatureContentHandler.java
rename to sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatureContentHandler.java
index bf710a7..83e95cb 100644
--- a/sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatureContentHandler.java
+++ b/sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatureContentHandler.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.cauldron.sigil.build;
+package org.apache.felix.sigil.build;
 
 import java.util.List;
 
@@ -29,7 +29,7 @@
 class SiteInsertFeatureContentHandler implements ContentHandler {
 	
 	private final ContentHandler output;
-	private final List<org.cauldron.sigil.build.Feature> featureList;
+	private final List<org.apache.felix.sigil.build.Feature> featureList;
 
 	public SiteInsertFeatureContentHandler(ContentHandler output,
 			List<Feature> featureList) {
diff --git a/sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatures.java b/sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatures.java
similarity index 99%
rename from sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatures.java
rename to sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatures.java
index 9d09008..84f92e2 100644
--- a/sigil/sigil-builder/src/org/cauldron/sigil/build/SiteInsertFeatures.java
+++ b/sigil/sigil-builder/src/org/apache/felix/sigil/build/SiteInsertFeatures.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.cauldron.sigil.build;
+package org.apache.felix.sigil.build;
 
 import java.io.File;
 import java.io.FileInputStream;
