eclipse-mat / mat

The Eclipse Memory Analyzer is a fast and feature-rich Java heap dump analyzer that helps you find memory leaks and reduce memory consumption.
https://eclipse.dev/mat/
Eclipse Public License 2.0
69 stars 13 forks source link

Provide a MAT installer with bundled JRE #41

Open eclipsewebmaster opened 4 months ago

eclipsewebmaster commented 4 months ago

| --- | --- | | Bugzilla Link | 582551 | | Status | NEW | | Importance | P3 enhancement | | Reported | Oct 19, 2023 07:48 EDT | | Modified | Nov 01, 2023 13:38 EDT | | Version | 1.14 | | Reporter | Sebastian Davids |

Description

Provide a download/installer option with a bundled JRE:

https://eclipse.dev/mat/downloads.php

Similar to Eclipse:

https://wiki.eclipse.org/Eclipse_Installer

eclipsewebmaster commented 4 months ago

By Andrew Johnson on Oct 31, 2023 06:29

We would need help for this one.

Which platforms are problematic for getting MAT to run (Windows / Mac / Linux? x86_64 / AArch64? )

Do users of MAT need a JRE (to run MAT) or a SDK to trigger heap dumps (though MAT can be configured to use another SDK rather than what is used to run MAT).

eclipsewebmaster commented 4 months ago

By Krum Tsvetkov on Oct 31, 2023 10:50

In the past, there was also a question if we should include MAT in one of the Eclipse packages, e.g. in the IDE for Java Developers. Never followed up on that, because of lack of time, but that would be another alternative.

eclipsewebmaster commented 4 months ago

By Andreas Buchen on Nov 01, 2023 13:38

In my side project, I am using NSIS to create a Windows installer:

NSIS site:\ https://nsis.sourceforge.io/Main_Page

The download is linked here, if you want to try:\ https://www.portfolio-performance.info

The installer script:\ https://github.com/portfolio-performance/portfolio/blob/master/portfolio-product/installer/installer.nsi

The Maven fragment to build the installer:\ https://github.com/portfolio-performance/portfolio/blob/master/portfolio-product/pom.xml#L414-L429

The default install location is $LOCALAPPDATA\Programs\ as it allows for self-updating the installing easily.

However, as the user can also choose the regular C:\Programs location, it is also granting write permissions that location via AccessControl::GrantOnFile.

I am building the installer on my macOS machine.

I have installed NSIS via brew. The tricky part is that I had to manually add the AccessControl plugin to the appropriate directories of the NSIS installation.

If you are interested, I can help with the installation files. But someone would have to research what the build/CI server does support.