From ed1f2d3da18daba1bbc2fed1a818e184e16df813 Mon Sep 17 00:00:00 2001 From: lakkidi2 Date: Tue, 26 Sep 2023 12:42:10 -0500 Subject: [PATCH 01/21] fix flaky test --- .../imageio/StandardImageMetadataSupportTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java index efb41a9fe..f7a2e70bc 100644 --- a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java +++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java @@ -16,7 +16,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.Collection; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -170,7 +170,7 @@ public void withTextValuesSingle() { @Test public void withTextValuesMap() { - Map entries = new HashMap<>(); + Map entries = new LinkedHashMap<>(); entries.put("foo", "bar"); entries.put("bar", "xyzzy"); From 2a7763299a52acffbff5e4b89b43176aff23c253 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 08:32:50 +0000 Subject: [PATCH 02/21] Bump github/codeql-action from 2.21.8 to 2.21.9 in /.github/workflows Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.8 to 2.21.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/6a28655e3dcb49cb0840ea372fd6d17733edd8a4...ddccb873888234080b77e9bc2d4764d5ccaaccf9) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 789ce0cc7..41efdf583 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -57,6 +57,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 + uses: github/codeql-action/upload-sarif@ddccb873888234080b77e9bc2d4764d5ccaaccf9 # v2.21.9 with: sarif_file: results.sarif From 2ae937b870821c3524bb96becfc375bb50ad31b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 08:20:13 +0000 Subject: [PATCH 03/21] Bump mikepenz/action-junit-report in /.github/workflows Bumps [mikepenz/action-junit-report](https://github.com/mikepenz/action-junit-report) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/mikepenz/action-junit-report/releases) - [Commits](https://github.com/mikepenz/action-junit-report/compare/75b84e78b3f0aaea7ed7cf8d1d100d7f97f963ec...0a8a5ba57593d67b2e45de2c543b438412382b7b) --- updated-dependencies: - dependency-name: mikepenz/action-junit-report dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f03cbf9f9..0d9819b6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: - name: Run Tests run: mvn --batch-mode --no-transfer-progress test - name: Publish Test Report - uses: mikepenz/action-junit-report@75b84e78b3f0aaea7ed7cf8d1d100d7f97f963ec # v4.0.0 + uses: mikepenz/action-junit-report@0a8a5ba57593d67b2e45de2c543b438412382b7b # v4.0.1 if: ${{ !cancelled() }} with: report_paths: "**/target/surefire-reports/TEST*.xml" @@ -66,7 +66,7 @@ jobs: - name: Run Tests run: mvn --batch-mode --no-transfer-progress test - name: Publish Test Report - uses: mikepenz/action-junit-report@75b84e78b3f0aaea7ed7cf8d1d100d7f97f963ec # v4.0.0 + uses: mikepenz/action-junit-report@0a8a5ba57593d67b2e45de2c543b438412382b7b # v4.0.1 if: ${{ !cancelled() }} with: report_paths: "**/target/surefire-reports/TEST*.xml" From d3dc57893615e95e58a96731b3909cfb5f1cc98d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 08:44:40 +0000 Subject: [PATCH 04/21] Bump commons-io:commons-io from 2.13.0 to 2.14.0 Bumps commons-io:commons-io from 2.13.0 to 2.14.0. --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- imageio/imageio-batik/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imageio/imageio-batik/pom.xml b/imageio/imageio-batik/pom.xml index 1a506655a..d13edccca 100644 --- a/imageio/imageio-batik/pom.xml +++ b/imageio/imageio-batik/pom.xml @@ -51,7 +51,7 @@ commons-io commons-io - 2.13.0 + 2.14.0 provided From 0b5f8a071e23eca36c978a25d210f6abdb0e4704 Mon Sep 17 00:00:00 2001 From: Joyce Date: Mon, 25 Sep 2023 16:53:11 -0300 Subject: [PATCH 05/21] Create codeql.yml Signed-off-by: Joyce --- .github/workflows/codeql.yml | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..5b5e71cc3 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,67 @@ +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '26 13 * * 6' + +jobs: + analyze: + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" From 5b57b51ff15408aa1adcc3454bf69a4f50d5eea7 Mon Sep 17 00:00:00 2001 From: Joyce Date: Mon, 25 Sep 2023 17:07:12 -0300 Subject: [PATCH 06/21] set top level permission to codeql.yml Signed-off-by: Joyce --- .github/workflows/codeql.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5b5e71cc3..89ffdde5a 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -9,6 +9,8 @@ on: schedule: - cron: '26 13 * * 6' +permissions: {} + jobs: analyze: name: Analyze From 44bcd202e890651ee5d022112a12456ae66e5a74 Mon Sep 17 00:00:00 2001 From: Joyce Date: Tue, 26 Sep 2023 12:57:50 -0300 Subject: [PATCH 07/21] Update codeql.yml Signed-off-by: Joyce --- .github/workflows/codeql.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 89ffdde5a..a1e2d95f9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -33,11 +33,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -51,7 +51,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 # â„šī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -64,6 +64,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 with: category: "/language:${{matrix.language}}" From e0563ee7ddfb433b80becc7686c975e401942ab9 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 3 Oct 2023 13:44:51 +0200 Subject: [PATCH 08/21] Fix some easy to fix CodeQL issues --- .../com/twelvemonkeys/io/CompoundReader.java | 20 +++++++++---------- .../twelvemonkeys/io/StringArrayReader.java | 6 +++--- .../webp/lossless/PredictorTransform.java | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/common/common-io/src/main/java/com/twelvemonkeys/io/CompoundReader.java b/common/common-io/src/main/java/com/twelvemonkeys/io/CompoundReader.java index 472791145..93b406425 100755 --- a/common/common-io/src/main/java/com/twelvemonkeys/io/CompoundReader.java +++ b/common/common-io/src/main/java/com/twelvemonkeys/io/CompoundReader.java @@ -56,8 +56,8 @@ public class CompoundReader extends Reader { private int currentReader; private int markedReader; - private int mark; - private int mNext; + private long mark; + private long next; /** * Create a new compound reader. @@ -76,7 +76,7 @@ public CompoundReader(final Iterator pReaders) { finalLock = pReaders; // NOTE: It's ok to sync on pReaders, as the // reference can't change, only it's elements - readers = new ArrayList(); + readers = new ArrayList<>(); boolean markSupported = true; while (pReaders.hasNext()) { @@ -101,7 +101,7 @@ protected final Reader nextReader() { } // NOTE: Reset mNext for every reader, and record marked reader in mark/reset methods! - mNext = 0; + next = 0; return current; } @@ -135,7 +135,7 @@ public void mark(int pReadLimit) throws IOException { synchronized (finalLock) { ensureOpen(); - mark = mNext; + mark = next; markedReader = currentReader; current.mark(pReadLimit); @@ -158,7 +158,7 @@ public void reset() throws IOException { } current.reset(); - mNext = mark; + next = mark; } } @@ -177,13 +177,13 @@ public int read() throws IOException { return read(); // In case of 0-length readers } - mNext++; + next++; return read; } } - public int read(char pBuffer[], int pOffset, int pLength) throws IOException { + public int read(char[] pBuffer, int pOffset, int pLength) throws IOException { synchronized (finalLock) { int read = current.read(pBuffer, pOffset, pLength); @@ -192,7 +192,7 @@ public int read(char pBuffer[], int pOffset, int pLength) throws IOException { return read(pBuffer, pOffset, pLength); // In case of 0-length readers } - mNext += read; + next += read; return read; } @@ -213,7 +213,7 @@ public long skip(long pChars) throws IOException { return skip(pChars); // In case of 0-length readers } - mNext += skipped; + next += skipped; return skipped; } diff --git a/common/common-io/src/main/java/com/twelvemonkeys/io/StringArrayReader.java b/common/common-io/src/main/java/com/twelvemonkeys/io/StringArrayReader.java index 45ec3f9b4..7523f872a 100755 --- a/common/common-io/src/main/java/com/twelvemonkeys/io/StringArrayReader.java +++ b/common/common-io/src/main/java/com/twelvemonkeys/io/StringArrayReader.java @@ -50,8 +50,8 @@ public class StringArrayReader extends StringReader { protected final Object finalLock; private int currentSting; private int markedString; - private int mark; - private int next; + private long mark; + private long next; /** * Create a new string array reader. @@ -151,7 +151,7 @@ public int read() throws IOException { } } - public int read(char pBuffer[], int pOffset, int pLength) throws IOException { + public int read(char[] pBuffer, int pOffset, int pLength) throws IOException { synchronized (finalLock) { int read = current.read(pBuffer, pOffset, pLength); diff --git a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/PredictorTransform.java b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/PredictorTransform.java index 042042a2d..92e282c7e 100644 --- a/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/PredictorTransform.java +++ b/imageio/imageio-webp/src/main/java/com/twelvemonkeys/imageio/plugins/webp/lossless/PredictorTransform.java @@ -60,7 +60,7 @@ public void applyInverse(WritableRaster raster) { // (0,0) Black (0x000000ff) predict raster.getDataElements(0, 0, rgba); - rgba[3] += 0xff; + rgba[3] += (byte) 0xff; raster.setDataElements(0, 0, rgba); byte[] predictor = new byte[4]; @@ -100,7 +100,7 @@ public void applyInverse(WritableRaster raster) { switch (transformType) { case PredictorMode.BLACK: - rgba[3] += 0xff; + rgba[3] += (byte) 0xff; break; case PredictorMode.L: raster.getDataElements(lX, y, predictor); From ea9d1c0dc5faf891027819c3eb3e635219efbb75 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 08:09:39 +0000 Subject: [PATCH 09/21] Bump github/codeql-action from 2.21.8 to 2.21.9 in /.github/workflows Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.8 to 2.21.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2.21.8...ddccb873888234080b77e9bc2d4764d5ccaaccf9) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a1e2d95f9..22328da78 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -37,7 +37,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 + uses: github/codeql-action/init@ddccb873888234080b77e9bc2d4764d5ccaaccf9 # v2.21.9 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -51,7 +51,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 + uses: github/codeql-action/autobuild@ddccb873888234080b77e9bc2d4764d5ccaaccf9 # v2.21.9 # â„šī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -64,6 +64,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@6a28655e3dcb49cb0840ea372fd6d17733edd8a4 # v2.21.8 + uses: github/codeql-action/analyze@ddccb873888234080b77e9bc2d4764d5ccaaccf9 # v2.21.9 with: category: "/language:${{matrix.language}}" From e73b0a7bcf292c14e5500626b7aad0ab1f09df7d Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 20 Sep 2023 10:57:13 +0200 Subject: [PATCH 10/21] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d9819b6a..e56b5d932 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] - java: [ 8, 11, 17, 20 ] + java: [ 8, 11, 17, 20, 21 ] runs-on: ${{ matrix.os }} permissions: checks: write From b61341ce3b8231acfe349a3192c580177f518ebb Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 20 Sep 2023 11:06:30 +0200 Subject: [PATCH 11/21] Testing JDK 21-ea --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e56b5d932..0f61dd80b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] - java: [ 8, 11, 17, 20, 21 ] + java: [ 8, 11, 17, 20, 21-ea ] runs-on: ${{ matrix.os }} permissions: checks: write From c22ada03cd881e544d0bc55058c0abe57e54ee88 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 5 Oct 2023 20:09:37 +0200 Subject: [PATCH 12/21] Replace some usages of ImageTypeSpecifier.createFromRenderedImage. --- .../twelvemonkeys/imageio/plugins/svg/SVGImageReader.java | 3 ++- .../src/main/java/com/twelvemonkeys/imageio/path/Paths.java | 3 ++- .../twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriter.java | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/imageio/imageio-batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java b/imageio/imageio-batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java index 3af95813d..3bbbb97bd 100755 --- a/imageio/imageio-batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java +++ b/imageio/imageio-batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java @@ -33,6 +33,7 @@ import com.twelvemonkeys.image.ImageUtil; import com.twelvemonkeys.imageio.ImageReaderBase; import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers; import com.twelvemonkeys.lang.StringUtil; import org.apache.batik.anim.dom.SVGDOMImplementation; @@ -249,7 +250,7 @@ public int getHeight(int imageIndex) throws IOException { } public Iterator getImageTypes(int imageIndex) { - return Collections.singleton(ImageTypeSpecifier.createFromRenderedImage(rasterizer.createImage(1, 1))).iterator(); + return Collections.singleton(ImageTypeSpecifiers.createFromRenderedImage(rasterizer.createImage(1, 1))).iterator(); } /** diff --git a/imageio/imageio-clippath/src/main/java/com/twelvemonkeys/imageio/path/Paths.java b/imageio/imageio-clippath/src/main/java/com/twelvemonkeys/imageio/path/Paths.java index ba4a3adf3..849459d58 100755 --- a/imageio/imageio-clippath/src/main/java/com/twelvemonkeys/imageio/path/Paths.java +++ b/imageio/imageio-clippath/src/main/java/com/twelvemonkeys/imageio/path/Paths.java @@ -42,6 +42,7 @@ import com.twelvemonkeys.imageio.metadata.tiff.TIFFReader; import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStream; import com.twelvemonkeys.imageio.stream.SubImageInputStream; +import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers; import javax.imageio.*; import javax.imageio.metadata.IIOMetadata; @@ -307,7 +308,7 @@ public static boolean writeClipped(final RenderedImage image, Shape clipPath, fi throw new IllegalArgumentException("output == null!"); } - ImageTypeSpecifier type = ImageTypeSpecifier.createFromRenderedImage(image); + ImageTypeSpecifier type = ImageTypeSpecifiers.createFromRenderedImage(image); Iterator writers = ImageIO.getImageWriters(type, formatName); if (writers.hasNext()) { diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriter.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriter.java index 9d573a417..4c956f368 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriter.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriter.java @@ -32,6 +32,7 @@ import com.twelvemonkeys.imageio.ImageWriterBase; import com.twelvemonkeys.imageio.metadata.jpeg.JPEG; +import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers; import com.twelvemonkeys.imageio.util.ProgressListenerBase; import javax.imageio.IIOImage; @@ -161,7 +162,7 @@ public void write(final IIOMetadata streamMetadata, final IIOImage image, final else { // If the image metadata is our substitute, convert it back to native com.sun format if (image.getMetadata() instanceof JPEGImage10Metadata) { - ImageTypeSpecifier type = image.hasRaster() ? null : ImageTypeSpecifier.createFromRenderedImage(image.getRenderedImage()); + ImageTypeSpecifier type = image.hasRaster() ? null : ImageTypeSpecifiers.createFromRenderedImage(image.getRenderedImage()); IIOMetadata nativeMetadata = delegate.getDefaultImageMetadata(type, param); JPEGImage10Metadata metadata = (JPEGImage10Metadata) image.getMetadata(); @@ -185,7 +186,7 @@ private void writeCMYK(final IIOMetadata streamMetadata, final IIOImage image, f boolean overrideDestination = param != null && param.getDestinationType() != null; ImageTypeSpecifier destinationType = overrideDestination ? param.getDestinationType() - : ImageTypeSpecifier.createFromRenderedImage(renderedImage); + : ImageTypeSpecifiers.createFromRenderedImage(renderedImage); ColorSpace cmykCS = destinationType.getColorModel().getColorSpace(); From a5ee53569d64f9b57122c9fc9c0f4f4d973fea60 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 5 Oct 2023 20:20:11 +0200 Subject: [PATCH 13/21] Added OpenSSF Best Practices badge. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0c9edd32e..81f12104d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![StackOverflow](https://img.shields.io/badge/stack_overflow-twelvemonkeys-orange.svg)](https://stackoverflow.com/questions/tagged/twelvemonkeys) [![Donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://paypal.me/haraldk76/100) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/haraldk/TwelveMonkeys/badge)](https://securityscorecards.dev/viewer/?uri=github.com/haraldk/TwelveMonkeys) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7900/badge)](https://www.bestpractices.dev/projects/7900) ![Logo](logo.png) From 80229b8c3caebef9e9097901386d65513d083f16 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 5 Oct 2023 20:27:18 +0200 Subject: [PATCH 14/21] Minor code clean-up. --- .../main/java/com/twelvemonkeys/imageio/color/ColorSpaces.java | 2 +- .../java/com/twelvemonkeys/imageio/plugins/hdr/HDRMetadata.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/color/ColorSpaces.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/color/ColorSpaces.java index fce1da683..1c8d1c66a 100644 --- a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/color/ColorSpaces.java +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/color/ColorSpaces.java @@ -188,7 +188,7 @@ static void validateColorSpace(final ICC_ColorSpace cs) { // Will throw IllegalArgumentException or CMMException if the profile is bad cs.fromRGB(new float[] {0.999f, 0.5f, 0.001f}); - // This breaks *some times* after validation of bad profiles, + // This breaks *sometimes* after validation of bad profiles, // we'll let it blow up early in this case cs.getProfile().getData(); } diff --git a/imageio/imageio-hdr/src/main/java/com/twelvemonkeys/imageio/plugins/hdr/HDRMetadata.java b/imageio/imageio-hdr/src/main/java/com/twelvemonkeys/imageio/plugins/hdr/HDRMetadata.java index c2f407fe0..fecfc8d44 100755 --- a/imageio/imageio-hdr/src/main/java/com/twelvemonkeys/imageio/plugins/hdr/HDRMetadata.java +++ b/imageio/imageio-hdr/src/main/java/com/twelvemonkeys/imageio/plugins/hdr/HDRMetadata.java @@ -5,7 +5,7 @@ import javax.imageio.ImageTypeSpecifier; import javax.imageio.metadata.IIOMetadataNode; -public class HDRMetadata extends StandardImageMetadataSupport { +final class HDRMetadata extends StandardImageMetadataSupport { public HDRMetadata(ImageTypeSpecifier type, HDRHeader header) { super(builder(type) .withCompressionTypeName("RLE") From be348543d8a41d4677f83e1c69988221527977a9 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 5 Oct 2023 20:30:22 +0200 Subject: [PATCH 15/21] Fix possibly flaky test. --- .../imageio/StandardImageMetadataSupportTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java index efb41a9fe..9931962e9 100644 --- a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java +++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/StandardImageMetadataSupportTest.java @@ -17,6 +17,7 @@ import java.util.Calendar; import java.util.Collection; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -170,7 +171,7 @@ public void withTextValuesSingle() { @Test public void withTextValuesMap() { - Map entries = new HashMap<>(); + Map entries = new LinkedHashMap<>(); entries.put("foo", "bar"); entries.put("bar", "xyzzy"); From 8bd3f4f34aabf3f8b1cb6c460106786677a7386e Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 5 Oct 2023 21:51:01 +0200 Subject: [PATCH 16/21] Badge reorganization. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 81f12104d..e5cdc3287 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ [![CI](https://github.com/haraldk/TwelveMonkeys/actions/workflows/ci.yml/badge.svg)](https://github.com/haraldk/TwelveMonkeys/actions/workflows/ci.yml) +[![CodeQL](https://github.com/haraldk/TwelveMonkeys/actions/workflows/codeql.yml/badge.svg)](https://github.com/haraldk/TwelveMonkeys/actions/workflows/codeql.yml) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/haraldk/TwelveMonkeys/badge)](https://securityscorecards.dev/viewer/?uri=github.com/haraldk/TwelveMonkeys) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7900/badge)](https://www.bestpractices.dev/projects/7900) + [![Maven Central](https://img.shields.io/maven-central/v/com.twelvemonkeys.imageio/imageio?color=slateblue)](https://search.maven.org/search?q=g:com.twelvemonkeys.imageio) [![Maven Snapshot](https://img.shields.io/nexus/s/com.twelvemonkeys.imageio/imageio?label=development&server=https%3A%2F%2Foss.sonatype.org&color=slateblue)](https://oss.sonatype.org/content/repositories/snapshots/com/twelvemonkeys/) [![StackOverflow](https://img.shields.io/badge/stack_overflow-twelvemonkeys-orange.svg)](https://stackoverflow.com/questions/tagged/twelvemonkeys) [![Donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://paypal.me/haraldk76/100) -[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/haraldk/TwelveMonkeys/badge)](https://securityscorecards.dev/viewer/?uri=github.com/haraldk/TwelveMonkeys) -[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7900/badge)](https://www.bestpractices.dev/projects/7900) ![Logo](logo.png) From f2cc9faaf8561c46dbe959bdebe0d6c4be1cd16a Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Wed, 2 Aug 2023 11:47:42 +0200 Subject: [PATCH 17/21] Add maven-bundle-plugin to build to give jar files OSGi manifest headers and make the jar files OSGi bundles, fixes #794 --- common/common-image/pom.xml | 9 ++++++ common/common-io/pom.xml | 8 +++++ common/common-lang/pom.xml | 8 +++++ contrib/pom.xml | 9 ++++++ imageio/imageio-batik/pom.xml | 4 +++ imageio/imageio-bmp/pom.xml | 9 ++++++ imageio/imageio-clippath/pom.xml | 9 ++++++ imageio/imageio-core/pom.xml | 8 +++++ imageio/imageio-hdr/pom.xml | 9 ++++++ imageio/imageio-icns/pom.xml | 9 ++++++ imageio/imageio-iff/pom.xml | 9 ++++++ imageio/imageio-jpeg-jai-interop/pom.xml | 4 +++ imageio/imageio-jpeg-jep262-interop/pom.xml | 4 +++ imageio/imageio-jpeg/pom.xml | 9 ++++++ imageio/imageio-metadata/pom.xml | 9 ++++++ imageio/imageio-pcx/pom.xml | 9 ++++++ imageio/imageio-pdf/pom.xml | 9 ++++++ imageio/imageio-pict/pom.xml | 8 +++++ imageio/imageio-pnm/pom.xml | 9 ++++++ imageio/imageio-psd/pom.xml | 9 ++++++ imageio/imageio-reference/pom.xml | 4 +++ imageio/imageio-sgi/pom.xml | 9 ++++++ imageio/imageio-tga/pom.xml | 9 ++++++ imageio/imageio-thumbsdb/pom.xml | 9 ++++++ imageio/imageio-tiff-jai-interop/pom.xml | 4 +++ imageio/imageio-tiff-jdk-interop/pom.xml | 4 +++ imageio/imageio-tiff/pom.xml | 9 ++++++ imageio/imageio-webp/pom.xml | 9 ++++++ imageio/imageio-xwd/pom.xml | 9 ++++++ pom.xml | 36 +++++++++++++++++++++ servlet/pom.xml | 5 +++ 31 files changed, 268 insertions(+) diff --git a/common/common-image/pom.xml b/common/common-image/pom.xml index c557c6c87..7d238fa86 100644 --- a/common/common-image/pom.xml +++ b/common/common-image/pom.xml @@ -36,4 +36,13 @@ provided + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/common/common-io/pom.xml b/common/common-io/pom.xml index 96bd8f3c9..9fb82eca8 100644 --- a/common/common-io/pom.xml +++ b/common/common-io/pom.xml @@ -31,4 +31,12 @@ + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/common/common-lang/pom.xml b/common/common-lang/pom.xml index 327cc9110..fce3b8aca 100644 --- a/common/common-lang/pom.xml +++ b/common/common-lang/pom.xml @@ -17,4 +17,12 @@ com.twelvemonkeys.common.lang + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/contrib/pom.xml b/contrib/pom.xml index b3235671f..aa32768f7 100644 --- a/contrib/pom.xml +++ b/contrib/pom.xml @@ -69,4 +69,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-batik/pom.xml b/imageio/imageio-batik/pom.xml index d13edccca..18373cdd6 100644 --- a/imageio/imageio-batik/pom.xml +++ b/imageio/imageio-batik/pom.xml @@ -33,6 +33,10 @@ + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-bmp/pom.xml b/imageio/imageio-bmp/pom.xml index 4aab91e8e..66298d0be 100644 --- a/imageio/imageio-bmp/pom.xml +++ b/imageio/imageio-bmp/pom.xml @@ -26,4 +26,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-clippath/pom.xml b/imageio/imageio-clippath/pom.xml index 2151bb28b..ebd99252c 100755 --- a/imageio/imageio-clippath/pom.xml +++ b/imageio/imageio-clippath/pom.xml @@ -32,4 +32,13 @@ imageio-metadata + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-core/pom.xml b/imageio/imageio-core/pom.xml index 4249e7768..6dad4f2a2 100644 --- a/imageio/imageio-core/pom.xml +++ b/imageio/imageio-core/pom.xml @@ -28,4 +28,12 @@ + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-hdr/pom.xml b/imageio/imageio-hdr/pom.xml index a0d828b46..94bf5e581 100644 --- a/imageio/imageio-hdr/pom.xml +++ b/imageio/imageio-hdr/pom.xml @@ -32,4 +32,13 @@ imageio-metadata + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-icns/pom.xml b/imageio/imageio-icns/pom.xml index 51aabeb3d..8e1f6405d 100644 --- a/imageio/imageio-icns/pom.xml +++ b/imageio/imageio-icns/pom.xml @@ -26,4 +26,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-iff/pom.xml b/imageio/imageio-iff/pom.xml index 334195a2b..34c2e7823 100644 --- a/imageio/imageio-iff/pom.xml +++ b/imageio/imageio-iff/pom.xml @@ -29,4 +29,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-jpeg-jai-interop/pom.xml b/imageio/imageio-jpeg-jai-interop/pom.xml index 72e47bbf7..9bd1c6c19 100644 --- a/imageio/imageio-jpeg-jai-interop/pom.xml +++ b/imageio/imageio-jpeg-jai-interop/pom.xml @@ -25,6 +25,10 @@ true + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-jpeg-jep262-interop/pom.xml b/imageio/imageio-jpeg-jep262-interop/pom.xml index 38ef21e38..4adbf6baf 100644 --- a/imageio/imageio-jpeg-jep262-interop/pom.xml +++ b/imageio/imageio-jpeg-jep262-interop/pom.xml @@ -25,6 +25,10 @@ true + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-jpeg/pom.xml b/imageio/imageio-jpeg/pom.xml index b552a71ec..d435f5a0c 100644 --- a/imageio/imageio-jpeg/pom.xml +++ b/imageio/imageio-jpeg/pom.xml @@ -32,4 +32,13 @@ imageio-metadata + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-metadata/pom.xml b/imageio/imageio-metadata/pom.xml index 8efa3c0ac..44b2854d5 100644 --- a/imageio/imageio-metadata/pom.xml +++ b/imageio/imageio-metadata/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-pcx/pom.xml b/imageio/imageio-pcx/pom.xml index 1ef9c6058..6026fe0d7 100755 --- a/imageio/imageio-pcx/pom.xml +++ b/imageio/imageio-pcx/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-pdf/pom.xml b/imageio/imageio-pdf/pom.xml index a93995223..f970dcf9f 100644 --- a/imageio/imageio-pdf/pom.xml +++ b/imageio/imageio-pdf/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-pict/pom.xml b/imageio/imageio-pict/pom.xml index 2625b2234..72be9bbdc 100644 --- a/imageio/imageio-pict/pom.xml +++ b/imageio/imageio-pict/pom.xml @@ -27,4 +27,12 @@ + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-pnm/pom.xml b/imageio/imageio-pnm/pom.xml index b1b70fdc7..e6f621143 100755 --- a/imageio/imageio-pnm/pom.xml +++ b/imageio/imageio-pnm/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-psd/pom.xml b/imageio/imageio-psd/pom.xml index 0d13d24ae..bf7d10a53 100644 --- a/imageio/imageio-psd/pom.xml +++ b/imageio/imageio-psd/pom.xml @@ -31,4 +31,13 @@ imageio-metadata + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-reference/pom.xml b/imageio/imageio-reference/pom.xml index 3572fdf50..3d2e67ce5 100644 --- a/imageio/imageio-reference/pom.xml +++ b/imageio/imageio-reference/pom.xml @@ -25,6 +25,10 @@ true + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-sgi/pom.xml b/imageio/imageio-sgi/pom.xml index 8d196bb90..8e767d736 100755 --- a/imageio/imageio-sgi/pom.xml +++ b/imageio/imageio-sgi/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-tga/pom.xml b/imageio/imageio-tga/pom.xml index b6306ee92..6dfff4fa5 100755 --- a/imageio/imageio-tga/pom.xml +++ b/imageio/imageio-tga/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-thumbsdb/pom.xml b/imageio/imageio-thumbsdb/pom.xml index ae449b4e2..2cf4d87d6 100644 --- a/imageio/imageio-thumbsdb/pom.xml +++ b/imageio/imageio-thumbsdb/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-tiff-jai-interop/pom.xml b/imageio/imageio-tiff-jai-interop/pom.xml index 07a89fcf5..f05d19251 100644 --- a/imageio/imageio-tiff-jai-interop/pom.xml +++ b/imageio/imageio-tiff-jai-interop/pom.xml @@ -25,6 +25,10 @@ true + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-tiff-jdk-interop/pom.xml b/imageio/imageio-tiff-jdk-interop/pom.xml index a7e22e040..c8c758c27 100644 --- a/imageio/imageio-tiff-jdk-interop/pom.xml +++ b/imageio/imageio-tiff-jdk-interop/pom.xml @@ -25,6 +25,10 @@ true + + org.apache.felix + maven-bundle-plugin + diff --git a/imageio/imageio-tiff/pom.xml b/imageio/imageio-tiff/pom.xml index d1ae06cbc..d82587497 100644 --- a/imageio/imageio-tiff/pom.xml +++ b/imageio/imageio-tiff/pom.xml @@ -37,4 +37,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-webp/pom.xml b/imageio/imageio-webp/pom.xml index 2ebe37356..b6b8eee05 100644 --- a/imageio/imageio-webp/pom.xml +++ b/imageio/imageio-webp/pom.xml @@ -31,4 +31,13 @@ test-jar + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/imageio/imageio-xwd/pom.xml b/imageio/imageio-xwd/pom.xml index d766494f0..b7b717f85 100755 --- a/imageio/imageio-xwd/pom.xml +++ b/imageio/imageio-xwd/pom.xml @@ -28,4 +28,13 @@ test + + + + + org.apache.felix + maven-bundle-plugin + + + diff --git a/pom.xml b/pom.xml index 53c4c3989..059be3285 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,42 @@ + + org.apache.felix + maven-bundle-plugin + 5.1.9 + + + jar + bundle + + + + <_dsannotations>* + + <_dsannotations-options>inherit + + <_metatypeannotations>* + + + + + manifest + + manifest + + + true + + + + bundle + + bundle + + + + org.apache.maven.plugins maven-compiler-plugin diff --git a/servlet/pom.xml b/servlet/pom.xml index 973f710ae..3a39e2676 100644 --- a/servlet/pom.xml +++ b/servlet/pom.xml @@ -63,6 +63,11 @@ + + org.apache.felix + maven-bundle-plugin + + org.apache.maven.plugins maven-shade-plugin From e65f471a8f843f88218ea54d9a7cec6c32dcd62c Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Sun, 13 Aug 2023 15:21:11 +0200 Subject: [PATCH 18/21] Provide Require-Capability and Add-Capability headers for osgi.serviceloader to the imageio-jpeg MANIFEST.MF This is to make it possible to load the SPI plugin in OSGi. --- imageio/imageio-jpeg/pom.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/imageio/imageio-jpeg/pom.xml b/imageio/imageio-jpeg/pom.xml index d435f5a0c..4f381e3be 100644 --- a/imageio/imageio-jpeg/pom.xml +++ b/imageio/imageio-jpeg/pom.xml @@ -38,6 +38,18 @@ org.apache.felix maven-bundle-plugin + + + + osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)" + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + From 690cb064e73f8ee4eeaf6c6046a997f309991cdf Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Mon, 14 Aug 2023 16:43:07 +0200 Subject: [PATCH 19/21] Ignore eclipse .metadata directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1e7332c2c..261c0f768 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ private profiles.xml Thumbs.db .DS_Store +/.metadata/ From f0a032a7b97fa006169dc7ea1dd4a7cc510af687 Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Sun, 17 Sep 2023 18:23:44 +0200 Subject: [PATCH 20/21] Add Require-Capability header requiring osgi.serviceloader.registrar to all imageio OSGi bundle MANIFEST.MF files --- imageio/imageio-jpeg/pom.xml | 3 --- imageio/pom.xml | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/imageio/imageio-jpeg/pom.xml b/imageio/imageio-jpeg/pom.xml index 4f381e3be..66e65dfb9 100644 --- a/imageio/imageio-jpeg/pom.xml +++ b/imageio/imageio-jpeg/pom.xml @@ -40,9 +40,6 @@ maven-bundle-plugin - - osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)" - osgi.serviceloader; osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; diff --git a/imageio/pom.xml b/imageio/pom.xml index 964bf6183..aa9519c95 100644 --- a/imageio/pom.xml +++ b/imageio/pom.xml @@ -170,4 +170,20 @@ + + + + + + org.apache.felix + maven-bundle-plugin + + + osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)" + + + + + + From a7ebd661499c9ce99017dc21eef11cff6fcf41d3 Mon Sep 17 00:00:00 2001 From: Steinar Bang Date: Thu, 5 Oct 2023 19:09:36 +0200 Subject: [PATCH 21/21] Export all TwelveMonkeys imageio SPI plugins using the osgi.serviceloader capability --- imageio/imageio-batik/pom.xml | 8 ++++++++ imageio/imageio-bmp/pom.xml | 9 +++++++++ imageio/imageio-core/pom.xml | 8 ++++++++ imageio/imageio-hdr/pom.xml | 8 ++++++++ imageio/imageio-icns/pom.xml | 9 +++++++++ imageio/imageio-iff/pom.xml | 9 +++++++++ imageio/imageio-jpeg-jai-interop/pom.xml | 4 ---- imageio/imageio-jpeg-jep262-interop/pom.xml | 4 ---- imageio/imageio-pcx/pom.xml | 8 ++++++++ imageio/imageio-pict/pom.xml | 9 +++++++++ imageio/imageio-pnm/pom.xml | 9 +++++++++ imageio/imageio-psd/pom.xml | 9 +++++++++ imageio/imageio-reference/pom.xml | 4 ---- imageio/imageio-sgi/pom.xml | 8 ++++++++ imageio/imageio-tga/pom.xml | 9 +++++++++ imageio/imageio-thumbsdb/pom.xml | 8 ++++++++ imageio/imageio-tiff-jai-interop/pom.xml | 4 ---- imageio/imageio-tiff-jdk-interop/pom.xml | 4 ---- imageio/imageio-tiff/pom.xml | 9 +++++++++ imageio/imageio-webp/pom.xml | 8 ++++++++ imageio/imageio-xwd/pom.xml | 8 ++++++++ 21 files changed, 136 insertions(+), 20 deletions(-) diff --git a/imageio/imageio-batik/pom.xml b/imageio/imageio-batik/pom.xml index 18373cdd6..783eb936d 100644 --- a/imageio/imageio-batik/pom.xml +++ b/imageio/imageio-batik/pom.xml @@ -36,6 +36,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-bmp/pom.xml b/imageio/imageio-bmp/pom.xml index 66298d0be..d7fcd16e6 100644 --- a/imageio/imageio-bmp/pom.xml +++ b/imageio/imageio-bmp/pom.xml @@ -32,6 +32,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-core/pom.xml b/imageio/imageio-core/pom.xml index 6dad4f2a2..15f7ada58 100644 --- a/imageio/imageio-core/pom.xml +++ b/imageio/imageio-core/pom.xml @@ -33,6 +33,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageInputStreamSpi + + + diff --git a/imageio/imageio-hdr/pom.xml b/imageio/imageio-hdr/pom.xml index 94bf5e581..9619cd41e 100644 --- a/imageio/imageio-hdr/pom.xml +++ b/imageio/imageio-hdr/pom.xml @@ -38,6 +38,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-icns/pom.xml b/imageio/imageio-icns/pom.xml index 8e1f6405d..df25c0660 100644 --- a/imageio/imageio-icns/pom.xml +++ b/imageio/imageio-icns/pom.xml @@ -32,6 +32,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-iff/pom.xml b/imageio/imageio-iff/pom.xml index 34c2e7823..933dfecda 100644 --- a/imageio/imageio-iff/pom.xml +++ b/imageio/imageio-iff/pom.xml @@ -35,6 +35,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-jpeg-jai-interop/pom.xml b/imageio/imageio-jpeg-jai-interop/pom.xml index 9bd1c6c19..72e47bbf7 100644 --- a/imageio/imageio-jpeg-jai-interop/pom.xml +++ b/imageio/imageio-jpeg-jai-interop/pom.xml @@ -25,10 +25,6 @@ true - - org.apache.felix - maven-bundle-plugin - diff --git a/imageio/imageio-jpeg-jep262-interop/pom.xml b/imageio/imageio-jpeg-jep262-interop/pom.xml index 4adbf6baf..38ef21e38 100644 --- a/imageio/imageio-jpeg-jep262-interop/pom.xml +++ b/imageio/imageio-jpeg-jep262-interop/pom.xml @@ -25,10 +25,6 @@ true - - org.apache.felix - maven-bundle-plugin - diff --git a/imageio/imageio-pcx/pom.xml b/imageio/imageio-pcx/pom.xml index 6026fe0d7..653901b5b 100755 --- a/imageio/imageio-pcx/pom.xml +++ b/imageio/imageio-pcx/pom.xml @@ -34,6 +34,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-pict/pom.xml b/imageio/imageio-pict/pom.xml index 72be9bbdc..8579b6bf8 100644 --- a/imageio/imageio-pict/pom.xml +++ b/imageio/imageio-pict/pom.xml @@ -32,6 +32,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-pnm/pom.xml b/imageio/imageio-pnm/pom.xml index e6f621143..ef58304e7 100755 --- a/imageio/imageio-pnm/pom.xml +++ b/imageio/imageio-pnm/pom.xml @@ -34,6 +34,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-psd/pom.xml b/imageio/imageio-psd/pom.xml index bf7d10a53..198c9c7c8 100644 --- a/imageio/imageio-psd/pom.xml +++ b/imageio/imageio-psd/pom.xml @@ -37,6 +37,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-reference/pom.xml b/imageio/imageio-reference/pom.xml index 3d2e67ce5..3572fdf50 100644 --- a/imageio/imageio-reference/pom.xml +++ b/imageio/imageio-reference/pom.xml @@ -25,10 +25,6 @@ true - - org.apache.felix - maven-bundle-plugin - diff --git a/imageio/imageio-sgi/pom.xml b/imageio/imageio-sgi/pom.xml index 8e767d736..f88f3377d 100755 --- a/imageio/imageio-sgi/pom.xml +++ b/imageio/imageio-sgi/pom.xml @@ -34,6 +34,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-tga/pom.xml b/imageio/imageio-tga/pom.xml index 6dfff4fa5..2bba08f48 100755 --- a/imageio/imageio-tga/pom.xml +++ b/imageio/imageio-tga/pom.xml @@ -34,6 +34,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-thumbsdb/pom.xml b/imageio/imageio-thumbsdb/pom.xml index 2cf4d87d6..c7de006f4 100644 --- a/imageio/imageio-thumbsdb/pom.xml +++ b/imageio/imageio-thumbsdb/pom.xml @@ -34,6 +34,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-tiff-jai-interop/pom.xml b/imageio/imageio-tiff-jai-interop/pom.xml index f05d19251..07a89fcf5 100644 --- a/imageio/imageio-tiff-jai-interop/pom.xml +++ b/imageio/imageio-tiff-jai-interop/pom.xml @@ -25,10 +25,6 @@ true - - org.apache.felix - maven-bundle-plugin - diff --git a/imageio/imageio-tiff-jdk-interop/pom.xml b/imageio/imageio-tiff-jdk-interop/pom.xml index c8c758c27..a7e22e040 100644 --- a/imageio/imageio-tiff-jdk-interop/pom.xml +++ b/imageio/imageio-tiff-jdk-interop/pom.xml @@ -25,10 +25,6 @@ true - - org.apache.felix - maven-bundle-plugin - diff --git a/imageio/imageio-tiff/pom.xml b/imageio/imageio-tiff/pom.xml index d82587497..b36ad05e6 100644 --- a/imageio/imageio-tiff/pom.xml +++ b/imageio/imageio-tiff/pom.xml @@ -43,6 +43,15 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi; + osgi.serviceloader=javax.imageio.spi.ImageWriterSpi + + + diff --git a/imageio/imageio-webp/pom.xml b/imageio/imageio-webp/pom.xml index b6b8eee05..3f9ecc2fe 100644 --- a/imageio/imageio-webp/pom.xml +++ b/imageio/imageio-webp/pom.xml @@ -37,6 +37,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + + diff --git a/imageio/imageio-xwd/pom.xml b/imageio/imageio-xwd/pom.xml index b7b717f85..d23ea775f 100755 --- a/imageio/imageio-xwd/pom.xml +++ b/imageio/imageio-xwd/pom.xml @@ -34,6 +34,14 @@ org.apache.felix maven-bundle-plugin + + + + osgi.serviceloader; + osgi.serviceloader=javax.imageio.spi.ImageReaderSpi + + +