mirror of
https://github.com/apache/maven-mvnd.git
synced 2025-09-10 21:22:03 +00:00
This commit is contained in:
12
.github/workflows/early-access.yaml
vendored
12
.github/workflows/early-access.yaml
vendored
@@ -123,14 +123,8 @@ jobs:
|
|||||||
name: daemon-test-logs-${{ env.OS }}
|
name: daemon-test-logs-${{ env.OS }}
|
||||||
path: integration-tests/target/mvnd-tests/**/daemon*.log
|
path: integration-tests/target/mvnd-tests/**/daemon*.log
|
||||||
|
|
||||||
- name: 'Upload m39 artifact'
|
- name: 'Upload artifact'
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: mvnd-m39-${{ env.OS }}
|
name: mvnd-${{ env.OS }}
|
||||||
path: dist-m39/target/maven-mvnd-*.zip
|
path: dist/target/maven-mvnd-*.zip
|
||||||
|
|
||||||
- name: 'Upload m40 artifact'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: mvnd-m40-${{ env.OS }}
|
|
||||||
path: dist-m40/target/maven-mvnd-*.zip
|
|
||||||
|
102
.github/workflows/release.yaml
vendored
102
.github/workflows/release.yaml
vendored
@@ -98,10 +98,8 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: artifacts
|
name: artifacts
|
||||||
path: |
|
path: |
|
||||||
dist-m39/target/maven-mvnd-*.zip
|
dist/target/maven-mvnd-*.zip
|
||||||
dist-m39/target/maven-mvnd-*.tar.gz
|
dist/target/maven-mvnd-*.tar.gz
|
||||||
dist-m40/target/maven-mvnd-*.zip
|
|
||||||
dist-m40/target/maven-mvnd-*.tar.gz
|
|
||||||
|
|
||||||
source:
|
source:
|
||||||
name: 'Build source distributions'
|
name: 'Build source distributions'
|
||||||
@@ -201,123 +199,63 @@ jobs:
|
|||||||
asset_name: maven-mvnd-${{ env.VERSION }}-src.tar.gz
|
asset_name: maven-mvnd-${{ env.VERSION }}-src.tar.gz
|
||||||
asset_content_type: application/tar.gz
|
asset_content_type: application/tar.gz
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-linux-amd64.zip
|
- name: Deploy maven-mvnd-linux-amd64.zip
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-linux-amd64.zip
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-linux-amd64.zip
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-linux-amd64.zip
|
asset_name: maven-mvnd-${{ env.VERSION }}-linux-amd64.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-linux-amd64.tar.gz
|
- name: Deploy maven-mvnd-linux-amd64.tar.gz
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-linux-amd64.tar.gz
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-linux-amd64.tar.gz
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-linux-amd64.tar.gz
|
asset_name: maven-mvnd-${{ env.VERSION }}-linux-amd64.tar.gz
|
||||||
asset_content_type: application/x-gzip
|
asset_content_type: application/x-gzip
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-darwin-amd64.zip
|
- name: Deploy maven-mvnd-darwin-amd64.zip
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-darwin-amd64.zip
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-darwin-amd64.zip
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-darwin-amd64.zip
|
asset_name: maven-mvnd-${{ env.VERSION }}-darwin-amd64.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-darwin-amd64.tar.gz
|
- name: Deploy maven-mvnd-darwin-amd64.tar.gz
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-darwin-amd64.tar.gz
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-darwin-amd64.tar.gz
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-darwin-amd64.tar.gz
|
asset_name: maven-mvnd-${{ env.VERSION }}-darwin-amd64.tar.gz
|
||||||
asset_content_type: application/x-gzip
|
asset_content_type: application/x-gzip
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-windows-amd64.zip
|
- name: Deploy maven-mvnd-windows-amd64.zip
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-windows-amd64.zip
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-windows-amd64.zip
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-windows-amd64.zip
|
asset_name: maven-mvnd-${{ env.VERSION }}-windows-amd64.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m39-windows-amd64.tar.gz
|
- name: Deploy maven-mvnd-windows-amd64.tar.gz
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: artifacts/dist-m39/target/maven-mvnd-${{ env.VERSION }}-m39-windows-amd64.tar.gz
|
asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION }}-windows-amd64.tar.gz
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m39-windows-amd64.tar.gz
|
asset_name: maven-mvnd-${{ env.VERSION }}-windows-amd64.tar.gz
|
||||||
asset_content_type: application/x-gzip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-linux-amd64.zip
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-linux-amd64.zip
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-linux-amd64.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-linux-amd64.tar.gz
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-linux-amd64.tar.gz
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-linux-amd64.tar.gz
|
|
||||||
asset_content_type: application/x-gzip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-darwin-amd64.zip
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-darwin-amd64.zip
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-darwin-amd64.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-darwin-amd64.tar.gz
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-darwin-amd64.tar.gz
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-darwin-amd64.tar.gz
|
|
||||||
asset_content_type: application/x-gzip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-windows-amd64.zip
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-windows-amd64.zip
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-windows-amd64.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Deploy maven-mvnd-m40-windows-amd64.tar.gz
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: artifacts/dist-m40/target/maven-mvnd-${{ env.VERSION }}-m40-windows-amd64.tar.gz
|
|
||||||
asset_name: maven-mvnd-${{ env.VERSION }}-m40-windows-amd64.tar.gz
|
|
||||||
asset_content_type: application/x-gzip
|
asset_content_type: application/x-gzip
|
||||||
|
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-agent</artifactId>
|
<artifactId>mvnd-agent</artifactId>
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-build-maven-plugin</artifactId>
|
<artifactId>mvnd-build-maven-plugin</artifactId>
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
export VERSION=$1
|
export VERSION=$1
|
||||||
export QUALIFIER=m39
|
|
||||||
|
|
||||||
if [ "${VERSION}x" = "x" ]
|
if [ "${VERSION}x" = "x" ]
|
||||||
then
|
then
|
||||||
@@ -29,15 +28,15 @@ rm -Rf target/releases/${VERSION}
|
|||||||
mkdir -p target/releases/${VERSION}
|
mkdir -p target/releases/${VERSION}
|
||||||
pushd target/releases
|
pushd target/releases
|
||||||
|
|
||||||
darwinAmdZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-${QUALIFIER}-darwin-amd64.zip"
|
darwinAmdZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-darwin-amd64.zip"
|
||||||
darwinAmdSha256="$(curl -L --silent "${darwinAmdZipUrl}.sha256")"
|
darwinAmdSha256="$(curl -L --silent "${darwinAmdZipUrl}.sha256")"
|
||||||
darwinArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-${QUALIFIER}-darwin-aarch64.zip"
|
darwinArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-darwin-aarch64.zip"
|
||||||
darwinArmSha256="$(curl -L --silent "${darwinArmZipUrl}.sha256")"
|
darwinArmSha256="$(curl -L --silent "${darwinArmZipUrl}.sha256")"
|
||||||
linuxZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-${QUALIFIER}-linux-amd64.zip"
|
linuxZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-amd64.zip"
|
||||||
linuxSha256="$(curl -L --silent "${linuxZipUrl}.sha256")"
|
linuxSha256="$(curl -L --silent "${linuxZipUrl}.sha256")"
|
||||||
|
|
||||||
echo "Updating Formula/mvnd.rb with"
|
echo "Updating Formula/mvnd.rb with"
|
||||||
echo "version: ${VERSION}-${QUALIFIER}"
|
echo "version: ${VERSION}"
|
||||||
echo "darwin-amd-url: ${darwinAmdZipUrl}"
|
echo "darwin-amd-url: ${darwinAmdZipUrl}"
|
||||||
echo "darwin-amd-sha256: ${darwinAmdSha256}"
|
echo "darwin-amd-sha256: ${darwinAmdSha256}"
|
||||||
echo "darwin-arm-url: ${darwinArmZipUrl}"
|
echo "darwin-arm-url: ${darwinArmZipUrl}"
|
||||||
@@ -52,14 +51,14 @@ cd homebrew-mvnd
|
|||||||
perl -i -0pe 's|(on_macos do[\s\S\n]+on_intel do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinAmdZipUrl}'\"$3\"'${darwinAmdSha256}'\"|g' Formula/mvnd.rb
|
perl -i -0pe 's|(on_macos do[\s\S\n]+on_intel do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinAmdZipUrl}'\"$3\"'${darwinAmdSha256}'\"|g' Formula/mvnd.rb
|
||||||
perl -i -0pe 's|(on_macos do[\s\S\n]+on_arm do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinArmZipUrl}'\"$3\"'${darwinArmSha256}'\"|g' Formula/mvnd.rb
|
perl -i -0pe 's|(on_macos do[\s\S\n]+on_arm do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinArmZipUrl}'\"$3\"'${darwinArmSha256}'\"|g' Formula/mvnd.rb
|
||||||
perl -i -0pe 's|(on_linux do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${linuxZipUrl}'\"$3\"'${linuxSha256}'\"|g' Formula/mvnd.rb
|
perl -i -0pe 's|(on_linux do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${linuxZipUrl}'\"$3\"'${linuxSha256}'\"|g' Formula/mvnd.rb
|
||||||
perl -i -0pe 's|(version )"([^\"]+)"|$1\"'${VERSION}-${QUALIFIER}'\"|g' Formula/mvnd.rb
|
perl -i -0pe 's|(version )"([^\"]+)"|$1\"'${VERSION}'\"|g' Formula/mvnd.rb
|
||||||
|
|
||||||
if [ -n "$(git status --porcelain)" ]; then
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
echo "Committing release ${VERSION}-${QUALIFIER}"
|
echo "Committing release ${VERSION}"
|
||||||
git config --global user.email "gnodet@gmail.com"
|
git config --global user.email "gnodet@gmail.com"
|
||||||
git config --global user.name "Guillaume Nodet"
|
git config --global user.name "Guillaume Nodet"
|
||||||
git add -A
|
git add -A
|
||||||
git commit -m "Release ${VERSION}-${QUALIFIER}"
|
git commit -m "Release ${VERSION}"
|
||||||
#git push origin master
|
#git push origin master
|
||||||
else
|
else
|
||||||
echo "Nothing to commit"
|
echo "Nothing to commit"
|
||||||
|
@@ -36,16 +36,15 @@ function publishRelease() {
|
|||||||
VERSION=$1
|
VERSION=$1
|
||||||
SDKMAN_PLATFORM=$2
|
SDKMAN_PLATFORM=$2
|
||||||
MVND_PLATFORM=$3
|
MVND_PLATFORM=$3
|
||||||
QUALIFIER=$4
|
|
||||||
|
|
||||||
FILE="maven-mvnd-${VERSION}-${QUALIFIER}-${MVND_PLATFORM}.zip"
|
FILE="maven-mvnd-${VERSION}-${MVND_PLATFORM}.zip"
|
||||||
URL="https://downloads.apache.org/maven/mvnd/${VERSION}/${FILE}"
|
URL="https://downloads.apache.org/maven/mvnd/${VERSION}/${FILE}"
|
||||||
RESPONSE="$(curl -s -X POST \
|
RESPONSE="$(curl -s -X POST \
|
||||||
-H "Consumer-Key: ${SDKMAN_CONSUMER_KEY}" \
|
-H "Consumer-Key: ${SDKMAN_CONSUMER_KEY}" \
|
||||||
-H "Consumer-Token: ${SDKMAN_CONSUMER_TOKEN}" \
|
-H "Consumer-Token: ${SDKMAN_CONSUMER_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-H "Accept: application/json" \
|
-H "Accept: application/json" \
|
||||||
-d '{"candidate": "mvnd", "version": "'${VERSION}-${QUALIFIER}'", "platform" : "'${SDKMAN_PLATFORM}'", "url": "'${URL}'"}' \
|
-d '{"candidate": "mvnd", "version": "'${VERSION}'", "platform" : "'${SDKMAN_PLATFORM}'", "url": "'${URL}'"}' \
|
||||||
https://vendors.sdkman.io/release)"
|
https://vendors.sdkman.io/release)"
|
||||||
|
|
||||||
node -pe "
|
node -pe "
|
||||||
@@ -59,14 +58,10 @@ function publishRelease() {
|
|||||||
" "${RESPONSE}"
|
" "${RESPONSE}"
|
||||||
}
|
}
|
||||||
|
|
||||||
publishRelease ${VERSION} LINUX_64 linux-amd64 m39
|
publishRelease ${VERSION} LINUX_64 linux-amd64
|
||||||
publishRelease ${VERSION} MAC_OSX darwin-amd64 m39
|
publishRelease ${VERSION} MAC_OSX darwin-amd64
|
||||||
publishRelease ${VERSION} MAC_ARM64 darwin-aarch64 m39
|
publishRelease ${VERSION} MAC_ARM64 darwin-aarch64
|
||||||
publishRelease ${VERSION} WINDOWS_64 windows-amd64 m39
|
publishRelease ${VERSION} WINDOWS_64 windows-amd64
|
||||||
publishRelease ${VERSION} LINUX_64 linux-amd64 m40
|
|
||||||
publishRelease ${VERSION} MAC_OSX darwin-amd64 m40
|
|
||||||
publishRelease ${VERSION} MAC_ARM64 darwin-aarch64 m40
|
|
||||||
publishRelease ${VERSION} WINDOWS_64 windows-amd64 m40
|
|
||||||
|
|
||||||
echo "Setting ${VERSION} as a default"
|
echo "Setting ${VERSION} as a default"
|
||||||
RESPONSE="$(curl -s -X PUT \
|
RESPONSE="$(curl -s -X PUT \
|
||||||
@@ -95,7 +90,7 @@ RESPONSE="$(curl -s -X POST \
|
|||||||
-H "Consumer-Token: ${SDKMAN_CONSUMER_TOKEN}" \
|
-H "Consumer-Token: ${SDKMAN_CONSUMER_TOKEN}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-H "Accept: application/json" \
|
-H "Accept: application/json" \
|
||||||
-d '{"candidate": "mvnd", "version": "'${VERSION}-m39'", "url": "'${RELEASE_URL}'"}' \
|
-d '{"candidate": "mvnd", "version": "'${VERSION}'", "url": "'${RELEASE_URL}'"}' \
|
||||||
https://vendors.sdkman.io/announce/struct)"
|
https://vendors.sdkman.io/announce/struct)"
|
||||||
|
|
||||||
node -pe "
|
node -pe "
|
||||||
@@ -108,20 +103,3 @@ node -pe "
|
|||||||
}
|
}
|
||||||
" "${RESPONSE}"
|
" "${RESPONSE}"
|
||||||
|
|
||||||
RESPONSE="$(curl -s -X POST \
|
|
||||||
-H "Consumer-Key: ${SDKMAN_CONSUMER_KEY}" \
|
|
||||||
-H "Consumer-Token: ${SDKMAN_CONSUMER_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Accept: application/json" \
|
|
||||||
-d '{"candidate": "mvnd", "version": "'${VERSION}-m40'", "url": "'${RELEASE_URL}'"}' \
|
|
||||||
https://vendors.sdkman.io/announce/struct)"
|
|
||||||
|
|
||||||
node -pe "
|
|
||||||
var json = JSON.parse(process.argv[1]);
|
|
||||||
if (json.status == 200 || json.status == 201) {
|
|
||||||
json.status + ' as expected from /announce/freeform';
|
|
||||||
} else {
|
|
||||||
console.log('Unexpected status from /announce/freeform: ' + process.argv[1]);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
" "${RESPONSE}"
|
|
||||||
|
@@ -48,7 +48,7 @@ gh api $downloadUrl > artifacts-${VERSION}.zip
|
|||||||
unzip artifacts-${VERSION}.zip -d ${VERSION}
|
unzip artifacts-${VERSION}.zip -d ${VERSION}
|
||||||
cd ${VERSION}
|
cd ${VERSION}
|
||||||
|
|
||||||
for dist in m39-darwin-amd64.zip m39-darwin-amd64.tar.gz m39-darwin-aarch64.zip m39-darwin-aarch64.tar.gz m39-linux-amd64.zip m39-linux-amd64.tar.gz m39-windows-amd64.zip m39-windows-amd64.tar.gz m40-darwin-amd64.zip m40-darwin-amd64.tar.gz m40-darwin-aarch64.zip m40-darwin-aarch64.tar.gz m40-linux-amd64.zip m40-linux-amd64.tar.gz m40-windows-amd64.zip m40-windows-amd64.tar.gz src.zip src.tar.gz
|
for dist in darwin-amd64.zip darwin-amd64.tar.gz darwin-aarch64.zip darwin-aarch64.tar.gz linux-amd64.zip linux-amd64.tar.gz windows-amd64.zip windows-amd64.tar.gz src.zip src.tar.gz
|
||||||
do
|
do
|
||||||
FILE=maven-mvnd-${VERSION}-${dist}
|
FILE=maven-mvnd-${VERSION}-${dist}
|
||||||
# sha256 are used by homebrew which does not support sha512 atm
|
# sha256 are used by homebrew which does not support sha512 atm
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-client</artifactId>
|
<artifactId>mvnd-client</artifactId>
|
||||||
@@ -31,7 +31,6 @@
|
|||||||
<name>Maven Daemon - Client</name>
|
<name>Maven Daemon - Client</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.release>11</maven.compiler.release>
|
|
||||||
<graalvm-native-static-opt />
|
<graalvm-native-static-opt />
|
||||||
<graalvm-native-glibc-opt />
|
<graalvm-native-glibc-opt />
|
||||||
<patchelf.skip>true</patchelf.skip>
|
<patchelf.skip>true</patchelf.skip>
|
||||||
@@ -80,28 +79,6 @@
|
|||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-enforcer-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>enforce-bytecode-version</id>
|
|
||||||
<goals>
|
|
||||||
<goal>enforce</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<rules>
|
|
||||||
<enforceBytecodeVersion>
|
|
||||||
<maxJdkVersion>${maven.compiler.release}</maxJdkVersion>
|
|
||||||
<excludes>
|
|
||||||
<exclude>org.graalvm.nativeimage:svm</exclude>
|
|
||||||
</excludes>
|
|
||||||
</enforceBytecodeVersion>
|
|
||||||
</rules>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>buildnumber-maven-plugin</artifactId>
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-common</artifactId>
|
<artifactId>mvnd-common</artifactId>
|
||||||
|
@@ -1,59 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Copyright 2019 the original author or authors.
|
|
||||||
|
|
||||||
Licensed 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.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd</artifactId>
|
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>mvnd-daemon-m39</artifactId>
|
|
||||||
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
<name>Maven Daemon - Daemon 3.9.x specifics</name>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven</groupId>
|
|
||||||
<artifactId>maven-core</artifactId>
|
|
||||||
<version>${maven3.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven</groupId>
|
|
||||||
<artifactId>maven-embedder</artifactId>
|
|
||||||
<version>${maven3.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.eclipse.sisu</groupId>
|
|
||||||
<artifactId>sisu-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
File diff suppressed because it is too large
Load Diff
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.apache.maven.project;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import org.apache.maven.model.building.ModelCache;
|
|
||||||
|
|
||||||
public class SnapshotModelCache implements ModelCache {
|
|
||||||
|
|
||||||
private final ModelCache globalCache;
|
|
||||||
private final ModelCache reactorCache;
|
|
||||||
|
|
||||||
public SnapshotModelCache(ModelCache globalCache, ModelCache reactorCache) {
|
|
||||||
this.globalCache = Objects.requireNonNull(globalCache);
|
|
||||||
this.reactorCache = Objects.requireNonNull(reactorCache);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void put(String groupId, String artifactId, String version, String tag, Object data) {
|
|
||||||
getDelegate(version).put(groupId, artifactId, version, tag, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object get(String groupId, String artifactId, String version, String tag) {
|
|
||||||
return getDelegate(version).get(groupId, artifactId, version, tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
private ModelCache getDelegate(String version) {
|
|
||||||
return version.contains("SNAPSHOT") || version.contains("${") ? reactorCache : globalCache;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,59 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.apache.maven.project;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import org.apache.maven.model.building.ModelCache;
|
|
||||||
import org.apache.maven.repository.internal.DefaultModelCacheFactory;
|
|
||||||
import org.apache.maven.repository.internal.ModelCacheFactory;
|
|
||||||
import org.eclipse.aether.DefaultRepositoryCache;
|
|
||||||
import org.eclipse.aether.DefaultRepositorySystemSession;
|
|
||||||
import org.eclipse.aether.RepositorySystemSession;
|
|
||||||
import org.eclipse.sisu.Priority;
|
|
||||||
|
|
||||||
import static org.mvndaemon.mvnd.common.Environment.MVND_NO_MODEL_CACHE;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Named
|
|
||||||
@Priority(10)
|
|
||||||
public class SnapshotModelCacheFactory implements ModelCacheFactory {
|
|
||||||
|
|
||||||
private final ModelCacheFactory factory;
|
|
||||||
private final ModelCache globalCache;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public SnapshotModelCacheFactory(DefaultModelCacheFactory factory) {
|
|
||||||
this.factory = factory;
|
|
||||||
DefaultRepositorySystemSession session = new DefaultRepositorySystemSession();
|
|
||||||
session.setCache(new DefaultRepositoryCache());
|
|
||||||
this.globalCache = factory.createCache(session);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ModelCache createCache(RepositorySystemSession session) {
|
|
||||||
boolean noModelCache =
|
|
||||||
Boolean.parseBoolean(MVND_NO_MODEL_CACHE.asOptional().orElse(MVND_NO_MODEL_CACHE.getDefault()));
|
|
||||||
ModelCache reactorCache = factory.createCache(session);
|
|
||||||
ModelCache globalCache = noModelCache ? reactorCache : this.globalCache;
|
|
||||||
return new SnapshotModelCache(globalCache, reactorCache);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,134 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.mvndaemon.mvnd.cache.invalidating;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import org.apache.maven.model.Plugin;
|
|
||||||
import org.apache.maven.plugin.DefaultPluginDescriptorCache;
|
|
||||||
import org.apache.maven.plugin.InvalidPluginDescriptorException;
|
|
||||||
import org.apache.maven.plugin.PluginDescriptorParsingException;
|
|
||||||
import org.apache.maven.plugin.PluginResolutionException;
|
|
||||||
import org.apache.maven.plugin.descriptor.PluginDescriptor;
|
|
||||||
import org.codehaus.plexus.classworlds.realm.ClassRealm;
|
|
||||||
import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
|
|
||||||
import org.eclipse.aether.RepositorySystemSession;
|
|
||||||
import org.eclipse.aether.repository.RemoteRepository;
|
|
||||||
import org.eclipse.sisu.Priority;
|
|
||||||
import org.mvndaemon.mvnd.cache.Cache;
|
|
||||||
import org.mvndaemon.mvnd.cache.CacheFactory;
|
|
||||||
import org.mvndaemon.mvnd.cache.CacheRecord;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Named
|
|
||||||
@Priority(10)
|
|
||||||
public class InvalidatingPluginDescriptorCache extends DefaultPluginDescriptorCache {
|
|
||||||
|
|
||||||
protected static class Record implements CacheRecord {
|
|
||||||
|
|
||||||
private final PluginDescriptor descriptor;
|
|
||||||
|
|
||||||
public Record(PluginDescriptor descriptor) {
|
|
||||||
this.descriptor = descriptor;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Stream<Path> getDependencyPaths() {
|
|
||||||
return Optional.ofNullable(descriptor.getArtifacts()).orElse(Collections.emptyList()).stream()
|
|
||||||
.map(artifact -> artifact.getFile().toPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void invalidate() {
|
|
||||||
ClassRealm realm = descriptor.getClassRealm();
|
|
||||||
if (realm == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
realm.getWorld().disposeRealm(realm.getId());
|
|
||||||
} catch (NoSuchRealmException e) {
|
|
||||||
// ignore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final Cache<Key, Record> cache;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public InvalidatingPluginDescriptorCache(CacheFactory cacheFactory) {
|
|
||||||
this.cache = cacheFactory.newCache();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Key createKey(Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session) {
|
|
||||||
return super.createKey(plugin, repositories, session);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PluginDescriptor get(Key key) {
|
|
||||||
Record r = cache.get(key);
|
|
||||||
return r != null ? clone(r.descriptor) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PluginDescriptor get(Key key, PluginDescriptorSupplier supplier)
|
|
||||||
throws PluginDescriptorParsingException, PluginResolutionException, InvalidPluginDescriptorException {
|
|
||||||
try {
|
|
||||||
Record r = cache.computeIfAbsent(key, k -> {
|
|
||||||
try {
|
|
||||||
return new Record(clone(supplier.load()));
|
|
||||||
} catch (PluginDescriptorParsingException
|
|
||||||
| PluginResolutionException
|
|
||||||
| InvalidPluginDescriptorException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return clone(r.descriptor);
|
|
||||||
} catch (RuntimeException e) {
|
|
||||||
if (e.getCause() instanceof PluginDescriptorParsingException) {
|
|
||||||
throw (PluginDescriptorParsingException) e.getCause();
|
|
||||||
}
|
|
||||||
if (e.getCause() instanceof PluginResolutionException) {
|
|
||||||
throw (PluginResolutionException) e.getCause();
|
|
||||||
}
|
|
||||||
if (e.getCause() instanceof InvalidPluginDescriptorException) {
|
|
||||||
throw (InvalidPluginDescriptorException) e.getCause();
|
|
||||||
}
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void put(Key key, PluginDescriptor descriptor) {
|
|
||||||
cache.put(key, new Record(clone(descriptor)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void flush() {
|
|
||||||
cache.clear();
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,79 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.mvndaemon.mvnd.plugin;
|
|
||||||
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import org.apache.maven.plugin.version.PluginVersionRequest;
|
|
||||||
import org.apache.maven.plugin.version.PluginVersionResolutionException;
|
|
||||||
import org.apache.maven.plugin.version.PluginVersionResolver;
|
|
||||||
import org.apache.maven.plugin.version.PluginVersionResult;
|
|
||||||
import org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver;
|
|
||||||
import org.eclipse.aether.SessionData;
|
|
||||||
import org.eclipse.aether.repository.RemoteRepository;
|
|
||||||
import org.eclipse.sisu.Priority;
|
|
||||||
import org.eclipse.sisu.Typed;
|
|
||||||
|
|
||||||
@Named
|
|
||||||
@Singleton
|
|
||||||
@Priority(10)
|
|
||||||
@Typed(PluginVersionResolver.class)
|
|
||||||
public class CachingPluginVersionResolver extends DefaultPluginVersionResolver {
|
|
||||||
|
|
||||||
private static final Object CACHE_KEY = new Object();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PluginVersionResult resolve(PluginVersionRequest request) throws PluginVersionResolutionException {
|
|
||||||
Map<String, PluginVersionResult> cache =
|
|
||||||
getCache(request.getRepositorySession().getData());
|
|
||||||
String key = getKey(request);
|
|
||||||
PluginVersionResult result = cache.get(key);
|
|
||||||
if (result == null) {
|
|
||||||
result = super.resolve(request);
|
|
||||||
cache.putIfAbsent(key, result);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
private Map<String, PluginVersionResult> getCache(SessionData data) {
|
|
||||||
Map<String, PluginVersionResult> cache = (Map<String, PluginVersionResult>) data.get(CACHE_KEY);
|
|
||||||
while (cache == null) {
|
|
||||||
cache = new ConcurrentHashMap<>(256);
|
|
||||||
if (data.set(CACHE_KEY, null, cache)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
cache = (Map<String, PluginVersionResult>) data.get(CACHE_KEY);
|
|
||||||
}
|
|
||||||
return cache;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getKey(PluginVersionRequest request) {
|
|
||||||
return Stream.concat(
|
|
||||||
Stream.of(request.getGroupId(), request.getArtifactId()),
|
|
||||||
request.getRepositories().stream().map(RemoteRepository::getId))
|
|
||||||
.collect(Collectors.joining(":"));
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,59 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Copyright 2019 the original author or authors.
|
|
||||||
|
|
||||||
Licensed 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.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd</artifactId>
|
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>mvnd-daemon-m40</artifactId>
|
|
||||||
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
<name>Maven Daemon - Daemon 4.0.x specifics</name>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven</groupId>
|
|
||||||
<artifactId>maven-core</artifactId>
|
|
||||||
<version>${maven4.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven</groupId>
|
|
||||||
<artifactId>maven-embedder</artifactId>
|
|
||||||
<version>${maven4.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.eclipse.sisu</groupId>
|
|
||||||
<artifactId>sisu-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
@@ -1,121 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.mvndaemon.mvnd.cache.invalidating;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
|
||||||
import org.apache.maven.plugin.DefaultPluginRealmCache;
|
|
||||||
import org.apache.maven.plugin.PluginContainerException;
|
|
||||||
import org.apache.maven.plugin.PluginResolutionException;
|
|
||||||
import org.apache.maven.project.MavenProject;
|
|
||||||
import org.codehaus.plexus.classworlds.realm.ClassRealm;
|
|
||||||
import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
|
|
||||||
import org.eclipse.sisu.Priority;
|
|
||||||
import org.mvndaemon.mvnd.cache.Cache;
|
|
||||||
import org.mvndaemon.mvnd.cache.CacheFactory;
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
@Named
|
|
||||||
@Priority(10)
|
|
||||||
public class InvalidatingPluginRealmCache extends DefaultPluginRealmCache {
|
|
||||||
|
|
||||||
protected static class Record implements org.mvndaemon.mvnd.cache.CacheRecord {
|
|
||||||
|
|
||||||
final CacheRecord record;
|
|
||||||
|
|
||||||
public Record(CacheRecord record) {
|
|
||||||
this.record = record;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Stream<Path> getDependencyPaths() {
|
|
||||||
return record.getArtifacts().stream()
|
|
||||||
.map(artifact -> artifact.getFile().toPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void invalidate() {
|
|
||||||
ClassRealm realm = record.getRealm();
|
|
||||||
try {
|
|
||||||
realm.getWorld().disposeRealm(realm.getId());
|
|
||||||
} catch (NoSuchRealmException e) {
|
|
||||||
// ignore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final Cache<Key, Record> cache;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public InvalidatingPluginRealmCache(CacheFactory cacheFactory) {
|
|
||||||
cache = cacheFactory.newCache();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CacheRecord get(Key key) {
|
|
||||||
Record r = cache.get(key);
|
|
||||||
return r != null ? r.record : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CacheRecord get(Key key, PluginRealmSupplier supplier)
|
|
||||||
throws PluginResolutionException, PluginContainerException {
|
|
||||||
try {
|
|
||||||
Record r = cache.computeIfAbsent(key, k -> {
|
|
||||||
try {
|
|
||||||
return new Record(supplier.load());
|
|
||||||
} catch (PluginResolutionException | PluginContainerException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return r.record;
|
|
||||||
} catch (RuntimeException e) {
|
|
||||||
if (e.getCause() instanceof PluginResolutionException) {
|
|
||||||
throw (PluginResolutionException) e.getCause();
|
|
||||||
}
|
|
||||||
if (e.getCause() instanceof PluginContainerException) {
|
|
||||||
throw (PluginContainerException) e.getCause();
|
|
||||||
}
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CacheRecord put(Key key, ClassRealm pluginRealm, List<Artifact> pluginArtifacts) {
|
|
||||||
CacheRecord record = super.put(key, pluginRealm, pluginArtifacts);
|
|
||||||
super.cache.remove(key);
|
|
||||||
cache.put(key, new Record(record));
|
|
||||||
return record;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void flush() {
|
|
||||||
cache.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void register(MavenProject project, Key key, CacheRecord record) {}
|
|
||||||
}
|
|
@@ -1,190 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
package org.mvndaemon.mvnd.cache.invalidating;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import java.net.URISyntaxException;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.nio.file.FileSystems;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.PathMatcher;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.maven.eventspy.AbstractEventSpy;
|
|
||||||
import org.apache.maven.eventspy.EventSpy;
|
|
||||||
import org.apache.maven.execution.MavenExecutionRequest;
|
|
||||||
import org.apache.maven.execution.MavenExecutionResult;
|
|
||||||
import org.apache.maven.project.MavenProject;
|
|
||||||
import org.eclipse.sisu.Typed;
|
|
||||||
import org.mvndaemon.mvnd.common.Environment;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
@Named
|
|
||||||
@Singleton
|
|
||||||
@Typed(EventSpy.class)
|
|
||||||
public class InvalidatingRealmCacheEventSpy extends AbstractEventSpy {
|
|
||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(InvalidatingRealmCacheEventSpy.class);
|
|
||||||
|
|
||||||
private final InvalidatingPluginRealmCache pluginCache;
|
|
||||||
private final InvalidatingExtensionRealmCache extensionCache;
|
|
||||||
private final InvalidatingProjectArtifactsCache projectArtifactsCache;
|
|
||||||
private Path multiModuleProjectDirectory;
|
|
||||||
private String pattern;
|
|
||||||
private PathMatcher matcher;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public InvalidatingRealmCacheEventSpy(
|
|
||||||
InvalidatingPluginRealmCache cache,
|
|
||||||
InvalidatingExtensionRealmCache extensionCache,
|
|
||||||
InvalidatingProjectArtifactsCache projectArtifactsCache) {
|
|
||||||
this.pluginCache = cache;
|
|
||||||
this.extensionCache = extensionCache;
|
|
||||||
this.projectArtifactsCache = projectArtifactsCache;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onEvent(Object event) throws Exception {
|
|
||||||
try {
|
|
||||||
if (event instanceof MavenExecutionRequest) {
|
|
||||||
/* Store the multiModuleProjectDirectory path */
|
|
||||||
multiModuleProjectDirectory = ((MavenExecutionRequest) event)
|
|
||||||
.getMultiModuleProjectDirectory()
|
|
||||||
.toPath();
|
|
||||||
pattern = Environment.MVND_PLUGIN_REALM_EVICT_PATTERN
|
|
||||||
.asOptional()
|
|
||||||
.orElse(Environment.MVND_PLUGIN_REALM_EVICT_PATTERN.getDefault());
|
|
||||||
if (!pattern.isEmpty()) {
|
|
||||||
String[] patterns = pattern.split(",");
|
|
||||||
List<PathMatcher> matchers = new ArrayList<>();
|
|
||||||
for (String pattern : patterns) {
|
|
||||||
if (pattern.startsWith("mvn:")) {
|
|
||||||
String[] parts = pattern.substring("mvn:".length()).split(":");
|
|
||||||
String groupId, artifactId, version;
|
|
||||||
if (parts.length >= 3) {
|
|
||||||
version = parts[2];
|
|
||||||
} else {
|
|
||||||
version = "*";
|
|
||||||
}
|
|
||||||
if (parts.length >= 2) {
|
|
||||||
groupId = parts[0];
|
|
||||||
artifactId = parts[1];
|
|
||||||
} else {
|
|
||||||
groupId = "*";
|
|
||||||
artifactId = parts[0];
|
|
||||||
}
|
|
||||||
pattern = "glob:**/" + ("*".equals(groupId) ? "" : groupId.replace('.', '/') + "/")
|
|
||||||
+ artifactId + "/" + ("*".equals(version) ? "**" : version + "/**");
|
|
||||||
}
|
|
||||||
matchers.add(getPathMatcher(pattern));
|
|
||||||
}
|
|
||||||
if (matchers.size() == 1) {
|
|
||||||
matcher = matchers.iterator().next();
|
|
||||||
} else {
|
|
||||||
matcher = path -> matchers.stream().anyMatch(f -> f.matches(path));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (event instanceof MavenExecutionResult) {
|
|
||||||
/* Evict the entries referring to jars under multiModuleProjectDirectory */
|
|
||||||
pluginCache.cache.removeIf(this::shouldEvict);
|
|
||||||
extensionCache.cache.removeIf(this::shouldEvict);
|
|
||||||
MavenExecutionResult mer = (MavenExecutionResult) event;
|
|
||||||
List<MavenProject> projects = mer.getTopologicallySortedProjects();
|
|
||||||
projectArtifactsCache.cache.removeIf(
|
|
||||||
(k, r) -> shouldEvict(projects, (InvalidatingProjectArtifactsCache.CacheKey) k, r));
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
LOG.warn("Could not notify CliPluginRealmCache", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean shouldEvict(
|
|
||||||
List<MavenProject> projects,
|
|
||||||
InvalidatingProjectArtifactsCache.CacheKey k,
|
|
||||||
InvalidatingProjectArtifactsCache.Record v) {
|
|
||||||
return projects.stream().anyMatch(p -> k.matches(p.getGroupId(), p.getArtifactId(), p.getVersion()));
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean shouldEvict(InvalidatingPluginRealmCache.Key k, InvalidatingPluginRealmCache.Record v) {
|
|
||||||
try {
|
|
||||||
for (URL url : v.record.getRealm().getURLs()) {
|
|
||||||
if (url.getProtocol().equals("file")) {
|
|
||||||
final Path path = Paths.get(url.toURI());
|
|
||||||
if (path.startsWith(multiModuleProjectDirectory)) {
|
|
||||||
LOG.debug(
|
|
||||||
"Removing PluginRealmCache entry {} because it refers to an artifact in the build tree {}",
|
|
||||||
k,
|
|
||||||
path);
|
|
||||||
return true;
|
|
||||||
} else if (matcher != null && matcher.matches(path)) {
|
|
||||||
LOG.debug(
|
|
||||||
"Removing PluginRealmCache entry {} because its components {} matches the eviction pattern '{}'",
|
|
||||||
k,
|
|
||||||
path,
|
|
||||||
pattern);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
} catch (URISyntaxException e) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean shouldEvict(InvalidatingExtensionRealmCache.Key k, InvalidatingExtensionRealmCache.Record v) {
|
|
||||||
try {
|
|
||||||
for (URL url : v.record.getRealm().getURLs()) {
|
|
||||||
if (url.getProtocol().equals("file")) {
|
|
||||||
final Path path = Paths.get(url.toURI());
|
|
||||||
if (path.startsWith(multiModuleProjectDirectory)) {
|
|
||||||
LOG.debug(
|
|
||||||
"Removing ExtensionRealmCache entry {} because it refers to an artifact in the build tree {}",
|
|
||||||
k,
|
|
||||||
path);
|
|
||||||
return true;
|
|
||||||
} else if (matcher != null && matcher.matches(path)) {
|
|
||||||
LOG.debug(
|
|
||||||
"Removing ExtensionRealmCache entry {} because its components {} matches the eviction pattern '{}'",
|
|
||||||
k,
|
|
||||||
path,
|
|
||||||
pattern);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
} catch (URISyntaxException e) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static PathMatcher getPathMatcher(String pattern) {
|
|
||||||
if (!pattern.startsWith("glob:") && !pattern.startsWith("regex:")) {
|
|
||||||
pattern = "glob:" + pattern;
|
|
||||||
}
|
|
||||||
return FileSystems.getDefault().getPathMatcher(pattern);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-daemon</artifactId>
|
<artifactId>mvnd-daemon</artifactId>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<!-- If using release, sun.misc is not reachable (see SignalHelper) -->
|
<!-- If using release, sun.misc is not reachable (see SignalHelper) -->
|
||||||
<maven.compiler.release />
|
<!-- <maven.compiler.release />-->
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@@ -54,6 +54,10 @@
|
|||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd-logging</artifactId>
|
<artifactId>mvnd-logging</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-core</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven</groupId>
|
<groupId>org.apache.maven</groupId>
|
||||||
<artifactId>maven-embedder</artifactId>
|
<artifactId>maven-embedder</artifactId>
|
||||||
|
@@ -1,96 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
Copyright 2019-2021 the original author or authors.
|
|
||||||
|
|
||||||
Licensed 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.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<assembly>
|
|
||||||
|
|
||||||
<artifactSet to="/mvn">
|
|
||||||
<artifact id="org.apache.maven:apache-maven:tar.gz:bin:${maven3.version}">
|
|
||||||
<unpack useRoot="false"
|
|
||||||
excludes="lib/maven-slf4j-*" />
|
|
||||||
</artifact>
|
|
||||||
</artifactSet>
|
|
||||||
|
|
||||||
<artifactSet to="/mvn/lib">
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-logging:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.slf4j:jul-to-slf4j">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
</artifactSet>
|
|
||||||
|
|
||||||
<artifactSet to="/mvn/lib/mvnd">
|
|
||||||
<artifact id="io.takari.maven:takari-smart-builder:${takari-smart-builder.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-daemon:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-daemon-m39:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-client:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-common:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-agent:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-helper-agent:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-native:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.codehaus.plexus:plexus-interactivity-api">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.jline:jline-terminal">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.jline:jline-terminal-jansi">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
</artifactSet>
|
|
||||||
|
|
||||||
<fileSet to="/">
|
|
||||||
<directory path="${basedir}/../dist/src/main/distro"/>
|
|
||||||
<directory path="${basedir}/..">
|
|
||||||
<include>NOTICE.txt</include>
|
|
||||||
<include>LICENSE.txt</include>
|
|
||||||
<include>README.adoc</include>
|
|
||||||
</directory>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet to="/bin">
|
|
||||||
<directory path="${basedir}/../client/target">
|
|
||||||
<include>mvnd</include>
|
|
||||||
<include>mvnd.exe</include>
|
|
||||||
</directory>
|
|
||||||
<directory path="${basedir}/../dist/src/main/resources">
|
|
||||||
<include>platform-${os.detected.name}-${os.detected.arch}</include>
|
|
||||||
</directory>
|
|
||||||
</fileSet>
|
|
||||||
|
|
||||||
<archive name="maven-mvnd-${project.version}-m39-${os.detected.name}-${os.detected.arch}.zip"
|
|
||||||
executable="**/bin/mvnd"/>
|
|
||||||
|
|
||||||
<archive name="maven-mvnd-${project.version}-m39-${os.detected.name}-${os.detected.arch}.tar.gz"
|
|
||||||
executable="**/bin/mvnd"/>
|
|
||||||
|
|
||||||
</assembly>
|
|
@@ -1,82 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Copyright 2019-2021 the original author or authors.
|
|
||||||
|
|
||||||
Licensed 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.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd</artifactId>
|
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>mvnd-dist-m40</artifactId>
|
|
||||||
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<name>Maven Daemon - Distribution for 4.0.x</name>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-agent</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-helper-agent</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-client</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon-m40</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>ca.vanzyl.provisio.maven.plugins</groupId>
|
|
||||||
<artifactId>provisio-maven-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>maven-distro</id>
|
|
||||||
<goals>
|
|
||||||
<goal>provision</goal>
|
|
||||||
</goals>
|
|
||||||
<phase>package</phase>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${project.build.directory}/maven-mvnd-${project.version}-m40-${os.detected.name}-${os.detected.arch}</outputDirectory>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
12
dist-m39/pom.xml → dist/pom.xml
vendored
12
dist-m39/pom.xml → dist/pom.xml
vendored
@@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-dist-m39</artifactId>
|
<artifactId>mvnd-dist</artifactId>
|
||||||
|
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Maven Daemon - Distribution for 3.9.x</name>
|
<name>Maven Daemon - Distribution</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
@@ -52,10 +52,6 @@
|
|||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd-daemon</artifactId>
|
<artifactId>mvnd-daemon</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon-m39</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -71,7 +67,7 @@
|
|||||||
</goals>
|
</goals>
|
||||||
<phase>package</phase>
|
<phase>package</phase>
|
||||||
<configuration>
|
<configuration>
|
||||||
<outputDirectory>${project.build.directory}/maven-mvnd-${project.version}-m39-${os.detected.name}-${os.detected.arch}</outputDirectory>
|
<outputDirectory>${project.build.directory}/maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch}</outputDirectory>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
@@ -18,7 +18,7 @@
|
|||||||
<assembly>
|
<assembly>
|
||||||
|
|
||||||
<artifactSet to="/mvn">
|
<artifactSet to="/mvn">
|
||||||
<artifact id="org.apache.maven:apache-maven:tar.gz:bin:${maven4.version}">
|
<artifact id="org.apache.maven:apache-maven:tar.gz:bin:${maven.version}">
|
||||||
<unpack useRoot="false"
|
<unpack useRoot="false"
|
||||||
excludes="lib/maven-slf4j-*,lib/plexus-utils-3.*" />
|
excludes="lib/maven-slf4j-*,lib/plexus-utils-3.*" />
|
||||||
</artifact>
|
</artifact>
|
||||||
@@ -43,9 +43,6 @@
|
|||||||
<artifact id="org.apache.maven.daemon:mvnd-daemon:${project.version}">
|
<artifact id="org.apache.maven.daemon:mvnd-daemon:${project.version}">
|
||||||
<exclusion id="*:*"/>
|
<exclusion id="*:*"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-daemon-m40:${project.version}">
|
|
||||||
<exclusion id="*:*"/>
|
|
||||||
</artifact>
|
|
||||||
<artifact id="org.apache.maven.daemon:mvnd-client:${project.version}">
|
<artifact id="org.apache.maven.daemon:mvnd-client:${project.version}">
|
||||||
<exclusion id="*:*"/>
|
<exclusion id="*:*"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
@@ -90,10 +87,10 @@
|
|||||||
</directory>
|
</directory>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
|
|
||||||
<archive name="maven-mvnd-${project.version}-m40-${os.detected.name}-${os.detected.arch}.zip"
|
<archive name="maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch}.zip"
|
||||||
executable="**/bin/mvnd"/>
|
executable="**/bin/mvnd"/>
|
||||||
|
|
||||||
<archive name="maven-mvnd-${project.version}-m40-${os.detected.name}-${os.detected.arch}.tar.gz"
|
<archive name="maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch}.tar.gz"
|
||||||
executable="**/bin/mvnd"/>
|
executable="**/bin/mvnd"/>
|
||||||
|
|
||||||
</assembly>
|
</assembly>
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-helper-agent</artifactId>
|
<artifactId>mvnd-helper-agent</artifactId>
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-integration-tests</artifactId>
|
<artifactId>mvnd-integration-tests</artifactId>
|
||||||
@@ -32,8 +32,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<mvnd.m39.home>${project.basedir}/../dist-m39/target/maven-mvnd-${project.version}-m39-${os.detected.name}-${os.detected.arch}</mvnd.m39.home>
|
<mvnd.home>${project.basedir}/../dist/target/maven-mvnd-${project.version}-${os.detected.name}-${os.detected.arch}</mvnd.home>
|
||||||
<mvnd.m40.home>${project.basedir}/../dist-m40/target/maven-mvnd-${project.version}-m40-${os.detected.name}-${os.detected.arch}</mvnd.m40.home>
|
|
||||||
<preinstall.artifacts>org/apache/maven/surefire/surefire-providers/${surefire.version}
|
<preinstall.artifacts>org/apache/maven/surefire/surefire-providers/${surefire.version}
|
||||||
org/apache/maven/surefire/surefire-junit-platform/${surefire.version}
|
org/apache/maven/surefire/surefire-junit-platform/${surefire.version}
|
||||||
org/junit/platform/junit-platform-launcher/${junit-platform-launcher.version}
|
org/junit/platform/junit-platform-launcher/${junit-platform-launcher.version}
|
||||||
@@ -58,19 +57,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd-dist-m39</artifactId>
|
<artifactId>mvnd-dist</artifactId>
|
||||||
<type>pom</type>
|
|
||||||
<scope>test</scope>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-simple</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-dist-m40</artifactId>
|
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
@@ -130,25 +117,7 @@
|
|||||||
<phase>test</phase>
|
<phase>test</phase>
|
||||||
<configuration>
|
<configuration>
|
||||||
<systemPropertyVariables>
|
<systemPropertyVariables>
|
||||||
<mvnd.home>${mvnd.m39.home}</mvnd.home>
|
<mvnd.home>${mvnd.home}</mvnd.home>
|
||||||
<project.version>${project.version}</project.version>
|
|
||||||
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
|
||||||
<os.detected.name>${os.detected.name}</os.detected.name>
|
|
||||||
<os.detected.arch>${os.detected.arch}</os.detected.arch>
|
|
||||||
<mvnd.test.hostLocalMavenRepo>${settings.localRepository}</mvnd.test.hostLocalMavenRepo>
|
|
||||||
<preinstall.artifacts>${preinstall.artifacts}</preinstall.artifacts>
|
|
||||||
</systemPropertyVariables>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>mvn-40</id>
|
|
||||||
<goals>
|
|
||||||
<goal>test</goal>
|
|
||||||
</goals>
|
|
||||||
<phase>test</phase>
|
|
||||||
<configuration>
|
|
||||||
<systemPropertyVariables>
|
|
||||||
<mvnd.home>${mvnd.m40.home}</mvnd.home>
|
|
||||||
<project.version>${project.version}</project.version>
|
<project.version>${project.version}</project.version>
|
||||||
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
||||||
<os.detected.name>${os.detected.name}</os.detected.name>
|
<os.detected.name>${os.detected.name}</os.detected.name>
|
||||||
@@ -235,25 +204,7 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<systemPropertyVariables>
|
<systemPropertyVariables>
|
||||||
<project.version>${project.version}</project.version>
|
<project.version>${project.version}</project.version>
|
||||||
<mvnd.home>${mvnd.m39.home}</mvnd.home>
|
<mvnd.home>${mvnd.home}</mvnd.home>
|
||||||
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
|
||||||
<os.detected.name>${os.detected.name}</os.detected.name>
|
|
||||||
<os.detected.arch>${os.detected.arch}</os.detected.arch>
|
|
||||||
<mvnd.test.hostLocalMavenRepo>${settings.localRepository}</mvnd.test.hostLocalMavenRepo>
|
|
||||||
<preinstall.artifacts>${preinstall.artifacts}</preinstall.artifacts>
|
|
||||||
</systemPropertyVariables>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>native-40</id>
|
|
||||||
<goals>
|
|
||||||
<goal>integration-test</goal>
|
|
||||||
<goal>verify</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<systemPropertyVariables>
|
|
||||||
<project.version>${project.version}</project.version>
|
|
||||||
<mvnd.home>${mvnd.m40.home}</mvnd.home>
|
|
||||||
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
<mrm.repository.url>${mrm.repository.url}</mrm.repository.url>
|
||||||
<os.detected.name>${os.detected.name}</os.detected.name>
|
<os.detected.name>${os.detected.name}</os.detected.name>
|
||||||
<os.detected.arch>${os.detected.arch}</os.detected.arch>
|
<os.detected.arch>${os.detected.arch}</os.detected.arch>
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-logging</artifactId>
|
<artifactId>mvnd-logging</artifactId>
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
<artifactItem>
|
<artifactItem>
|
||||||
<groupId>org.apache.maven</groupId>
|
<groupId>org.apache.maven</groupId>
|
||||||
<artifactId>maven-slf4j-wrapper</artifactId>
|
<artifactId>maven-slf4j-wrapper</artifactId>
|
||||||
<version>${maven4.version}</version>
|
<version>${maven.version}</version>
|
||||||
<classifier>sources</classifier>
|
<classifier>sources</classifier>
|
||||||
</artifactItem>
|
</artifactItem>
|
||||||
<artifactItem>
|
<artifactItem>
|
||||||
|
@@ -29,11 +29,9 @@ import org.apache.maven.execution.ProjectExecutionEvent;
|
|||||||
import org.apache.maven.execution.ProjectExecutionListener;
|
import org.apache.maven.execution.ProjectExecutionListener;
|
||||||
import org.apache.maven.lifecycle.LifecycleExecutionException;
|
import org.apache.maven.lifecycle.LifecycleExecutionException;
|
||||||
import org.apache.maven.lifecycle.internal.ReactorBuildStatus;
|
import org.apache.maven.lifecycle.internal.ReactorBuildStatus;
|
||||||
import org.eclipse.sisu.Typed;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Named
|
@Named
|
||||||
@Typed({LoggingExecutionListener.class, ExecutionListener.class, ProjectExecutionListener.class})
|
|
||||||
public class LoggingExecutionListener implements ExecutionListener, ProjectExecutionListener {
|
public class LoggingExecutionListener implements ExecutionListener, ProjectExecutionListener {
|
||||||
|
|
||||||
private ExecutionListener delegate;
|
private ExecutionListener delegate;
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>mvnd-native</artifactId>
|
<artifactId>mvnd-native</artifactId>
|
||||||
|
53
pom.xml
53
pom.xml
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd</artifactId>
|
<artifactId>mvnd</artifactId>
|
||||||
<version>1.0-m9-SNAPSHOT</version>
|
<version>2.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Maven Daemon - Parent</name>
|
<name>Maven Daemon - Parent</name>
|
||||||
@@ -52,10 +52,7 @@
|
|||||||
<module>client</module>
|
<module>client</module>
|
||||||
<module>logging</module>
|
<module>logging</module>
|
||||||
<module>daemon</module>
|
<module>daemon</module>
|
||||||
<module>daemon-m39</module>
|
<module>dist</module>
|
||||||
<module>daemon-m40</module>
|
|
||||||
<module>dist-m39</module>
|
|
||||||
<module>dist-m40</module>
|
|
||||||
<module>integration-tests</module>
|
<module>integration-tests</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
@@ -68,10 +65,9 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.target>8</maven.compiler.target>
|
<maven.compiler.release>17</maven.compiler.release>
|
||||||
<maven.compiler.source>8</maven.compiler.source>
|
<maven-dist.required.jdk>17</maven-dist.required.jdk>
|
||||||
<maven-dist.required.jdk>8</maven-dist.required.jdk>
|
<project.build.outputTimestamp>2024-04-23T19:44:34Z</project.build.outputTimestamp>
|
||||||
<project.build.outputTimestamp>2023-10-26T05:45:19Z</project.build.outputTimestamp>
|
|
||||||
<trimStackTrace>false</trimStackTrace>
|
<trimStackTrace>false</trimStackTrace>
|
||||||
<project.github.repository>apache/maven-mvnd</project.github.repository>
|
<project.github.repository>apache/maven-mvnd</project.github.repository>
|
||||||
<repository.url>github.com:${project.github.repository}</repository.url>
|
<repository.url>github.com:${project.github.repository}</repository.url>
|
||||||
@@ -88,8 +84,6 @@
|
|||||||
<jansi.version>2.4.1</jansi.version>
|
<jansi.version>2.4.1</jansi.version>
|
||||||
<jline.version>3.25.1</jline.version>
|
<jline.version>3.25.1</jline.version>
|
||||||
<maven.version>4.0.0-alpha-8</maven.version>
|
<maven.version>4.0.0-alpha-8</maven.version>
|
||||||
<maven3.version>3.9.6</maven3.version>
|
|
||||||
<maven4.version>${maven.version}</maven4.version>
|
|
||||||
<!-- Keep in sync with Maven -->
|
<!-- Keep in sync with Maven -->
|
||||||
<maven.resolver.version>1.9.18</maven.resolver.version>
|
<maven.resolver.version>1.9.18</maven.resolver.version>
|
||||||
<slf4j.version>1.7.36</slf4j.version>
|
<slf4j.version>1.7.36</slf4j.version>
|
||||||
@@ -157,6 +151,11 @@
|
|||||||
<artifactId>maven-model</artifactId>
|
<artifactId>maven-model</artifactId>
|
||||||
<version>${maven.version}</version>
|
<version>${maven.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-core</artifactId>
|
||||||
|
<version>${maven.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven</groupId>
|
<groupId>org.apache.maven</groupId>
|
||||||
<artifactId>maven-embedder</artifactId>
|
<artifactId>maven-embedder</artifactId>
|
||||||
@@ -241,13 +240,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd-dist-m39</artifactId>
|
<artifactId>mvnd-dist</artifactId>
|
||||||
<version>${project.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-dist-m40</artifactId>
|
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
</dependency>
|
</dependency>
|
||||||
@@ -256,16 +249,6 @@
|
|||||||
<artifactId>mvnd-daemon</artifactId>
|
<artifactId>mvnd-daemon</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon-m39</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
|
||||||
<artifactId>mvnd-daemon-m40</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven.daemon</groupId>
|
<groupId>org.apache.maven.daemon</groupId>
|
||||||
<artifactId>mvnd-helper-agent</artifactId>
|
<artifactId>mvnd-helper-agent</artifactId>
|
||||||
@@ -457,7 +440,7 @@
|
|||||||
<artifactId>maven-enforcer-plugin</artifactId>
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>enforce-maven-3</id>
|
<id>enforce-bytecode-version</id>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>enforce</goal>
|
<goal>enforce</goal>
|
||||||
</goals>
|
</goals>
|
||||||
@@ -466,6 +449,18 @@
|
|||||||
<requireMavenVersion>
|
<requireMavenVersion>
|
||||||
<version>3.5.4</version>
|
<version>3.5.4</version>
|
||||||
</requireMavenVersion>
|
</requireMavenVersion>
|
||||||
|
<requireJavaVersion>
|
||||||
|
<version>[17,)</version>
|
||||||
|
</requireJavaVersion>
|
||||||
|
<enforceBytecodeVersion>
|
||||||
|
<maxJdkVersion>${maven.compiler.release}</maxJdkVersion>
|
||||||
|
<ignoredScopes>
|
||||||
|
<ignoredScope>test</ignoredScope>
|
||||||
|
</ignoredScopes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>org.jline:jline</exclude>
|
||||||
|
</excludes>
|
||||||
|
</enforceBytecodeVersion>
|
||||||
</rules>
|
</rules>
|
||||||
<fail>true</fail>
|
<fail>true</fail>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
Reference in New Issue
Block a user