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

Bug 354462

Summary: Switch to Tycho 0.13.0-SNAPSHOT for building MAT
Product: [Tools] MAT Reporter: Krum Tsvetkov <krum.tsvetkov>
Component: CoreAssignee: Project Inbox <mat.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: andrew_johnson
Version: 1.1   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:

Description Krum Tsvetkov CLA 2011-08-11 04:51:30 EDT
There are two reasons to update to the latest version of Tycho:
- group and artifact ids for Tycho plugins changed since Tycho moved at Eclipse (version 0.12.0, see http://wiki.eclipse.org/Tycho_Release_Notes/0.12)
- 0.13.0-SNAPSHOT fixes a problem, which prevents us from building the RCPs for Mac. I was building them so far locally with a patched plugin.

I'll have the changes for this transition locally and will submit them soon.
Comment 1 Krum Tsvetkov CLA 2011-08-15 03:50:19 EDT
I did the first step - switch from Tycho 0.11.0 to 0.12.0 and using the new group and artifact IDs. Checked in with revision 1167.
I had some compilation problems with the dtfj bundle while trying to use 0.13.0-SNAPSHOT. Will try to resolve them.
Comment 2 Andrew Johnson CLA 2011-08-15 05:53:40 EDT
There was an error in cbi-mat-nightly #430

https://hudson.eclipse.org/hudson/view/Athena%20CBI%20%28SVN%29/job/cbi-mat-nightly/430/consoleFull

    [javac] 5. ERROR in /opt/users/hudsonbuild/workspace/cbi-mat-nightly/build/N201108150310/eclipse/plugins/org.eclipse.mat.dtfj/src/org/eclipse/mat/dtfj/DTFJIndexBuilder.java (at line 291)
    [javac] 	private static final class DummyJavaClass implements JavaClass, CorruptData
    [javac] 	                           ^^^^^^^^^^^^^^
    [javac] The type DTFJIndexBuilder.DummyJavaClass must implement the inherited abstract method JavaClass.getInstanceSize()

It looks like the interface JavaClass has changed to add an extra method getInstanceSize()

I don't see the error with DTFJ from 
http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html
ftp://ftp.software.ibm.com/software/java/support/tools/dtfj/dtfj-updatesite.zip
but the Athena and Tycho builds use
http://public.dhe.ibm.com/software/isa/isa410/production/
to get an update site, and this version of DTFJ has been updated.

The fix is quite simple - just to add an extra method. The existing versions of MAT should run with the new DTFJ as the getInstanceSize method will not be called. The change is need to let MAT compile with the new DTFJ.
Comment 3 Krum Tsvetkov CLA 2011-08-18 10:51:36 EDT
I managed to get the build with 0.13.0-SNAPSHOT running locally and submitted the changes. However, the first attempt to run it on the Eclipse server timed out (while loading the different maven plugins, before even starting to build).
I'll try later again and check if it was some temporary network problem.
Comment 4 Krum Tsvetkov CLA 2011-08-22 09:05:34 EDT
Finally managed to get the build working.
Not sure what exactly the problem was. It disappeared after I reconfigured the hudson job to use Maven 3.0.3 instead of 3.0.