This guide is aimed at helping developers using Spring DM in their application to migrate to Eclipse Gemini Blueprint.
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.
The most disruptive change for Spring DM users when transitioning to Gemini Blueprint is the renaming of the project packages:
from org.springframework.osgi to org.eclipse.gemini.blueprint. 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.
The actual class names and method signatures have not been changed so in most cases the changed can be accommodated through a simple "search & replace" operation.
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.
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 1.0.0 (or 1.0.0.M1 for wiring only to the M1 artifact).
The existing Spring DM schema definition (named spring-osgi.xsd and located at http://www.springframework.org/schema/osgi) are still available and supported by Eclipse Gemini Blueprint. However we recommend users to migrate to the newly added schemas at http://www.eclipse.org/gemini/blueprint/schema/blueprint/gemini-blueprint.xsd and http://www.eclipse.org/gemini/blueprint/schema/blueprint-compendium/gemini-blueprint-compendium.xsd. 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.
Similar to the schema deprecation, the Spring-DM specific properties on exported services (such as org.springframework.osgi.bean.name) have been deprecated. While they are still supported users are recommended to use the newly introduced Gemini Blueprint props (simply replace org.sprinframework.osgi prefix with org.eclipse.gemini.blueprint).
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.
As of Gemini Blueprint M1, not all modules or projects inside Spring DM have been moved. At the moment only the io, core, extender and test 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 project. The plans for the Maven archetype and annotation extension are undefined for the moment and these modules are NOT included in Gemini Blueprint project.
The Maven artifacts have changed as well during the transition. For the time being, the artifacts are hosted at a new repository (zodiac.springsource.com):
<repository> <id>zodiac-repository</id> <name>Zodiac Milestone Repository</name> <url>http://zodiac.springsource.com/maven/bundles/milestone</url> </repository>The groupId has changed from org.springframework.osgi to org.eclipse.gemini.blueprint and artifactId from spring-osgi-* to gemini-blueprint-* (e.g. spring-osgi-core is now gemini-blueprint-core).
The content and names of the artifacts have remained mainly unchanged.