Hi,

the first release is out. Time for a review of the release process.

For the first release we tried to release a more or less complete
source package of the SVN tree. We did not release any modules
independently but released the whole Stanbol stack in one big archive.
The main problem with this approach was to configure the excludes of
the parts of the SVN tree that should not be included in the release.
Unfortunately, our SVN structure is not organized in a way that allows
an easy ZIP of the tree and release that. Additionally, the release
plugin, that makes it really easy to release single artifacts, could
not be used directly in this scenario.

As a consequence from this experience, I suggest to adjust our release
process and make it similar to the process that other podlings follow,
like Apache Sling (and I think Apache Clerezza). This means that we
release components independently with the consequence that different
components may have different release cycles. The launchers are always
configured to include the latest available versions of the components.
>From time to time we may decide that we need bigger releases of all
components to bring everything on the same level.

To make this possible we have to remove the dependency management of
the Stanbol components from the parent POM [1]. After this change each
artifact has to configure its dependencies (with version) to other
Stanbol components within its own POM. This means that e.g. the
Stanbol Rules could rely on Stanbol Service-API 0.9.0-incubating while
other components may rely on the newest version which is
0.10.0-incubating-SNAPSHOT. As long as all components keep an eye on
backward compatibility this should be no problem. As already said rely
the launchers always on the latest available version of a component.
So at runtime a component that requires another in version
0.9.0-incubating may be executed with the component in
0.10.0-incubating-SNAPSHOT. Again, as long as backward compatibility
is given, this will work.

I have already started to work on changing all the POMs in the trunk
[1]. I am still figuring out the correct setting of all dependencies
in POMs and bundlelists to make everything work again. Additionally, I
have started to document this for our website [2].

[1] https://issues.apache.org/jira/browse/STANBOL-553
[2] https://issues.apache.org/jira/browse/STANBOL-609

-- 
Fabian
http://twitter.com/fctwitt

Reply via email to