Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323062

Summary: Add the org.eclipse.pde.junit.runtime.* features to the ep build
Product: [Eclipse Project] Platform Reporter: Hugues Malphettes <hmalphettes>
Component: RelengAssignee: Kim Moir <kim.moir>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: aniefer, daniel_megert, jeffmcaffer, kim.moir, mknauer
Version: 3.6   
Target Milestone: 3.7 M2   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Archive of the features projects from jetty's svn
none
patches none

Description Hugues Malphettes CLA 2010-08-18 12:34:10 EDT
Currently the org.eclipse.pde.junit.runtime.* features are published in the jetty repository.
Those features are defined in bug 313202.
They are very useful for OSGi developers who need to add the ability to run tests units on a Target Platform.
They were introduced very late and just in time for the helios release.

I apologize if this bug is a duplicate. I was convinced I had filed it already back in June 2010 but I can't find it anymore.
Comment 1 Jeff McAffer CLA 2010-08-18 13:14:04 EDT
I agree that having these features be properly maintained and built for the release is awesome.  Many people we encounter doing OSGi development love this setup.
Comment 2 Andrew Niefer CLA 2010-08-24 13:34:54 EDT
Not sure where this goes, I assume you are talking about some EPP package
Comment 3 Hugues Malphettes CLA 2010-08-24 13:54:02 EDT
In fact they would be part of the eclipse platform repository.

These features are used by OSGi developers who create their own Target Platform from scratch and populate it with RT features.
http://wiki.eclipse.org/Jetty/Tutorial/Jetty-OSGi_SDK#Configure_a_Target_Platform_and_run_a_simple_Test_Unit_with_PDE

We have not identified an EPP package that would need this feature.

Let me know if this makes sense.
Comment 4 Andrew Niefer CLA 2010-08-24 14:04:09 EDT
Moving to platform releng
Comment 5 Kim Moir CLA 2010-08-24 14:18:01 EDT
So are you asking us to (1) reconsume these features from a jetty repository or (2) rebuild the features and bundles from source.  I assume (1)?
Comment 6 Hugues Malphettes CLA 2010-08-24 15:06:03 EDT
Created attachment 177358 [details]
Archive of the features projects from jetty's svn

Hi Kim, (2) is what we would like.

We would like to not publish them anymore from the jetty repository. They include only a set of bundles that are published in the platform repository; No jetty related artifacts.

Please find attached the archive of those features as committed currently in jetty's svn:
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/eclipse/trunk/jetty-features/org.eclipse.pde.junit.runtime.standalone/
http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/eclipse/trunk/jetty-features/org.eclipse.pde.junit.runtime.addon/

and here is how we contribute them to helios:
    <features name="org.eclipse.pde.junit.runtime.standalone.feature.group" versionRange="1.0.0.v20100816">
      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
    </features>
    <features name="org.eclipse.pde.junit.runtime.addon.feature.group" versionRange="1.0.0.v20100816">
      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
    </features>

