Skip to content

Commit 2ad31fd

Browse files
authored
Merge pull request #66 from xdev-software/develop
Release
2 parents f452e25 + d861b91 commit 2ad31fd

29 files changed

Lines changed: 1097 additions & 399 deletions

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66

77
# Force MVN Wrapper Linux files LF
88
mvnw text eol=lf
9-
.mvn/wrapper/maven-wrapper.properties text eol=lf
9+
maven-wrapper.properties text eol=lf

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ body:
3333
validations:
3434
required: true
3535

36+
- type: textarea
37+
id: description
38+
attributes:
39+
label: Description of the problem
40+
description: |
41+
Describe as exactly as possible what is not working.
42+
validations:
43+
required: true
44+
3645
- type: textarea
3746
id: steps-to-reproduce
3847
attributes:
@@ -47,20 +56,6 @@ body:
4756
validations:
4857
required: true
4958

50-
- type: textarea
51-
id: expected-behavior
52-
attributes:
53-
label: Expected behavior
54-
description: |
55-
Tell us what you expect to happen.
56-
57-
- type: textarea
58-
id: actual-behavior
59-
attributes:
60-
label: Actual behavior
61-
description: |
62-
Tell us what happens with the steps given above.
63-
6459
- type: textarea
6560
id: additional-information
6661
attributes:

.github/workflows/release.yml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
needs: [check-code]
5252
timeout-minutes: 10
5353
outputs:
54-
upload_url: ${{ steps.create_release.outputs.upload_url }}
54+
upload_url: ${{ steps.create-release.outputs.upload_url }}
5555
steps:
5656
- uses: actions/checkout@v4
5757

@@ -61,15 +61,7 @@ jobs:
6161
git config --global user.name "GitHub Actions"
6262
6363
- name: Un-SNAP
64-
run: |
65-
mvnwPath=$(readlink -f ./mvnw)
66-
modules=("") # root
67-
modules+=($(grep -oP '(?<=<module>)[^<]+' 'pom.xml'))
68-
for i in "${modules[@]}"
69-
do
70-
echo "Processing $i/pom.xml"
71-
(cd "$i" && $mvnwPath -B versions:set -DremoveSnapshot -DgenerateBackupPoms=false)
72-
done
64+
run: ./mvnw -B versions:set -DremoveSnapshot -DprocessAllModules -DgenerateBackupPoms=false
7365

7466
- name: Get version
7567
id: version
@@ -88,8 +80,8 @@ jobs:
8880
git push origin --tags
8981
9082
- name: Create Release
91-
id: create_release
92-
uses: shogo82148/actions-create-release@e5f206451d4ace2da9916d01f1aef279997f8659 # v1
83+
id: create-release
84+
uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1
9385
with:
9486
tag_name: v${{ steps.version.outputs.release }}
9587
release_name: v${{ steps.version.outputs.release }}
@@ -112,6 +104,9 @@ jobs:
112104
runs-on: ubuntu-latest
113105
needs: [prepare-release]
114106
timeout-minutes: 60
107+
permissions:
108+
contents: read
109+
packages: write
115110
steps:
116111
- uses: actions/checkout@v4
117112

@@ -120,20 +115,34 @@ jobs:
120115
git config --global user.email "actions@github.com"
121116
git config --global user.name "GitHub Actions"
122117
git pull
118+
119+
- name: Set up JDK
120+
uses: actions/setup-java@v4
121+
with: # running setup-java overwrites the settings.xml
122+
distribution: 'temurin'
123+
java-version: '17'
124+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
125+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
123126

127+
- name: Publish to Central Portal
128+
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }}
129+
env:
130+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
131+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
132+
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
133+
124134
- name: Set up JDK
125135
uses: actions/setup-java@v4
126136
with: # running setup-java again overwrites the settings.xml
127-
java-version: '17'
128137
distribution: 'temurin'
138+
java-version: '17'
129139
server-id: sonatype-central-portal
130140
server-username: MAVEN_CENTRAL_USERNAME
131141
server-password: MAVEN_CENTRAL_TOKEN
132142
gpg-passphrase: MAVEN_GPG_PASSPHRASE
133-
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
134143

135144
- name: Publish to Central Portal
136-
run: ../mvnw -B deploy -P publish-sonatype-central-portal -DskipTests
145+
run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests
137146
env:
138147
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
139148
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
@@ -185,15 +194,7 @@ jobs:
185194
git pull
186195
187196
- name: Inc Version and SNAP
188-
run: |
189-
mvnwPath=$(readlink -f ./mvnw)
190-
modules=("") # root
191-
modules+=($(grep -oP '(?<=<module>)[^<]+' 'pom.xml'))
192-
for i in "${modules[@]}"
193-
do
194-
echo "Processing $i/pom.xml"
195-
(cd "$i" && $mvnwPath -B build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} -DgenerateBackupPoms=false -DnextSnapshot=true -DupdateMatchingVersions=false)
196-
done
197+
run: ./mvnw -B versions:set -DnextSnapshot -DprocessAllModules -DgenerateBackupPoms=false
197198

198199
- name: Git Commit and Push
199200
run: |

.github/workflows/test-deploy.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,26 @@ jobs:
1010
publish-maven:
1111
runs-on: ubuntu-latest
1212
timeout-minutes: 60
13+
permissions:
14+
contents: read
15+
packages: write
1316
steps:
1417
- uses: actions/checkout@v4
18+
19+
- name: Set up JDK
20+
uses: actions/setup-java@v4
21+
with: # running setup-java overwrites the settings.xml
22+
distribution: 'temurin'
23+
java-version: '17'
24+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
25+
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
26+
27+
- name: Publish to GitHub Packages
28+
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }}
29+
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
1533

