From e55202f2190547effab2cd8a577a8eedcdc49c73 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 1 Jan 2021 19:00:23 +0100 Subject: [PATCH 01/15] Switch to Eclipse OpenJ9 JDK v15 --- .../workflows/check-outdated-dependencies.yml | 12 +++- .github/workflows/deployment.yml | 26 ++++++-- .github/workflows/refresh-journal-lists.yml | 12 +++- .github/workflows/tests-fetchers.yml | 12 +++- .github/workflows/tests.yml | 60 ++++++++++++++----- 5 files changed, 92 insertions(+), 30 deletions(-) diff --git a/.github/workflows/check-outdated-dependencies.yml b/.github/workflows/check-outdated-dependencies.yml index 71055d45785..655dcd3ee5b 100644 --- a/.github/workflows/check-outdated-dependencies.yml +++ b/.github/workflows/check-outdated-dependencies.yml @@ -11,10 +11,16 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman with: - java-version: 14 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - name: Look for outdated dependencies run: ./gradlew -q checkOutdatedDependencies - name: Report issues diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 4bfa05d67c4..85f4c10e7c7 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -56,16 +56,30 @@ jobs: - name: Run GitVersion id: gitversion uses: gittools/actions/gitversion/execute@v0.9.7 - - name: Set up JDK 15 for linux and mac - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + if: matrix.os != 'windows-latest' + id: sdkman with: - java-version: 15 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 if: matrix.os != 'windows-latest' - - name: Set up JDK 14 for windows - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} + - uses: sdkman/sdkman-action@master + if: matrix.os == 'windows-latest' + id: sdkman14 with: - java-version: 14 + candidate: java + version: 14.0.2.j9-adpt + - uses: actions/setup-java@v1 if: matrix.os == 'windows-latest' + id: setup-java + with: + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - name: Restore gradle cache uses: actions/cache@master with: diff --git a/.github/workflows/refresh-journal-lists.yml b/.github/workflows/refresh-journal-lists.yml index 414d195771e..c3c79411009 100644 --- a/.github/workflows/refresh-journal-lists.yml +++ b/.github/workflows/refresh-journal-lists.yml @@ -15,10 +15,16 @@ jobs: ref: master persist-credentials: false fetch-depth: 0 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman with: - java-version: 14 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle wrapper with: diff --git a/.github/workflows/tests-fetchers.yml b/.github/workflows/tests-fetchers.yml index 0aa59c10dca..618dfb70cf0 100644 --- a/.github/workflows/tests-fetchers.yml +++ b/.github/workflows/tests-fetchers.yml @@ -33,10 +33,16 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman with: - java-version: 14 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle chache with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5651082269f..a33472f3c35 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,10 +23,16 @@ jobs: access_token: ${{ github.token }} - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman with: - java-version: 14 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: @@ -59,10 +65,16 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman + with: + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java with: - java-version: 14 + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle chache with: @@ -103,10 +115,16 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman + with: + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java with: - java-version: 14 + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle chache with: @@ -149,10 +167,16 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman with: - java-version: 14 + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java + with: + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle chache with: @@ -199,10 +223,16 @@ jobs: SNAPCRAFT_LOGIN_FILE: ${{ secrets.CODECOV_TOKEN }} - name: Checkout source uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 + - uses: sdkman/sdkman-action@master + id: sdkman + with: + candidate: java + version: 15.0.1.j9-adpt + - uses: actions/setup-java@v1 + id: setup-java with: - java-version: 14 + java-version: 15.0.1 + jdkFile: ${{ steps.sdkman.outputs.file }} - uses: actions/cache@v1 name: Restore gradle chache with: From 2267aa5a2d33d4d089cd826aecee49f41890e037 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 22 Jan 2021 00:44:17 +0100 Subject: [PATCH 02/15] Always use Java 14 --- .github/workflows/deployment.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index a55a2b63c2e..21cd620a680 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -57,25 +57,11 @@ jobs: id: gitversion uses: gittools/actions/gitversion/execute@v0.9.8 - uses: sdkman/sdkman-action@master - if: matrix.os != 'windows-latest' - id: sdkman - with: - candidate: java - version: 15.0.1.j9-adpt - - uses: actions/setup-java@v1 - if: matrix.os != 'windows-latest' - id: setup-java - with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} - - uses: sdkman/sdkman-action@master - if: matrix.os == 'windows-latest' id: sdkman14 with: candidate: java version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 - if: matrix.os == 'windows-latest' id: setup-java with: java-version: 14.0.2 From 274667a8eee6e9a235c1fd87590d663a6217d46e Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 22 Jan 2021 00:51:28 +0100 Subject: [PATCH 03/15] 14 also at tests.yml --- .github/workflows/tests.yml | 40 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 486108bae77..e190d411c5d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,15 +24,15 @@ jobs: - name: Checkout source uses: actions/checkout@v2 - uses: sdkman/sdkman-action@master - id: sdkman + id: sdkman14 with: candidate: java - version: 15.0.1.j9-adpt + version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 id: setup-java with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: @@ -66,15 +66,15 @@ jobs: - name: Checkout source uses: actions/checkout@v2 - uses: sdkman/sdkman-action@master - id: sdkman + id: sdkman14 with: candidate: java - version: 15.0.1.j9-adpt + version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 id: setup-java with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: @@ -116,15 +116,15 @@ jobs: - name: Checkout source uses: actions/checkout@v2 - uses: sdkman/sdkman-action@master - id: sdkman + id: sdkman14 with: candidate: java - version: 15.0.1.j9-adpt + version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 id: setup-java with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: @@ -168,15 +168,15 @@ jobs: - name: Checkout source uses: actions/checkout@v2 - uses: sdkman/sdkman-action@master - id: sdkman + id: sdkman14 with: candidate: java - version: 15.0.1.j9-adpt + version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 id: setup-java with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: @@ -224,15 +224,15 @@ jobs: - name: Checkout source uses: actions/checkout@v2 - uses: sdkman/sdkman-action@master - id: sdkman + id: sdkman14 with: candidate: java - version: 15.0.1.j9-adpt + version: 14.0.2.j9-adpt - uses: actions/setup-java@v1 id: setup-java with: - java-version: 15.0.1 - jdkFile: ${{ steps.sdkman.outputs.file }} + java-version: 14.0.2 + jdkFile: ${{ steps.sdkman14.outputs.file }} - uses: actions/cache@v1 name: Restore gradle cache with: From a85f9ca89317b3641e054c8f8d7858752f05304c Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 7 May 2021 22:33:34 +0200 Subject: [PATCH 04/15] Result of ./gradlew suggestMergedModuleInfo --- build.gradle | 128 ++++++++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 57 deletions(-) diff --git a/build.gradle b/build.gradle index e365628788e..02083429f22 100644 --- a/build.gradle +++ b/build.gradle @@ -589,57 +589,65 @@ jlink { // The module descriptor automatically generated by the plugin for the merged module contained some invalid entries. // Execute ./gradlew suggestMergedModuleInfo and include the suggested directives here. mergedModule { - requires 'java.compiler' - requires 'java.datatransfer' - requires 'java.desktop' - requires 'java.logging' - requires 'java.management' - requires 'java.naming' - requires 'java.net.http' - requires 'java.scripting' - requires 'java.security.jgss' - requires 'java.security.sasl' - requires 'java.sql' - requires 'java.sql.rowset' - requires 'java.transaction.xa' - requires 'java.rmi' - requires 'java.xml' - requires 'jdk.jfr' - requires 'jdk.jsobject' - requires 'jdk.unsupported' - requires 'jdk.unsupported.desktop' - requires 'jdk.security.jgss' - requires 'jdk.xml.dom' - requires 'com.google.gson' - requires 'com.sun.xml.fastinfoset' - requires 'com.sun.xml.txw2' - requires 'org.slf4j' - uses 'org.apache.logging.log4j.util.PropertySource' - uses 'org.apache.logging.log4j.core.util.WatchEventService' - uses 'org.apache.logging.log4j.plugins.processor.PluginService' - uses 'org.controlsfx.glyphfont.GlyphFont' - uses 'com.airhacks.afterburner.views.ResourceLocator' - uses 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory' - uses 'com.airhacks.afterburner.injection.PresenterFactory' - uses 'org.apache.logging.log4j.spi.Provider' - uses 'org.mariadb.jdbc.credential.CredentialPlugin' - uses 'org.mariadb.jdbc.authentication.AuthenticationPlugin' - uses 'org.mariadb.jdbc.tls.TlsSocketPlugin' - uses 'org.mariadb.jdbc.LocalInfileInterceptor' - uses 'org.eclipse.jgit.transport.SshSessionFactory' - uses 'org.eclipse.jgit.lib.GpgSigner' - uses 'javax.xml.bind.JAXBContextFactory' - provides 'org.apache.lucene.codecs.DocValuesFormat' with 'org.apache.lucene.codecs.lucene80.Lucene80DocValuesFormat' - provides 'javax.annotation.processing.Processor' with 'org.apache.logging.log4j.plugins.processor.PluginProcessor' - provides 'org.controlsfx.glyphfont.GlyphFont' with 'org.controlsfx.glyphfont.FontAwesome' - provides 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory' with 'org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory' - provides 'org.mariadb.jdbc.tls.TlsSocketPlugin' with 'org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin' - provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ServerProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyServerProvider' - provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.NameResolverProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.internal.DnsNameResolverProvider' + requires 'com.fasterxml.jackson.core'; + requires 'com.fasterxml.jackson.databind'; + requires 'java.xml'; + requires 'com.sun.xml.txw2'; + requires 'java.desktop'; + requires 'jdk.jfr'; + requires 'jdk.unsupported'; + requires 'com.google.gson'; + requires 'java.management'; + requires 'java.naming'; + requires 'java.security.sasl'; + requires 'com.sun.xml.fastinfoset'; + requires 'com.fasterxml.jackson.annotation'; + requires 'jdk.security.jgss'; + requires 'java.logging'; + requires 'jdk.xml.dom'; + requires 'java.sql'; + requires 'java.rmi'; + requires 'java.security.jgss'; + requires 'jdk.jsobject'; + requires 'com.fasterxml.jackson.dataformat.yaml'; + requires 'java.net.http'; + requires 'jdk.unsupported.desktop'; + requires 'java.scripting'; + requires 'java.datatransfer'; + requires 'java.compiler'; + requires 'java.sql.rowset'; + requires 'java.transaction.xa'; + uses 'org.apache.logging.log4j.util.PropertySource'; + uses 'org.eclipse.jgit.lib.GpgSigner'; + uses 'org.apache.logging.log4j.core.util.ContextDataProvider'; + uses 'org.apache.logging.log4j.core.util.WatchEventService'; + uses 'org.apache.logging.log4j.plugins.processor.PluginService'; + uses 'org.controlsfx.glyphfont.GlyphFont'; + uses 'com.airhacks.afterburner.views.ResourceLocator'; + uses 'com.sun.webkit.plugin.PluginHandler'; + uses 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory'; + uses 'com.airhacks.afterburner.injection.PresenterFactory'; + uses 'org.eclipse.jgit.transport.SshSessionFactory'; + uses 'org.apache.logging.log4j.spi.Provider'; + uses 'org.mariadb.jdbc.tls.TlsSocketPlugin'; + uses 'org.eclipse.jgit.lib.GpgSignatureVerifierFactory'; + uses 'org.mariadb.jdbc.LocalInfileInterceptor'; + provides 'javax.annotation.processing.Processor' with 'org.apache.logging.log4j.plugins.processor.PluginProcessor'; + provides 'java.sql.Driver' with 'oracle.jdbc.OracleDriver', + 'org.mariadb.jdbc.Driver', + 'org.postgresql.Driver'; + provides 'org.controlsfx.glyphfont.GlyphFont' with 'org.controlsfx.glyphfont.FontAwesome'; + provides 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory' with 'org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory'; + provides 'org.apache.logging.log4j.core.util.ContextDataProvider' with 'org.apache.logging.log4j.core.impl.ThreadContextDataProvider'; + provides 'org.apache.tika.metadata.filter.MetadataFilter' with 'org.apache.tika.metadata.filter.NoOpFilter'; + provides 'org.mariadb.jdbc.tls.TlsSocketPlugin' with 'org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin'; + provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ServerProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyServerProvider'; + provides 'javax.xml.bind.JAXBContext' with 'com.sun.xml.bind.v2.ContextFactory'; + provides 'org.apache.lucene.codecs.DocValuesFormat' with 'org.apache.lucene.codecs.lucene80.Lucene80DocValuesFormat'; + provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.NameResolverProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.internal.DnsNameResolverProvider'; provides 'org.apache.logging.log4j.util.PropertySource' with 'org.apache.logging.log4j.util.EnvironmentPropertySource', - 'org.apache.logging.log4j.util.SystemPropertiesPropertySource' - provides 'java.sql.Driver' with 'org.postgresql.Driver' - provides 'org.apache.logging.log4j.plugins.processor.PluginService' with 'org.apache.logging.log4j.plugins.convert.plugins.Log4jPlugins' + 'org.apache.logging.log4j.util.SystemPropertiesPropertySource'; + provides 'org.apache.lucene.codecs.PostingsFormat' with 'org.apache.lucene.codecs.lucene84.Lucene84PostingsFormat'; provides 'org.mariadb.jdbc.authentication.AuthenticationPlugin' with 'org.mariadb.jdbc.internal.com.send.authentication.CachingSha2PasswordPlugin', 'org.mariadb.jdbc.internal.com.send.authentication.ClearPasswordPlugin', 'org.mariadb.jdbc.internal.com.send.authentication.Ed25519PasswordPlugin', @@ -647,16 +655,22 @@ jlink { 'org.mariadb.jdbc.internal.com.send.authentication.OldPasswordPlugin', 'org.mariadb.jdbc.internal.com.send.authentication.SendGssApiAuthPacket', 'org.mariadb.jdbc.internal.com.send.authentication.SendPamAuthPacket', - 'org.mariadb.jdbc.internal.com.send.authentication.Sha256PasswordPlugin' + 'org.mariadb.jdbc.internal.com.send.authentication.Sha256PasswordPlugin'; provides 'org.mariadb.jdbc.credential.CredentialPlugin' with 'org.mariadb.jdbc.credential.aws.AwsIamCredentialPlugin', 'org.mariadb.jdbc.credential.env.EnvCredentialPlugin', - 'org.mariadb.jdbc.credential.system.PropertiesCredentialPlugin' - provides 'org.apache.commons.logging.LogFactory' with 'org.apache.logging.log4j.jcl.LogFactoryImpl' - provides 'org.slf4j.spi.SLF4JServiceProvider' with 'org.apache.logging.slf4j.SLF4JServiceProvider' - provides 'org.apache.logging.log4j.spi.Provider' with 'org.apache.logging.log4j.core.impl.Log4jProvider' + 'org.mariadb.jdbc.credential.system.PropertiesCredentialPlugin'; + provides 'org.apache.commons.logging.LogFactory' with 'org.apache.logging.log4j.jcl.LogFactoryImpl'; + provides 'org.slf4j.spi.SLF4JServiceProvider' with 'org.apache.logging.slf4j.SLF4JServiceProvider'; + provides 'org.apache.logging.log4j.plugins.processor.PluginService' with 'org.apache.logging.log4j.core.plugins.Log4jPlugins', + 'org.apache.logging.log4j.plugins.convert.plugins.Log4jPlugins'; + provides 'org.apache.lucene.codecs.Codec' with 'org.apache.lucene.codecs.lucene87.Lucene87Codec'; + provides 'org.apache.logging.log4j.spi.Provider' with 'org.apache.logging.log4j.core.impl.Log4jProvider'; + provides 'org.apache.lucene.index.SortFieldProvider' with 'org.apache.lucene.search.SortField.Provider', + 'org.apache.lucene.search.SortedNumericSortField.Provider', + 'org.apache.lucene.search.SortedSetSortField.Provider'; provides 'java.security.Provider' with 'org.bouncycastle.jce.provider.BouncyCastleProvider', - 'org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider' - provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ManagedChannelProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyChannelProvider' + 'org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider'; + provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ManagedChannelProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyChannelProvider'; } jpackage { From 8ce6d55ecb99dfb28b5d6721ec94d0cb136ddd33 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 7 May 2021 22:45:11 +0200 Subject: [PATCH 05/15] Remove jackson requirements --- build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build.gradle b/build.gradle index 02083429f22..dab58986cff 100644 --- a/build.gradle +++ b/build.gradle @@ -589,8 +589,6 @@ jlink { // The module descriptor automatically generated by the plugin for the merged module contained some invalid entries. // Execute ./gradlew suggestMergedModuleInfo and include the suggested directives here. mergedModule { - requires 'com.fasterxml.jackson.core'; - requires 'com.fasterxml.jackson.databind'; requires 'java.xml'; requires 'com.sun.xml.txw2'; requires 'java.desktop'; @@ -601,7 +599,6 @@ jlink { requires 'java.naming'; requires 'java.security.sasl'; requires 'com.sun.xml.fastinfoset'; - requires 'com.fasterxml.jackson.annotation'; requires 'jdk.security.jgss'; requires 'java.logging'; requires 'jdk.xml.dom'; @@ -609,7 +606,6 @@ jlink { requires 'java.rmi'; requires 'java.security.jgss'; requires 'jdk.jsobject'; - requires 'com.fasterxml.jackson.dataformat.yaml'; requires 'java.net.http'; requires 'jdk.unsupported.desktop'; requires 'java.scripting'; From 80fda8f5dd7953913735f994bf2283f1037b5cc5 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 7 May 2021 22:57:12 +0200 Subject: [PATCH 06/15] Remove some more --- build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build.gradle b/build.gradle index dab58986cff..1a7d2386cf6 100644 --- a/build.gradle +++ b/build.gradle @@ -592,7 +592,6 @@ jlink { requires 'java.xml'; requires 'com.sun.xml.txw2'; requires 'java.desktop'; - requires 'jdk.jfr'; requires 'jdk.unsupported'; requires 'com.google.gson'; requires 'java.management'; @@ -620,7 +619,6 @@ jlink { uses 'org.apache.logging.log4j.plugins.processor.PluginService'; uses 'org.controlsfx.glyphfont.GlyphFont'; uses 'com.airhacks.afterburner.views.ResourceLocator'; - uses 'com.sun.webkit.plugin.PluginHandler'; uses 'org.apache.logging.log4j.message.ThreadDumpMessage.ThreadInfoFactory'; uses 'com.airhacks.afterburner.injection.PresenterFactory'; uses 'org.eclipse.jgit.transport.SshSessionFactory'; @@ -638,7 +636,6 @@ jlink { provides 'org.apache.tika.metadata.filter.MetadataFilter' with 'org.apache.tika.metadata.filter.NoOpFilter'; provides 'org.mariadb.jdbc.tls.TlsSocketPlugin' with 'org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin'; provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.ServerProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.netty.shaded.io.grpc.netty.NettyServerProvider'; - provides 'javax.xml.bind.JAXBContext' with 'com.sun.xml.bind.v2.ContextFactory'; provides 'org.apache.lucene.codecs.DocValuesFormat' with 'org.apache.lucene.codecs.lucene80.Lucene80DocValuesFormat'; provides 'com.microsoft.applicationinsights.core.dependencies.io.grpc.NameResolverProvider' with 'com.microsoft.applicationinsights.core.dependencies.io.grpc.internal.DnsNameResolverProvider'; provides 'org.apache.logging.log4j.util.PropertySource' with 'org.apache.logging.log4j.util.EnvironmentPropertySource', @@ -656,7 +653,6 @@ jlink { 'org.mariadb.jdbc.credential.env.EnvCredentialPlugin', 'org.mariadb.jdbc.credential.system.PropertiesCredentialPlugin'; provides 'org.apache.commons.logging.LogFactory' with 'org.apache.logging.log4j.jcl.LogFactoryImpl'; - provides 'org.slf4j.spi.SLF4JServiceProvider' with 'org.apache.logging.slf4j.SLF4JServiceProvider'; provides 'org.apache.logging.log4j.plugins.processor.PluginService' with 'org.apache.logging.log4j.core.plugins.Log4jPlugins', 'org.apache.logging.log4j.plugins.convert.plugins.Log4jPlugins'; provides 'org.apache.lucene.codecs.Codec' with 'org.apache.lucene.codecs.lucene87.Lucene87Codec'; From 8ae077bea808bb93a591872098a38b91eb436a9e Mon Sep 17 00:00:00 2001 From: Oliver Kopp <1366654+koppor@users.noreply.github.com> Date: Thu, 23 Jun 2022 09:53:22 +0200 Subject: [PATCH 07/15] Remove jdk.jfr --- build.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ea928f42d59..0993ff28d7b 100644 --- a/build.gradle +++ b/build.gradle @@ -563,7 +563,6 @@ jlink { requires 'java.transaction.xa' requires 'java.rmi' requires 'java.xml' - requires 'jdk.jfr' requires 'jdk.jsobject' requires 'jdk.unsupported' requires 'jdk.unsupported.desktop' @@ -589,7 +588,7 @@ jlink { 'org.mariadb.jdbc.internal.com.send.authentication.OldPasswordPlugin', 'org.mariadb.jdbc.internal.com.send.authentication.SendGssApiAuthPacket', 'org.mariadb.jdbc.internal.com.send.authentication.SendPamAuthPacket', - 'org.mariadb.jdbc.internal.com.send.authentication.Sha256PasswordPlugin'; + 'org.mariadb.jdbc.internal.com.send.authentication.Sha256PasswordPlugin' provides 'org.mariadb.jdbc.credential.CredentialPlugin' with 'org.mariadb.jdbc.credential.aws.AwsIamCredentialPlugin', 'org.mariadb.jdbc.credential.env.EnvCredentialPlugin', 'org.mariadb.jdbc.credential.system.PropertiesCredentialPlugin' From 535d838554af2db2734a373dd98dc88c9293133b Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 26 Sep 2022 00:05:06 +0200 Subject: [PATCH 08/15] Fine-tune OpenJ9 --- build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build.gradle b/build.gradle index c29b87d6b52..d0bd424de19 100644 --- a/build.gradle +++ b/build.gradle @@ -532,6 +532,12 @@ jlink { } addOptions("--bind-services") + + // Use "balanced" policy, which should provide better application performance + addOptions('-Xgcpolicy:balanced') + + // Provide more than 8 MB initial heap size (defaults are listed at https://www.eclipse.org/openj9/docs/openj9_defaults/) + addOptions('-Xms220M') // TODO: Remove the following as soon as the dependencies are fixed (upstream) // forceMerge is usually needed when some non-modular artifacts in the dependency graph use code that was previously part of the JDK From e2473e1c281c90d0bca36d31933acaec4ca408fa Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 26 Sep 2022 20:19:27 +0200 Subject: [PATCH 09/15] Remove -Xgcpolicy:balanced --- build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index d0bd424de19..0034eb2b670 100644 --- a/build.gradle +++ b/build.gradle @@ -534,7 +534,9 @@ jlink { addOptions("--bind-services") // Use "balanced" policy, which should provide better application performance - addOptions('-Xgcpolicy:balanced') + // See for details https://www.eclipse.org/openj9/docs/gc/#balanced-policy + // Issue as of 2022-09-26: "Error: unknown option: -Xgcpolicy:balanced" + // addOptions('-Xgcpolicy:balanced') // Provide more than 8 MB initial heap size (defaults are listed at https://www.eclipse.org/openj9/docs/openj9_defaults/) addOptions('-Xms220M') From 7f2a20630137fb6c7a40995240f90c57e53ab1a3 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 26 Sep 2022 22:33:11 +0200 Subject: [PATCH 10/15] Update build.gradle --- build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0034eb2b670..0d0bcf8029f 100644 --- a/build.gradle +++ b/build.gradle @@ -539,7 +539,8 @@ jlink { // addOptions('-Xgcpolicy:balanced') // Provide more than 8 MB initial heap size (defaults are listed at https://www.eclipse.org/openj9/docs/openj9_defaults/) - addOptions('-Xms220M') + // Issue as of 2022-09-26: Not recoginzed as option + // addOptions('-Xms220M') // TODO: Remove the following as soon as the dependencies are fixed (upstream) // forceMerge is usually needed when some non-modular artifacts in the dependency graph use code that was previously part of the JDK From df7d28f1b95da167e5dad76e4f7bd0afc1b8a9db Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Wed, 10 Jan 2024 00:01:10 +0100 Subject: [PATCH 11/15] Fix distribution name --- .github/workflows/deployment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 7e55c4755b9..7e1326350a1 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -93,7 +93,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: 21.0.1 - distribution: 'adopt-openj9' + distribution: 'semeru' - name: Setup Gradle uses: gradle/gradle-build-action@v2 - name: Prepare merged jars and modules dir (macOS) From 10dde03416d1dbea9f361b67714593714b7436d3 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 17 May 2024 17:19:49 +0200 Subject: [PATCH 12/15] Adapt config --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index edf70a2fa8c..65b54e62acc 100644 --- a/build.gradle +++ b/build.gradle @@ -55,7 +55,7 @@ java { // - .github/workflows/deployment-jdk-ea.yml#L53 languageVersion = JavaLanguageVersion.of(21) // See https://docs.gradle.org/current/javadoc/org/gradle/jvm/toolchain/JvmVendorSpec.html for a full list - // vendor = JvmVendorSpec.AMAZON + vendor = JvmVendorSpec.IBM } } @@ -656,7 +656,7 @@ jlink { } addOptions("--bind-services") - + // Use "balanced" policy, which should provide better application performance // See for details https://www.eclipse.org/openj9/docs/gc/#balanced-policy // Issue as of 2022-09-26: "Error: unknown option: -Xgcpolicy:balanced" From 69e096cd7d541a1485bc25b4a90164523447b530 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 17 May 2024 17:29:37 +0200 Subject: [PATCH 13/15] Fix jvmArgs --- build.gradle | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 65b54e62acc..49ace52e7ca 100644 --- a/build.gradle +++ b/build.gradle @@ -653,19 +653,17 @@ jlink { addOptions('--strip-debug', '--compress', 'zip-6', '--no-header-files', '--no-man-pages') launcher { name = 'JabRef' + + // -Xgcpolicy:balanced + // Use "balanced" policy, which should provide better application performance + // See for details https://www.eclipse.org/openj9/docs/gc/#balanced-policy + // -Xms220M + // Provide more than 8 MB initial heap size (defaults are listed at https://www.eclipse.org/openj9/docs/openj9_defaults/) + jvmArgs = ['-Xgcpolicy:balanced', '-Xms220M'] } addOptions("--bind-services") - // Use "balanced" policy, which should provide better application performance - // See for details https://www.eclipse.org/openj9/docs/gc/#balanced-policy - // Issue as of 2022-09-26: "Error: unknown option: -Xgcpolicy:balanced" - // addOptions('-Xgcpolicy:balanced') - - // Provide more than 8 MB initial heap size (defaults are listed at https://www.eclipse.org/openj9/docs/openj9_defaults/) - // Issue as of 2022-09-26: Not recoginzed as option - // addOptions('-Xms220M') - // TODO: Remove the following as soon as the dependencies are fixed (upstream) // forceMerge is usually needed when some non-modular artifacts in the dependency graph use code that was previously part of the JDK // but it was removed in the newer releases. From 957d05702ecd23061f1bfd43d2bdddce6a57532b Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 17 May 2024 17:30:08 +0200 Subject: [PATCH 14/15] Switch back to JDK21 --- .github/workflows/deployment-jdk-ea.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment-jdk-ea.yml b/.github/workflows/deployment-jdk-ea.yml index 63d8e2a1dd5..12ba10807c2 100644 --- a/.github/workflows/deployment-jdk-ea.yml +++ b/.github/workflows/deployment-jdk-ea.yml @@ -36,7 +36,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest, buildjet-4vcpu-ubuntu-2204-arm] - jdk: [22] + jdk: [21] javafx: [23] include: - os: ubuntu-latest From 9f0419f644220271de137cd33e7a1bead333526a Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 19 May 2024 20:15:03 +0200 Subject: [PATCH 15/15] Also build image in case of non-secrets precense --- .github/workflows/deployment.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 030790397d1..c5a30c3ac61 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -188,21 +188,21 @@ jobs: --java-options --add-opens=javafx.controls/javafx.scene.control=org.jabref \ --java-options --add-opens=javafx.controls/com.sun.javafx.scene.control=org.jabref - name: Build runtime image and installer (linux, Windows) - if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') + if: (matrix.os != 'macos-latest') shell: bash run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage jlinkZip - name: Package application image (linux, Windows) - if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') + if: (matrix.os != 'macos-latest') shell: bash run: ${{ matrix.archivePortable }} - name: Rename files - if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') + if: (matrix.os != 'macos-latest') shell: pwsh run: | get-childitem -Path build/distribution/* | rename-item -NewName {$_.name -replace "${{ steps.gitversion.outputs.AssemblySemVer }}","${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}"} get-childitem -Path build/distribution/* | rename-item -NewName {$_.name -replace "portable","${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-portable"} - name: Repack deb file for Debian - if: (matrix.os == 'ubuntu-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') + if: (matrix.os == 'ubuntu-latest') shell: bash run: | cd build/distribution