@@ -14,15 +14,23 @@ jobs:
1414
1515    env :
1616      GENERATORS_VERSION_PROPERTY : " " 
17+       MAVEN_USERNAME : ${{ secrets.MAVEN_CENTRAL_USERNAME }} 
18+       MAVEN_PASSWORD : ${{ secrets.MAVEN_CENTRAL_PASSWORD }} 
1719    steps :
18-       - uses : actions/checkout@v3  
20+       - uses : actions/checkout@v4  
1921        name : git checkout 3.0.0 
2022      - name : Set up Java 
21-         uses : actions/setup-java@v3  
23+         uses : actions/setup-java@v4  
2224        with :
2325          java-version : ${{ matrix.java }} 
2426          distribution : temurin 
2527          cache : maven 
28+           overwrite-settings : false 
29+       - name : Add Central-Portal snapshot repo to settings.xml 
30+ 31+         with :
32+           repositories : ' [{"id":"central-portal-snapshots","name":"Sonatype Central Portal snapshots","url":"https://central.sonatype.com/repository/maven-snapshots/","releases":{"enabled":false},"snapshots":{"enabled":true}}]' 
33+           servers : ' [{"id":"central","username":"${{ secrets.MAVEN_CENTRAL_USERNAME }}","password":"${{ secrets.MAVEN_CENTRAL_PASSWORD }}"}]' 
2634      - name : preliminary checks 
2735        run : | 
2836          docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }} 
3341          /bin/bash ./bin/utils/detect_merge_conflict.sh 
3442          # fail if generators contain tab '\t' 
3543          /bin/bash ./bin/utils/detect_tab_in_java_class.sh 
44+           cat ~/.m2/settings.xml 
3645       - name : Build with Maven 
3746        if : ${{ matrix.java != 8 }} 
3847        run : | 
5362              if [[ $GENERATORS_FOUND == '0' ]]; 
5463              then 
5564                echo "generators version not found" 
56-                 rm -f maven-metadata.json 
57-                 curl -o maven-metadata.json -s --max-time 60 --retry 15 --connect-timeout 30  -H "accept: application/json" https://oss.sonatype.org/service/local/repositories/snapshots/content/io/swagger/codegen/v3/swagger-codegen-generators/ 
58-                 LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json` 
65+                 rm -f maven-metadata.xml 
66+                 SNAP_API="https://central.sonatype.com/repository/maven-snapshots" 
67+                 ARTIFACT_PATH="io/swagger/codegen/v3/swagger-codegen-generators" 
68+                 ROOT_META="${SNAP_API}/${ARTIFACT_PATH}/maven-metadata.xml" 
69+                 LATEST_DIR=$(curl -s "$ROOT_META" | grep -oP '(?<=<version>)1\.[^<]+' | sort -V | tail -n1) 
70+                 SNAP_META="${SNAP_API}/${ARTIFACT_PATH}/${LATEST_DIR}/maven-metadata.xml" 
71+                 LAST_SNAP=$(curl -s "$SNAP_META" | grep -oP '(?<=<value>)[^<]+' | head -n1) 
5972                export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2} 
6073                echo "LAST_SNAP $LAST_SNAP" 
6174                export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP 
8598              if [[ $GENERATORS_FOUND == '0' ]]; 
8699              then 
87100                echo "generators version not found" 
88-                 rm -f maven-metadata.json 
89-                 curl -o maven-metadata.json -s --max-time 60 --retry 15 --connect-timeout 30  -H "accept: application/json" https://oss.sonatype.org/service/local/repositories/snapshots/content/io/swagger/codegen/v3/swagger-codegen-generators/ 
90-                 LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json` 
101+                 rm -f maven-metadata.xml 
102+                 SNAP_API="https://central.sonatype.com/repository/maven-snapshots" 
103+                 ARTIFACT_PATH="io/swagger/codegen/v3/swagger-codegen-generators" 
104+                 ROOT_META="${SNAP_API}/${ARTIFACT_PATH}/maven-metadata.xml" 
105+                 LATEST_DIR=$(curl -s "$ROOT_META" | grep -oP '(?<=<version>)1\.[^<]+' | sort -V | tail -n1) 
106+                 SNAP_META="${SNAP_API}/${ARTIFACT_PATH}/${LATEST_DIR}/maven-metadata.xml" 
107+                 LAST_SNAP=$(curl -s "$SNAP_META" | grep -oP '(?<=<value>)[^<]+' | head -n1) 
91108                export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2} 
92109                echo "LAST_SNAP $LAST_SNAP" 
93110                export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP 
0 commit comments