@@ -10,19 +10,27 @@ jobs:
10
10
runs-on : ubuntu-latest
11
11
strategy :
12
12
matrix :
13
- java : [ 8, 11, 17 ]
13
+ java : [ 11, 17 ]
14
14
15
15
env :
16
16
GENERATORS_VERSION_PROPERTY : " "
17
+ MAVEN_USERNAME : ${{ secrets.MAVEN_CENTRAL_USERNAME }}
18
+ MAVEN_PASSWORD : ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
17
19
steps :
18
- - uses : actions/checkout@v3
20
+ - uses : actions/checkout@v4
19
21
name : git checkout 3.0.0
20
22
- name : Set up Java
21
- uses : actions/setup-java@v3
23
+ uses : actions/setup-java@v4
22
24
with :
23
25
java-version : ${{ matrix.java }}
24
26
distribution : temurin
25
27
cache : maven
28
+ overwrite-settings : false
29
+ - name : Add Central-Portal snapshot repo to settings.xml
30
+ uses : s4u/maven-settings-action@v3.1.0
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 }}"}]'
26
34
- name : preliminary checks
27
35
run : |
28
36
docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
33
41
/bin/bash ./bin/utils/detect_merge_conflict.sh
34
42
# fail if generators contain tab '\t'
35
43
/bin/bash ./bin/utils/detect_tab_in_java_class.sh
44
+ cat ~/.m2/settings.xml
36
45
- name : Build with Maven
37
46
if : ${{ matrix.java != 8 }}
38
47
run : |
@@ -53,41 +62,13 @@ jobs:
53
62
if [[ $GENERATORS_FOUND == '0' ]];
54
63
then
55
64
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`
59
- export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
60
- echo "LAST_SNAP $LAST_SNAP"
61
- export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
62
- fi
63
- fi
64
- fi
65
- echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
66
- echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
67
- mvn clean verify -U -DJETTY_TEST_HTTP_PORT=8070 -DJETTY_TEST_STOP_PORT=8069 ${GENERATORS_VERSION_PROPERTY}
68
- - name : Build and test samples Java 8
69
- if : ${{ matrix.java == 8 }}
70
- run : |
71
- export MY_POM_VERSION=`mvn -Dswagger-codegen-generators-version=1.0.37 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
72
- echo "POM VERSION" ${MY_POM_VERSION}
73
- export GENERATORS_VERSION=`sed -n 's/<swagger\-codegen\-generators\-version>\([^\s]*\)<\/swagger\-codegen\-generators\-version>/\1/p' pom.xml`
74
- export GENERATORS_VERSION=`echo ${GENERATORS_VERSION} | tr -d '[:space:]'`
75
- echo "GENERATORS_VERSION" ${GENERATORS_VERSION}
76
- export GENERATORS_VERSION_PROPERTY=""
77
- if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
78
- then
79
- if [[ ! $GENERATORS_VERSION =~ ^.*SNAPSHOT$ ]];
80
- then
81
- # check release version exists
82
- export GENERATORS_FOUND_JSON=`curl -s --max-time 60 --retry 15 --connect-timeout 20 https://search.maven.org/solrsearch/select?q=g:io.swagger.codegen.v3%20AND%20a:swagger-codegen-generators%20AND%20v:${GENERATORS_VERSION}%20AND%20p:jar`
83
- export GENERATORS_FOUND=`echo ${GENERATORS_FOUND_JSON} | jq '.response.numFound'`
84
- echo "GENERATORS_FOUND" ${GENERATORS_FOUND}
85
- if [[ $GENERATORS_FOUND == '0' ]];
86
- then
87
- 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`
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)
91
72
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
92
73
echo "LAST_SNAP $LAST_SNAP"
93
74
export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
96
77
fi
97
78
echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
98
79
echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
99
- cp -a pom.java8.xml pom.xml
100
- echo "Test samples - GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
101
- mvn verify -U -Psamples -DskipTests -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true -Dproject.build.sourceEncoding=UTF8 -Dfile.encoding=UTF8 ${GENERATORS_VERSION_PROPERTY}
102
- cp -a pom.java11.xml pom.xml
80
+ mvn clean verify -U -DJETTY_TEST_HTTP_PORT=8070 -DJETTY_TEST_STOP_PORT=8069 ${GENERATORS_VERSION_PROPERTY}
0 commit comments