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

Bug 338567

Summary: Change Graphiti dependency from 'includes' to pre-req type
Product: [WebTools] WTP Releng Reporter: Neil Hauge <neil.hauge>
Component: relengAssignee: Tran Le <tranle1>
Status: RESOLVED FIXED QA Contact: David Williams <david_williams>
Severity: normal    
Priority: P3 CC: david_williams, kaloyan, michael.wenz, stefan.dimov
Version: unspecified   
Target Milestone: 3.10.0   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Neil Hauge CLA 2011-03-01 12:51:37 EST
As discussed on bug 336916, we want to change the Graphiti dependency from its current form as an includes to a pre-req dependency (like EMF, DTP, etc).
Comment 1 Tran Le CLA 2011-03-01 13:27:25 EST
David, we have established in bug 336916, that we need the Graphiti 0.8.0 for
the Indigo release. I was wondering if you know the convention they could be
using for their Milestones build zip file URL, since it is not documented on
the download page.
I guess we could also use the nightly build zip as last resort but milestones
builds are preferable.

http://www.eclipse.org/graphiti/download.php
Comment 2 Tran Le CLA 2011-03-01 19:20:13 EST
David
I could not guess the milestone build URL.
This is what I come up with for the nightly build properties, let me know what you think. Also I am not sure if I have to define the graphiti.repo property.
#################################################################################
# Graphiti
# groupID : graphiti

graphiti.id=0.8.0.qualifier
graphiti.dir.id=nightly

graphiti.mirror.prefixuri=/graphiti/archives/${graphiti.dir.id}
graphiti.file=org.eclipse.graphiti.site_${graphiti.id}.zip

graphiti.tobeinstalledfeaturegroups=org.eclipse.graphiti.feature.group

graphiti.name=Graphiti 0.8.0
graphiti.description=(Required for JPA Diagram Editor)

graphiti.url=http://download.eclipse.org${graphiti.mirror.prefixuri}
graphiti.build.home=http://download.eclipse.org/graphiti/updates/nightly/
Comment 3 David Williams CLA 2011-03-01 20:37:33 EST
I'm not sure what to recommend. They seem to do things differently from all of our other prereqs. 

IMHO, I think they (or JPA diagram editor team) need to provide the information and type of site and features that we can prereq. 

I'll write a long response, but not entirely addressed to you, Tran. I'm not sure who should be CC'd, so will CC Kaloyan who should know. 

There are some hints of what to use at 
http://www.eclipse.org/graphiti/download.php

We do want to specify a 'repo' and 'tobeinstalledfeaturegroups' but it appears they do not provide archived repos for clients/adopters to use. I suspect there is some way to use/specify an http: repo, but we have not had to do that elsewhere so not sure what we would have to change in our scripts, if anything. It'd be best if they provided an archived repository (since that allows clients to download once, and reuse, instead of downloading each time client does a build. 

Another issue is that, from download page, they promote the use of a "current" URL, but it is best, for builds, to have a definitive URL, with one and only one version of the required feature in it. Otherwise, the feature we get can changed based on what they provide there in "current", but for builds it is best, for repeatability, and predictability, if we say what we want. Other sites provide a specific "build url" from which to get prereqs. 
According to the composite files in 
http://download.eclipse.org/graphiti/updates/milestones/ 
there should be a S-0.8.0M3.5-201011160831 site, but it does not exist. 
There is a 
http://download.eclipse.org/graphiti/updates/milestones/S-0.8.0M4-201012140834 
update site, if M4 is ok to use for now? 


The tobeinstalledfeaturegroups would be 
org.eclipse.graphiti.feature.feature.group

I'm sure there's more questions/issues ... but, we'll start with these. 
It's more complicated than I thought it'd be, since they provide different site/builds from other prereqs, such as emf/gef/dtp/emftransaction/emfvalidation. 