(I don't have a strong opinion on the version. The ids were reviewed by the pde guys and Jeff in bug 313202)

Thanks!
Comment 7 Jeff McAffer CLA 2010-08-24 17:29:28 EDT
Seems like what we need to do is add the two features to the Eclipse project CVS and to the platform build. One tweak is that we don't really want the eclipse.org bundles recompiled.  We just want the features "built" and published with the normal build output.  Not sure how this is done in the build today. Ultimately the features should also be contributed as roots to the Indigo build and categorized as Target Components.
Comment 8 Kim Moir CLA 2010-08-26 10:25:35 EDT
So you are asking us to create these features in the Eclipse project's CVS repository

org.eclipse.pde.junit4.runtime.standalone
org.eclipse.pde.junit4.runtime.addon

Since the bundles they include already exist in our build, we will just include these two features in our master feature that we use to assemble all build components.  This will result in two new features being included in our repository which can then be included in the Indigo build.  Is this correct?
Comment 9 Hugues Malphettes CLA 2010-08-26 11:34:00 EDT
(In reply to comment #8)
> Since the bundles they include already exist in our build, we will just include
> these two features in our master feature that we use to assemble all build
> components.  This will result in two new features being included in our
> repository which can then be included in the Indigo build.  Is this correct?

Yes that is perfect. Thanks a lot!
Comment 10 Jeff McAffer CLA 2010-08-26 16:35:32 EDT
The PDE folks should agree on the name etc (believe they did previously) but yeah, that's what we are after.
Comment 11 Kim Moir CLA 2010-08-30 09:52:53 EDT
Created attachment 177727 [details]
patches
Comment 12 Jeff McAffer CLA 2010-09-01 11:07:22 EDT
Note bug 324198 points out a problem in one of the features.  This should be addressed in the new copy of the feature.
Comment 13 Kim Moir CLA 2010-09-02 13:45:22 EDT
Verified in test build.  Released for N20100902-2000 and tagged for i-build.  The features reside here 

org.eclipse.sdk-feature/features/org.eclipse.pde.junit.runtime.addon
org.eclipse.sdk-feature/features/org.eclipse.pde.junit.runtime.standalone
Comment 14 Jeff McAffer CLA 2010-09-03 11:22:24 EDT
Super.  I do have one further suggestion though. The version number of these features should be set to 1.0.1.qualifier.  Reasons
- The addons feature actually did have a bug fix since its 1.0.0 release
- The build mechanism used for the new features is different and we would otherwise have to confirm that the computed qualifier will in fact be monotonically greater than the original.
Comment 15 Kim Moir CLA 2010-09-03 11:30:59 EDT
feature versions have been incremented and tagged for i-build
Comment 16 Dani Megert CLA 2010-09-13 07:58:14 EDT
>Super.  I do have one further suggestion though. The version number of these
>features should be set to 1.0.1.qualifier.  Reasons
Shouldn't it be 1.0.100 then since we use the .1 for service releases?
Comment 17 Jeff McAffer CLA 2010-09-13 08:44:50 EDT
indeed you are right.  Kim, can you tweak the features?
Comment 18 Kim Moir CLA 2010-09-13 08:56:34 EDT
I've incremented the feature versions.
Comment 19 Hugues Malphettes CLA 2010-10-27 18:26:57 EDT
I am able to build the web-starterkit for indigo pointing at the new junit features.

Two questions:
1- Is the platform site going to provide source features too?
2- Currently I can see the new features in the nightly build: eclipse/updates/3.7-N-builds/N20101023-2000
But I can't see them in the I-builds.
Comment 20 Jeff McAffer CLA 2010-10-27 20:56:40 EDT
In general I do not support creating source features for every runtime feature we create.  IMHO the overhead is too great.  I'd rather see the PDE workflows etc be smoother for getting source.
Comment 21 Hugues Malphettes CLA 2010-10-27 21:47:54 EDT
(In reply to comment #20)
> In general I do not support creating source features for every runtime feature
> we create.  IMHO the overhead is too great.  I'd rather see the PDE workflows
> etc be smoother for getting source.

OK thanks for the info Jeff.
I was not sure whether this was temporary or not.

I agree with you.
I have forked p2director to install the sources bundles it can find that match the bundles it is installing. That solution works really well for us and we don't prepare source features anymore for our internal projects.
I'll try to prepare a patch that makes this approach available in PDE.
Comment 22 Kim Moir CLA 2010-10-28 08:58:09 EDT
I forgot to tag this for the I-build.  It has been tagged for the next build.
Comment 23 Jeff McAffer CLA 2010-10-28 10:08:23 EDT
(In reply to comment #21)
> I have forked p2director to install the sources bundles it can find that match
> the bundles it is installing. That solution works really well for us and we
> don't prepare source features anymore for our internal projects.
> I'll try to prepare a patch that makes this approach available in PDE.

Interesting.  a patch there would be good.  I have been preparing changes to PDE UI target management that would allow for a "I'd like source with that" checky box.  So along the same lines, we would not have to worry too much about creating source features.  See Bug 328929.