Skip to main content
Jump to: navigation, search


< Virgo
Revision as of 11:41, 4 August 2010 by (Talk | contribs) (Migration Notes)

You can join the Virgo community by tweeting about #virgort, using the Virgo forum, subscribing to the virgo-dev mailing list, or using bugzilla.


There is a weekly, one hour call at 14:00 UTC on Tuesdays to discuss Virgo. See meetings for details.


Suppose you see a need to change Virgo somehow. You can start by raising this on Virgo-Dev or as a bug, but suppose the committers don't dive in and make the change for you. Don't take this personally - Virgo is an active project and there's always more to do than the committers have time for.

That's where contributors come in. You may not feel very confident about changing the Virgo codebase, but the best way to learn is to do. The committers are interested in building up the Virgo community and they should help you navigate the codebase and can provide useful feedback on changes you are proposing. So file a bug, attach your code, and take it from there. But before you do, please read on to understand what makes a good contribution.

a good contributor

In particular…

  • ensures that they wrote 100% of the contribution and did not copy content from elsewhere or rely on the intellectual property of others.

That makes the contribution process so much simpler.


  • attaches the code as a patch (easily created using git diff) to a Bugzilla bug (under RT/Virgo/core) so that a committer can perform the necessary due diligence checks.

essential steps

In the bug the contributor (that's you) must confirm that they wrote 100% of the code contributed (in particular that none of it is copied from elsewhere), that they have the right to contribute the code to Eclipse (e.g. the employer agrees or the code is produced in personal time and contracts do not assign ownership or copyright to the employer), and that any new files contain the appropriate License header with the contributor (or the employer, as appropriate) as the copyright owner and the contributor as the "initial contributor". (See existing files in the Virgo source code repositories for examples of the copyright and license headers.)

optional steps

You should probably discuss large contributions (more than 250 lines of code and/or configuration) on the virgo-dev mailing list first so everyone knows what's going on. Small patches and additions (e.g. extra unit tests) can be made with little or no discussion.

Contributions should include unit tests whenever possible and integration tests where appropriate. This ensures that the contributed code is well structured and can be tested as well as avoiding the technical debt of code waiting to be tested. The committers that handle the contribution will assess these criteria.

See Committers for information about coding conventions and testing which will make your contribution more easily consumed by Virgo.

Take Virgo for a spin

If you want to take the Virgo server for a spin, go here.

Migration Notes

Migrating from dm Server 2.0.x to Virgo 2.1.0.x

Migrating from dm Server 2.0.x to Virgo

Migrating from the dm Server slices prototype to the Virgo snaps prototype

Even though the slices project was a prototype, a number of dm Server users found it very useful and asked for it to be made available on Virgo. It is currently being renamed to "snaps" and contributed to Virgo.

There will be a one-time hit for users to migrate from slices to snaps, largely because of the renaming.


The Petclinic and Spring Travel based samples are not provided with snaps as they derive from code whose authorship is not clear.

Package Names

The Java package names of the code have been renamed from com.springsource.osgi.slices.* or org.eclipse.virgo.snaps.*.

Class names

'Slice' is replaced by 'Snap' in class names.

Notable class name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices.core.SliceHostFilter org.eclipse.virgo.snaps.core.SnapHostFilter
com.springsource.osgi.slices.Slices org.eclipse.virgo.snaps.Snaps
com.springsource.osgi.slices.SlicesTag org.eclipse.virgo.snaps.SnapsTag

Manifest headers

'Slice' is replaced by 'Snap' in manifest headers.

Manifest header changes
dm Server slices Virgo snaps
Slice-Host Snap-Host
Slice-ContextPath Snap-ContextPath

Bundle symbolic names

Bundle symbolic name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices.api org.eclipse.virgo.snaps.api
com.springsource.osgi.slices.core org.eclipse.virgo.snaps.core

Plan names

Plan name changes
dm Server slices Virgo snaps
com.springsource.osgi.slices org.eclipse.virgo.snaps

Event log messages

The prefix SL is replaced by the prefix SN.


  •  A Virgo overview presentation, dating from June 2010, licensed under the Eclipse Public License for anyone who wants to present it or use it to create their own presentation on Virgo. It is provided in open office and PDF formats.

Back to the top