Kaloyan, can you CC the right people to address some of these issues? 
Is graphiti project open to providing archived repositories? 
(JPA Editor team should be the ones to "drive" what's needed ... test "by hand" before Tran puts in our build, etc.). 
Any advice?
Comment 4 Neil Hauge CLA 2011-03-02 13:37:30 EST
Adding Stefan to this discussion.  Stefan...can you advise on any of David's questions?
Comment 5 Kaloyan Raev CLA 2011-03-02 16:40:09 EST
Michael, could you help us consuming Graphiti in the PDE build of WTP? Graphiti is pre-requisite for the JPA Diagram Editor which is now an official component of WTP. 

Please, read the comments in the bug to get the more details on the problem.
Comment 6 Michael Wenz CLA 2011-03-03 03:31:30 EST
Sure, I will help in this.

Actually there is already a zipped version of our milestone builds available from the download area, it was simply missing from the downloads web page. I added the link to the page, here it is once more:
http://www.eclipse.org/downloads/download.php?file=/graphiti/archives/milestones/org.eclipse.graphiti.site_0.8.0.201102011429.zip

Regarding the composite update site: I gave this thing a try but had some trouble with it, so it is more or less abandoned. I would like to remove it and stick to our individual update site scheme instead, if that is fine with our users. So just let me know in case you need anything else.

The idea behind providing a milestones/current update site was to make it easy for our users to always use the newest milestone in their build (without having to update repo links). There's a history of the milestone update sites in parallel, if you prefer it that way just let me know; I can easily provide the current milestone this way as well.

Just let me know of any issues. Thanks for the feedback!

Michael
Comment 7 David Williams CLA 2011-03-03 22:56:35 EST
Thanks Michael. 

It looks like the following might work ... some inconsistencies with other "download sites" ... but, would probably work with our scripts. ... along with the other changes similar to those made in bug 336916 for emf transaction and emf validation. 

#################################################################################
# Graphiti
# groupID : graphiti

graphiti.id=0.8.0.201102011429
graphiti.dir.id=milestones

graphiti.mirror.prefixuri=/graphiti/archives/${graphiti.dir.id}
graphiti.file=org.eclipse.graphiti.site_${graphiti.id}.zip

graphiti.repo=org.eclipse.graphiti.site_${graphiti.id}.zip
graphiti.tobeinstalledfeaturegroups=org.eclipse.graphiti.feature.feature.group

graphiti.name=Graphiti 0.8.0
graphiti.description=(Required for JPA Diagram Editor)

graphiti.url=http://download.eclipse.org${graphiti.mirror.prefixuri}
graphiti.build.home=http://www.eclipse.org/graphiti/download.php





#################################################################################
# Graphiti
# groupID : graphiti

graphiti.id=0.8.0.201102011429
graphiti.dir.id=milestones

graphiti.mirror.prefixuri=/graphiti/archives/${graphiti.dir.id}
graphiti.file=org.eclipse.graphiti.site_${graphiti.id}.zip

graphiti.repo=org.eclipse.graphiti.site_${graphiti.id}.zip
graphiti.tobeinstalledfeaturegroups=org.eclipse.graphiti.feature.feature.group

graphiti.name=Graphiti 0.8.0
graphiti.description=(Required for JPA Diagram Editor)

graphiti.url=http://download.eclipse.org${graphiti.mirror.prefixuri}
graphiti.build.home=http://www.eclipse.org/graphiti/download.php
Comment 8 David Williams CLA 2011-03-03 23:05:47 EST
whoops, look like I pasted something twice. 

I've actually created a temp branch of releng (and all map projects) and releng.wtpbuilder named "david_williams_jpade". 

If you'd like to work in that, Tran, I can do some "local" builds until we get it working ... so 1) we don't have to wait until weekly build is declared; and 2) we won't break the production build. 

The changes to wtpbuilder would parallel the ones for emftransaction and emfvalidation exactly. Nothing hard, but tedious. I searched for "emftransaction" in releng.wtpbuilder and saw 82 matches in 14 files. 

The tricky part, is that I think you'd have to remove the "includes" in the jpa diagram editor feature(s) at same time of making the changes for "requires". If you do that, you can "release" those tagged versions into the maps in releng.dali in the david_williams_jpade branch so it doesn't interfere with production build ... and I've tweaked my local build to use all maps from that david_williams_jpade branch (instead of HEAD). 

Let me know if you want to go with that approach. I'd be glad to help.
Comment 9 Tran Le CLA 2011-03-04 00:35:48 EST
Thank you very much David, I can start working on this tomorrow.
Comment 10 Tran Le CLA 2011-03-04 14:03:51 EST
David, I made the required change to the builder and tagged it v201103041847
I have also released the change to org.eclipse.jpt.jpadiagrameditor.feature to "requires" Graphiti. I think we are ready for a test build, thanks.
Comment 11 David Williams CLA 2011-03-04 16:45:46 EST
(In reply to comment #10)
> David, I made the required change to the builder and tagged it v201103041847
> I have also released the change to org.eclipse.jpt.jpadiagrameditor.feature to
> "requires" Graphiti. I think we are ready for a test build, thanks.

Something must be wrong, because the test build worked perfectly first time through :) 

I didn't really check the content, but it completed, downloaded graphiti, etc., so I think you are safe to release your fixes to head. (Please merge your branch changes into wtpbuilder head, and re-tag from there ... just to make sure all is in synch). 

Thanks.
Comment 12 Tran Le CLA 2011-03-04 17:25:30 EST
Indeed something must be wrong!

I merged into wtpbuilder head, and re-tagged, and released Dali head. I also applied patch for bug 337657.
Thank you for your help.
Comment 13 Tran Le CLA 2011-03-08 12:09:46 EST
Implemented in M6. 
Thanks everyone.