Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 376029 - use correct OSGI EE class libraries on build.eclipse.org
Summary: use correct OSGI EE class libraries on build.eclipse.org
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.2 M7   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-03 19:21 EDT by David Williams CLA
Modified: 2012-06-06 02:13 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2012-04-03 19:21:13 EDT
This continues work started in bug 375976. 

While bug 375976 was fixed by defining variables needed for a couple more required BREE's, several point to "minimim 1.2" instead of the exactly correct 1.1 and 1.0. 

It'd be fairly easy to fix to be accurate. Assuming I can "get" the right fragments easily and simply put them in /shared/common/ area on build.eclipse.org. 

I'm guessing they don't change much, and I could use the literal plugin jars as they are, from 3.8 M6 build? (And, the actual link to that repo is broken, bug 376028, but that M6 "fragment repo" can be downloaded from 

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.8M6-201203141800/org.eclipse.pde.api.tools.ee.feature-3.8M6.zip
Comment 1 David Williams CLA 2012-04-03 19:22:02 EDT
Tom, when you get a chance, if you confirm those M6 ones are the correct ones to use, I'll do the rest. 

Thanks,
Comment 2 Thomas Watson CLA 2012-04-04 10:42:50 EDT
(In reply to comment #0)

> I'm guessing they don't change much, and I could use the literal plugin jars as
> they are, from 3.8 M6 build? (And, the actual link to that repo is broken, bug
> 376028, but that M6 "fragment repo" can be downloaded from 

The OSGi ee jars do not change often and if they do it is because of new version has been released.

> 
> http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/S-3.8M6-201203141800/org.eclipse.pde.api.tools.ee.feature-3.8M6.zip

These are not actual class libraries that you can compile against.  My understanding is that they provide some specific format that API tooling uses to verify API usage from a particular EE.  So I do not think you can compile against them.  There are a couple of CQs that contain the various osgi.minimum ee jars


osgi min 1.1 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1450
osgi min 1.2 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=2797
osgi min 1.2.1 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6312

Note that 1.2.1 is identical to 1.2 except it added generic signatures to the API as they are defined by a java 5 class library.  I don't think we ever consumed the 1.0 version of the osgi ee jar.  At least I did not find an CQ for it.

So you could use the jar in https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1450 for osgi min 1.1.  But I don't have anything approved for 1.0.
Comment 3 David Williams CLA 2012-04-04 10:57:49 EDT
(In reply to comment #2)
> (In reply to comment #0)

> These are not actual class libraries that you can compile against.  

I am glad I asked! 

> osgi min 1.1 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1450
> osgi min 1.2 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=2797
> osgi min 1.2.1 - https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6312
> 
> So you could use the jar in
> https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1450 for osgi min 1.1.  But I
> don't have anything approved for 1.0.

Ok, I'll look into adding just this one (if not already there in /common/shared/ area) to be a little more accurate, and use it for both 1.1 and 1.0. 

Thanks for the education!
Comment 4 David Williams CLA 2012-04-05 22:07:07 EDT
Before I forget, I better write down what I've learned/seen/done so far and some questions. 

There is/was a directory in /shared/common where these libraries were: 

$ ll /shared/common/org.eclipse.sdk-feature/libs/
total 2288K
drwxr-s--- 2 root common    4K 2009-08-26 16:08 CVS/
-rw-r--r-- 1 root common 1035K 2009-08-25 15:36 ee.foundation-1.0.jar
-rw-r--r-- 1 root common  627K 2009-08-25 15:36 ee.foundation.jar
-rw-r--r-- 1 root common  601K 2009-08-25 15:36 ee.minimum-1.2.0.jar
-rw-r--r-- 1 root common    1K 2009-08-25 15:57 readme.txt

The directory was owned by root, so I had to created a new one (for now) to add the new ee jar: 

$ ll /shared/common/org.eclipse.sdk-feature2/libs/
total 2676K
drwxr-s--- 2 david_williams common    4K 2012-04-04 21:51 CVS/
-rw-r--r-- 1 david_williams common 1035K 2012-04-04 21:51 ee.foundation-1.0.jar
-rw-r--r-- 1 david_williams common  627K 2012-04-04 21:51 ee.foundation.jar
-rw-r--r-- 1 david_williams common  601K 2012-04-04 21:51 ee.minimum-1.2.0.jar
-rw-rw-r-- 1 david_williams common  382K 2012-04-04 21:52 ee.minimum.jar
-rw-r--r-- 1 david_williams common    1K 2012-04-04 21:59 readme.txt

And naturally, I updated the readme.txt there: 

$ cat  /shared/common/org.eclipse.sdk-feature2/libs/readme.txt
These files are copied from the org.eclipse.osgi/osgi project for use compiling eclipse on build.eclipse.org

ee.foundation-1.0.jar is the 1.4 cvs version from org.eclipse.osgi/osgi = CDC-1.1/Foundation-1.0
ee.foundation.jar = CDC-1.1/Foundation-1.1
ee.minimum-1.2.0.jar = OSGi/Minimum-1.2
# ee.minimum.jar taken from CQ 1450 see bug 376029
# current used for both
# -DOSGi/Minimum-1.0= ... \
# -DOSGi/Minimum-1.1= ... \
ee.minimum.jar = osgi min 1.1 (technically 1.1.3)

Now, the question. You can see from directory listings, these originally came from a cvs repository. From peeking in there, I can see the cvs repository was 
/cvsroot/eclipse/org.eclipse.sdk-feature. The readme implies they came from 
org.eclipse.osgi/osgi? (I've not checked). 

So ... question is, is there a 'git' counterpart? Should I put these in git to better ensure the build environment is reproducible? 

More minor question, does anyone know if anyone else were using these? Not sure if I should "leave as is" or ask webmasters to update 
/shared/common/org.eclipse.sdk-feature/libs/
perhaps they were owned by root specifically to prevent tampering? 

Oh, and I am using the org.eclipse.sdk-feature2 versions in builds now ... and haven't noticed any problems or compile errors with the new minimum.
Comment 5 Thomas Watson CLA 2012-04-06 08:34:36 EDT
(In reply to comment #4)
> Before I forget, I better write down what I've learned/seen/done so far and
> some questions. 
> 
> There is/was a directory in /shared/common where these libraries were: 
> 
> $ ll /shared/common/org.eclipse.sdk-feature/libs/
> total 2288K
> drwxr-s--- 2 root common    4K 2009-08-26 16:08 CVS/
> -rw-r--r-- 1 root common 1035K 2009-08-25 15:36 ee.foundation-1.0.jar
> -rw-r--r-- 1 root common  627K 2009-08-25 15:36 ee.foundation.jar
> -rw-r--r-- 1 root common  601K 2009-08-25 15:36 ee.minimum-1.2.0.jar
> -rw-r--r-- 1 root common    1K 2009-08-25 15:57 readme.txt
> 
> The directory was owned by root, so I had to created a new one (for now) to add
> the new ee jar: 
> 
> $ ll /shared/common/org.eclipse.sdk-feature2/libs/
> total 2676K
> drwxr-s--- 2 david_williams common    4K 2012-04-04 21:51 CVS/
> -rw-r--r-- 1 david_williams common 1035K 2012-04-04 21:51 ee.foundation-1.0.jar
> -rw-r--r-- 1 david_williams common  627K 2012-04-04 21:51 ee.foundation.jar
> -rw-r--r-- 1 david_williams common  601K 2012-04-04 21:51 ee.minimum-1.2.0.jar
> -rw-rw-r-- 1 david_williams common  382K 2012-04-04 21:52 ee.minimum.jar
> -rw-r--r-- 1 david_williams common    1K 2012-04-04 21:59 readme.txt
> 
> And naturally, I updated the readme.txt there: 
> 
> $ cat  /shared/common/org.eclipse.sdk-feature2/libs/readme.txt
> These files are copied from the org.eclipse.osgi/osgi project for use compiling
> eclipse on build.eclipse.org
> 
> ee.foundation-1.0.jar is the 1.4 cvs version from org.eclipse.osgi/osgi =
> CDC-1.1/Foundation-1.0
> ee.foundation.jar = CDC-1.1/Foundation-1.1
> ee.minimum-1.2.0.jar = OSGi/Minimum-1.2
> # ee.minimum.jar taken from CQ 1450 see bug 376029
> # current used for both
> # -DOSGi/Minimum-1.0= ... \
> # -DOSGi/Minimum-1.1= ... \
> ee.minimum.jar = osgi min 1.1 (technically 1.1.3)
> 
> Now, the question. You can see from directory listings, these originally came
> from a cvs repository. From peeking in there, I can see the cvs repository was 
> /cvsroot/eclipse/org.eclipse.sdk-feature. The readme implies they came from 
> org.eclipse.osgi/osgi? (I've not checked). 
> 
> So ... question is, is there a 'git' counterpart? Should I put these in git to
> better ensure the build environment is reproducible? 

org.eclipse.osgi does contain these jars, but to be honest I have been wanting to move these ee definitions and jars out of org.eclipse.osgi for a while.  Perhaps we should get a new project in rt.equinox.framework to house these files?  Perhaps in a org.eclipse.equinox.releng.ees at: http://git.eclipse.org/c/equinox/rt.equinox.framework.git/tree/releng


> 
> More minor question, does anyone know if anyone else were using these? Not sure
> if I should "leave as is" or ask webmasters to update 
> /shared/common/org.eclipse.sdk-feature/libs/
> perhaps they were owned by root specifically to prevent tampering? 

I do not know.  I suspect most projects have moved on since these are really old ee and only really interesting to Java ME developers.  The only ee that has potential interest is the osgi.ee 1.2.1 since it added generics to the osgi.ee 1.2 class library.  This allows projects to use jsr14 + oegi.ee(1.2.1) + (generics in there code/API) and still be able to run on J2SE-1.4 base VMs.  Of coarse it has since been noted that such generified API will not be recognized by the Sun/Oracle java compiler (bug 369145).

> 
> Oh, and I am using the org.eclipse.sdk-feature2 versions in builds now ... and
> haven't noticed any problems or compile errors with the new minimum.

Great!
Comment 6 David Williams CLA 2012-06-06 02:13:09 EDT
I think everything to do here has been "fixed" some time ago (assuming M7). 
Let me know if I've misunderstood anything.