Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ jobs:
name: Build and test on ${{ matrix.os }}, JDK ${{ matrix.java }}
strategy:
matrix:
java: [ '17', '24' ]
os: [ 'ubuntu-24.04', 'windows-2022', 'macos-14' ]
java: [ '21', '25' ]
os: [ 'ubuntu-24.04', 'windows-2022', 'macos-15' ]
runs-on: ${{ matrix.os }}

steps:
Expand All @@ -49,20 +49,20 @@ jobs:
run: ./mvnw --batch-mode --no-transfer-progress clean verify

- name: Install Linux dependencies
if: matrix.os == 'ubuntu-24.04' && matrix.java == '24'
if: matrix.os == 'ubuntu-24.04' && matrix.java == '25'
run : |
sudo apt update
sudo apt install rpm

- name: Test packaging
if: matrix.java == '24'
if: matrix.java == '25'
env:
INNOSETUP_PATH: 'C:\\Program Files (x86)\\Inno Setup 6\\iscc.exe'
run : java .github/scripts/PackageTest.java

- name: Upload test package artefacts
uses: actions/upload-artifact@v5
if: matrix.java == '24'
uses: actions/upload-artifact@v6
if: matrix.java == '25'
with:
name: ${{ matrix.os }}-test
path: "target/package-test/output/"
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Apache NetBeans Packager (NBPackage)
Copyright 2025 The Apache Software Foundation
Copyright 2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ this is less useful there.

## Building from source

Building `nbpackage` requires JDK 11+. The project uses the Maven Wrapper.
Building `nbpackage` requires JDK 21+. The project uses the Maven Wrapper.
Building in the IDE or executing `mvnw package` will build the tool. Output can
be found in `target/nbpackage-<VERSION>/`, as well as adjacent source and binary
archives.
Expand Down
16 changes: 8 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ under the License.

<groupId>org.apache.netbeans</groupId>
<artifactId>nbpackage</artifactId>
<version>1.0-beta7-SNAPSHOT</version>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Apache NetBeans NBPackage</name>
Expand Down Expand Up @@ -84,9 +84,9 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.3</version>
<version>3.12.0</version>
<configuration>
<release>17</release>
<release>21</release>
</configuration>
</plugin>
</plugins>
Expand All @@ -95,9 +95,9 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
<version>3.14.1</version>
<configuration>
<release>17</release>
<release>21</release>
<compilerArgs>
<arg>-Xlint</arg>
<!-- tests have no module-info -->
Expand All @@ -108,7 +108,7 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.3</version>
<version>3.5.4</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
Expand Down Expand Up @@ -173,7 +173,7 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<version>3.8.0</version>
<executions>
<execution>
<id>make-src</id>
Expand Down Expand Up @@ -243,7 +243,7 @@ under the License.

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.jupiter.version>5.13.4</junit.jupiter.version>
<junit.jupiter.version>6.0.2</junit.jupiter.version>
<skin.groupId>org.apache.maven.skins</skin.groupId>
<skin.artifactId>maven-fluido-skin</skin.artifactId>
<skin.version>2.0.0-M8</skin.version>
Expand Down
16 changes: 14 additions & 2 deletions src/assembly/bin/BINARY_NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Apache NetBeans Packager (NBPackage)
Copyright 2024 The Apache Software Foundation
Copyright 2026 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Expand All @@ -19,8 +19,20 @@ THIRD PARTY COMPONENTS

This software includes third party software subject to the following copyrights:

Apache Commons Codec
Copyright 2002-2026 The Apache Software Foundation
Licensed under the Apache License 2.0

Apache Commons Compress
Copyright 2002-2021 The Apache Software Foundation
Copyright 2002-2026 The Apache Software Foundation
Licensed under the Apache License 2.0

Apache Commons IO
Copyright 2002-2026 The Apache Software Foundation
Licensed under the Apache License 2.0

Apache Commons Lang
Copyright 2001-2026 The Apache Software Foundation
Licensed under the Apache License 2.0

Picocli
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,6 @@ public class AppImagePackager implements Packager {
MESSAGES.getString("option.category.default"),
MESSAGES.getString("option.category.help"));

