[Git][java-team/stegosuite][upstream] 2 commits: New upstream version 0.9.3

Tobias Ilte (@menosmalo-guest) gitlab at salsa.debian.org
Mon Oct 5 20:50:42 BST 2026



Tobias Ilte pushed to branch upstream at Debian Java Maintainers / stegosuite


Commits:
ee93460d by Tobias Ilte at 2026-10-05T12:33:08-04:00
New upstream version 0.9.3
- - - - -
84701b68 by Tobias Ilte at 2026-10-05T15:49:17-04:00
New upstream version 0.9.4
- - - - -


6 changed files:

- CHANGELOG
- Makefile
- README.md
- pom.xml
- − src/main/resources/logback.xml
- + src/test/java/org/stegosuite/MessagesBundleTest.java


Changes:

=====================================
CHANGELOG
=====================================
@@ -1,3 +1,11 @@
+0.9.4
+    - fix broken pom file
+    - add make help command
+
+0.9.3
+    - fix missing resource exception (the i18n bundle was not on the classpath root)
+    - remove obsolete logback.xml
+
 0.9.2
     - rename the appstream metainfo file to match its component id
 


=====================================
Makefile
=====================================
@@ -1,9 +1,9 @@
-# Convenience wrappers around the Maven build profiles (see README.md).
+.DEFAULT_GOAL := help
+# Convenience wrappers around the Maven build profiles.
 #
 #   make               plain jar (default build, not self-contained)
 #   make jar           same as above
 #   make standalone    self-contained jar + upstream .deb
-#   make deb           same as standalone (produces the .deb)
 #   make distro        slim jar whose manifest Class-Path points at system jars
 #   make native-image  jar with picocli native-image metadata
 #   make test          run the test suite
@@ -31,16 +31,14 @@ SYSTEM_JAR_DIR ?= /usr/share/java
 
 .PHONY: jar standalone deb distro native-image test clean
 
-jar:
+jar:  ## plain jar (default build, not self-contained)
 	$(MVN) clean package
 
-standalone:
+standalone:  ## self-contained jar + upstream .deb
 	$(MVN) -Pstandalone clean package
 
-deb: standalone
-
-distro:
-	$(MVN) -Pdistro -Dstegosuite.distro=true \
+distro: ## slim jar whose manifest Class-Path points at system jars
+	$(MVN) -Dstegosuite.distro=true \
 		-Dswt.version=$(SWT_VERSION) \
 		-Dpicocli.version=$(PICOCLI_VERSION) \
 		-Dstegosuite.systemJarDir=$(SYSTEM_JAR_DIR) \
@@ -48,11 +46,14 @@ distro:
 		-Dmaven.test.skip=true \
 		clean package
 
-native-image:
+native-image:  ## jar with picocli native-image metadata
 	$(MVN) -Pnative-image clean package
 
-test:
+test: ## run the test suite
 	$(MVN) test
 
-clean:
+clean: ## remove target/
 	$(MVN) clean
+
+help: ## This help.
+	@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)


=====================================
README.md
=====================================
@@ -14,25 +14,18 @@ With Stegosuite you can hide information in image files.
 * Easy to use
 
 ## Build instructions
-To build the jar-file, Apache Maven and at least Java 21 need to be installed.
+To build a self-contained jar (and deb-package) type:
 
-    mvn package
-
-builds a plain jar (not self-contained). The self-contained jar and the deb-package are built with
-
-    mvn -Pstandalone package
-
-and Maven will create a jar-file for you depending on your operating system.
+    make standalone
 
 Distributions that ship SWT and picocli as system jars can build a slim jar instead:
 
-    mvn -Pdistro -Dswt.version=<version> -Dpicocli.version=<version> package
+    mvn -Dstegosuite.distro=true -Dswt.version=<version> -Dpicocli.version=<version> package
 
-The manifest Class-Path then points at /usr/share/java/<artifactId>.jar; use
+The manifest Class-Path then points at `/usr/share/java/<artifactId>.jar`. Use
 `-Dstegosuite.systemJarDir=<dir>` if your distribution installs jars elsewhere.
