Bug 408760 - Add Eclipse-SourceReferences to ECF plugins
Summary: Add Eclipse-SourceReferences to ECF plugins
Status: RESOLVED FIXED
Alias: None
Product: ECF
Classification: RT
Component: ecf.releng (show other bugs)
Version: 3.10.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 3.10.0   Edit
Assignee: ecf.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
: 406610 (view as bug list)
Depends on:
Blocks: 484004
  Show dependency tree
 
Reported: 2013-05-22 17:37 EDT by Scott Lewis CLA
Modified: 2016-12-16 16:53 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Lewis CLA 2013-05-22 17:37:58 EDT
Currently, ECF does not use the Eclipse-SourceReferences header.  To make it easier for consumers to get/use/contribute to the ECF source (in git), it would be useful to add this header to our plugins.

It would be nice if this was to be automated in the ECF builder...i.e. the builder would put the appropriate source ref in the built header...but this isn't necessary.
Comment 1 Markus Kuppe CLA 2013-05-23 00:09:36 EDT
*** Bug 406610 has been marked as a duplicate of this bug. ***
Comment 2 Markus Kuppe CLA 2013-05-23 00:10:08 EDT
From the buckminster newsgroup it seems it's supported by Bucky [1]. OTOH Tycho might also be able to do this (dunno what the current state of ECF's Tycho transition is).