/**
* Architecture of AppImage to create. Defaults to parsing from appimagetool
* file name.
*/
@Deprecated(forRemoval = true)
static final Option<String> APPIMAGE_ARCH
= Option.ofString("package.appimage.arch",
MESSAGES.getString("option.arch.help"))
.withStatus(Option.Status.DEPRECATED);

/**
* Optional path to custom .desktop template.
*/
Expand All @@ -80,7 +70,7 @@ public class AppImagePackager implements Packager {
static final Template DESKTOP_TEMPLATE
= Template.of(DESKTOP_TEMPLATE_PATH, "AppImage.desktop.template",
() -> AppImagePackager.class.getResourceAsStream("AppImage.desktop.template"));

/**
* Optional path to custom AppRun launcher template.
*/
Expand All @@ -97,8 +87,8 @@ public class AppImagePackager implements Packager {

private static final List<Option<?>> APPIMAGE_OPTIONS
= List.of(APPIMAGE_TOOL, APPIMAGE_ICON, APPIMAGE_CATEGORY,
APPIMAGE_ARCH, DESKTOP_TEMPLATE_PATH, LAUNCHER_TEMPLATE_PATH);
DESKTOP_TEMPLATE_PATH, LAUNCHER_TEMPLATE_PATH);

private static final List<Template> APPIMAGE_TEMPLATES
= List.of(DESKTOP_TEMPLATE, LAUNCHER_TEMPLATE);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,14 @@ protected Path buildPackage(Path image) throws Exception {
AppImagePackager.MESSAGES.getString("message.noappimagetool")))
.toAbsolutePath();
String arch = context().getValue(NBPackage.PACKAGE_ARCH)
.or(() -> context().getValue(AppImagePackager.APPIMAGE_ARCH))
.orElse(archFromAppImageTool(tool));
String targetName = image.getFileName().toString();
if (targetName.endsWith(".AppDir")) {
targetName = targetName.substring(0, targetName.length() - 7);
}
targetName = targetName + "-" + arch + ".AppImage";
Path target = context().destination().resolve(targetName);
List<String> cmd = List.of(tool.toString(),
List<String> cmd = List.of(tool.toString(),
image.toAbsolutePath().toString(),
target.toString());
ProcessBuilder pb = new ProcessBuilder(cmd);
Expand Down Expand Up @@ -120,7 +119,7 @@ private String sanitize(String name) {
}

private Path findLauncher(Path binDir) throws IOException {
try ( var files = Files.list(binDir)) {
try (var files = Files.list(binDir)) {
return files.filter(f -> !f.getFileName().toString().endsWith(".exe"))
.findFirst().orElseThrow(IOException::new);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ String bundleName() {
String bundleArch() {
if (bundleArch == null) {
bundleArch = context().getValue(NBPackage.PACKAGE_ARCH)
.or(() -> context().getValue(MacOS.ARCH))
.map(arch -> {
if (Architecture.X86_64.isSynonym(arch)) {
return ARCH_X86_64;
Expand Down
10 changes: 0 additions & 10 deletions src/main/java/org/apache/netbeans/nbpackage/macos/MacOS.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,6 @@ class MacOS {
static final Template INFO_TEMPLATE
= Template.of(INFO_TEMPLATE_PATH, "Info.plist.template",
() -> MacOS.class.getResourceAsStream("Info.plist.template"));
/**
* Target system architecture to use for building launcher, etc. Currently
* supported values are aarch64, x86_64 and universal. Default attempts to
* parse from runtime file, if present, or universal.
*/
@Deprecated(forRemoval = true)
static final Option<String> ARCH
= Option.ofString("package.macos.arch",
MESSAGES.getString("option.arch.help"))
.withStatus(Option.Status.DEPRECATED);

/**
* Optional launcher (main.swift) template path.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public class PkgPackager implements Packager {
MacOS.BUNDLE_ID,
MacOS.ICON_PATH,
MacOS.INFO_TEMPLATE_PATH,
MacOS.ARCH,
MacOS.LAUNCHER_TEMPLATE_PATH,
MacOS.ENTITLEMENTS_TEMPLATE_PATH,
MacOS.SIGNING_FILES,
Expand Down Expand Up @@ -68,5 +67,5 @@ public Stream<Option<?>> options() {
public Stream<Template> templates() {
return PKG_TEMPLATE.stream();
}

}