Skip to content

Commit

Permalink
Merge branch 'devel'
Browse files Browse the repository at this point in the history
  • Loading branch information
Argent77 committed Dec 4, 2024
2 parents a1b0688 + 0f09073 commit 03e2283
Show file tree
Hide file tree
Showing 275 changed files with 17,941 additions and 5,542 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
*.xml text
*.txt text
*.md text
*.2da text
*.ids text
*.flex text
.project text
.classpath text
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/ant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ name: Java CI with Apache Ant
on:
push:
branches: [ devel ]
pull_request:
branches: [ devel ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v3
with:
Expand All @@ -19,12 +17,12 @@ jobs:
- name: Build with Ant
run: |
hash=$(echo "${{ github.sha }}" | sed -e 's/\(.\{7\}\).*/\1/')
sed -i "s/\(VERSION *= *\"v\?[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?\)[^\"]*\"/\1-$(date +%Y%m%d) (${hash})\"/" src/org/infinity/NearInfinity.java
sed -i "s/\(app_version\s*=\s*v\?[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?\).*/\1-$(date +%Y%m%d) (${hash})/" src/nearinfinity.properties
sed -i 's/debug="false"/debug="true"/' build.xml
ant -noinput -buildfile build.xml
- name: Upload artifact
if: ${{ github.repository == 'Argent77/NearInfinity' }}
uses: pyTooling/Actions/releaser@r0
uses: pyTooling/Actions/releaser@r2
with:
tag: nightly
rm: true
Expand Down
87 changes: 77 additions & 10 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# This workflow will build a Java project with Apache Ant and upload the created artifacts
# on pushes to the master branch.
# This workflow will build a Java project with Apache Ant and:
# - on release: upload the created files to the current release or tag
# - on workflow_dispatch: upload the created files as artifacts to the workflow

name: Java CD with Apache Ant

on:
push:
branches: [ "master" ]
release:
types: [published]
workflow_dispatch:
branches: [ "master", "devel" ]

permissions:
contents: read
contents: write

jobs:
# Build and upload NearInfinity.jar
Expand All @@ -35,12 +36,23 @@ jobs:
ant -noinput -buildfile build.xml
echo "NI_VERSION=$(java -jar "NearInfinity.jar" -version 2>/dev/null | grep -Eo '[0-9]{8}')" >> "$GITHUB_OUTPUT"
# Required internally to build the installer packages
- name: Upload JAR artifact
uses: actions/upload-artifact@v4
with:
name: NearInfinity-${{ steps.ni-build.outputs.NI_VERSION }}
path: NearInfinity.jar

- name: Upload JAR asset to release
if: github.event_name == 'release'
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: NearInfinity.jar
tag: ${{ github.ref || github.event.release.tag_name }}
asset_name: NearInfinity-${{ steps.ni-build.outputs.NI_VERSION }}.jar
overwrite: true

# Build and upload installer versions for Windows, macOS-x86_64 and macOS-arm64
deploy-installer:
if: ${{ github.repository == 'Argent77/NearInfinity' }}
Expand Down Expand Up @@ -123,31 +135,86 @@ jobs:
if: startsWith(matrix.os, 'macos-')
run: ls -l

# Uploading
# Uploading artifacts (workflow_dispatch)
- name: Upload portable artifact (windows)
if: startsWith(matrix.os, 'windows-')
if: startsWith(matrix.os, 'windows-') && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: portable-windows
path: NearInfinity-*.zip

- name: Upload exe artifact (windows)
if: startsWith(matrix.os, 'windows-')
if: startsWith(matrix.os, 'windows-') && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: installer-windows
path: NearInfinity-*.exe

- name: Upload pkg artifact (macos-x86_64)
if: (matrix.os == 'macos-13')
if: (matrix.os == 'macos-13') && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: installer-macos-x86_64
path: NearInfinity-*.pkg

- name: Upload pkg artifact (macos-arm64)
if: (matrix.os == 'macos-14')
if: (matrix.os == 'macos-14') && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: installer-macos-arm64
path: NearInfinity-*.pkg

# Uploading assets (release)
- name: Upload portable asset to release (windows)
if: startsWith(matrix.os, 'windows-') && github.event_name == 'release'
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file_glob: true
file: NearInfinity-*.zip
tag: ${{ github.ref || github.event.release.tag_name }}
overwrite: true

- name: Upload exe asset to release (windows)
if: startsWith(matrix.os, 'windows-') && github.event_name == 'release'
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file_glob: true
file: NearInfinity-*.exe
tag: ${{ github.ref || github.event.release.tag_name }}
overwrite: true

- name: Upload pkg asset to release (macos-x86_64)
if: (matrix.os == 'macos-13') && github.event_name == 'release'
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file_glob: true
file: NearInfinity-*.pkg
tag: ${{ github.ref || github.event.release.tag_name }}
overwrite: true

- name: Upload pkg asset to release (macos-arm64)
if: (matrix.os == 'macos-14') && github.event_name == 'release'
uses: svenstaro/[email protected]
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file_glob: true
file: NearInfinity-*.pkg
tag: ${{ github.ref || github.event.release.tag_name }}
overwrite: true

# Remove JAR artifact (release)
cleanup:
if: ${{ github.repository == 'Argent77/NearInfinity' && github.event_name == 'release' }}
needs: [deploy-jar, deploy-installer]
runs-on: ubuntu-latest
name: Clean up artifacts
steps:
- uses: actions/checkout@v4

- name: Remove JAR artifact
uses: geekyeggo/delete-artifact@v5
with:
name: NearInfinity-*
2 changes: 2 additions & 0 deletions src/nearinfinity.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
app_version = v2.4-20241204
java_version_min = 8
9 changes: 6 additions & 3 deletions src/org/infinity/AppOption.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public class AppOption {
lang = Arrays
.stream(Profile.Game.values())
.filter(Profile::isEnhancedEdition)
.map(g -> g.toString() + "=" + OptionsMenuItem.getDefaultGameLanguage())
.map(g -> g + "=" + OptionsMenuItem.getDefaultGameLanguage())
.collect(Collectors.joining(";"));
}
return lang;
Expand Down Expand Up @@ -140,6 +140,9 @@ public class AppOption {
/** Menu Options: RememberChildFrameRect (Boolean, Default: false) */
public static final AppOption REMEMBER_CHILD_FRAME_RECT = new AppOption(OptionsMenuItem.OPTION_REMEMBER_CHILDFRAME_RECT,
"Remember Last Child Frame Size and Position", false);
/** Menu Options: ShowCreaturesOnPanel (Boolean, Default: false) */
public static final AppOption SHOW_CREATURES_ON_PANEL = new AppOption(OptionsMenuItem.OPTION_SHOW_CREATURES_ON_PANEL,
"Show creatures on main panel", false);
/**
* Menu Options: OptionFixedInternal (Integer, Default: 0).
* Note: Used internally to fix incorrect default values after the public release.
Expand Down Expand Up @@ -428,7 +431,7 @@ public static List<AppOption> getOptionsByPrefs(String prefsNode) {

/** Discards any changes made to the options and resets them to their initial values. */
public static void revertAll() {
AppOption.getInstances().stream().forEach(AppOption::revert);
AppOption.getInstances().forEach(AppOption::revert);
}

/** Writes all options of this enum back to the persistent Preferences storage. */
Expand All @@ -446,7 +449,7 @@ public static void storePreferences(Collection<AppOption> collection) {
if (collection == null) {
collection = AppOption.getInstances();
}
collection.stream().forEach(AppOption::storeValue);
collection.forEach(AppOption::storeValue);
}

// /** Used internally to allow only supported types for the generic argument. */
Expand Down
Loading

0 comments on commit 03e2283

Please sign in to comment.