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

Bug 567414

Summary: Build standalone MAT packages with a newer Eclipse release
Product: [Tools] MAT Reporter: Krum Tsvetkov <krum.tsvetkov>
Component: GUIAssignee: Krum Tsvetkov <krum.tsvetkov>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: kevin.grigorenko
Version: 1.10   
Target Milestone: 1.11.0   
Hardware: PC   
OS: All   
See Also: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170019
https://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=d88e991419bfb288bffb198c868927b0d7042d5e
https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170160
https://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=dc1262f3e4f7824f2da6178f89584b7173f1a93c
https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170162
https://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=664ecdd9ec025f18edcc471036a0dde3dcb8f256
https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170163
https://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=9290cf7226296b7716e4a8dfb8ec76c7801b8969
Whiteboard:
Bug Depends on:    
Bug Blocks: 537252    

Description Krum Tsvetkov CLA 2020-09-28 10:17:15 EDT
As already shortly discussed on the mailing list, it is time to update the version of platform we use for the standalone packages. At present it is still Photon.
To capture the discussions so far, here the pieces from the mail thread:

--------- Andrew: ---------------
Base Platform
=============

Should we continue to build on top of Photon (June 2018)?
This gives us these OS versions (with download numbers to 19 September 
2020)
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-win32.win32.x86_64.zip 
70417
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-macosx.cocoa.x86_64.zip 
32683
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86_64.zip 10808
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-win32.win32.x86.zip 7508<=
/mat/1.10.0/MemoryAnalyzer-1.10.0.202002252112.zip  5014
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86.zip   925<=
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-linux.gtk.ppc64.zip 320<=
/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200225-linux.gtk.ppc64le.zip 132
If we move to 2020-09 we lose Windows 32-bit, Linux 32-bit x86, 
Linux ppc64 big-endian, but could gain Linux AArch64
Users would still have the option of installing MAT into a back level
version of Eclipse.

2020-06 and later requires Java 11 so if we want to run under Java 8 then
2020-03 is the latest.

---------- Kevin: --------------

> 2020-06 and later requires Java 11 so if we want to run under Java 8 then 2020-03 is the latest.

In my opinion, there should be some more time before MAT requires Java 11. This will require many customers to upgrade their JRE which can be difficult in some locked-down corporate environments.

However, I do think an upgrade to 2020-03 is worth it. In particular, the current build of MAT does not work on macOS with OpenJ9 compressed references builds because Photon does not link with -pagezero_size 0x1000 (the work-around is to use a "large heap" JRE but this has compressed references disabled and is less performant).

----------- Krum: -------------

I was actually working on building the standalone packages with 2020-09. I got a working installation – there were not many changes needed, but it was tricky to find what has to be adapted :)  Also, I still can’t get the tests to run, but I guess this is only a matter of time.
If a dependency on Java 11 is a big concern, I guess I’d be able to get a build with 2020-03. On the other hand, even if we go with 2020-09, there will be workarounds to stay with Java 8 – install MAT features into an IDE, or install MAT 1.10 and update the MAT parts only from the new update side (we might need to document these options if we put a requirement on Java 11).
WDYT? Go for the latest and greatest and document how to avoid installing Java 11, or build with (at the time of the release) 9 months older Eclipse parts?

------------------------
Comment 1 Kevin Grigorenko CLA 2020-09-28 12:40:38 EDT
I'm okay either way. At some point we'll need to upgrade Java anyway so maybe it makes sense to do it now although as you note it seems it will take more research on the tests. Unless those are easy to fix, I suggest sticking with 2020-03 for now.
Comment 2 Eclipse Genie CLA 2020-09-29 09:01:47 EDT
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170019
Comment 4 Krum Tsvetkov CLA 2020-09-30 05:05:28 EDT
I merged the changes to update to 2020-03, keeping Java 1.8 as the minimum Java version.

I made mat-2020-03 the default value for the target platform for the mvn build. Switching back to photon via config is not any longer possible, as there are modifications to the product file. I'd probably do a cleanup and remove the older target definitions. Does anyone see a value in having them in the repository?

The jenkins build is ok (updated the default config also there to use 2020-03), tests are fine.

As Andrew stated, 3 of the supported platforms have been removed.
I've updated the downloads/snapshots page to remove the obsolete links.

So far I was able to test only the Mac package and it is fine (including signing).

As there is no easy way back, I suggest we stick to this version for now and try to fix any issues which I haven't spotted. At least I see no obvious issues any more, but you might find some when you try the win and linux versions.
Comment 5 Andrew Johnson CLA 2020-09-30 05:22:09 EDT
The new Windows 64-bit build works for me.
We also need to update mat.p2.inf as install still lists:
Eclipse Photon - http://download.eclipse.org/releases/photon/
Comment 6 Eclipse Genie CLA 2020-10-01 08:30:17 EDT
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170160
Comment 8 Eclipse Genie CLA 2020-10-01 08:47:52 EDT
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170162
Comment 9 Andrew Johnson CLA 2020-10-01 09:00:42 EDT
The latest change fixes the location, but I think it still says Eclipse Photon not Eclipse 2020-03.
Comment 11 Eclipse Genie CLA 2020-10-01 09:24:05 EDT
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/170163
Comment 13 Krum Tsvetkov CLA 2020-10-01 09:43:54 EDT
>> The latest change fixes the location, but I think it still says Eclipse Photon not Eclipse 2020-03.
Thanks for spotting that. I just fixed the label too.
I also removed all older .target files. If there are complains, i.e. if there is concrete demant for a specific target definition, I'll bring it back.
Comment 14 Andrew Johnson CLA 2020-12-17 13:52:16 EST
1.11.0 standalone has now been released with a Eclipse 2020-03 base.