From d90721ce51390f72df6da3ea85bc5ea6c1cfd737 Mon Sep 17 00:00:00 2001 From: Radek Felcman Date: Wed, 20 Sep 2023 12:27:03 +0200 Subject: [PATCH] Eclipselink.jar - add JPMS descriptor (module-info.java) (#1943) Eclipselink.jar - add JPMS descriptor (module-info.java) and related Ant build script changes. GitHub actions JDK switch from 21-ea to 21 Signed-off-by: Radek Felcman --- .github/workflows/ant.yml | 2 +- antbuild.properties | 4 +- antbuild.xml | 176 +++++++---- buildsystem/compdeps/pom.xml | 4 +- .../bundles/eclipselink/src/module-info.java | 298 ++++++++++++++++++ jpa/eclipselink.jpa.test/antbuild.xml | 4 +- jpa/eclipselink.jpa.wdf.test/antbuild.xml | 3 +- .../antbuild.xml | 7 +- 8 files changed, 431 insertions(+), 67 deletions(-) create mode 100644 features/bundles/eclipselink/src/module-info.java diff --git a/.github/workflows/ant.yml b/.github/workflows/ant.yml index c53d4477dc5..8c1fa66b705 100644 --- a/.github/workflows/ant.yml +++ b/.github/workflows/ant.yml @@ -33,7 +33,7 @@ jobs: strategy: matrix: - java_version: [ 17, 21-ea ] + java_version: [ 17, 21 ] steps: - name: Start MySQL Database diff --git a/antbuild.properties b/antbuild.properties index e6b1e73d678..1131c9cdc77 100644 --- a/antbuild.properties +++ b/antbuild.properties @@ -1,5 +1,5 @@ # -# Copyright (c) 2008, 2021 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2008, 2023 Oracle and/or its affiliates. All rights reserved. # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License v. 2.0 which is available at @@ -193,6 +193,7 @@ persistence22.javadoc.jar=jakarta.persistence.javadoc_2.2.3.jar persistence21.jar=javax.persistence_2.1.1.v201509150925.jar persistence20.jar=javax.persistence_2.0.6.v201308211412.jar persistence10.jar=javax.persistence_1.0.0.v200905011740.jar +persistence20_21_diff.jar=javax.persistence20_21_diff.jar unsigned.persistence10.jar=javax.persistence_unsigned_for_testing_1.0.0.jar jaxb-api.src.jar=jakarta.xml.bind-api-source.jar jaxb-api.jar=jakarta.xml.bind-api.jar @@ -284,6 +285,7 @@ kvclient.jar=kvclient.jar about-file=about.html readme-file=readme.html license-files=license.* +module-info-file=module-info.class setenv-scripts=setenv.* package-rename-scripts=packageRename.* jaxb-compiler-scripts=jaxb-compiler.* diff --git a/antbuild.xml b/antbuild.xml index 2d0fdac69a8..bab5d4cba74 100644 --- a/antbuild.xml +++ b/antbuild.xml @@ -424,7 +424,7 @@ - + @@ -983,63 +983,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + javax/persistence/criteria/CommonAbstractCriteria.class"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildsystem/compdeps/pom.xml b/buildsystem/compdeps/pom.xml index 992cc589230..fe3feb86826 100644 --- a/buildsystem/compdeps/pom.xml +++ b/buildsystem/compdeps/pom.xml @@ -65,7 +65,7 @@ 9.5.0 1.2.3 - 2.3.3 + 2.3.8 1.5.1 1.5.7 2.7.6 @@ -82,7 +82,7 @@ 1.1.1 1.6.4 2.2.3 - 1.7.3 + 1.7.4 4.0.3 1.3.3 2.0.2 diff --git a/features/bundles/eclipselink/src/module-info.java b/features/bundles/eclipselink/src/module-info.java new file mode 100644 index 00000000000..512fef4affc --- /dev/null +++ b/features/bundles/eclipselink/src/module-info.java @@ -0,0 +1,298 @@ +/* + * Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, + * or the Eclipse Distribution License v. 1.0 which is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause + */ + +module eclipselink { + + requires transitive java.desktop; + requires transitive java.instrument; + requires transitive java.management; + requires transitive java.naming; + requires transitive java.rmi; + requires transitive java.sql; + requires transitive java.xml; + requires jdk.unsupported; + + //following cannot be optional because we provide + //implementation of its spi/extension here + requires transitive java.persistence; + requires transitive java.xml.bind; + requires com.sun.tools.xjc; + + + requires static jakarta.activation; //AM + requires static java.annotation; //AM + requires static java.json; //AM + requires static jakarta.mail; //AM + requires static java.validation; //AM + requires static java.ws.rs; + + //requires static javax.cdi; //No any module name anywhere for used version + //requires static javax.el; //No any module name anywhere for used version + //requires static javax.inject; //No any module name anywhere for used version + requires static java.transaction; + //requires static javax.interceptor; //No any module name anywhere for used version + //requires static javax.messaging; //No any module name anywhere for used version + //requires static javax.resource; //No any module name anywhere for used version + + requires static com.sun.xml.bind; + + exports org.eclipse.persistence.jpa.jpql; + exports org.eclipse.persistence.jpa.jpql.parser; + exports org.eclipse.persistence.jpa.jpql.utility.iterable; + exports org.eclipse.persistence.jpa.jpql.utility.iterator; + + exports org.eclipse.persistence; + exports org.eclipse.persistence.annotations; + exports org.eclipse.persistence.config; + exports org.eclipse.persistence.core.descriptors; + exports org.eclipse.persistence.core.mappings; + exports org.eclipse.persistence.core.mappings.converters; + exports org.eclipse.persistence.core.mappings.transformers; + exports org.eclipse.persistence.core.queries; + exports org.eclipse.persistence.core.sessions; + exports org.eclipse.persistence.descriptors; + exports org.eclipse.persistence.descriptors.changetracking; + exports org.eclipse.persistence.descriptors.copying; + exports org.eclipse.persistence.descriptors.invalidation; + exports org.eclipse.persistence.descriptors.partitioning; + exports org.eclipse.persistence.dynamic; + exports org.eclipse.persistence.eis; + exports org.eclipse.persistence.eis.interactions; + exports org.eclipse.persistence.eis.mappings; + exports org.eclipse.persistence.exceptions; + exports org.eclipse.persistence.exceptions.i18n; + exports org.eclipse.persistence.expressions; + exports org.eclipse.persistence.history; + exports org.eclipse.persistence.indirection; + exports org.eclipse.persistence.logging; + exports org.eclipse.persistence.mappings; + exports org.eclipse.persistence.mappings.converters; + exports org.eclipse.persistence.mappings.foundation; + exports org.eclipse.persistence.mappings.querykeys; + exports org.eclipse.persistence.mappings.structures; + exports org.eclipse.persistence.mappings.transformers; + exports org.eclipse.persistence.mappings.xdb; + exports org.eclipse.persistence.oxm; + exports org.eclipse.persistence.oxm.annotations; + exports org.eclipse.persistence.oxm.attachment; + exports org.eclipse.persistence.oxm.documentpreservation; + exports org.eclipse.persistence.oxm.json; + exports org.eclipse.persistence.oxm.mappings; + exports org.eclipse.persistence.oxm.mappings.converters; + exports org.eclipse.persistence.oxm.mappings.nullpolicy; + exports org.eclipse.persistence.oxm.platform; + exports org.eclipse.persistence.oxm.record; + exports org.eclipse.persistence.oxm.schema; + exports org.eclipse.persistence.oxm.sequenced; + exports org.eclipse.persistence.oxm.unmapped; + exports org.eclipse.persistence.platform.database; + exports org.eclipse.persistence.platform.database.converters; + exports org.eclipse.persistence.platform.database.events; + exports org.eclipse.persistence.platform.database.jdbc; + exports org.eclipse.persistence.platform.database.oracle.annotations; + exports org.eclipse.persistence.platform.database.oracle.jdbc; + exports org.eclipse.persistence.platform.database.oracle.plsql; + exports org.eclipse.persistence.platform.database.partitioning; + exports org.eclipse.persistence.platform.server; + exports org.eclipse.persistence.platform.server.glassfish; + exports org.eclipse.persistence.platform.server.was; + exports org.eclipse.persistence.platform.server.wls; + exports org.eclipse.persistence.platform.xml; + exports org.eclipse.persistence.queries; + exports org.eclipse.persistence.sequencing; + exports org.eclipse.persistence.services; + exports org.eclipse.persistence.services.glassfish; + exports org.eclipse.persistence.services.jboss; + exports org.eclipse.persistence.services.mbean; + exports org.eclipse.persistence.services.weblogic; + exports org.eclipse.persistence.services.websphere; + exports org.eclipse.persistence.sessions; + exports org.eclipse.persistence.sessions.broker; + exports org.eclipse.persistence.sessions.changesets; + exports org.eclipse.persistence.sessions.coordination; + exports org.eclipse.persistence.sessions.coordination.broadcast; + exports org.eclipse.persistence.sessions.coordination.jms; + exports org.eclipse.persistence.sessions.coordination.rmi; + exports org.eclipse.persistence.sessions.factories; + exports org.eclipse.persistence.sessions.interceptors; + exports org.eclipse.persistence.sessions.remote; + exports org.eclipse.persistence.sessions.remote.rmi; + exports org.eclipse.persistence.sessions.serializers; + exports org.eclipse.persistence.sessions.server; + exports org.eclipse.persistence.tools; + exports org.eclipse.persistence.tools.profiler; + exports org.eclipse.persistence.tools.schemaframework; + exports org.eclipse.persistence.tools.tuning; + exports org.eclipse.persistence.transaction; + exports org.eclipse.persistence.transaction.glassfish; + exports org.eclipse.persistence.transaction.jboss; + exports org.eclipse.persistence.transaction.sap; + exports org.eclipse.persistence.transaction.was; + exports org.eclipse.persistence.transaction.wls; + + exports org.eclipse.persistence.sessions.coordination.corba; + exports org.eclipse.persistence.sessions.coordination.corba.sun; + exports org.eclipse.persistence.sessions.remote.corba.sun; + exports org.eclipse.persistence.sessions.remote.rmi.iiop; + + exports org.eclipse.persistence.platform.database.oracle; + exports org.eclipse.persistence.platform.database.oracle.converters; + exports org.eclipse.persistence.platform.database.oracle.dcn; + exports org.eclipse.persistence.platform.database.oracle.ucp; + exports org.eclipse.persistence.platform.xml.xdk; + exports org.eclipse.persistence.tools.profiler.oracle; + + exports org.eclipse.persistence.jpa; + exports org.eclipse.persistence.jpa.config; + exports org.eclipse.persistence.jpa.dynamic; + exports org.eclipse.persistence.jpa.metadata; + exports org.eclipse.persistence.tools.weaving.jpa; + + exports org.eclipse.persistence.jaxb; + exports org.eclipse.persistence.jaxb.attachment; + exports org.eclipse.persistence.jaxb.compiler; + exports org.eclipse.persistence.jaxb.compiler.builder; + exports org.eclipse.persistence.jaxb.compiler.builder.helper; + exports org.eclipse.persistence.jaxb.compiler.facets; + exports org.eclipse.persistence.jaxb.dynamic; + exports org.eclipse.persistence.jaxb.dynamic.metadata; + exports org.eclipse.persistence.jaxb.javamodel; + exports org.eclipse.persistence.jaxb.javamodel.oxm; + exports org.eclipse.persistence.jaxb.javamodel.reflection; + exports org.eclipse.persistence.jaxb.javamodel.xjc; + exports org.eclipse.persistence.jaxb.json; + exports org.eclipse.persistence.jaxb.metadata; + exports org.eclipse.persistence.jaxb.plugins; + exports org.eclipse.persistence.jaxb.rs; + exports org.eclipse.persistence.jaxb.xmlmodel; + + exports org.eclipse.persistence.jaxb.xjc; + + exports commonj.sdo.impl; + + exports org.eclipse.persistence.sdo; + exports org.eclipse.persistence.sdo.helper; + exports org.eclipse.persistence.sdo.helper.delegates; + exports org.eclipse.persistence.sdo.helper.jaxb; + exports org.eclipse.persistence.sdo.types; + + exports org.eclipse.persistence.dbws; + exports org.eclipse.persistence.jpa.rs; + exports org.eclipse.persistence.jpa.rs.annotations; + exports org.eclipse.persistence.jpa.rs.exceptions; + exports org.eclipse.persistence.jpa.rs.features; + exports org.eclipse.persistence.jpa.rs.features.core.selflinks; + exports org.eclipse.persistence.jpa.rs.features.fieldsfiltering; + exports org.eclipse.persistence.jpa.rs.features.paging; + exports org.eclipse.persistence.jpa.rs.logging; + exports org.eclipse.persistence.jpa.rs.resources; + exports org.eclipse.persistence.jpa.rs.resources.common; + exports org.eclipse.persistence.jpa.rs.util; + exports org.eclipse.persistence.jpa.rs.util.list; + + //exported through EclipseLink PUBLIC API + exports org.eclipse.persistence.internal.cache; + exports org.eclipse.persistence.internal.codegen; + exports org.eclipse.persistence.internal.core.databaseaccess; + exports org.eclipse.persistence.internal.core.descriptors; + exports org.eclipse.persistence.internal.core.helper; + exports org.eclipse.persistence.internal.core.queries; + exports org.eclipse.persistence.internal.core.sessions; + exports org.eclipse.persistence.internal.databaseaccess; + exports org.eclipse.persistence.internal.descriptors; + exports org.eclipse.persistence.internal.descriptors.changetracking; + exports org.eclipse.persistence.internal.dynamic; + exports org.eclipse.persistence.internal.expressions; + exports org.eclipse.persistence.internal.helper; + exports org.eclipse.persistence.internal.identitymaps; + exports org.eclipse.persistence.internal.indirection; + exports org.eclipse.persistence.internal.jaxb; + exports org.eclipse.persistence.internal.jpa; + exports org.eclipse.persistence.internal.jpa.deployment; + exports org.eclipse.persistence.internal.jpa.metadata.xml; + exports org.eclipse.persistence.internal.jpa.rs.metadata.model; + exports org.eclipse.persistence.internal.jpa.rs.metadata.model.v2; + exports org.eclipse.persistence.internal.libraries.asm; + exports org.eclipse.persistence.internal.localization; + exports org.eclipse.persistence.internal.oxm; + exports org.eclipse.persistence.internal.oxm.mappings; + exports org.eclipse.persistence.internal.oxm.record; + exports org.eclipse.persistence.internal.oxm.record.namespaces; + exports org.eclipse.persistence.internal.oxm.schema.model; + exports org.eclipse.persistence.internal.oxm.unmapped; + exports org.eclipse.persistence.internal.platform.database; + exports org.eclipse.persistence.internal.platform.database.oracle; + exports org.eclipse.persistence.internal.queries; + exports org.eclipse.persistence.internal.security; + exports org.eclipse.persistence.internal.sequencing; + exports org.eclipse.persistence.internal.sessions; + exports org.eclipse.persistence.internal.sessions.coordination; + exports org.eclipse.persistence.internal.sessions.coordination.corba; + exports org.eclipse.persistence.internal.sessions.coordination.jms; + exports org.eclipse.persistence.internal.sessions.factories; + exports org.eclipse.persistence.internal.sessions.factories.model; + exports org.eclipse.persistence.internal.sessions.remote; + exports org.eclipse.persistence.internal.xr; + + //exported through EclipseLink INTERNAL API + exports org.eclipse.persistence.internal.helper.linkedlist; + exports org.eclipse.persistence.internal.helper.type; + exports org.eclipse.persistence.internal.jpa.metadata; + exports org.eclipse.persistence.internal.jpa.metadata.accessors; + exports org.eclipse.persistence.internal.jpa.metadata.accessors.classes; + exports org.eclipse.persistence.internal.jpa.metadata.accessors.mappings; + exports org.eclipse.persistence.internal.jpa.metadata.accessors.objects; + exports org.eclipse.persistence.internal.jpa.metadata.additionalcriteria; + exports org.eclipse.persistence.internal.jpa.metadata.cache; + exports org.eclipse.persistence.internal.jpa.metadata.changetracking; + exports org.eclipse.persistence.internal.jpa.metadata.columns; + exports org.eclipse.persistence.internal.jpa.metadata.converters; + exports org.eclipse.persistence.internal.jpa.metadata.copypolicy; + exports org.eclipse.persistence.internal.jpa.metadata.graphs; + exports org.eclipse.persistence.internal.jpa.metadata.inheritance; + exports org.eclipse.persistence.internal.jpa.metadata.listeners; + exports org.eclipse.persistence.internal.jpa.metadata.locking; + exports org.eclipse.persistence.internal.jpa.metadata.mappings; + exports org.eclipse.persistence.internal.jpa.metadata.multitenant; + exports org.eclipse.persistence.internal.jpa.metadata.nosql; + exports org.eclipse.persistence.internal.jpa.metadata.partitioning; + exports org.eclipse.persistence.internal.jpa.metadata.queries; + exports org.eclipse.persistence.internal.jpa.metadata.sequencing; + exports org.eclipse.persistence.internal.jpa.metadata.sop; + exports org.eclipse.persistence.internal.jpa.metadata.structures; + exports org.eclipse.persistence.internal.jpa.metadata.tables; + exports org.eclipse.persistence.internal.jpa.metadata.transformers; + exports org.eclipse.persistence.internal.oxm.schema; + exports org.eclipse.persistence.internal.sessions.cdi; + exports org.eclipse.persistence.internal.sessions.coordination.broadcast; + exports org.eclipse.persistence.internal.sessions.factories.model.event; + exports org.eclipse.persistence.internal.sessions.factories.model.log; + exports org.eclipse.persistence.internal.sessions.factories.model.login; + exports org.eclipse.persistence.internal.sessions.factories.model.platform; + exports org.eclipse.persistence.internal.sessions.factories.model.pool; + exports org.eclipse.persistence.internal.sessions.factories.model.project; + exports org.eclipse.persistence.internal.sessions.factories.model.property; + exports org.eclipse.persistence.internal.sessions.factories.model.rcm; + exports org.eclipse.persistence.internal.sessions.factories.model.rcm.command; + exports org.eclipse.persistence.internal.sessions.factories.model.sequencing; + exports org.eclipse.persistence.internal.sessions.factories.model.session; + exports org.eclipse.persistence.internal.sessions.factories.model.transport; + exports org.eclipse.persistence.internal.sessions.factories.model.transport.discovery; + exports org.eclipse.persistence.internal.sessions.factories.model.transport.naming; + exports org.eclipse.persistence.internal.xr.sxf; + + uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider; + + provides javax.persistence.spi.PersistenceProvider with org.eclipse.persistence.jpa.PersistenceProvider; + provides com.sun.tools.xjc.Plugin with org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin; + +} diff --git a/jpa/eclipselink.jpa.test/antbuild.xml b/jpa/eclipselink.jpa.test/antbuild.xml index 28cd4e039d9..e642d52778a 100644 --- a/jpa/eclipselink.jpa.test/antbuild.xml +++ b/jpa/eclipselink.jpa.test/antbuild.xml @@ -1,6 +1,6 @@ diff --git a/utils/eclipselink.dbws.builder.test/antbuild.xml b/utils/eclipselink.dbws.builder.test/antbuild.xml index fe67b3652ea..acd807d434d 100644 --- a/utils/eclipselink.dbws.builder.test/antbuild.xml +++ b/utils/eclipselink.dbws.builder.test/antbuild.xml @@ -1,7 +1,7 @@ + @@ -237,6 +241,7 @@ +