diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 2658fe49..6b147300 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -46,9 +46,13 @@ jobs: distribution: 'temurin' cache: maven - name: Install Dependencies Local - run: mvn install -P lib + run: | + chmod +x ./mvnw + ./mvnw install -P lib - name: Build Maven Site - run: mvn site + run: | + chmod +x ./mvnw + ./mvnw site - name: Move site to pages artifact dir run: | mv ./micro-common/target/site ./temp_site/micro-common diff --git a/.github/workflows/mvn-deploy-central-test.yml b/.github/workflows/mvn-deploy-central-test.yml index 829cc7a9..27050149 100644 --- a/.github/workflows/mvn-deploy-central-test.yml +++ b/.github/workflows/mvn-deploy-central-test.yml @@ -23,7 +23,9 @@ jobs: gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Publish to Apache Maven Central - run: mvn deploy -P central,lib + run: | + chmod +x ./mvnw + ./mvnw deploy -P central,lib env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} diff --git a/.github/workflows/mvn-deploy.yml b/.github/workflows/mvn-deploy.yml index 5671b502..49d991d4 100644 --- a/.github/workflows/mvn-deploy.yml +++ b/.github/workflows/mvn-deploy.yml @@ -24,9 +24,13 @@ jobs: gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Test with Maven - run: mvn test + run: | + chmod +x ./mvnw + ./mvnw test - name: Publish to Apache Maven Central - run: mvn deploy -P central,lib + run: | + chmod +x ./mvnw + ./mvnw deploy -P central,lib env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} diff --git a/.github/workflows/mvn-test.yml b/.github/workflows/mvn-test.yml index 73d1490a..cb608abc 100644 --- a/.github/workflows/mvn-test.yml +++ b/.github/workflows/mvn-test.yml @@ -33,7 +33,9 @@ jobs: distribution: 'temurin' cache: maven - name: Test with Maven - run: mvn test + run: | + chmod +x ./mvnw + ./mvnw test - name: Publish Test Results uses: EnricoMi/publish-unit-test-result-action@v2 if: always() @@ -59,4 +61,6 @@ jobs: distribution: 'temurin' cache: maven - name: Package with Maven - run: mvn package -Dmaven.test.skip=true + run: | + chmod +x ./mvnw + ./mvnw package -Dmaven.test.skip=true diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index d58dfb70..e2764987 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,19 +1,3 @@ -# 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. -wrapperVersion=3.3.2 +wrapperVersion=3.3.4 distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/4.0.0-rc-4/apache-maven-4.0.0-rc-4-bin.zip diff --git a/demo-backend/pom.xml b/demo-backend/pom.xml index eaca07b0..bc455dd8 100644 --- a/demo-backend/pom.xml +++ b/demo-backend/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + demo-backend demo-backend demo-backend diff --git a/demo-reactive/pom.xml b/demo-reactive/pom.xml index b5917184..e7847f5b 100644 --- a/demo-reactive/pom.xml +++ b/demo-reactive/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + demo-reactive demo-reactive demo-reactive diff --git a/micro-auth-oidc/pom.xml b/micro-auth-oidc/pom.xml index e0f9ff9a..0d6d707b 100644 --- a/micro-auth-oidc/pom.xml +++ b/micro-auth-oidc/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-auth-oidc micro-auth-oidc micro-auth-oidc diff --git a/micro-auth-wechat/pom.xml b/micro-auth-wechat/pom.xml index 5a41e7ad..fcf37939 100644 --- a/micro-auth-wechat/pom.xml +++ b/micro-auth-wechat/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-auth-wechat micro-auth-wechat micro-auth-wechat diff --git a/micro-auth/pom.xml b/micro-auth/pom.xml index 199840d0..eaff0c02 100644 --- a/micro-auth/pom.xml +++ b/micro-auth/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-auth micro-auth auth-server diff --git a/micro-common/pom.xml b/micro-common/pom.xml index dbbbddac..79d5146f 100644 --- a/micro-common/pom.xml +++ b/micro-common/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-common micro-common micro-common diff --git a/micro-dependencies/pom.xml b/micro-dependencies/pom.xml index 4d9c04dd..3b12673f 100644 --- a/micro-dependencies/pom.xml +++ b/micro-dependencies/pom.xml @@ -1,134 +1,71 @@ - - 4.0.0 + + 4.1.0 - com.jiangtj.micro + micro-dependencies - pom - 0.2.3 - https://github.com/jiangtj/jmicro + bom micro-dependencies JMicro dependencies pom - - - GNU Lesser General Public License v2.1 - https://raw.githubusercontent.com/jiangtj/jmicro/master/LICENSE - - - - - - Mr.J - 116749895@qq.com - - - - - scm:git:git://github.com/jiangtj/jmicro.git - scm:git:ssh://github.com:jiangtj/jmicro.git - https://github.com/jiangtj/jmicro/tree/master - - com.jiangtj.micro micro-auth - 0.2.3 + ${project.version} com.jiangtj.micro micro-auth-wechat - 0.2.3 + ${project.version} com.jiangtj.micro micro-auth-oidc - 0.2.3 + ${project.version} com.jiangtj.micro micro-common - 0.2.3 + ${project.version} com.jiangtj.micro micro-web - 0.2.3 + ${project.version} com.jiangtj.micro micro-spring-boot-starter - 0.2.3 + ${project.version} com.jiangtj.micro micro-sql-jooq - 0.2.3 + ${project.version} com.jiangtj.micro micro-test - 0.2.3 + ${project.version} com.jiangtj.micro micro-pic-upload-starter - 0.2.3 + ${project.version} com.jiangtj.micro micro-flyway-starter - 0.2.3 + ${project.version} com.jiangtj.micro micro-payment - 0.2.3 + ${project.version} - - - - central - - - - org.apache.maven.plugins - maven-gpg-plugin - 3.2.8 - - - sign-artifacts - verify - - sign - - - - - - - --pinentry-mode - loopback - - - - - org.sonatype.central - central-publishing-maven-plugin - 0.9.0 - true - - central - true - - - - - - \ No newline at end of file diff --git a/micro-flyway-starter/pom.xml b/micro-flyway-starter/pom.xml index 2d4fbca5..515ac3b4 100644 --- a/micro-flyway-starter/pom.xml +++ b/micro-flyway-starter/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-flyway-starter micro-flyway-starter micro-flyway-starter diff --git a/micro-payment/pom.xml b/micro-payment/pom.xml index 357ca00c..ff5a2c70 100644 --- a/micro-payment/pom.xml +++ b/micro-payment/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-payment micro-payment Payment module for JMicro framework, supporting balance, WeChat and Alipay payments diff --git a/micro-pic-upload-starter/pom.xml b/micro-pic-upload-starter/pom.xml index d9207e1a..3d79b237 100644 --- a/micro-pic-upload-starter/pom.xml +++ b/micro-pic-upload-starter/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-pic-upload-starter micro-pic-upload-starter Make it easy to upload picture into oss diff --git a/micro-spring-boot-starter/pom.xml b/micro-spring-boot-starter/pom.xml index 5868a756..3c6d3cc7 100644 --- a/micro-spring-boot-starter/pom.xml +++ b/micro-spring-boot-starter/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-spring-boot-starter micro-spring-boot-starter micro-spring-boot-starter diff --git a/micro-sql-jooq/pom.xml b/micro-sql-jooq/pom.xml index 76e438a3..512ae7dd 100644 --- a/micro-sql-jooq/pom.xml +++ b/micro-sql-jooq/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-sql-jooq micro-sql-jooq JOOQ sql tools, for page query. diff --git a/micro-test/pom.xml b/micro-test/pom.xml index ab28c26e..b63e508a 100644 --- a/micro-test/pom.xml +++ b/micro-test/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-test micro-test SQL Tools diff --git a/micro-web/pom.xml b/micro-web/pom.xml index 13f446ec..68329829 100644 --- a/micro-web/pom.xml +++ b/micro-web/pom.xml @@ -1,12 +1,8 @@ - - 4.0.0 - - com.jiangtj.micro - jmicro-aggregator - 0.2.3 - + + 4.1.0 + micro-web micro-web micro-web diff --git a/mvnw b/mvnw index 19529ddf..bd8896bf 100644 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.2 +# Apache Maven Wrapper startup batch script, version 3.3.4 # # Optional ENV vars # ----------------- @@ -105,14 +105,17 @@ trim() { printf "%s" "${1}" | tr -d '[:space:]' } +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + # parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties while IFS="=" read -r key value; do case "${key-}" in distributionUrl) distributionUrl=$(trim "${value-}") ;; distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; esac -done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" -[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" case "${distributionUrl##*/}" in maven-mvnd-*bin.*) @@ -130,7 +133,7 @@ maven-mvnd-*bin.*) distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" ;; maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; -*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; esac # apply MVNW_REPOURL and calculate MAVEN_HOME @@ -227,7 +230,7 @@ if [ -n "${distributionSha256Sum-}" ]; then echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 exit 1 elif command -v sha256sum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then distributionSha256Result=true fi elif command -v shasum >/dev/null; then @@ -252,8 +255,41 @@ if command -v unzip >/dev/null; then else tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" fi -printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" -mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" + +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi +fi + +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi + +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" clean || : exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 249bdf38..92450f93 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -19,7 +19,7 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM Apache Maven Wrapper startup batch script, version 3.3.4 @REM @REM Optional ENV vars @REM MVNW_REPOURL - repo url base for downloading maven distribution @@ -40,7 +40,7 @@ @SET __MVNW_ARG0_NAME__= @SET MVNW_USERNAME= @SET MVNW_PASSWORD= -@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) @echo Cannot start maven from wrapper >&2 && exit /b 1 @GOTO :EOF : end batch / begin powershell #> @@ -73,16 +73,30 @@ switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { # apply MVNW_REPOURL and calculate MAVEN_HOME # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ if ($env:MVNW_REPOURL) { - $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } - $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" } $distributionUrlName = $distributionUrl -replace '^.*/','' $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' -$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" + +$MAVEN_M2_PATH = "$HOME/.m2" if ($env:MAVEN_USER_HOME) { - $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" } -$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' $MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { @@ -134,7 +148,33 @@ if ($distributionSha256Sum) { # unzip and move Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null -Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null try { Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null } catch { diff --git a/pom.xml b/pom.xml index c5b09c26..0214fc81 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@ - - 4.0.0 + + 4.1.0 com.jiangtj.micro jmicro-aggregator @@ -169,13 +169,6 @@ - - com.jiangtj.micro - micro-dependencies - 0.2.3 - pom - import - org.jspecify jspecify