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

Bug 318228

Summary: [build] add build instances to build model
Product: z_Archived Reporter: Markus Knittig <markus>
Component: MylynAssignee: Markus Knittig <markus>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: steffen.pingel
Version: unspecifiedKeywords: contributed
Target Milestone: 0.7   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Adds build instaces to the EMF model
none
mylyn/context/zip
none
build instance model
none
mylyn/context/zip
none
build instance model
steffen.pingel: iplog+
mylyn/context/zip none

Description Markus Knittig CLA 2010-06-28 15:08:19 EDT
A build instance represents a finished build, with includes data like console log and passed tests. A build plan can have zero to infinite build instances.
Comment 1 Steffen Pingel CLA 2010-06-28 16:07:19 EDT
Assign to you Markus.  It would be great if you proposed a design for this before getting too deep into the implementation. I think an EMF model would work well for building a generic build editor.
Comment 2 Markus Knittig CLA 2010-06-28 18:06:37 EDT
Well, I don't really see much to design. I would just start with a little enhancement the the EMF model with a few basic attributes, so that I can start to create an nearly empty build details editor.
Comment 3 Steffen Pingel CLA 2010-06-28 19:19:29 EDT
Great, sounds like we are on the same page.
Comment 4 Steffen Pingel CLA 2010-07-01 14:46:46 EDT
How is this coming along? I would like to change some of the abstractions in the existing model but don't want to cause any conflicts with your changes.
Comment 5 Markus Knittig CLA 2010-07-01 15:22:30 EDT
Created attachment 173256 [details]
Adds build instaces to the EMF model

So, here are the model enhancement. Not so many attributes available from Hudson, at least when your use the API from the root. There is a more fine-granular API with some more attributes, but I not sure how there two would play together and if this API is really needed.
Comment 6 Markus Knittig CLA 2010-07-01 15:22:32 EDT
Created attachment 173257 [details]
mylyn/context/zip
Comment 7 Steffen Pingel CLA 2010-07-02 17:26:08 EDT
Looking at http://mylyn.eclipse.org/hudson/job/mylyn--heartbeat/45/api/xml and http://mylyn.eclipse.org/hudson/job/mylyn--heartbeat/45/testReport/api/xml I see a ton of detail like artifacts, scm changes, test results, people etc. We definitely want that in the generic model for the build editor.

The patch is a good start, but I think we can already model the other artifacts based on the Hudson API as well. Could you propose model classes for these:

* Artifact
* ChangeSet, Change
* Person
* TestResult, TestSuite, TestCase

I would also suggest to rename IBuildRun to IBuild. It's a bit shorter and builds are the central artifact of this framework similar to what ITask is for the tasks framework.

Please feel free to break up this task if that are too many changes for one patch.
Comment 8 Markus Knittig CLA 2010-07-06 20:07:10 EDT
Created attachment 173610 [details]
build instance model

Updated model, didn't include any test stuff. The test report should be parseable by JUnit (Eclipse integeration) -> extra layer even necessary?
Comment 9 Markus Knittig CLA 2010-07-06 20:07:14 EDT
Created attachment 173611 [details]
mylyn/context/zip
Comment 10 Steffen Pingel CLA 2010-07-06 21:08:10 EDT
This looks great! Could you recreate the patch and only include the interfaces and the model changes? Then I can go ahead and apply it.

We will probably need to iterate over the model for change sets to make it fit better for Git and SVN but this looks like a great start. We can leave the model for tests out for now. At least Bamboo does not directly provide JUnit compatible protocols and it would be nice to support viewing results of other test systems as well (e.g. for hyperlinked stack traces) so we we'll probably end up with a generic model but we can worry about that later.
Comment 11 Markus Knittig CLA 2010-07-07 18:23:54 EDT
Created attachment 173722 [details]
build instance model

Ups, that was actually my intention (only interfaces and model changes)...
Comment 12 Markus Knittig CLA 2010-07-07 18:23:56 EDT
Created attachment 173723 [details]
mylyn/context/zip
Comment 13 Steffen Pingel CLA 2010-07-07 22:04:08 EDT
Thanks. I have applied the patch.