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

Bug 342336

Summary: Eclipse signing Plug-in
Product: [Technology] Dash Reporter: Jesse McConnell <jesse.mcconnell>
Component: MavenAssignee: David Carver <d_a_carver>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: caniszczyk, david_williams, d_a_carver, kaloyan, pwebster, wayne.beaton, webmaster
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
eclipse signing plugin d_a_carver: iplog+

Description Jesse McConnell CLA 2011-04-08 17:23:47 EDT
I knocked together this plugin for on the RT/Jetty project and it works for us on a number of projects.

I tweaked it a bit for dash packaging and shifted out the one primary jetty reference to a configuration option on the signing plugin (what subdir it goes to on the signing process)

the README.txt file shows how we typically use it, I added the signerInputDirectory option on there.

This is only meant to be run on the build.eclipse.org server by hudson which is why the example is in a profile.  For our usages we just use -Pbuild-server in the maven configuration of the build when we want to go through this process.

It not super state of the art or anything, it is largely the hack it was when I put it together for our jetty needs but Dave Carver and Chris of egit fame were interested in it coming to dash and I would rather get it in here and maintain it at eclipse then at codehaus jetty contrib.  The reason I put it there originally is I didn't want to mess with the dependency CQ's required to put it into jetty eclipse svn.

its dual licensed just like all of the rest of jetty code but this is infrastructure goop and I really don't care what it is if it gets checked in
Comment 1 Jesse McConnell CLA 2011-04-08 17:24:23 EDT
Created attachment 192881 [details]
eclipse signing plugin
Comment 2 Chris Aniszczyk CLA 2011-04-09 18:18:04 EDT
To make life easier, can we just say this is only available under the EPL? Or does it being dual licensed is important to you?

btw, thanks Jesse!
Comment 3 Jesse McConnell CLA 2011-04-11 09:07:13 EDT
I could not care less, its just what was on it and since it was written/'cobbled together' entirely by eclipse committers imo there is little reason for the CQ process, that and it could be clean roomed in an hour easy.
Comment 4 Wayne Beaton CLA 2011-04-12 12:15:43 EDT
Is the embedded org.eclipse.equinox.p2.jarprocessor modified in any way, or is it just taken directly from p2?
Comment 5 Jesse McConnell CLA 2011-04-12 12:17:21 EDT
its stock, I used it to get around the hassle of finding a copy on the build server and originally to support packing and repacking in place to speed things up when there was remote signing support
Comment 6 Wayne Beaton CLA 2011-04-12 12:20:54 EDT
(In reply to comment #5)
> its stock, I used it to get around the hassle of finding a copy on the build
> server and originally to support packing and repacking in place to speed things
> up when there was remote signing support

Great. We can pull this in as part of the build, but I'll exclude it from the contribution. 

I'm checking with Sharon to see what we need to do regarding making this exclusively EPL (I think she's at lunch).
Comment 7 Wayne Beaton CLA 2011-04-12 13:28:43 EDT
Jesse, can you list the names of the folks who contributed along with an estimate of the percentage they contributed to this code? I'll look up the rest of the contact information from our database (you said that they were all committers). We'll need this information as part of the provenance check.
Comment 8 Jesse McConnell CLA 2011-04-12 13:34:23 EDT
Hugues Malphettes 5%
Michael Gorovoy 5%

both jetty committers

