@@ -6,45 +6,98 @@ name: Build and Publish
66on :
77 push :
88 branches : [ dev , master ]
9- paths-ignore :
10- - .gradle/wrapper
11- - .gitignore
12- - CONTRIBUTING.md
13- - LICENSE
14- - THIRD PARTY NOTICES
15- - gradle.properties
16- - gradlew
17- - gradlew.bat
18- - readme.md
19- - settings.gradle
20- - Scripts/*
9+ paths :
10+ - ' src/* '
11+ - ' !.gradle/wrapper '
12+ - ' !.gitignore '
13+ - ' ! LICENSE'
14+ - ' ! THIRD PARTY NOTICES'
15+ - ' !*.md '
16+ - ' *.gradle '
17+ env :
18+ GRADLE_OPTIONS : -x jar -x javadoc -x javadocJar -x compileJava -x processResources -x classes -x sourceJar
19+ PREVIEW_TASK : publishSnapshotPublicationToSonatypeSnapshotRepository
20+ PUBLISH_TASK : publishMavenCentralReleasePublicationToSonatypeRepository
2121
2222jobs :
23- build-and-publish :
24- env :
25- GRADLE_OPTIONS : -x jar -x javadoc -x javadocJar -x compileJava -x processResources -x classes -x sourceJar
26- PREVIEW_TASK : publishSnapshotPublicationToSonatypeSnapshotRepository
27- PUBLISH_TASK : publishMavenCentralReleasePublicationToSonatypeRepository
28-
23+ maven_Release :
24+ if : ${{ github.ref == 'ref/head/master' }}
25+ environment :
26+ name : maven_central_release
27+ runs-on : ubuntu-latest
28+ steps :
29+ - uses : actions/checkout@v2
30+ - name : Set up JDK
31+ uses : actions/setup-java@v2
32+ with :
33+ java-version : ' 16'
34+ distribution : ' adopt'
35+ cache : gradle
36+
37+ # #Copy the Step below for the other files with the appropriate values
38+ - run : .\scripts\decodeAndWrite.ps1 -encodedValue $ENCODED_VALUE -outputPath $OUTPUT_PATH
39+ shell : pwsh
40+ env :
41+ ENCODED_VALUE : " "
42+ OUTPUT_PATH : " "
43+
44+ - name : Grant execute permission for gradlew
45+ run : chmod +x gradlew
46+ - name : Publish
47+ run : ./gradlew $PUBLISH_TASK
48+ - name : Upload Build Artifact
49+ uses : actions/upload-artifact@v2.2.4
50+ with :
51+ name : drop
52+ path : |
53+ **/libs/*
54+ build/generated-pom.xml
55+ build/generated-pom.xml.asc
56+ build.gradle
57+ gradlew
58+ gradlew.bat
59+ settings.gradle
60+ gradle.properties
61+ **/gradle/**
62+ Scripts/**
63+
64+ githubRelease :
65+ needs : maven_Release
2966 runs-on : ubuntu-latest
67+ steps :
68+ - name : Download Build Artifact
69+ uses : actions/download-artifact@v2.0.10
70+ with :
71+ name : drop
72+ path : drop
73+ - name : GitHub Releases
74+ uses : fnkr/github-action-ghr@v1.3
75+ env :
76+ GHR_PATH : current/working/directory/drop/
77+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3078
79+ maven_Preview :
80+ if : ${{ github.ref == 'refs/head/dev' }}
81+ environment :
82+ name : maven_central_snapshot
83+ runs-on : ubuntu-latest
3184 steps :
32- - uses : actions/checkout@v2
85+ - uses : actions/checkout@v2
86+ - name : Set up JDK
87+ uses : actions/setup-java@v2
88+ with :
89+ java-version : ' 16'
90+ distribution : ' adopt'
91+ cache : gradle
3392
93+ # #Copy the Step below for the other files with the appropriate values
94+ - run : .\scripts\decodeAndWrite.ps1 -encodedValue $ENCODED_VALUE -outputPath $OUTPUT_PATH
95+ shell : pwsh
96+ env :
97+ ENCODED_VALUE : " "
98+ OUTPUT_PATH : " "
3499
35-
36- - name : Set up JDK
37- uses : actions/setup-java@v2
38- with :
39- java-version : ' 16'
40- distribution : ' adopt'
41- cache : gradle
42-
43- - name : Grant execute permission for gradlew
44- run : chmod +x gradlew
45- - name : Preview
46- if : ${{ github.ref == 'refs/head/dev' }}
47- run : ./gradlew $GRADLE_OPTIONS $PREVIEW_TASK
48- - name : Publish
49- if : ${{ github.ref === 'refs/head/master' }}
50- run : ./gradlew $GRADLE_OPTIONS $PUBLISH_TASK
100+ - name : Grant execute permission for gradlew
101+ run : chmod +x gradlew
102+ - name : Publish
103+ run : ./gradlew $PREVIEW_TASK
0 commit comments