diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..1dedd8a
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,52 @@
+name: Build and Test
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+env:
+ MAVEN_OPTS: >-
+ -Dorg.slf4j.simpleLogger.showDateTime=true
+ -Djava.awt.headless=true
+ MAVEN_CLI_OPTS: >-
+ --batch-mode
+ --errors
+ --fail-at-end
+ --show-version
+ --no-transfer-progress
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ container:
+ image: maven:3.9-eclipse-temurin-21
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Compile
+ run: mvn ${{ env.MAVEN_CLI_OPTS }} -DskipTests=true clean compile
+
+ - name: Run tests
+ run: mvn ${{ env.MAVEN_CLI_OPTS }} test
+
+ - name: Package
+ run: mvn ${{ env.MAVEN_CLI_OPTS }} package -DskipTests=true
+
+ - name: Upload JAR artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: dd-plist-jar
+ path: target/dd-plist.jar
+ retention-days: 14
+
+ - name: Upload binary distribution
+ uses: actions/upload-artifact@v4
+ with:
+ name: dd-plist-bin
+ path: target/dd-plist-bin.zip
+ retention-days: 14
+ if-no-files-found: ignore
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d46338b..022aa2f 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -18,11 +18,19 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 35c2dd0..54cbdaf 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -46,7 +46,7 @@
-
+
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 093a1ed..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-language: java
-arch:
- - amd64
-jdk:
- - openjdk8
-install: true
-script: mvn test
diff --git a/README.md b/README.md
index f1a8bc7..5f9c7a7 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# com.dd.plist - A Java library for working with property lists
-[](https://app.travis-ci.com/3breadt/dd-plist)
+
This library enables your Java application to handle property lists of various formats. It is licensed under the terms of the MIT license.
diff --git a/pom.xml b/pom.xml
index 8fb5b6f..c7bb5dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,235 +1,224 @@
-
- 4.0.0
-
- org.sonatype.oss
- oss-parent
- 7
-
- com.googlecode.plist
- dd-plist
- jar
- 1.29
- dd-plist
- http://www.github.com/3breadt/dd-plist
-
- This library enables Java applications to work with property lists in various formats.
- Supported formats for reading and writing are OS X/iOS binary and XML property lists.
- ASCII property lists are also supported.
- The library also provides access to basic functions of NeXTSTEP/Cocoa classes like
- NSDictionary, NSArray, etc.
-
-
-
- MIT License
- http://opensource.org/licenses/mit
-
-
-
-
- daniel.dreibrodt
- Daniel Dreibrodt
- daniel.dreibrodt@gmail.com
-
- owner
-
-
-
-
-
- Keith H. Randall
- keithr@alum.mit.edu
-
-
- Cornel Creanga
- cornelcreanga@yahoo.com
-
-
-
- GitHub
- https://github.com/3breadt/dd-plist/issues
-
-
- scm:git:https://github.com/3breadt/dd-plist.git
- scm:git:git@github.com:3breadt/dd-plist.git
- https://github.com/3breadt/dd-plist/tree/master
-
-
- UTF-8
- 1.8
- 1.8
-
-
-
- ossrh
- https://oss.sonatype.org/content/repositories/snapshots
-
-
-
- ${project.artifactId}
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.1
-
- -Xlint:unchecked
- -Xlint:deprecation
-
-
-
- default-testCompile
- process-test-sources
-
- testCompile
-
-
- ${maven.compiler.source}
- ${maven.compiler.source}
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.1.1
-
- target
- javadoc
- 8
-
-
-
- make-javadoc
- package
-
- javadoc
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
- 3.2.0
-
-
- src/main/assembly/bin.xml
- src/main/assembly/javadoc.xml
- src/main/assembly/sources.xml
-
- true
-
-
-
- make-assembly
- package
-
- single
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 1.6
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.2.0
-
-
- ${project.build.directory}/osgi/MANIFEST.MF
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
- 2.4.0
- true
-
-
- true
-
- true
- ${project.build.directory}/osgi
-
- ${project.name}
- ${project.groupId}.${project.artifactId}
- ${project.description}
- com.dd.plist
- ${project.url}
-
-
-
-
- bundle-manifest
- process-classes
-
- manifest
-
-
-
-
-
- org.moditect
- moditect-maven-plugin
- 1.1.0
-
-
- add-module-infos
- package
-
- add-module-info
-
-
- ${project.build.directory}
- true
-
- src/main/moditect/module-info.java
-
-
-
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
- 1.6.7
- true
-
- ossrh
- https://oss.sonatype.org/
- true
-
-
-
-
-
-
- org.junit.jupiter
- junit-jupiter
- 5.9.2
- test
-
-
- org.hamcrest
- hamcrest
- 2.2
- test
-
-
+
+ 4.0.0
+
+ org.sonatype.oss
+ oss-parent
+ 7
+
+ com.googlecode.plist
+ dd-plist
+ jar
+ 1.29
+ dd-plist
+ http://www.github.com/3breadt/dd-plist
+
+ This library enables Java applications to work with property lists in various formats.
+ Supported formats for reading and writing are OS X/iOS binary and XML property lists.
+ ASCII property lists are also supported.
+ The library also provides access to basic functions of NeXTSTEP/Cocoa classes like
+ NSDictionary, NSArray, etc.
+
+
+
+ MIT License
+ http://opensource.org/licenses/mit
+
+
+
+
+ daniel.dreibrodt
+ Daniel Dreibrodt
+ daniel.dreibrodt@gmail.com
+
+ owner
+
+
+
+
+
+ Keith H. Randall
+ keithr@alum.mit.edu
+
+
+ Cornel Creanga
+ cornelcreanga@yahoo.com
+
+
+
+ GitHub
+ https://github.com/3breadt/dd-plist/issues
+
+
+ scm:git:https://github.com/3breadt/dd-plist.git
+ scm:git:git@github.com:3breadt/dd-plist.git
+ https://github.com/3breadt/dd-plist/tree/master
+
+
+ UTF-8
+ 8
+
+
+
+ ossrh
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.15.0
+
+ -Xlint:unchecked
+ -Xlint:deprecation
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.12.0
+
+ 8
+
+
+
+ make-javadoc
+ package
+
+ javadoc
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.8.0
+
+
+ src/main/assembly/bin.xml
+ src/main/assembly/javadoc.xml
+ src/main/assembly/sources.xml
+
+ true
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.2.8
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.5.0
+
+
+ ${project.build.directory}/osgi/MANIFEST.MF
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 6.0.0
+ true
+
+
+ true
+
+ true
+ ${project.build.directory}/osgi
+
+ ${project.name}
+ ${project.groupId}.${project.artifactId}
+ ${project.description}
+ com.dd.plist
+ ${project.url}
+
+
+
+
+ bundle-manifest
+ process-classes
+
+ manifest
+
+
+
+
+
+ org.moditect
+ moditect-maven-plugin
+ 1.3.0.Final
+
+
+ add-module-infos
+ package
+
+ add-module-info
+
+
+ true
+ true
+
+
+ com.dd.plist
+ *;
+ java.xml
+
+
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.7.0
+ true
+
+ ossrh
+ https://oss.sonatype.org/
+ true
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ 6.0.0
+ test
+
+
+ org.hamcrest
+ hamcrest
+ 3.0
+ test
+
+
diff --git a/src/main/assembly/bin.xml b/src/main/assembly/bin.xml
index f23d06b..c734c05 100644
--- a/src/main/assembly/bin.xml
+++ b/src/main/assembly/bin.xml
@@ -1,20 +1,20 @@
- bin
-
- zip
-
- false
-
-
- target/dd-plist.jar
-
- dd-plist.jar
-
-
+ bin
+
+ zip
+
+ false
+
+
+ target/dd-plist.jar
+ .
+ dd-plist.jar
+
+
- target/javadoc
- javadoc
-
+ target/javadoc
+ javadoc
+
\ No newline at end of file
diff --git a/src/main/assembly/javadoc.xml b/src/main/assembly/javadoc.xml
index 0030495..0d64a4e 100644
--- a/src/main/assembly/javadoc.xml
+++ b/src/main/assembly/javadoc.xml
@@ -6,7 +6,7 @@
false
- target/javadoc
+ ${project.build.directory}/reports/apidocs
javadoc
diff --git a/src/main/assembly/sources.xml b/src/main/assembly/sources.xml
index e3d695e..cf7d3fd 100644
--- a/src/main/assembly/sources.xml
+++ b/src/main/assembly/sources.xml
@@ -1,22 +1,26 @@
- sources
-
- jar
-
- false
-
-
- pom.xml
-
-
-
-
- src
- src
-
-
- test-files
- test-files
-
-
+ sources
+
+ jar
+
+ false
+
+
+ pom.xml
+
+
+
+
+ src/main/java
+ src/main/java
+
+
+ src/test/java
+ src/test/java
+
+
+ test-files
+ test-files
+
+
\ No newline at end of file
diff --git a/src/main/moditect/module-info.java b/src/main/moditect/module-info.java
deleted file mode 100644
index b6439f1..0000000
--- a/src/main/moditect/module-info.java
+++ /dev/null
@@ -1,5 +0,0 @@
-module dd.plist {
- exports com.dd.plist;
-
- requires java.xml;
-}
\ No newline at end of file