pretty much just a couple of lines here and there, this thing isn't that complex
Comment 9 Wayne Beaton CLA 2011-04-12 13:36:12 EDT
(In reply to comment #8)
> Hugues Malphettes 5%
> Michael Gorovoy 5%
> 
> both jetty committers
> 
> pretty much just a couple of lines here and there, this thing isn't that
> complex

Can I assume you mean 50% ?

Or is it 90% template (I have no experience with Maven Plug-ins)?
Comment 10 Jesse McConnell CLA 2011-04-12 13:40:58 EDT
oh, I wrote the rest, sorry
Comment 11 Wayne Beaton CLA 2011-04-12 13:54:29 EDT
CQ created. 

https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5096
Comment 12 Wayne Beaton CLA 2011-04-29 11:56:46 EDT
Check-in is approved.

Who wants to create the Git repo and do the check-in? Anyone?
Comment 13 Chris Aniszczyk CLA 2011-04-29 12:40:19 EDT
I'd do it but I don't think I'm a dash committer. Getting this in place is a high priority for me because I don't want to sign things manually anymore :)
Comment 14 David Carver CLA 2011-04-29 13:09:07 EDT
(In reply to comment #13)
> I'd do it but I don't think I'm a dash committer. Getting this in place is a
> high priority for me because I don't want to sign things manually anymore :)

Wayne what's the Dash git repository location.  Do we have one created?  If not can you create an initial blank repo, and I'll move the signing plugin in, and we probably should have a build for this on Hudson as well.

I can then look at setting up the necessary deployment items to the Nexus instance to make the snapshot available for testing by Chris.
Comment 15 Wayne Beaton CLA 2011-04-29 13:40:13 EDT
We have some space on /gitroot/ to create repo of our choosing.

Unfortunately, neither Chris nor Dave are committers on Dash. Please confirm that you will be the ones who will support this component moving forward and I'll initiate the necessary elections.

I think we'll use this opportunity to structure how we present Dash a bit. I really don't want to create a new project for every bit of committer-related technology we create, so creating and maintaining new technology directly under the Dash banner makes sense to me...
Comment 16 Chris Aniszczyk CLA 2011-04-29 13:41:21 EDT
(In reply to comment #15)
> We have some space on /gitroot/ to create repo of our choosing.
> 
> Unfortunately, neither Chris nor Dave are committers on Dash. Please confirm
> that you will be the ones who will support this component moving forward and
> I'll initiate the necessary elections.

I will support this code as it's needed by EGit/JGit and other eclipse.org projects I'm involved with.

> I think we'll use this opportunity to structure how we present Dash a bit. I
> really don't want to create a new project for every bit of committer-related
> technology we create, so creating and maintaining new technology directly under
> the Dash banner makes sense to me...

Makes sense to me.
Comment 17 David Carver CLA 2011-04-29 13:46:05 EDT
(In reply to comment #15)
> We have some space on /gitroot/ to create repo of our choosing.
> 
> Unfortunately, neither Chris nor Dave are committers on Dash. Please confirm
> that you will be the ones who will support this component moving forward and
> I'll initiate the necessary elections.
> 
> I think we'll use this opportunity to structure how we present Dash a bit. I
> really don't want to create a new project for every bit of committer-related
> technology we create, so creating and maintaining new technology directly under
> the Dash banner makes sense to me...

Yep, I'll help support it as well.

Dave
Comment 18 Jesse McConnell CLA 2011-04-29 13:47:51 EDT
ditto
Comment 19 Wayne Beaton CLA 2011-04-29 15:38:56 EDT
I have started three committer elections. Once the election is complete, one of you can commit the code. Does that work?
Comment 20 David Carver CLA 2011-05-02 09:54:12 EDT
(In reply to comment #19)
> I have started three committer elections. Once the election is complete, one of
> you can commit the code. Does that work?

Yes, works for me.
Comment 21 David Carver CLA 2011-05-12 12:43:13 EDT
I've crated the necessary git repository, and pushed the signing plugin to the repo.

git://git.eclipse.org/dash/org.eclipse.dash.maven.git

I've also requested a hudson build job be created so we can run this there.  We have some work to do yet on creating a parent pom for this, but for now it can be run and created standalone.  

I'll keep this open until we have this pushed to the Nexus snapshots repo so that others can start to use it and test it.
Comment 22 Chris Aniszczyk CLA 2011-05-12 12:44:53 EDT
Since there is no guarantee of the nexus repo yet, we should just have a place on download.eclipse.org that we can point people to.

I'd like to spin a 1.0 soon and ensure it supports eclipse-update-site and eclipse-repository tycho types.
Comment 23 David Carver CLA 2011-05-12 15:42:50 EDT
(In reply to comment #22)
> Since there is no guarantee of the nexus repo yet, we should just have a place
> on download.eclipse.org that we can point people to.
> 
> I'd like to spin a 1.0 soon and ensure it supports eclipse-update-site and
> eclipse-repository tycho types.

As soon as I get the admin password, I'll get the snapshots deployed to the nexus repo.  I just forgot what the admin password was to Nexus.
Comment 24 David Carver CLA 2011-05-13 10:02:38 EDT
(In reply to comment #23)
> (In reply to comment #22)
> > Since there is no guarantee of the nexus repo yet, we should just have a place
> > on download.eclipse.org that we can point people to.
> > 
> > I'd like to spin a 1.0 soon and ensure it supports eclipse-update-site and
> > eclipse-repository tycho types.
> 
> As soon as I get the admin password, I'll get the snapshots deployed to the
> nexus repo.  I just forgot what the admin password was to Nexus.

I should have this deployed to the nightly nexus repo tonight.   As part of bug 345734 I created a settings.xml file that projects can use during their build to pull artifacts from the repo.
Comment 25 David Carver CLA 2011-05-13 16:45:22 EDT
This is now deployed to the Nexus snapshot repo.

http://maven.eclipse.org/nexus/content/repositories/nightly-indigo/

There is a settings.xml file that projects can use to retrieve artifacts.

http://git.eclipse.org/c/dash/org.eclipse.dash.maven.git/tree/settings.xml

Please report any issues to this bug report.  If everything looks good, I'll do an initial deployment to the Indigo Milestone once we are comfortable.
Comment 26 David Carver CLA 2011-05-13 16:50:51 EDT
Information on using the new plugin:

http://wiki.eclipse.org/Minerva#Signing
Comment 28 David Carver CLA 2011-05-14 20:30:40 EDT
Put the plugin signing on your Site/Repository module, not your parent.

You'll want to set a phase so it happens after the repository artifacts are created and the site zip is assembled, I'm assuming.

So put the profile in the appropriate module, and you should get a bit farther.
Comment 29 Chris Aniszczyk CLA 2011-05-14 21:09:29 EDT
progress,

https://hudson.eclipse.org/sandbox/job/egit-github.gerrit/10/console

no access to /usr/bin/sign from the looks of it...
Comment 30 David Carver CLA 2011-05-15 12:22:58 EDT
(In reply to comment #29)
> progress,
> 
> https://hudson.eclipse.org/sandbox/job/egit-github.gerrit/10/console
> 
> no access to /usr/bin/sign from the looks of it...

This looks like a similar issue to bug 324380.

I'm ccing the webmasters on this as well.
Comment 31 Chris Aniszczyk CLA 2011-05-16 11:46:42 EDT
This works for me now.

https://hudson.eclipse.org/hudson/job/egit-github/115/console

Shall we find a permanent home for this plug-in now or will we ensure where it's at, it's going to remain there?
Comment 32 David Carver CLA 2011-05-16 17:49:11 EDT
(In reply to comment #31)
> This works for me now.
> 
> https://hudson.eclipse.org/hudson/job/egit-github/115/console
> 
> Shall we find a permanent home for this plug-in now or will we ensure where
> it's at, it's going to remain there?

If this looks good, I'll deploy it to the indigo milestone (release) repository on Nexus.  I'd like to have a few more people try it to be sure before we take the -SNAPSHOT off of it.

Feel like blogging about it Chris?
Comment 33 Chris Aniszczyk CLA 2011-05-17 17:49:15 EDT
The signing plug-in also works for LinuxTools.
Comment 34 David Carver CLA 2011-05-17 23:16:39 EDT
I'll deploy this to the milestone release for Indigo repository sometime tomorrow.  It may eventually move to an official release area.  I'll remove the snapshot extension, and post the version number when done.
Comment 35 David Carver CLA 2011-05-18 10:38:12 EDT
Eclipse singing plugin has been staged to the milestone/indigo repository.  This will be it's permanent home.   Staged versions is 1.0.0.

Chris you should be able to use it now, as well as any project that needs to have their p2 artifacts signed.

Resolving this issue.

Repository location:
http://maven.eclipse.org/nexus/content/groups/public/
Comment 36 Chris Aniszczyk CLA 2011-05-18 12:05:36 EDT
Thanks David, I blogged about it.

http://aniszczyk.org/2011/05/18/eclipse-org-signing-support-for-maven-tycho/

Hopefully this helps people as we get close to Indigo release time... now to update the Minerva example...