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

Bug 351819

Summary: Generate source reference headers from a repoTag
Product: [Eclipse Project] PDE Reporter: Paul Webster <pwebster>
Component: BuildAssignee: pde-build-inbox <pde-build-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: aniefer, daniel_megert, gunnar, john.arthorne, kim.moir, tomasz.zarna
Version: 3.6.2   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 351818, 327381, 345670    
Bug Blocks:    

Description Paul Webster CLA 2011-07-12 07:27:50 EDT
When we generate the source reference headers, we currently use the map tag that we use as the qualifier.  But if you want to import a number of platform UI plugins, they almost all have different qualifiers and that means you need to clone different repos so you can checkout the different qualifiers?

If you're checking out for a build, you would want to either check out the build tag or master to get the current stuff.

Can the source ref generator see what was passed in from the map file?  Or is it only the qualifier that is passed through?

Could we pass through the build tag?  Is there perhaps a better way?

PW
Comment 1 Gunnar Wagenknecht CLA 2011-07-14 07:13:19 EDT
In CVS all of this was a no-brainer because each bundle had it's own repo. Thus, you had to checkout multiple repos anyway. You could checkout different tags, etc. With Git this is much more complicated because all projects in a repo share the tag/branch.

Frankly, from a contributor point of view I don't really care about the build tag. I care about either the specific version or the latest one from master.

Thus, I think a lot of this logic must go into the wizard that will transfer the source-reference into a PDE project in the local workspace. IMHO it must be smart enough to discover local, already cloned repos. If not it should at least ask the user for a local repo to checkout from. 

The next issue is with the checkout of multiple tags. Only one tag/branch can be checked out at any point in time for a single repo. This may not only affect new bundles to import but also already existing projects in the workspace.

The wizard must verify if any project in the current workspace is also contained in the repo and warn the user that this will also switch any workspace project to the same tag and/or branch. The wizard might just ask the user what branch/tag to checkout.
Comment 2 Paul Webster CLA 2011-07-18 07:54:05 EDT
(In reply to comment #1)
> Frankly, from a contributor point of view I don't really care about the build
> tag. I care about either the specific version or the latest one from master.
> 

That's partly what I'm talking about in bug 351818

Separating the build tag (repoTag) and the qualifier (tag) from the map files for git repos.


Right now I'm littering my git repo with tags like v<date-time UTC> on the last commit for a bundle that changed between this build and last build, so I can get unique qualifiers.

A - build commit - v<UTC1>
B - changes ui.workbench - v<UTC2>
C - changes jface - v<UTC3>
D - changes ui.workbench
E - changes ui.workbench
F - changes jface
G - last build commit v<UTC4>


But to actually build I really only needed v<UTC1> and v<UTC4>, and having source URLs with v<UTC1> would provide the correct specific version of all the plugins in the build.

Which brings me to bug 345670, where I'd like to propose a simpler release paradigm.  bug 327381 will be where smart importing of Git projects from source reference headers would be implemented.

PW
Comment 3 Lars Vogel CLA 2018-12-03 09:06:43 EST
Currently we are not actively enhancing PDE build anymore. Therefore, I close this bug as WONTFIX. 

Please reopen, if you plan to provide a fix.