* Add script mvnd-auto to auto select native or pure java mvnd
* Move fallback logic into main entry script
1. rename native binary to 'mvnd-native-<os>-<arch>'
2. add environment switch MVND_ENTRY_FALLBACK, default 'true' enables
the fallback logic, set to 'false' to force execute the native mvnd.
3. rename mvnd.sh to mvnd
* change entry name on windows
* Add script mvnd-persist-native for moving the native image to the default entry path
* improve platform detect
* fix error on dash
* rollback default entry to the native image
* use MVND_CLIENT switch to control the selection of mvnd client
* improve comment docs as suggestion
* Use muti-release jar to fallback mvnd-client to original maven
The mvnd-client is built to a muti-release jar. The default version of
DefaultClient is compiled against the same target version as the
embedded maven (4.x, so JDK 1.8) which only invoke the MavenCli.main().
The java-11 version is the full qualified mvnd-client.
* update cmd scripts
* embedded maven now works under JDK 1.8
Build SimpleAppender for JDK 1.8 since it is the log appender only
for the embedded maven
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
# Conflicts:
# pom.xml
There is wide spread misconception that in order to build a Maven project
the command is `mvn clean install`.
It would be better to promote the right way (in the vast majority of the cases)
to build a Maven project.
`mvnd verify` aligns with Maven documentation as well,
where the example command is `mvn verify`.
The implementation currently switches on the redirection when the daemon actually starts reading the System.in stream using InputStream.read() or InputStream.available().
The local repo and maven settings are both used while resolving core extensions,
which happens during daemon startup. Thus these two also need to be discriminating
properties, as the core extensions themselves are discriminating.
Event spies may want to read system properties, which will fail if they are reset
too early. This change makes the behavior consistent with regular Maven.