Community
Participate
Working Groups
This works under Eclipse and can cause a lot of issues when doing significant version updates and the version ranges for a lot of tests have to be updated manually. This is quite painful and has definitely been working in the past. This can be reproduced by changing a major version in build.versions then running test from ant and you will see the test manifest is not updated, the test will also fail if you wipe the ivy cache first.
When writting the manifest either in Eclipse or via an Ant build it will end up using a FileSystemManifestWriter. This hard codes the path to Manifest as 'META-INF/MANIFEST.MF'. I believe the tooling is providing some special extra support for the writing of test manifests and that this has in fact never worked.
Seeing as the tooling code has recently been added to Git I checked it out and had a look at the Bundlor support it adds. I quickly found all the test.mf code, (org.eclipse.virgo.ide.bundlor.internal.core.BundlorProjectBuilder). So this isn't a bug and is working as designed and I'm not sure how I haven't noticed this before. I'm not confident that this support could be moved over to the core bundlor code as it is dependent on some smarts from the tooling that knows when a project is a test project or not. I'm not sure about the Eclispe APIs but I'm guessing this comes from a property set by flagging the project as a test project within it's properties (right click on the project, look under spring tools).
I would imagine that bundlor simply needs additional parameters to enable it to support this scenario.
I'm not sure where it would get these parameters from though, a special header in the template.mf file to indicate that it's a test bundle maybe?
Sounds reasonable.
Assigning to tooling component as this is a nice to have enhancement in bundlor.