[1] http://www.eclipse.org/forums/index.php/t/354510/
Comment 3 Markus Kuppe CLA 2013-05-29 05:34:50 EDT
Buckminster seems to support this with revision 11798 (see #348171)
Comment 5 Markus Kuppe CLA 2013-05-29 06:40:51 EDT
This turns out to be infeasible for ECF 3.6.1:

- Upgrade from Buckminster 3.6 to something newer (high risk)
- Buckminster's implementation only sets "Eclipse-SourceReferences" for bundles which RMAP location is "git" [1]. ECF uses "local" though, thus setting "-DgenerateSourceReferences=true" has no effect.

Marking as ECF 3.7.

[1] http://git.eclipse.org/c/buckminster/buckminster.git/tree/org.eclipse.buckminster.pde/src/java/org/eclipse/buckminster/pde/tasks/BundleConsolidator.java
Comment 6 Mat Booth CLA 2016-11-24 05:53:02 EST
"Eclipse-SourceReferences" headers are now being generated in the new maven/tycho build.

You can see it in action in the latest snapshot build that is located here: http://download.eclipse.org/rt/ecf/snapshot/site.p2/
Comment 7 Stephan Herrmann CLA 2016-12-15 07:54:34 EST
(In reply to Mat Booth from comment #6)
> "Eclipse-SourceReferences" headers are now being generated in the new
> maven/tycho build.
> 
> You can see it in action in the latest snapshot build that is located here:
> http://download.eclipse.org/rt/ecf/snapshot/site.p2/

Has this been contributed to any simrel build, yet? I still see ECF under "Bundles without an Eclipse-SourceReferences" in the latest report at https://hudson.eclipse.org/simrel/job/simrel.oxygen.runaggregator.BUILD__CLEAN/lastSuccessfulBuild/artifact/aggregation/final/buildInfo/reporeports/reports/esdata.txt

I'm asking because in bug 484004 I need to consume this information.

Given that Neon.2 doesn't have it for sure, can s.o. please provide repository url and Neon.2 release tags for these bundles?

   org.eclipse.ecf
   org.eclipse.ecf.filetransfer
   org.eclipse.ecf.identity
   org.eclipse.ecf.provider.filetransfer
   org.eclipse.ecf.provider.filetransfer.ssl
   org.eclipse.ecf.provider.filetransfer.httpclient4
   org.eclipse.ecf.provider.filetransfer.httpclient4.ssl
   org.eclipse.ecf.ssl

thanks


Additionally, the above list looks incomplete to me. It was created by aggregating the Eclipse SDK feature. Does ECF have a more complete feature which should be included in repository aggregation for publishing in Maven Central?
Comment 8 Scott Lewis CLA 2016-12-15 12:54:34 EST
(In reply to Stephan Herrmann from comment #7)
> (In reply to Mat Booth from comment #6)
> > "Eclipse-SourceReferences" headers are now being generated in the new
> > maven/tycho build.
> > 
> > You can see it in action in the latest snapshot build that is located here:
> > http://download.eclipse.org/rt/ecf/snapshot/site.p2/
> 
> Has this been contributed to any simrel build, yet? 

see bug 506956

We have contributed our 3.13.3 release here:

http://download.eclipse.org/rt/ecf/3.13.3/site.p2

to the platform as per bug 506956.  I haven't checked whether it's in the integration build yet.

This does have the Eclipse-SourceReferences header.

I still see ECF under
> "Bundles without an Eclipse-SourceReferences" in the latest report at
> https://hudson.eclipse.org/simrel/job/simrel.oxygen.runaggregator.
> BUILD__CLEAN/lastSuccessfulBuild/artifact/aggregation/final/buildInfo/
> reporeports/reports/esdata.txt
> 
> I'm asking because in bug 484004 I need to consume this information.
> 
> Given that Neon.2 doesn't have it for sure, can s.o. please provide
> repository url and Neon.2 release tags for these bundles?

I believe that the 3.13.2 build was used for Neon.1a

http://download.eclipse.org/rt/ecf/3.13.2/site.p2/

and the build tag is given here

https://dev.eclipse.org/mhonarc/lists/ecf-dev/msg07948.html


> 
>    org.eclipse.ecf
>    org.eclipse.ecf.filetransfer
>    org.eclipse.ecf.identity
>    org.eclipse.ecf.provider.filetransfer
>    org.eclipse.ecf.provider.filetransfer.ssl
>    org.eclipse.ecf.provider.filetransfer.httpclient4
>    org.eclipse.ecf.provider.filetransfer.httpclient4.ssl
>    org.eclipse.ecf.ssl
> 
> thanks
> 
> 
> Additionally, the above list looks incomplete to me. It was created by
> aggregating the Eclipse SDK feature. Does ECF have a more complete feature
> which should be included in repository aggregation for publishing in Maven
> Central?

Yes.   There are two feature(s) that we would like published in Maven central.

One is the Remote Services SDK feature:

org.eclipse.ecf.remoteservice.sdk.feature

and the other is the ECF SDK for Eclipse (which depends upon the remote services feature and adds Eclipse-specific tooling)

which is feature id:

org.eclipse.ecf.sdk

It would be very nice if particularly the Remote Services SDK were to be published on Maven central as part of this effort, as it's already being consumed via our Maven repos, but this is cumbersome for users because of our necessary dependencies on some Equinox and Eclipse bundles...that aren't yet in maven central

BTW...one request on behalf of Equinox to meet one of our dependencies...for Equinox could the Equinox supplement bundle be included?

    <bundle>http://download.eclipse.org/equinox/drops/R-Neon.1-201609071200/org.eclipse.equinox.supplement_1.6.100.v20160504-1419.jar</bundle>
Comment 9 Stephan Herrmann CLA 2016-12-15 14:59:25 EST
(In reply to Scott Lewis from comment #8)
> We have contributed our 3.13.3 release here:
> 
> http://download.eclipse.org/rt/ecf/3.13.3/site.p2
> 
> to the platform as per bug 506956.  I haven't checked whether it's in the
> integration build yet.
> 
> This does have the Eclipse-SourceReferences header.

So we should be good for Oxygen. Nice.


> > Given that Neon.2 doesn't have it for sure, can s.o. please provide
> > repository url and Neon.2 release tags for these bundles?
> 
> I believe that the 3.13.2 build was used for Neon.1a
> 
> http://download.eclipse.org/rt/ecf/3.13.2/site.p2/
> 
> and the build tag is given here
> 
> https://dev.eclipse.org/mhonarc/lists/ecf-dev/msg07948.html

With this I'm patch the generated poms of ECF with:
  <scm>
    <connection>scm:git:https://git.eclipse.org/r/ecf/org.eclipse.ecf</connection>
    <tag>R-Release_HEAD-sdk_feature-279_279</tag>
  </scm>

Should I worry that this URL gives "Not Found" in the browser??

> >    org.eclipse.ecf
> >    org.eclipse.ecf.filetransfer
> >    org.eclipse.ecf.identity
> >    org.eclipse.ecf.provider.filetransfer
> >    org.eclipse.ecf.provider.filetransfer.ssl
> >    org.eclipse.ecf.provider.filetransfer.httpclient4
> >    org.eclipse.ecf.provider.filetransfer.httpclient4.ssl
> >    org.eclipse.ecf.ssl
> > 
> > thanks
> > 
> > 
> > Additionally, the above list looks incomplete to me. It was created by
> > aggregating the Eclipse SDK feature. Does ECF have a more complete feature
> > which should be included in repository aggregation for publishing in Maven
> > Central?
> 
> Yes.   There are two feature(s) that we would like published in Maven
> central.
> 
> One is the Remote Services SDK feature:
> 
> org.eclipse.ecf.remoteservice.sdk.feature
> 
> and the other is the ECF SDK for Eclipse (which depends upon the remote
> services feature and adds Eclipse-specific tooling)
> 
> which is feature id:
> 
> org.eclipse.ecf.sdk
> 
> It would be very nice if particularly the Remote Services SDK were to be
> published on Maven central as part of this effort, as it's already being
> consumed via our Maven repos, but this is cumbersome for users because of
> our necessary dependencies on some Equinox and Eclipse bundles...that aren't
> yet in maven central

I wondered if the incompleteness was due to an inappropriate strategy. So I changed to including "everything" from the Eclipse release repo and only removed stuff that should be irrelevant for maven (see bug 484004 comment 61).

But still ecf only shows the same artifacts (see http://build.eclipse.org/tools/objectteams/sdk_aggr/repo-201612151340/org/eclipse/platform/ )

Given that features are only used as bill of materials, don't translate into an actual maven artifact we do seem to be complete. Or do you know of use cases where a maven build indeed needs features?

Perhaps the Eclipse release repo doesn't contain all of ECF?



> BTW...one request on behalf of Equinox to meet one of our dependencies...for
> Equinox could the Equinox supplement bundle be included?
> 
>    
> <bundle>http://download.eclipse.org/equinox/drops/R-Neon.1-201609071200/org.eclipse.equinox.supplement_1.6.100.v20160504-1419.jar</bundle>

That one we get for free by the given strategy, see http://build.eclipse.org/tools/objectteams/sdk_aggr/repo-201612151340/org/eclipse/platform/org.eclipse.equinox.supplement/1.6.100/
Comment 10 Scott Lewis CLA 2016-12-15 18:54:37 EST
(In reply to Stephan Herrmann from comment #9)
> So we should be good for Oxygen. Nice.
> 
> 
> > > Given that Neon.2 doesn't have it for sure, can s.o. please provide
> > > repository url and Neon.2 release tags for these bundles?
> > 
> > I believe that the 3.13.2 build was used for Neon.1a
> > 
> > http://download.eclipse.org/rt/ecf/3.13.2/site.p2/
> > 
> > and the build tag is given here
> > 
> > https://dev.eclipse.org/mhonarc/lists/ecf-dev/msg07948.html
> 
> With this I'm patch the generated poms of ECF with:
>   <scm>
>    
> <connection>scm:git:https://git.eclipse.org/r/ecf/org.eclipse.ecf</
> connection>
>     <tag>R-Release_HEAD-sdk_feature-279_279</tag>
>   </scm>
> 
> Should I worry that this URL gives "Not Found" in the browser??

This url works for me:

http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tag/?h=R-Release_HEAD-sdk_feature-279_279

Maybe it's just the 'https' in yours.   It's the only thing that looks different to me.

> 
> I wondered if the incompleteness was due to an inappropriate strategy. So I
> changed to including "everything" from the Eclipse release repo and only
> removed stuff that should be irrelevant for maven (see bug 484004 comment
> 61).
> 
> But still ecf only shows the same artifacts (see
> http://build.eclipse.org/tools/objectteams/sdk_aggr/repo-201612151340/org/
> eclipse/platform/ )

So the only artifacts that are included in Eclipse by default are the filetransfer features and bundles (as you list above).  ECF, however, has quite a lot of other components...not included in Eclipse by default but in the simrel repo.


> 
> Given that features are only used as bill of materials, don't translate into
> an actual maven artifact we do seem to be complete. Or do you know of use
> cases where a maven build indeed needs features?
> 
> Perhaps the Eclipse release repo doesn't contain all of ECF?

The eclipse release repo doesn't.   The simrel repo does.  I thought you were asking more generally about simrel, when you asked about other ECF features...but I guess you were not.

> 
> 
> 
> > BTW...one request on behalf of Equinox to meet one of our dependencies...for
> > Equinox could the Equinox supplement bundle be included?
> > 
> >    
> > <bundle>http://download.eclipse.org/equinox/drops/R-Neon.1-201609071200/org.eclipse.equinox.supplement_1.6.100.v20160504-1419.jar</bundle>
> 
> That one we get for free by the given strategy, see
> http://build.eclipse.org/tools/objectteams/sdk_aggr/repo-201612151340/org/
> eclipse/platform/org.eclipse.equinox.supplement/1.6.100/

Ok, that's great.   If it's there in a future maven central location we (and our consumers) will be happy.

Scott
Comment 11 Stephan Herrmann CLA 2016-12-16 16:22:49 EST
in case this will become relevant:

(In reply to Scott Lewis from comment #8)
> ...
> and the other is the ECF SDK for Eclipse (which depends upon the remote
> services feature and adds Eclipse-specific tooling)
> 
> which is feature id:
> 
> org.eclipse.ecf.sdk

This feature is missing from http://download.eclipse.org/rt/ecf/3.13.2/site.p2/



and:

(In reply to Scott Lewis from comment #10)
> (In reply to Stephan Herrmann from comment #9)
> > [...]
> >   <scm>
> >    
> > <connection>scm:git:https://git.eclipse.org/r/ecf/org.eclipse.ecf</
> > connection>
> >     <tag>R-Release_HEAD-sdk_feature-279_279</tag>
> >   </scm>
> > 
> > Should I worry that this URL gives "Not Found" in the browser??
> 
> This url works for me:
> 
> http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tag/?h=R-Release_HEAD-sdk_feature-279_279

The main difference is /r/ (gerrit) vs /c/ (cgit). 
In fact cloning from the /r/ address seems to work alright, so that's the correct one for scm.connection in poms.
Comment 12 Scott Lewis CLA 2016-12-16 16:52:41 EST
(In reply to Stephan Herrmann from comment #11)

<stuff deleted>
> The main difference is /r/ (gerrit) vs /c/ (cgit). 
> In fact cloning from the /r/ address seems to work alright, so that's the
> correct one for scm.connection in poms.

Ok, thanks.
Comment 13 Scott Lewis CLA 2016-12-16 16:53:33 EST
(In reply to Stephan Herrmann from comment #11)
<stuff deleted>

> > which is feature id:
> > 
> > org.eclipse.ecf.sdk
> 
> This feature is missing from
> http://download.eclipse.org/rt/ecf/3.13.2/site.p2/

Ok, my mistake.   I meant:

org.eclipse.ecf.core