In the sprints since 2.0.0.M3, we’ve made significant progress towards the final release, both in terms of new features, and in defect fixes. Take a look at the M3 release notes if you’re interested in seeing everything that we’ve been working on. Please keep your feedback coming as comments on our blog, in the forums, and on JIRA.
New and noteworthy
Integration of the OSGi Web Container reference implementation
dm Server now contains the OSGi Web Container reference implementation and uses and builds upon it for all of its web support. As part of this work we’ve also moved to using the standard XML format for the configuration of Tomcat in dm Server.
Dump analysis in the Admin Console
A new Dump Inspector has been added to dm Server’s admin console. The Dump Inspector can be used to examine diagnostic dumps produced by dm Server’s serviceability component.
Using Git as our version control system
We’ve recently moved dm Server’s source code to Git as we felt that we could benefit significantly from Git’s distributed nature and its excellent support for branches. If you’re interested in accessing dm Server’s source code, and in building dm Server from source, instructions for doing so now that the code is hosted in Git can be found below.
Use of ConfigurationAdmin
dm Server now makes extensive use of ConfigurationAdmin to manage its configuration. This has resulted in changes to dm Server’s configuration files and their format. The new files and format are described in the updated user guide.
Updated application development guide
We’ve updated our guide to creating an enterprise Java application with dm Server to bring it up-to-date with the 2.0 line.
Working with dm Server's source code
dm Server's Git repositories
|git://git.springsource.org/dm-server/util.git||General-purpose utility code|
|git://git.springsource.org/dm-server/osgi-extensions.git||OSGi extensions and Equinox hooks|
|git://git.springsource.org/dm-server/web.git||OSGi Web Container integration and extensions|
|git://git.springsource.org/dm-server/hosted-repository||Hosted Artifact repository|
Building dm Server from source
Before you can build dm Server from source, the following will have to be setup on your machine:
- Java 6 installed and the JAVA_HOME environment variable configured to point to it
- Ant 1.7.1 or later installed
- An ANT_OPTS environment variable configured to provide a max heap of at least 512MB, e.g. ANT_OPTS=Xmx512m
- Git client
With this setup complete you’re ready to build dm Server.
Packaging published binaries
The easiest way to build a packaged dm Server zip file is to build one from existing binaries that have already been published:
git clone git://git.springsource.org/dm-server/dm-server.git cd dm-server git checkout --track 2.0.0.M3 -b 2.0.0.M3 ant jar package
The build will download all of the bundles that comprise the 2.0.0.M3 release of dm Server and package them into a install binary. You can find this binary in the target/artifacts directory.
Building entirely from source
To build dm Server entirely from source, you’ll have to clone a number of repositories so that you have the entire codebase on your machine. It’ll then be necessary to perform a checkout in each repository to ensure that you’re working against the 2.0.0.M3 tags. The relative locations of each of the repositories are important, so please perform all the clones from the same directory:
git clone git://git.springsource.org/dm-server/util.git git clone git://git.springsource.org/dm-server/artifact-repository git clone git://git.springsource.org/dm-server/osgi-extensions.git git clone git://git.springsource.org/dm-server/kernel.git git clone git://git.springsource.org/dm-server/web.git git clone git://git.springsource.org/dm-server/servlet.git git clone git://git.springsource.org/dm-server/hosted-repository git clone git://git.springsource.org/dm-server/documentation.git git clone git://git.springsource.org/dm-server/dm-server.git
Now we must update each clone’s working copy to work against the 2.0.0.M3 tag:
cd artifact-repository git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../dm-server git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../documentation git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../hosted-repository git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../kernel git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../osgi-extensions git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../servlet git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../util git checkout --track 2.0.0.M3 -b 2.0.0.M3 cd ../web git checkout --track 2.0.0.M3 -b 2.0.0.M3
The various repositories are now setup so we’re ready to build dm Server from source:
cd ../dm-server/build-dm-server ant src-build
Once the build has completed a dm Server install binary, in the form of a zip file, can be found in target/artifacts.