Makeself Maven Plugin provides maven integration for megastep makeself script.
Makeself is a self-extracting archiving tool for Unix systems, in 100% shell script.
With help of Cygwin, git for windows or other tools supplying bash for windows, this tool is fully functional with windows.
To use in windows, configure Bash or Add git for windows '/usr/bin' to environment 'Path' variable to execute this plugin.
See makeself
Example Usage
<plugin>
<groupId>com.github.hazendaz.maven</groupId>
<artifactId>makeself-maven-plugin</artifactId>
<version>1.2.0-SNAPSHOT</version>
<configuration>
<archiveDir>distro</archiveDir>
<fileName>installDistro.sh</fileName>
<label>Distro Self Extraction</label>
<startupScript>./runDistroScript.sh</startupScript>
</configuration>
<executions>
<execution>
<id>makeself</id>
<goals>
<goal>makeself</goal>
</goals>
</execution>
</executions>
</plugin>
*** Special notes: ***
- Use version 1.0.0.beta3 or better for *nix support. Earlier versions only worked in windows.
- Use version 1.1.4 to avoid dead lock when buffer is overrun.
- For jdk 7 usage, use version 1.1.5
- For jdk 8 and on usage, use version 1.2.0
Executable Permissions on Shell Scripts
When makeself is updated on this repository, perform the following commands after the update commit. This will ensure shell files are executable within project. While it might not provide any benefit upon build, it doesn't hurt.
git add --chmod=+x *.sh; \
git commit -m "Force makeself to be executable"
To check the files are of right permissions
stat -c "%a %n" *
*** Note: *** It seems no matter the change makself-header.sh wants to stay 644. Regardless, with all other protections this is handled on *nix now and line endings are addressed.