-
-A `Makefile` wraps all of the above: `make jar`, `make standalone` (or `make deb`),
-`make distro`, `make native-image` and `make test`.
+The `-Dstegosuite.distro=true` switch is what activates the profile — `-Pdistro`
+alone would leave the OS profiles on and add a second, platform-specific SWT.
 
 ## How to run
 Run the jar file with java -jar.
\ No newline at end of file


=====================================
pom.xml
=====================================
@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.stegosuite</groupId>
     <artifactId>stegosuite</artifactId>
-    <version>0.9.2</version>
+    <version>0.9.4</version>
     <name>stegosuite</name>
     <description>A free steganography tool to hide information in image files.</description>
     <url>https://codeberg.org/tob/stegosuite</url>
@@ -28,6 +28,12 @@
         <resources>
             <resource>
                 <directory>src/main/resources</directory>
+                <excludes>
+                    <exclude>i18n/**</exclude>
+                </excludes>
+            </resource>
+            <resource>
+                <directory>src/main/resources/i18n</directory>
             </resource>
         </resources>
         <plugins>
@@ -126,11 +132,6 @@
     </build>
 
     <dependencies>
-        <dependency>
-            <groupId>${swt.groupId}</groupId>
-            <artifactId>${swt.artifactId}</artifactId>
-            <version>${swt.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
@@ -145,6 +146,62 @@
     </dependencies>
 
     <profiles>
+        <!-- Distro mode is entered with -Dstegosuite.distro=true (see debian/maven.properties
+             and `make distro`), never with -Pdistro alone: profile ids cannot deactivate other
+             profiles, so only the property switches the OS profiles below off and guarantees
+             that exactly one SWT coordinate ends up in the dependency list. -->
+        <profile>
+            <id>distro</id>
+            <activation>
+                <property>
+                    <name>stegosuite.distro</name>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.swt</groupId>
+                    <artifactId>org.eclipse.swt</artifactId>
+                    <version>${swt.version}</version>
+                </dependency>
+            </dependencies>
+            <build>
+                <plugins>
+                    <!-- Mirror Debian's maven.ignoreRules: the distro's picocli-codegen
+                         ships neither ManPageGenerator nor AutoComplete, and the man pages
+                         are already committed in misc/man/, so no man page generation. -->
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>generateManPages</id>
+                                <phase>none</phase>
+                            </execution>
+                            <execution>
+                                <id>generate-autocompletion-script</id>
+                                <phase>none</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-jar-plugin</artifactId>
+                        <configuration>
+                            <archive>
+                                <manifest>
+                                    <addClasspath>true</addClasspath>
+                                    <mainClass>org.stegosuite.Stegosuite</mainClass>
+                                    <classpathLayoutType>custom</classpathLayoutType>
+                                    <customClasspathLayout>${stegosuite.systemJarDir}/$${artifact.artifactId}$${dashClassifier?}.jar</customClasspathLayout>
+                                </manifest>
+                                <manifestEntries>
+                                    <Enable-Native-Access>ALL-UNNAMED</Enable-Native-Access>
+                                </manifestEntries>
+                            </archive>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
         <profile>
             <id>native-image</id>
             <build>
@@ -285,10 +342,13 @@
                     <name>!stegosuite.distro</name>
                 </property>
             </activation>
-            <properties>
-                <swt.groupId>org.eclipse.platform</swt.groupId>
-                <swt.artifactId>org.eclipse.swt.gtk.linux.x86_64</swt.artifactId>
-            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.platform</groupId>
+                    <artifactId>org.eclipse.swt.gtk.linux.x86_64</artifactId>
+                    <version>${swt.version}</version>
+                </dependency>
+            </dependencies>
         </profile>
         <profile>
             <id>win64</id>
@@ -301,10 +361,13 @@
                     <name>!stegosuite.distro</name>
                 </property>
             </activation>
-            <properties>
-                <swt.groupId>org.eclipse.platform</swt.groupId>
-                <swt.artifactId>org.eclipse.swt.win32.win32.x86_64</swt.artifactId>
-            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.platform</groupId>
+                    <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
+                    <version>${swt.version}</version>
+                </dependency>
+            </dependencies>
         </profile>
         <profile>
             <id>mac64</id>
@@ -317,44 +380,13 @@
                     <name>!stegosuite.distro</name>
                 </property>
             </activation>
-            <properties>
-                <swt.groupId>org.eclipse.platform</swt.groupId>
-                <swt.artifactId>org.eclipse.swt.cocoa.macosx.x86_64</swt.artifactId>
-            </properties>
-        </profile>
-        <!-- Keep this profile last: when it is selected, its swt.* properties must
-             override the coordinates contributed by the OS profiles above. -->
-        <profile>
-            <id>distro</id>
-            <activation>
-                <property>
-                    <name>stegosuite.distro</name>
-                </property>
-            </activation>
-            <properties>
-                <swt.groupId>org.eclipse.swt</swt.groupId>
-                <swt.artifactId>org.eclipse.swt</swt.artifactId>
-            </properties>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-jar-plugin</artifactId>
-                        <configuration>
-                            <archive>
-                                <manifest>
-                                    <addClasspath>true</addClasspath>
-                                    <mainClass>org.stegosuite.Stegosuite</mainClass>
-                                    <classpathLayoutType>custom</classpathLayoutType>
-                                    <customClasspathLayout>${stegosuite.systemJarDir}/$${artifact.artifactId}$${dashClassifier?}.jar</customClasspathLayout>
-                                </manifest>
-                                <manifestEntries>
-                                    <Enable-Native-Access>ALL-UNNAMED</Enable-Native-Access>
-                                </manifestEntries>
-                            </archive>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
+            <dependencies>
+                <dependency>
+                    <groupId>org.eclipse.platform</groupId>
+                    <artifactId>org.eclipse.swt.cocoa.macosx.x86_64</artifactId>
+                    <version>${swt.version}</version>
+                </dependency>
+            </dependencies>
         </profile>
     </profiles>
 </project>


=====================================
src/main/resources/logback.xml deleted
=====================================
@@ -1,39 +0,0 @@
-<configuration>
-	<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
-    	<target>System.err</target>
-    	<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      		<level>WARN</level>
-    	</filter>
-		<encoder>
-			<pattern>%boldRed(%message%n)</pattern>
-		</encoder>
-  	</appender>
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-			<level>DEBUG</level>
-			<onMatch>ACCEPT</onMatch>
-			<onMismatch>DENY</onMismatch>
-		</filter>
-		<encoder>
-			<pattern>%date{HH:mm:ss.SSS} @ %thread (%replace(%class{0}.java:%line){'\$\w+\.', '\.'}\) %message%n
-			</pattern>
-		</encoder>
-	</appender>
-	<appender name="infoLog" class="ch.qos.logback.core.ConsoleAppender">
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-			<level>INFO</level>
-			<onMatch>ACCEPT</onMatch>
-			<onMismatch>DENY</onMismatch>
-		</filter>
-		<encoder>
-			<pattern>%message%n</pattern>
-		</encoder>
-	</appender>
-	<root level="INFO">
-		<appender-ref ref="infoLog" />
-		<appender-ref ref="STDERR" />
-	</root>
-	<root level="DEBUG">
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>
\ No newline at end of file


=====================================
src/test/java/org/stegosuite/MessagesBundleTest.java
=====================================
@@ -0,0 +1,17 @@
+package org.stegosuite;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.ResourceBundle;
+import org.junit.jupiter.api.Test;
+
+public class MessagesBundleTest {
+
+	@Test
+	public void testMessagesBundleIsOnTheClasspathRoot() {
+		// The UI resolves the bundle with ResourceBundle.getBundle("Messages"), which only finds
+		// Messages.properties at the classpath root. Guard the resource configuration that puts it there.
+		ResourceBundle bundle = ResourceBundle.getBundle("Messages");
+		assertTrue(bundle.containsKey("browse_files"));
+	}
+}



View it on GitLab: https://salsa.debian.org/java-team/stegosuite/-/compare/4f9ea503e4d7fbbaf01689b33c3cca30be2385db...84701b685845b5e4d68a1f9776733c81f60e7f7b

-- 
View it on GitLab: https://salsa.debian.org/java-team/stegosuite/-/compare/4f9ea503e4d7fbbaf01689b33c3cca30be2385db...84701b685845b5e4d68a1f9776733c81f60e7f7b
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20261005/6fe7e78f/attachment.htm>


More information about the pkg-java-commits mailing list