<div id="midcolumn"> | |
<h1>Migrating from Spring Dynamic Modules to Eclipse Gemini Blueprint</h1> | |
<p>This guide is aimed at helping developers using Spring DM in their application to migrate to Eclipse Gemini Blueprint. Note that the migration | |
to the Eclipse Foundation is not yet complete and this document might not reflect all the changes that occurred in the process. See the | |
support page for more info on getting accurate information.</p> | |
<h3>Overview</h3> | |
<p>Gemini Blueprint was created through the migration of Spring Dynamic Modules to the Eclipse Foundation. While certain things have | |
changed in the process, mainly to reflect the new project name and hosting infrastructure, the project architecture, ideas, code base and dependencies | |
have remained intact. Use this to your advantage when encountering errors, by looking first for references to 'old' packages or classes as these are likely | |
to be the problem in the vast majority of cases. | |
</p> | |
<h2>1.0.0.RC1</h2> | |
<h3>Changed Package Name</h3> | |
<p>The most disruptive change for Spring DM users when transitioning to Gemini Blueprint is the renaming of the project packages: | |
from <tt>org.springframework.osgi</tt> to <tt>org.eclipse.gemini.blueprint</tt>. If you are referring to the Spring DM classes, in any way, | |
either inside Java code or XML configuration, you need to update the package.<br/> | |
The actual class names and method signatures have <b>not</b> been changed so in most cases the changed can be accommodated through a simple "search & replace" | |
operation.<br/> | |
Note that for configuration purposes, one can shield itself from the package change by relying on the Spring DM/Eclipse Gemini Blueprint namespaces | |
which hide the actual classes used for configuring, making the change transparent. | |
</p> | |
<h3>Changed Exported Packages (Versions Included)</h3> | |
<p>Inherent to the package name changes, the artifact manifests have been updated as well. Besides changing the imported package names as indicated above, consumers should modify | |
the imported version to <tt>1.0.0</tt> (or <tt>1.0.0.M1</tt> for wiring only to the M1 artifact). | |
<h3>Deprecated Namespace/Schema Location</h3> | |
<p>The existing Spring DM schema definition (named <tt>spring-osgi.xsd</tt> and located at <tt>http://www.springframework.org/schema/osgi</tt>) are still available and supported | |
by Eclipse Gemini Blueprint. However we recommend users to migrate to the newly added schemas at <tt>http://www.eclipse.org/gemini/blueprint/schema/blueprint/gemini-blueprint.xsd</tt> | |
and <tt>http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd</tt>. Except for the schema location, the new schemas are identical to the | |
old ones and will be the target of any new improvements and further development.</p> | |
<h3>Deprecated Spring-DM specific service properties</h3> | |
<p>Similar to the schema deprecation, the Spring-DM specific properties on exported services (such as <tt>org.springframework.osgi.bean.name</tt>) have been deprecated. While they are still supported | |
users are recommended to use the newly introduced Gemini Blueprint props (simply replace <tt>org.sprinframework.osgi</tt> prefix with <tt>org.eclipse.gemini.blueprint</tt>).</p> | |
<h3>Removed deprecated classes</h3> | |
<p>During the move, several deprecated or unused classes have been removed. If you cannot find a class name in the new package, it's likely that it has been removed in the process. Feel free | |
to confirm this over the forums.</p> | |
<h3>Removed deprecated modules</h3> | |
<p>As of Gemini Blueprint M1, not all modules or projects inside Spring DM have been moved. At the moment only the <tt>io</tt>, <tt>core</tt>, <tt>extender</tt> and <tt>test</tt> modules have | |
transitioned are provided in M1. With the up-coming release of OSGi RFC-66, the web support is being discontinued. Existing users are encouraged to look at Eclipse Gemini Web | |
<a href="http://www.eclipse.org/gemini/blueprint/">project</a>. The plans for the Maven archetype and annotation extension are undefined for the moment and these modules are <b>NOT</b> included | |
in Gemini Blueprint project.</p> | |
<h3>Changed Maven artifact groupId/artifactId and repository</h3> | |
<p>The Maven artifacts have changed as well during the transition. For the time being, the artifacts are hosted at a new repository (<tt>zodiac.springsource.com</tt>): | |
<pre> | |
<repository> | |
<id>zodiac-repository</id> | |
<name>Zodiac Milestone Repository</name> | |
<url>http://zodiac.springsource.com/maven/bundles/milestone</url> | |
</repository> | |
</pre> | |
The groupId has changed from <tt>org.springframework.osgi</tt> to <tt>org.eclipse.gemini.blueprint</tt> and artifactId from <tt>spring-osgi-*</tt> to <tt>gemini-blueprint-*</tt> (e.g. | |
<tt>spring-osgi-core</tt> is now <tt>gemini-blueprint-core</tt>). | |
</p> | |
<p>The content and names of the artifacts have remained mainly unchanged.</p> | |
</div> |