From 1327fe2af4dc5ff9148c4aa4530b72d6832c87e3 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 15 Jun 2022 08:09:12 +0200 Subject: [PATCH] Cleanup (#650) * Improve reproducibility of builds by using digest on docker images * Inline the manifest Multi-Release entry * Remove unused files * Switch the groupId to org.apache.maven.daemon and use maven parent pom * Fix distribution * Fix ITs * Fix native build for windows --- agent/pom.xml | 2 +- build-plugin/pom.xml | 6 +- client/pom.xml | 4 +- common/pom.xml | 17 +- .../src/main/resources/META-INF/MANIFEST.MF | 2 - daemon/pom.xml | 6 +- dist/pom.xml | 17 +- dist/src/main/provisio/maven-distro.xml | 8 +- helper/pom.xml | 2 +- integration-tests/pom.xml | 6 +- native/Makefile | 69 +++-- native/docker/dockcross-linux-armv6 | 278 ------------------ native/docker/dockcross-linux-x86 | 273 ----------------- native/docker/dockcross-windows-static-x64 | 273 ----------------- native/docker/dockcross-windows-static-x86 | 273 ----------------- native/pom.xml | 2 +- .../mvnd/nativ/Linux/x86/libmvndnative.so | Bin 7240 -> 15188 bytes pom.xml | 47 ++- .../distributions/mvnd/brew/README.md.tpl | 15 - .../mvnd/brew/formula-multi.rb.tpl | 67 ----- src/main/images/mvnd-logo.svg | 17 ++ 21 files changed, 136 insertions(+), 1248 deletions(-) delete mode 100644 common/src/main/resources/META-INF/MANIFEST.MF delete mode 100755 native/docker/dockcross-linux-armv6 delete mode 100755 native/docker/dockcross-linux-x86 delete mode 100755 native/docker/dockcross-windows-static-x64 delete mode 100755 native/docker/dockcross-windows-static-x86 delete mode 100644 src/jreleaser/distributions/mvnd/brew/README.md.tpl delete mode 100644 src/jreleaser/distributions/mvnd/brew/formula-multi.rb.tpl diff --git a/agent/pom.xml b/agent/pom.xml index 2d0c90ff..866e3528 100644 --- a/agent/pom.xml +++ b/agent/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT diff --git a/build-plugin/pom.xml b/build-plugin/pom.xml index 63eba585..a5eb21d3 100644 --- a/build-plugin/pom.xml +++ b/build-plugin/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -31,8 +31,8 @@ Maven Daemon - Documentation Maven Plugin - 1.8 - 1.8 + 11 + 11 2.23.2.Final 3.6.0 diff --git a/client/pom.xml b/client/pom.xml index 862024ea..a919149c 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -37,7 +37,7 @@ - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-common diff --git a/common/pom.xml b/common/pom.xml index 1e4a36fb..3dcaafc8 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -61,7 +61,7 @@ - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-build-maven-plugin ${project.version} @@ -123,7 +123,9 @@ maven-jar-plugin - src/main/resources/META-INF/MANIFEST.MF + + true + @@ -188,15 +190,6 @@ - - org.apache.maven.plugins - maven-jar-plugin - - - src/main/resources/META-INF/MANIFEST.MF - - - diff --git a/common/src/main/resources/META-INF/MANIFEST.MF b/common/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index 07332bce..00000000 --- a/common/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 -Multi-Release: true diff --git a/daemon/pom.xml b/daemon/pom.xml index a7d37bdc..9504f31d 100644 --- a/daemon/pom.xml +++ b/daemon/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -32,7 +32,7 @@ - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-common @@ -42,7 +42,7 @@ - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-native diff --git a/dist/pom.xml b/dist/pom.xml index 68da1f3a..c0180a1c 100644 --- a/dist/pom.xml +++ b/dist/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -30,21 +30,26 @@ pom Maven Daemon - Distribution + + 11 + 11 + + - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-agent - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-helper-agent - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-client - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-daemon @@ -62,7 +67,7 @@ provision - ${project.build.directory}/mvnd-${project.version}-${os.detected.name}-${os.detected.arch} + ${project.build.directory}/maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch} diff --git a/dist/src/main/provisio/maven-distro.xml b/dist/src/main/provisio/maven-distro.xml index 06007faa..bc06624a 100644 --- a/dist/src/main/provisio/maven-distro.xml +++ b/dist/src/main/provisio/maven-distro.xml @@ -36,7 +36,7 @@ - + @@ -71,11 +71,11 @@ - + - - + + diff --git a/helper/pom.xml b/helper/pom.xml index 1ceb56e0..4f8bf5e0 100644 --- a/helper/pom.xml +++ b/helper/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 50ab452b..62896d61 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -20,7 +20,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -32,7 +32,7 @@ 11 11 - ${project.basedir}/../dist/target/mvnd-${project.version}-${os.detected.name}-${os.detected.arch} + ${project.basedir}/../dist/target/maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch} org/apache/maven/surefire/surefire-providers/${surefire.version} org/apache/maven/surefire/surefire-junit-platform/${surefire.version} @@ -57,7 +57,7 @@ test - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-dist pom test diff --git a/native/Makefile b/native/Makefile index e59e7145..96cc1db0 100644 --- a/native/Makefile +++ b/native/Makefile @@ -19,6 +19,14 @@ include Makefile.common .PHONY: all package native native-all deploy crossbuild ducible clean-native +linux-armv6-digest:=@sha256:7bad6ab302af34bdf6634c8c2b02c8dc6ac932c67da9ecc199c549ab405e971e +linux-x86-digest:=@sha256:7a8fda5ff1bb436ac1f2e7d40043deb630800fce33d123d04779d48f85702dcd +windows-static-x86-digest:=@sha256:99d7069789560ef77a7504ead4a2b5e3c245cb45a45f964c74fecbf649398d3a +windows-static-x64-digest:=@sha256:f159861bc80b29e5dafb223477167bec53ecec6cdacb051d31e90c5823542100 +cross-build-digest:=@sha256:8dbaa86462270db93ae1b1b319bdd88d89272faf3a68632daf4fa36b414a326e +freebsd-crossbuild-digest:=@sha256:cda62697a15d8bdc0bc26e780b1771ee78f12c55e7d5813e62c478af5a747c43 +mcandre-snek-digest:=@sha256:9f84e9fcdf66daafc1f1c3fb772a6c97977714e17800aeac2e3bbe5dc5039dd0 + all: package MVNDNATIVE_OUT:=target/native-$(OS_NAME)-$(OS_ARCH) @@ -36,11 +44,14 @@ download-includes: target test -f target/inc/unix/jni_md.h || wget -O target/inc/unix/jni_md.h https://raw.githubusercontent.com/openjdk/jdk/jdk-11%2B28/src/java.base/unix/native/include/jni_md.h test -f target/inc/windows/jni_md.h || wget -O target/inc/windows/jni_md.h https://raw.githubusercontent.com/openjdk/jdk/jdk-11%2B28/src/java.base/windows/native/include/jni_md.h -crossbuild: target - @test -d target || mkdir target - test -d target/crossbuild || git clone https://github.com/multiarch/crossbuild.git target/crossbuild - git -C target/crossbuild reset --hard d06cdc31fce0c85ad78408b44794366dafd59554 - docker build target/crossbuild -t multiarch/crossbuild +dockcross: target + @test -d target/dockcross || mkdir target/dockcross + +# This target does not generate the same image digest that the one uploaded +#crossbuild: target +# test -d target/crossbuild || git clone https://github.com/multiarch/crossbuild.git target/crossbuild +# git -C target/crossbuild reset --hard d06cdc31fce0c85ad78408b44794366dafd59554 +# docker build target/crossbuild -t multiarch/crossbuild ducible: target test -d target/ducible || git clone --branch v1.2.2 https://github.com/jasonwhite/ducible.git target/ducible @@ -81,57 +92,69 @@ $(NATIVE_DLL): $(MVNDNATIVE_OUT)/$(LIBNAME) @mkdir -p $(NATIVE_TARGET_DIR) cp $< $(NATIVE_TARGET_DIR)/$(LIBNAME) -linux-x86: download-includes - ./docker/dockcross-linux-x86 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86' +target/dockcross/dockcross-linux-x86: dockcross + docker run --rm dockcross/linux-x86$(linux-x86-digest) > target/dockcross/dockcross-linux-x86 + chmod +x target/dockcross/dockcross-linux-x86 +linux-x86: download-includes target/dockcross/dockcross-linux-x86 + target/dockcross/dockcross-linux-x86 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86' linux-x86_64: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=x86_64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=x86_64 + -e CROSS_TRIPLE=x86_64-linux-gnu multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Linux OS_ARCH=x86_64 linux-arm: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=arm-linux-gnueabi multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm + -e CROSS_TRIPLE=arm-linux-gnueabi multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Linux OS_ARCH=arm -linux-armv6: - ./docker/dockcross-linux-armv6 bash -c 'make clean-native native CROSS_PREFIX=armv6-unknown-linux-gnueabihf- OS_NAME=Linux OS_ARCH=armv6' +target/dockcross/dockcross-linux-armv6: dockcross + docker run --rm dockcross/linux-armv6$(linux-armv6-digest) > target/dockcross/dockcross-linux-armv6 + chmod +x target/dockcross/dockcross-linux-armv6 +linux-armv6: download-includes target/dockcross/dockcross-linux-armv6 + target/dockcross/dockcross-linux-armv6 bash -c 'make clean-native native CROSS_PREFIX=armv6-unknown-linux-gnueabihf- OS_NAME=Linux OS_ARCH=armv6' linux-armv7: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=arm-linux-gnueabihf multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=armv7 + -e CROSS_TRIPLE=arm-linux-gnueabihf multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Linux OS_ARCH=armv7 linux-arm64: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=aarch64-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=arm64 + -e CROSS_TRIPLE=aarch64-linux-gnu multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Linux OS_ARCH=arm64 linux-ppc64: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=powerpc64le-linux-gnu multiarch/crossbuild make clean-native native OS_NAME=Linux OS_ARCH=ppc64 + -e CROSS_TRIPLE=powerpc64le-linux-gnu multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Linux OS_ARCH=ppc64 -win-x86: download-includes - ./docker/dockcross-windows-static-x86 bash -c 'make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86' +target/dockcross/dockcross-windows-static-x86: dockcross + docker run --rm dockcross/windows-static-x86$(windows-static-x86-digest) > target/dockcross/dockcross-windows-static-x86 + chmod +x target/dockcross/dockcross-windows-static-x86 +win-x86: download-includes target/dockcross/dockcross-windows-static-x86 + target/dockcross/dockcross-windows-static-x86 bash -c 'make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86' -win-x86_64: download-includes - ./docker/dockcross-windows-static-x64 bash -c 'make clean-native native CROSS_PREFIX=x86_64-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86_64' +target/dockcross/dockcross-windows-static-x64: dockcross + docker run --rm dockcross/windows-static-x64$(windows-static-x64-digest) > target/dockcross/dockcross-windows-static-x64 + chmod +x target/dockcross/dockcross-windows-static-x64 +win-x86_64: download-includes target/dockcross/dockcross-windows-static-x64 + target/dockcross/dockcross-windows-static-x64 bash -c 'make clean-native native CROSS_PREFIX=x86_64-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86_64' mac-x86: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=i386-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86 + -e CROSS_TRIPLE=i386-apple-darwin multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Mac OS_ARCH=x86 mac-x86_64: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86_64 + -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild$(cross-build-digest) make clean-native native OS_NAME=Mac OS_ARCH=x86_64 mac-arm64: download-includes docker run -it --rm -v $$PWD:/src --user $$(id -u):$$(id -g) \ - -e TARGET=arm64-apple-darwin mcandre/snek:darwin sh -c "make clean-native native CROSS_PREFIX=arm64-apple-darwin20.4- OS_NAME=Mac OS_ARCH=arm64" + -e TARGET=arm64-apple-darwin mcandre/snek$(mcandre-snek-digest) sh -c "make clean-native native CROSS_PREFIX=arm64-apple-darwin20.4- OS_NAME=Mac OS_ARCH=arm64" freebsd-x86: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - empterdose/freebsd-cross-build:9.3 make clean-native native CROSS_PREFIX=i386-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86 + empterdose/freebsd-cross-build$(freebsd-crossbuild-digest) make clean-native native CROSS_PREFIX=i386-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86 freebsd-x86_64: download-includes docker run -it --rm -v $$PWD:/workdir --user $$(id -u):$$(id -g) \ - empterdose/freebsd-cross-build:9.3 make clean-native native CROSS_PREFIX=x86_64-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86_64 + empterdose/freebsd-cross-build$(freebsd-crossbuild-digest) make clean-native native CROSS_PREFIX=x86_64-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86_64 #sparcv9: # $(MAKE) native OS_NAME=SunOS OS_ARCH=sparcv9 diff --git a/native/docker/dockcross-linux-armv6 b/native/docker/dockcross-linux-armv6 deleted file mode 100755 index a1eed923..00000000 --- a/native/docker/dockcross-linux-armv6 +++ /dev/null @@ -1,278 +0,0 @@ -#!/usr/bin/env bash - -DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv6:latest - -#------------------------------------------------------------------------------ -# Helpers -# -err() { - echo -e >&2 "ERROR: $*\n" -} - -die() { - err "$*" - exit 1 -} - -has() { - # eg. has command update - local kind=$1 - local name=$2 - - type -t $kind:$name | grep -q function -} - -# If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative") -if [ -z "$OCI_EXE" ]; then - if which docker >/dev/null 2>/dev/null; then - OCI_EXE=docker - elif which podman >/dev/null 2>/dev/null; then - OCI_EXE=podman - else - die "Cannot find a container executor. Search for docker and podman." - fi -fi - -#------------------------------------------------------------------------------ -# Command handlers -# -command:update-image() { - $OCI_EXE pull $FINAL_IMAGE -} - -help:update-image() { - echo "Pull the latest $FINAL_IMAGE ." -} - -command:update-script() { - if cmp -s <( $OCI_EXE run --rm $FINAL_IMAGE ) $0; then - echo "$0 is up to date" - else - echo -n "Updating $0 ... " - $OCI_EXE run --rm $FINAL_IMAGE > $0 && echo ok - fi -} - -help:update-image() { - echo "Update $0 from $FINAL_IMAGE ." -} - -command:update() { - command:update-image - command:update-script -} - -help:update() { - echo "Pull the latest $FINAL_IMAGE, and then update $0 from that." -} - -command:help() { - if [[ $# != 0 ]]; then - if ! has command $1; then - err \"$1\" is not an dockcross command - command:help - elif ! has help $1; then - err No help found for \"$1\" - else - help:$1 - fi - else - cat >&2 < -ENDHELP - exit 1 - fi -} - -#------------------------------------------------------------------------------ -# Option processing -# -special_update_command='' -while [[ $# != 0 ]]; do - case $1 in - - --) - shift - break - ;; - - --args|-a) - ARG_ARGS="$2" - shift 2 - ;; - - --config|-c) - ARG_CONFIG="$2" - shift 2 - ;; - - --image|-i) - ARG_IMAGE="$2" - shift 2 - ;; - update|update-image|update-script) - special_update_command=$1 - break - ;; - -*) - err Unknown option \"$1\" - command:help - exit - ;; - - *) - break - ;; - - esac -done - -# The precedence for options is: -# 1. command-line arguments -# 2. environment variables -# 3. defaults - -# Source the config file if it exists -DEFAULT_DOCKCROSS_CONFIG=~/.dockcross -FINAL_CONFIG=${ARG_CONFIG-${DOCKCROSS_CONFIG-$DEFAULT_DOCKCROSS_CONFIG}} - -[[ -f "$FINAL_CONFIG" ]] && source "$FINAL_CONFIG" - -# Set the docker image -FINAL_IMAGE=${ARG_IMAGE-${DOCKCROSS_IMAGE-$DEFAULT_DOCKCROSS_IMAGE}} - -# Handle special update command -if [ "$special_update_command" != "" ]; then - case $special_update_command in - - update) - command:update - exit $? - ;; - - update-image) - command:update-image - exit $? - ;; - - update-script) - command:update-script - exit $? - ;; - - esac -fi - -# Set the docker run extra args (if any) -FINAL_ARGS=${ARG_ARGS-${DOCKCROSS_ARGS}} - -# Bash on Ubuntu on Windows -UBUNTU_ON_WINDOWS=$([ -e /proc/version ] && grep -l Microsoft /proc/version || echo "") -# MSYS, Git Bash, etc. -MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "") -# CYGWIN -CYGWIN=$([ -e /proc/version ] && grep -l CYGWIN /proc/version || echo "") - -if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then - USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") -fi - -# Change the PWD when working in Docker on Windows -if [ -n "$UBUNTU_ON_WINDOWS" ]; then - WSL_ROOT="/mnt/" - CFG_FILE=/etc/wsl.conf - if [ -f "$CFG_FILE" ]; then - CFG_CONTENT=$(cat $CFG_FILE | sed -r '/[^=]+=[^=]+/!d' | sed -r 's/\s+=\s/=/g') - eval "$CFG_CONTENT" - if [ -n "$root" ]; then - WSL_ROOT=$root - fi - fi - HOST_PWD=`pwd -P` - HOST_PWD=${HOST_PWD/$WSL_ROOT//} -elif [ -n "$MSYS" ]; then - HOST_PWD=$PWD - HOST_PWD=${HOST_PWD/\//} - HOST_PWD=${HOST_PWD/\//:\/} -elif [ -n "$CYGWIN" ]; then - for f in pwd readlink cygpath ; do - test -n "$(type "${f}" )" || { echo >&2 "Missing functionality (${f}) (in cygwin)." ; exit 1 ; } ; - done ; - HOST_PWD="$( cygpath -w "$( readlink -f "$( pwd ;)" ; )" ; )" ; -else - HOST_PWD=$PWD - [ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD) -fi - -# Mount Additional Volumes -if [ -z "$SSH_DIR" ]; then - SSH_DIR="$HOME/.ssh" -fi - -HOST_VOLUMES= -if [ -e "$SSH_DIR" -a -z "$MSYS" ]; then - if test -n "${CYGWIN}" ; then - HOST_VOLUMES+="-v $(cygpath -w ${SSH_DIR} ; ):/home/$(id -un)/.ssh" ; - else - HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh" ; - fi ; -fi - -#------------------------------------------------------------------------------ -# Now, finally, run the command in a container -# -TTY_ARGS= -tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti -CONTAINER_NAME=dockcross_$RANDOM -$OCI_EXE run $TTY_ARGS --name $CONTAINER_NAME \ - -v "$HOST_PWD":/work \ - $HOST_VOLUMES \ - "${USER_IDS[@]}" \ - $FINAL_ARGS \ - $FINAL_IMAGE "$@" -run_exit_code=$? - -# Attempt to delete container -rm_output=$($OCI_EXE rm -f $CONTAINER_NAME 2>&1) -rm_exit_code=$? -if [[ $rm_exit_code != 0 ]]; then - if [[ "$CIRCLECI" == "true" ]] && [[ $rm_output == *"Driver btrfs failed to remove"* ]]; then - : # Ignore error because of https://circleci.com/docs/docker-btrfs-error/ - else - echo "$rm_output" - exit $rm_exit_code - fi -fi - -exit $run_exit_code - -################################################################################ -# -# This image is not intended to be run manually. -# -# To create a dockcross helper script for the -# dockcross/linux-armv6:latest image, run: -# -# docker run --rm dockcross/linux-armv6:latest > dockcross-linux-armv6-latest -# chmod +x dockcross-linux-armv6-latest -# -# You may then wish to move the dockcross script to your PATH. -# -################################################################################ diff --git a/native/docker/dockcross-linux-x86 b/native/docker/dockcross-linux-x86 deleted file mode 100755 index 0591e910..00000000 --- a/native/docker/dockcross-linux-x86 +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-x86:latest - -#------------------------------------------------------------------------------ -# Helpers -# -err() { - echo -e >&2 ERROR: $@\\n -} - -die() { - err $@ - exit 1 -} - -has() { - # eg. has command update - local kind=$1 - local name=$2 - - type -t $kind:$name | grep -q function -} - -#------------------------------------------------------------------------------ -# Command handlers -# -command:update-image() { - docker pull $FINAL_IMAGE -} - -help:update-image() { - echo Pull the latest $FINAL_IMAGE . -} - -command:update-script() { - if cmp -s <( docker run --rm $FINAL_IMAGE ) $0; then - echo $0 is up to date - else - echo -n Updating $0 '... ' - docker run --rm $FINAL_IMAGE > $0 && echo ok - fi -} - -help:update-image() { - echo Update $0 from $FINAL_IMAGE . -} - -command:update() { - command:update-image - command:update-script -} - -help:update() { - echo Pull the latest $FINAL_IMAGE, and then update $0 from that. -} - -command:help() { - if [[ $# != 0 ]]; then - if ! has command $1; then - err \"$1\" is not an dockcross command - command:help - elif ! has help $1; then - err No help found for \"$1\" - else - help:$1 - fi - else - cat >&2 < -ENDHELP - exit 1 - fi -} - -#------------------------------------------------------------------------------ -# Option processing -# -special_update_command='' -while [[ $# != 0 ]]; do - case $1 in - - --) - shift - break - ;; - - --args|-a) - ARG_ARGS="$2" - shift 2 - ;; - - --config|-c) - ARG_CONFIG="$2" - shift 2 - ;; - - --image|-i) - ARG_IMAGE="$2" - shift 2 - ;; - update|update-image|update-script) - special_update_command=$1 - break - ;; - -*) - err Unknown option \"$1\" - command:help - exit - ;; - - *) - break - ;; - - esac -done - -# The precedence for options is: -# 1. command-line arguments -# 2. environment variables -# 3. defaults - -# Source the config file if it exists -DEFAULT_DOCKCROSS_CONFIG=~/.dockcross -FINAL_CONFIG=${ARG_CONFIG-${DOCKCROSS_CONFIG-$DEFAULT_DOCKCROSS_CONFIG}} - -[[ -f "$FINAL_CONFIG" ]] && source "$FINAL_CONFIG" - -# Set the docker image -FINAL_IMAGE=${ARG_IMAGE-${DOCKCROSS_IMAGE-$DEFAULT_DOCKCROSS_IMAGE}} - -# Handle special update command -if [ "$special_update_command" != "" ]; then - case $special_update_command in - - update) - command:update - exit $? - ;; - - update-image) - command:update-image - exit $? - ;; - - update-script) - command:update-script - exit $? - ;; - - esac -fi - -# Set the docker run extra args (if any) -FINAL_ARGS=${ARG_ARGS-${DOCKCROSS_ARGS}} - -# Bash on Ubuntu on Windows -UBUNTU_ON_WINDOWS=$([ -e /proc/version ] && grep -l Microsoft /proc/version || echo "") -# MSYS, Git Bash, etc. -MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "") - -if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then - USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") -fi - -# Change the PWD when working in Docker on Windows -if [ -n "$UBUNTU_ON_WINDOWS" ]; then - WSL_ROOT="/mnt/" - CFG_FILE=/etc/wsl.conf - if [ -f "$CFG_FILE" ]; then - CFG_CONTENT=$(cat $CFG_FILE | sed -r '/[^=]+=[^=]+/!d' | sed -r 's/\s+=\s/=/g') - eval "$CFG_CONTENT" - if [ -n "$root" ]; then - WSL_ROOT=$root - fi - fi - HOST_PWD=`pwd -P` - HOST_PWD=${HOST_PWD/$WSL_ROOT//} -elif [ -n "$MSYS" ]; then - HOST_PWD=$PWD - HOST_PWD=${HOST_PWD/\//} - HOST_PWD=${HOST_PWD/\//:\/} -else - HOST_PWD=$PWD - [ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD) -fi - -# Mount Additional Volumes -if [ -z "$SSH_DIR" ]; then - SSH_DIR="$HOME/.ssh" -fi - -HOST_VOLUMES= -if [ -e "$SSH_DIR" -a -z "$MSYS" ]; then - HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh" -fi - -#------------------------------------------------------------------------------ -# Now, finally, run the command in a container -# -TTY_ARGS= -tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti -CONTAINER_NAME=dockcross_$RANDOM -docker run $TTY_ARGS --name $CONTAINER_NAME \ - -v "$HOST_PWD":/work \ - $HOST_VOLUMES \ - "${USER_IDS[@]}" \ - $FINAL_ARGS \ - $FINAL_IMAGE "$@" -run_exit_code=$? - -# Attempt to delete container -rm_output=$(docker rm -f $CONTAINER_NAME 2>&1) -rm_exit_code=$? -if [[ $rm_exit_code != 0 ]]; then - if [[ "$CIRCLECI" == "true" ]] && [[ $rm_output == *"Driver btrfs failed to remove"* ]]; then - : # Ignore error because of https://circleci.com/docs/docker-btrfs-error/ - else - echo "$rm_output" - exit $rm_exit_code - fi -fi - -exit $run_exit_code - -################################################################################ -# -# This image is not intended to be run manually. -# -# To create a dockcross helper script for the -# dockcross/linux-x86:latest image, run: -# -# docker run --rm dockcross/linux-x86:latest > dockcross-linux-x86-latest -# chmod +x dockcross-linux-x86-latest -# -# You may then wish to move the dockcross script to your PATH. -# -################################################################################ diff --git a/native/docker/dockcross-windows-static-x64 b/native/docker/dockcross-windows-static-x64 deleted file mode 100755 index 1cdb423c..00000000 --- a/native/docker/dockcross-windows-static-x64 +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -DEFAULT_DOCKCROSS_IMAGE=dockcross/windows-static-x64:latest - -#------------------------------------------------------------------------------ -# Helpers -# -err() { - echo -e >&2 ERROR: $@\\n -} - -die() { - err $@ - exit 1 -} - -has() { - # eg. has command update - local kind=$1 - local name=$2 - - type -t $kind:$name | grep -q function -} - -#------------------------------------------------------------------------------ -# Command handlers -# -command:update-image() { - docker pull $FINAL_IMAGE -} - -help:update-image() { - echo Pull the latest $FINAL_IMAGE . -} - -command:update-script() { - if cmp -s <( docker run --rm $FINAL_IMAGE ) $0; then - echo $0 is up to date - else - echo -n Updating $0 '... ' - docker run --rm $FINAL_IMAGE > $0 && echo ok - fi -} - -help:update-image() { - echo Update $0 from $FINAL_IMAGE . -} - -command:update() { - command:update-image - command:update-script -} - -help:update() { - echo Pull the latest $FINAL_IMAGE, and then update $0 from that. -} - -command:help() { - if [[ $# != 0 ]]; then - if ! has command $1; then - err \"$1\" is not an dockcross command - command:help - elif ! has help $1; then - err No help found for \"$1\" - else - help:$1 - fi - else - cat >&2 < -ENDHELP - exit 1 - fi -} - -#------------------------------------------------------------------------------ -# Option processing -# -special_update_command='' -while [[ $# != 0 ]]; do - case $1 in - - --) - shift - break - ;; - - --args|-a) - ARG_ARGS="$2" - shift 2 - ;; - - --config|-c) - ARG_CONFIG="$2" - shift 2 - ;; - - --image|-i) - ARG_IMAGE="$2" - shift 2 - ;; - update|update-image|update-script) - special_update_command=$1 - break - ;; - -*) - err Unknown option \"$1\" - command:help - exit - ;; - - *) - break - ;; - - esac -done - -# The precedence for options is: -# 1. command-line arguments -# 2. environment variables -# 3. defaults - -# Source the config file if it exists -DEFAULT_DOCKCROSS_CONFIG=~/.dockcross -FINAL_CONFIG=${ARG_CONFIG-${DOCKCROSS_CONFIG-$DEFAULT_DOCKCROSS_CONFIG}} - -[[ -f "$FINAL_CONFIG" ]] && source "$FINAL_CONFIG" - -# Set the docker image -FINAL_IMAGE=${ARG_IMAGE-${DOCKCROSS_IMAGE-$DEFAULT_DOCKCROSS_IMAGE}} - -# Handle special update command -if [ "$special_update_command" != "" ]; then - case $special_update_command in - - update) - command:update - exit $? - ;; - - update-image) - command:update-image - exit $? - ;; - - update-script) - command:update-script - exit $? - ;; - - esac -fi - -# Set the docker run extra args (if any) -FINAL_ARGS=${ARG_ARGS-${DOCKCROSS_ARGS}} - -# Bash on Ubuntu on Windows -UBUNTU_ON_WINDOWS=$([ -e /proc/version ] && grep -l Microsoft /proc/version || echo "") -# MSYS, Git Bash, etc. -MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "") - -if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then - USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") -fi - -# Change the PWD when working in Docker on Windows -if [ -n "$UBUNTU_ON_WINDOWS" ]; then - WSL_ROOT="/mnt/" - CFG_FILE=/etc/wsl.conf - if [ -f "$CFG_FILE" ]; then - CFG_CONTENT=$(cat $CFG_FILE | sed -r '/[^=]+=[^=]+/!d' | sed -r 's/\s+=\s/=/g') - eval "$CFG_CONTENT" - if [ -n "$root" ]; then - WSL_ROOT=$root - fi - fi - HOST_PWD=`pwd -P` - HOST_PWD=${HOST_PWD/$WSL_ROOT//} -elif [ -n "$MSYS" ]; then - HOST_PWD=$PWD - HOST_PWD=${HOST_PWD/\//} - HOST_PWD=${HOST_PWD/\//:\/} -else - HOST_PWD=$PWD - [ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD) -fi - -# Mount Additional Volumes -if [ -z "$SSH_DIR" ]; then - SSH_DIR="$HOME/.ssh" -fi - -HOST_VOLUMES= -if [ -e "$SSH_DIR" -a -z "$MSYS" ]; then - HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh" -fi - -#------------------------------------------------------------------------------ -# Now, finally, run the command in a container -# -TTY_ARGS= -tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti -CONTAINER_NAME=dockcross_$RANDOM -docker run $TTY_ARGS --name $CONTAINER_NAME \ - -v "$HOST_PWD":/work \ - $HOST_VOLUMES \ - "${USER_IDS[@]}" \ - $FINAL_ARGS \ - $FINAL_IMAGE "$@" -run_exit_code=$? - -# Attempt to delete container -rm_output=$(docker rm -f $CONTAINER_NAME 2>&1) -rm_exit_code=$? -if [[ $rm_exit_code != 0 ]]; then - if [[ "$CIRCLECI" == "true" ]] && [[ $rm_output == *"Driver btrfs failed to remove"* ]]; then - : # Ignore error because of https://circleci.com/docs/docker-btrfs-error/ - else - echo "$rm_output" - exit $rm_exit_code - fi -fi - -exit $run_exit_code - -################################################################################ -# -# This image is not intended to be run manually. -# -# To create a dockcross helper script for the -# dockcross/windows-static-x64:latest image, run: -# -# docker run --rm dockcross/windows-static-x64:latest > dockcross-windows-static-x64-latest -# chmod +x dockcross-windows-static-x64-latest -# -# You may then wish to move the dockcross script to your PATH. -# -################################################################################ diff --git a/native/docker/dockcross-windows-static-x86 b/native/docker/dockcross-windows-static-x86 deleted file mode 100755 index 72c19c84..00000000 --- a/native/docker/dockcross-windows-static-x86 +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env bash - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -DEFAULT_DOCKCROSS_IMAGE=dockcross/windows-static-x86:latest - -#------------------------------------------------------------------------------ -# Helpers -# -err() { - echo -e >&2 ERROR: $@\\n -} - -die() { - err $@ - exit 1 -} - -has() { - # eg. has command update - local kind=$1 - local name=$2 - - type -t $kind:$name | grep -q function -} - -#------------------------------------------------------------------------------ -# Command handlers -# -command:update-image() { - docker pull $FINAL_IMAGE -} - -help:update-image() { - echo Pull the latest $FINAL_IMAGE . -} - -command:update-script() { - if cmp -s <( docker run --rm $FINAL_IMAGE ) $0; then - echo $0 is up to date - else - echo -n Updating $0 '... ' - docker run --rm $FINAL_IMAGE > $0 && echo ok - fi -} - -help:update-image() { - echo Update $0 from $FINAL_IMAGE . -} - -command:update() { - command:update-image - command:update-script -} - -help:update() { - echo Pull the latest $FINAL_IMAGE, and then update $0 from that. -} - -command:help() { - if [[ $# != 0 ]]; then - if ! has command $1; then - err \"$1\" is not an dockcross command - command:help - elif ! has help $1; then - err No help found for \"$1\" - else - help:$1 - fi - else - cat >&2 < -ENDHELP - exit 1 - fi -} - -#------------------------------------------------------------------------------ -# Option processing -# -special_update_command='' -while [[ $# != 0 ]]; do - case $1 in - - --) - shift - break - ;; - - --args|-a) - ARG_ARGS="$2" - shift 2 - ;; - - --config|-c) - ARG_CONFIG="$2" - shift 2 - ;; - - --image|-i) - ARG_IMAGE="$2" - shift 2 - ;; - update|update-image|update-script) - special_update_command=$1 - break - ;; - -*) - err Unknown option \"$1\" - command:help - exit - ;; - - *) - break - ;; - - esac -done - -# The precedence for options is: -# 1. command-line arguments -# 2. environment variables -# 3. defaults - -# Source the config file if it exists -DEFAULT_DOCKCROSS_CONFIG=~/.dockcross -FINAL_CONFIG=${ARG_CONFIG-${DOCKCROSS_CONFIG-$DEFAULT_DOCKCROSS_CONFIG}} - -[[ -f "$FINAL_CONFIG" ]] && source "$FINAL_CONFIG" - -# Set the docker image -FINAL_IMAGE=${ARG_IMAGE-${DOCKCROSS_IMAGE-$DEFAULT_DOCKCROSS_IMAGE}} - -# Handle special update command -if [ "$special_update_command" != "" ]; then - case $special_update_command in - - update) - command:update - exit $? - ;; - - update-image) - command:update-image - exit $? - ;; - - update-script) - command:update-script - exit $? - ;; - - esac -fi - -# Set the docker run extra args (if any) -FINAL_ARGS=${ARG_ARGS-${DOCKCROSS_ARGS}} - -# Bash on Ubuntu on Windows -UBUNTU_ON_WINDOWS=$([ -e /proc/version ] && grep -l Microsoft /proc/version || echo "") -# MSYS, Git Bash, etc. -MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "") - -if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then - USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") -fi - -# Change the PWD when working in Docker on Windows -if [ -n "$UBUNTU_ON_WINDOWS" ]; then - WSL_ROOT="/mnt/" - CFG_FILE=/etc/wsl.conf - if [ -f "$CFG_FILE" ]; then - CFG_CONTENT=$(cat $CFG_FILE | sed -r '/[^=]+=[^=]+/!d' | sed -r 's/\s+=\s/=/g') - eval "$CFG_CONTENT" - if [ -n "$root" ]; then - WSL_ROOT=$root - fi - fi - HOST_PWD=`pwd -P` - HOST_PWD=${HOST_PWD/$WSL_ROOT//} -elif [ -n "$MSYS" ]; then - HOST_PWD=$PWD - HOST_PWD=${HOST_PWD/\//} - HOST_PWD=${HOST_PWD/\//:\/} -else - HOST_PWD=$PWD - [ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD) -fi - -# Mount Additional Volumes -if [ -z "$SSH_DIR" ]; then - SSH_DIR="$HOME/.ssh" -fi - -HOST_VOLUMES= -if [ -e "$SSH_DIR" -a -z "$MSYS" ]; then - HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh" -fi - -#------------------------------------------------------------------------------ -# Now, finally, run the command in a container -# -TTY_ARGS= -tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti -CONTAINER_NAME=dockcross_$RANDOM -docker run $TTY_ARGS --name $CONTAINER_NAME \ - -v "$HOST_PWD":/work \ - $HOST_VOLUMES \ - "${USER_IDS[@]}" \ - $FINAL_ARGS \ - $FINAL_IMAGE "$@" -run_exit_code=$? - -# Attempt to delete container -rm_output=$(docker rm -f $CONTAINER_NAME 2>&1) -rm_exit_code=$? -if [[ $rm_exit_code != 0 ]]; then - if [[ "$CIRCLECI" == "true" ]] && [[ $rm_output == *"Driver btrfs failed to remove"* ]]; then - : # Ignore error because of https://circleci.com/docs/docker-btrfs-error/ - else - echo "$rm_output" - exit $rm_exit_code - fi -fi - -exit $run_exit_code - -################################################################################ -# -# This image is not intended to be run manually. -# -# To create a dockcross helper script for the -# dockcross/windows-static-x86:latest image, run: -# -# docker run --rm dockcross/windows-static-x86:latest > dockcross-windows-static-x86-latest -# chmod +x dockcross-windows-static-x86-latest -# -# You may then wish to move the dockcross script to your PATH. -# -################################################################################ diff --git a/native/pom.xml b/native/pom.xml index a9be6273..6e0cee72 100644 --- a/native/pom.xml +++ b/native/pom.xml @@ -18,7 +18,7 @@ 4.0.0 - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT diff --git a/native/src/main/resources/org/mvndaemon/mvnd/nativ/Linux/x86/libmvndnative.so b/native/src/main/resources/org/mvndaemon/mvnd/nativ/Linux/x86/libmvndnative.so index b41e7ed998a91b011b745ea2218fd9fe7a79664a..df958d933524ee995cc782b6ff13ae26ebffb681 100755 GIT binary patch literal 15188 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 literal 7240 zcmeHMeQZIG|kZ-!N@_31z*wi1?eohlc z)dUOL)XSF9Y1>~L5}UM1h^=cU6){bLFbYzoG1hKKLsK?jGi#<&HA4|%^?twme3O@y zPH2DUpyP9X_ndp~=gYnK@RGN2lf&TJ zl4mih2vIC7`~A>YSnNi?a`1wzJqNM?_5#?+cubJ=TYivINoz-n_kCZKnxzx(s};E9$CFEr$T z`JE4FyARBwRzH)YT&gF4g4}c0Y3R;^pU`DLXm*VbMST z@IlelM-P4rF0<$#HnaqKnGI{u-?U-cPt3tBHoOx0fDO~1V^gF-8CL+3cEg4>=v8y@ zZD2PIpkncWC`7<=O+w&OaT4khtjl3aQ6OH1d=HcJr7Y$)o2g$a*W$aJbZO5=L?M2F z`lKb8#RTLY)L$fVfe^ah6OKmoxM{>pT^D*V5;TS04I%V~wr#r4AM^JFwyiD{ zjriM)&XC`--QA*h^%)Fcgo69wxV2Yr$wsIP8S%J3F1BuO(04={qlQm}jZi4sCAJ#9 zh8~Ue=;7Xo&+xNH)bxm927C3o#$ad6i1q7T0bejCx?_I-z1E2PO@E|UBqCWQ6zuHs z#G{@KLihU&)4=#U<8f>FD2n*R=EjEFI(@CD((}Z$UV+)-uFSzdXI2Bm>d*eik{odp z7Jd_?_=;dYcl{Eq6U&N&L2Tt5@i4F?e5?4>g)1vH&B7DF3((|EO8gO+q{KQ-Q6l0U zN-Sal{1-AdB|e}MO054fO007kB^qc=PUNLu6G9A*buAYnm7L6EGKWUZ+;lGrlV|gG zjX_$Jd4n4$bBz5WWsYH=hyc|aZ{XV~9vsuz18#c9a_3W3SPpzD zq6DTkNE5OT@=bL1n~=YOJPx@UUAYX|4T%L1-1Q{K{ubdlkmp!l;Bvi!at&qN@o!;c z?ST|Ud7Fv~w%&iA>FN_-dFZLnt#z;D$5IWRgb#HR>#%(d?eXuks42=jl(V@ox8}Eq zjB^1+CU_C-&rREF3v=sUb{=*mb90QbnsYU8OK)zwqu>Vk@~p68!MFCXGwDjuQ3hqq z^Wfd^J3Q@IKNEBROiY^RX?_OgXJCE?=4W7j20m>DG#sWEac3prIF$Ec-XQrd;X97+ z5!@i;TNZaw`8LG8O5TBa2EtAJ`{PWs3Y8h=IIb-`pAP`@T;#i#Z$h4%d@~Box}EbZ zpB;R7y;Lm{bz&P%rcTgEec@*IUu5rReg4ibCMs831=`w*%8eE4D>tZE zb0y#MBrCgsx8*d(gn>9;B<3GToJW#V&ae<1uZ69};(S<`vu(|rg|T2D&L_z!XV6+t z3*$io8lASw+l$bwu<++6e4Xk3(Uj#lGzymf+`v|a# z$2`jS=h%M=to9r8ASZzBd6g?R|CNY01-u92;ZA1W#hLwf0OjA3rNH()Os&nX!KcL* zkNs3vljJUxC>-`Ay^ zfkfmvPiG%IK2hppsV^SY14hJ$B-CDJjm#+0LPkvJ^^tG7*WtEp}D>eC6L>S~q$sraAyFXo_T`C8c|nV_0gE;DKO znBL0fsPtJGw3%qkNPQx8He;^1*PNJ@MVp)WWA1BKGVCsiJDCx@d)80p4TUG(A2y9n zNHb>1fYKsS)9>ktBs`soV92*7=o1nJjCeqJeEkvBw4@ocEWQ3%JQ$740y=Cle~A8; zvM*!`k8Ilm)zcFNH2r<}l@ssr2eMl<;6qh~tSZ)CwLF!+w+n8FZiItfXgO*!EJ~Ov z^dM6xJoswD_!6v7`JR6Hx1WFd_(|LI@2Yb4*c3byZsGnxKc3}eo(t+eLO(L|6+BVt z$1|Q>0j3Q?N|j$=UHb9tC-d&4NU2*;zc zJ}_?t^yA%&Tn$~tqd$+LFqnR|VBRgr<x|irA@JI*+m=tiqRO~EMEY#T@=Z^ d%r+JIFxc4.0.0 - org.mvndaemon.mvnd + + org.apache.maven + maven-parent + 36 + + + + org.apache.maven.daemon mvnd 0.8.1-SNAPSHOT @@ -214,38 +221,38 @@ - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-native 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-agent 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-client 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-common 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-dist pom 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-daemon 0.8.1-SNAPSHOT - org.mvndaemon.mvnd + org.apache.maven.daemon mvnd-helper-agent 0.8.1-SNAPSHOT @@ -301,6 +308,20 @@ + org.apache.rat + apache-rat-plugin + + + **/*.png + **/*.json + **/.mvn/* + .mvn/**/* + *.adoc + *.md + + + + com.mycila license-maven-plugin ${license-maven-plugin.version} @@ -471,6 +492,16 @@ limitations under the License. + + org.apache.maven.plugins + maven-checkstyle-plugin + + + checkstyle-check + none + + + com.mycila license-maven-plugin diff --git a/src/jreleaser/distributions/mvnd/brew/README.md.tpl b/src/jreleaser/distributions/mvnd/brew/README.md.tpl deleted file mode 100644 index aa8f4410..00000000 --- a/src/jreleaser/distributions/mvnd/brew/README.md.tpl +++ /dev/null @@ -1,15 +0,0 @@ -# Homebrew tap for mvnd - -This is a homebrew tap for https://github.com/{{repoOwner}}/mvnd[`mvnd`, the Maven Daemon]. - -Tap and install with - -``` -brew install {{repoOwner}}/homebrew-mvnd/mvnd -``` - -Afterwards, `mvnd` is available on the path and you can build your Maven based Java programs like this: - -``` -mvnd clean verify -``` diff --git a/src/jreleaser/distributions/mvnd/brew/formula-multi.rb.tpl b/src/jreleaser/distributions/mvnd/brew/formula-multi.rb.tpl deleted file mode 100644 index 55bbf590..00000000 --- a/src/jreleaser/distributions/mvnd/brew/formula-multi.rb.tpl +++ /dev/null @@ -1,67 +0,0 @@ -# {{jreleaserCreationStamp}} -class {{brewFormulaName}} < Formula - desc "{{projectDescription}}" - homepage "{{projectWebsite}}" - version "{{projectVersion}}" - license "{{projectLicense}}" - - {{brewMultiPlatform}} - - livecheck do - url :stable - end - - depends_on "openjdk" => :recommended - - def install - # Remove windows files - rm_f Dir["bin/*.cmd"] - - # Replace mvnd by using mvnd.sh - if Hardware::CPU.arm? - mv "bin/mvnd.sh", "bin/mvnd", force: true - end - - libexec.install Dir["*"] - - Pathname.glob("#{libexec}/bin/*") do |file| - next if file.directory? - - basename = file.basename - (bin/basename).write_env_script file, Language::Java.overridable_java_home_env - end - - daemon = var + 'run/mvnd' - FileUtils.mkdir_p "#{daemon}", mode: 0775 unless daemon.exist? - FileUtils.ln_sf(daemon, libexec + 'daemon') - end - - test do - (testpath/"settings.xml").write <<~EOS - #{testpath}/repository - EOS - (testpath/"pom.xml").write <<~EOS - - - 4.0.0 - org.homebrew - maven-test - 1.0.0-SNAPSHOT - - 1.8 - 1.8 - - - EOS - (testpath/"src/main/java/org/homebrew/MavenTest.java").write <<~EOS - package org.homebrew; - public class MavenTest { - public static void main(String[] args) { - System.out.println("Testing Maven with Homebrew!"); - } - } - EOS - system "#{bin}/mvnd", "-gs", "#{testpath}/settings.xml", "compile" - end -end diff --git a/src/main/images/mvnd-logo.svg b/src/main/images/mvnd-logo.svg index 16260c94..778efd08 100644 --- a/src/main/images/mvnd-logo.svg +++ b/src/main/images/mvnd-logo.svg @@ -1,4 +1,21 @@ +