Skip to content

Commit

Permalink
build: Build changes and bumped deps
Browse files Browse the repository at this point in the history
This also:
- Converts project to UNIX-style endings for all systems. (notably Windows)
- Imposes an upper time limit for CI.
- Specifies precise action commit tags for CI.
- Bumps CI OS to Ubuntu 24.04.
- Bumps Gradle.
- Bumps dependencies.
- Adds reproducible builds.
- Adds gradle wrapper SHA256sum into gradle properties.
  • Loading branch information
VidTu committed Jan 8, 2025
1 parent b94e878 commit 9f2c99f
Show file tree
Hide file tree
Showing 105 changed files with 959 additions and 62 deletions.
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
/gradlew text eol=lf
*.bat text eol=crlf
* text=auto eol=lf
*.bat text eol=crlf
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

version: 2
updates:
- package-ecosystem: github-actions
Expand Down
46 changes: 34 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,48 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

name: 'Build'
on: [ pull_request, push, workflow_dispatch ]
jobs:
build:
runs-on: ubuntu-latest
name: 'Build'
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Validate Gradle wrapper'
uses: gradle/actions/wrapper-validation@v4
timeout-minutes: 1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: 'Setup JDK'
uses: actions/setup-java@v4
timeout-minutes: 1
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
java-version: 21
distribution: 'temurin'
- name: 'Make wrapper executable'
run: 'chmod +x ./gradlew'
distribution: 'jetbrains'
- name: 'Setup Gradle'
uses: gradle/actions/setup-gradle@v4
timeout-minutes: 10
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
- name: 'Build'
run: './gradlew -Dorg.gradle.daemon=false build --no-daemon'
- name: 'Upload artifacts'
uses: actions/upload-artifact@v4
timeout-minutes: 50
run: './gradlew build'
- name: 'Upload'
timeout-minutes: 5
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: 'Artifacts'
path: |
Expand Down
5 changes: 5 additions & 0 deletions 1.18.2/fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.18.2/fabric/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Mod
display.type=Fabric 1.18.2
modrinth.versions=1.18.2
Expand Down
5 changes: 5 additions & 0 deletions 1.18.2/forge/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.18.2/forge/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Loom
loom.platform=forge

Expand Down
5 changes: 5 additions & 0 deletions 1.18.2/quilt/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.18.2/quilt/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Loom
loom.platform=quilt

Expand Down
2 changes: 1 addition & 1 deletion 1.18.2/quilt/src/main/resources/quilt.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"depends": [
{
"id": "quilt_loader",
"versions": ">=0.26.0",
"versions": ">=0.27.0",
"reason": "In-Game Account Switcher requires Quilt mod loader to be loaded."
},
{
Expand Down
5 changes: 5 additions & 0 deletions 1.18.2/root/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ tasks.withType<ProcessResources> {
from(rootProject.sourceSets.main.get().resources)
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
5 changes: 5 additions & 0 deletions 1.19.2/fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.19.2/fabric/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Mod
display.type=Fabric 1.19.2
modrinth.versions=1.19.2
Expand Down
5 changes: 5 additions & 0 deletions 1.19.2/forge/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.19.2/forge/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Loom
loom.platform=forge

Expand Down
5 changes: 5 additions & 0 deletions 1.19.2/quilt/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.19.2/quilt/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Loom
loom.platform=quilt

Expand Down
2 changes: 1 addition & 1 deletion 1.19.2/quilt/src/main/resources/quilt.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"depends": [
{
"id": "quilt_loader",
"versions": ">=0.26.0",
"versions": ">=0.27.0",
"reason": "In-Game Account Switcher requires Quilt mod loader to be loaded."
},
{
Expand Down
5 changes: 5 additions & 0 deletions 1.19.2/root/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ tasks.withType<ProcessResources> {
from(rootProject.sourceSets.main.get().resources)
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
5 changes: 5 additions & 0 deletions 1.19.4/fabric/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.19.4/fabric/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Mod
display.type=Fabric 1.19.4
modrinth.versions=1.19.4
Expand Down
5 changes: 5 additions & 0 deletions 1.19.4/forge/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ tasks.withType<ProcessResources> {
}
}

tasks.withType<AbstractArchiveTask> {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}

tasks.withType<Jar> {
from(rootDir.resolve("LICENSE"))
from(rootDir.resolve("GPL"))
Expand Down
17 changes: 17 additions & 0 deletions 1.19.4/forge/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# In-Game Account Switcher is a mod for Minecraft that allows you to change your logged in account in-game, without restarting Minecraft.
# Copyright (C) 2015-2022 The_Fireplace
# Copyright (C) 2021-2024 VidTu
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>

# Loom
loom.platform=forge

Expand Down
Loading

0 comments on commit 9f2c99f

Please sign in to comment.