1634
- name: Set up JDK
1735
uses: actions/setup-java@v4
@@ -22,10 +40,9 @@ jobs:
2240
server-username: MAVEN_CENTRAL_USERNAME
2341
server-password: MAVEN_CENTRAL_TOKEN
2442
gpg-passphrase: MAVEN_GPG_PASSPHRASE
25-
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
2643

2744
- name: Publish to Central Portal
28-
run: ../mvnw -B deploy -P publish-sonatype-central-portal -DskipTests
45+
run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests
2946
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
3047
env:
3148
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}

.gitignore

Lines changed: 9 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,37 @@
11
# Maven
22
target/
3-
pom.xml.tag
4-
pom.xml.releaseBackup
5-
pom.xml.versionsBackup
6-
pom.xml.next
7-
release.properties
83
dependency-reduced-pom.xml
9-
buildNumber.properties
10-
.mvn/timing.properties
11-
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
4+
5+
# Maven Wrapper
126
.mvn/wrapper/maven-wrapper.jar
137

8+
# Maven Flatten Plugin
9+
.flattened-pom.xml
1410

1511
# Compiled class file
1612
*.class
1713

1814
# Log file
1915
*.log
2016

21-
# BlueJ files
22-
*.ctxt
23-
24-
# Mobile Tools for Java (J2ME)
25-
.mtj.tmp/
26-
2717
# Package/Binary Files don't belong into a git repo
2818
*.jar
2919
*.war
30-
*.nar
3120
*.ear
3221
*.zip
3322
*.tar.gz
34-
*.rar
3523
*.dll
3624
*.exe
3725
*.bin
3826

3927
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
4028
hs_err_pid*
4129

42-
# JRebel
43-
**/resources/rebel.xml
44-
**/resources/rebel-remote.xml
45-
46-
# eclispe stuff for root
47-
/.settings/
48-
/.classpath
49-
/.project
50-
51-
52-
# eclispe stuff for modules
53-
/*/.metadata/
54-
/*/.apt_generated_tests/
55-
/*/.settings/
56-
/*/.classpath
57-
/*/.project
58-
/*/RemoteSystemsTempFiles/
59-
60-
#custom
61-
.flattened-pom.xml
62-
.tern-project
30+
# Eclipse
31+
.metadata
32+
.settings
33+
.classpath
34+
.project
6335

6436
# == IntelliJ ==
6537
*.iml

.mvn/wrapper/maven-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
# KIND, either express or implied. See the License for the
1515
# specific language governing permissions and limitations
1616
# under the License.
17-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
17+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Run Maven Demo (Spotify)" type="MavenRunConfiguration" factoryName="Maven">
3+
<MavenSettings>
4+
<option name="myGeneralSettings" />
5+
<option name="myRunnerSettings" />
6+
<option name="myRunnerParameters">
7+
<MavenRunnerParameters>
8+
<option name="cmdOptions" />
9+
<option name="profiles">
10+
<set />
11+
</option>
12+
<option name="goals">
13+
<list>
14+
<option value="install" />
15+
</list>
16+
</option>
17+
<option name="multimoduleDir" />
18+
<option name="pomFileName" />
19+
<option name="profilesMap">
20+
<map>
21+
<entry key="spotify" value="true" />
22+
</map>
23+
</option>
24+
<option name="projectsCmdOptionValues">
25+
<list />
26+
</option>
27+
<option name="resolveToWorkspace" value="false" />
28+
<option name="workingDirPath" value="$PROJECT_DIR$" />
29+
</MavenRunnerParameters>
30+
</option>
31+
</MavenSettings>
32+
<method v="2" />
33+
</configuration>
34+
</component>

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,56 @@
1+
# 2.0.0
2+
_This release contains breaking changes_
3+
4+
* Redesigned the project to make it easier to implement custom music sources / players
5+
* Added support for Spotify #41 @aboullaite
6+
7+
New configuration format in ``pom.xml``:
8+
9+
Old:
10+
```xml
11+
<configuration>
12+
<sources>
13+
<musicSource>
14+
<uri>https://incompetech.com/music/royalty-free/mp3-royaltyfree/Corncob.mp3</uri>
15+
</musicSource>
16+
<musicSource>
17+
<file>my_cool_music.mp3</file>
18+
</musicSource>
19+
<musicSource>
20+
<classpath>/default/Andrew_Codeman_-_03_-_Mussels_short_version.ogg</classpath>
21+
</musicSource>
22+
</sources>
23+
<shuffle>true</shuffle>
24+
</configuration>
25+
```
26+
New:
27+
```xml
28+
<configuration>
29+
<sources>
30+
<source>
31+
<uri>
32+
<uri>https://incompetech.com/music/royalty-free/mp3-royaltyfree/Corncob.mp3</uri>
33+
</uri>
34+
</source>
35+
<source>
36+
<file>
37+
<file>my_cool_music.mp3</file>
38+
</file>
39+
</source>
40+
<source>
41+
<classpath>
42+
<classpath>/default/Andrew_Codeman_-_03_-_Mussels_short_version.ogg</classpath>
43+
</classpath>
44+
</source>
45+
<source>
46+
<spotify>
47+
<uri>spotify:track:4cOdK2wGLETKBW3PvgPWqT</uri>
48+
</spotify>
49+
</source>
50+
</sources>
51+
</configuration>
52+
```
53+
154
# 1.0.3
255
* Migrated deployment to _Sonatype Maven Central Portal_ [#155](https://github.com/xdev-software/standard-maven-template/issues/155)
356
* Updated dependencies

0 commit comments

Comments
 (0)