diff --git a/composites/ebean-clickhouse/pom.xml b/composites/ebean-clickhouse/pom.xml index 4e5a18990..2b74e9f20 100644 --- a/composites/ebean-clickhouse/pom.xml +++ b/composites/ebean-clickhouse/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-clickhouse/src/main/java9/module-info.java b/composites/ebean-clickhouse/src/main/java/module-info.java similarity index 82% rename from composites/ebean-clickhouse/src/main/java9/module-info.java rename to composites/ebean-clickhouse/src/main/java/module-info.java index a8417405d..2b2ba1999 100644 --- a/composites/ebean-clickhouse/src/main/java9/module-info.java +++ b/composites/ebean-clickhouse/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.clickhouse { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.clickhouse; diff --git a/composites/ebean-cockroach/pom.xml b/composites/ebean-cockroach/pom.xml index 9f05dc4c5..74b2bfce6 100644 --- a/composites/ebean-cockroach/pom.xml +++ b/composites/ebean-cockroach/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-cockroach/src/main/java9/module-info.java b/composites/ebean-cockroach/src/main/java/module-info.java similarity index 82% rename from composites/ebean-cockroach/src/main/java9/module-info.java rename to composites/ebean-cockroach/src/main/java/module-info.java index d3ed1eb8d..704c79606 100644 --- a/composites/ebean-cockroach/src/main/java9/module-info.java +++ b/composites/ebean-cockroach/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.cockroach { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.postgres; diff --git a/composites/ebean-db2/pom.xml b/composites/ebean-db2/pom.xml index d8f4f1333..7b7bea8c8 100644 --- a/composites/ebean-db2/pom.xml +++ b/composites/ebean-db2/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-db2/src/main/java9/module-info.java b/composites/ebean-db2/src/main/java/module-info.java similarity index 81% rename from composites/ebean-db2/src/main/java9/module-info.java rename to composites/ebean-db2/src/main/java/module-info.java index 1479a97ec..47838c397 100644 --- a/composites/ebean-db2/src/main/java9/module-info.java +++ b/composites/ebean-db2/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.db2 { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.db2; diff --git a/composites/ebean-h2/pom.xml b/composites/ebean-h2/pom.xml index 67807e068..00878a9d6 100644 --- a/composites/ebean-h2/pom.xml +++ b/composites/ebean-h2/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 composites @@ -46,19 +47,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-h2/src/main/java9/module-info.java b/composites/ebean-h2/src/main/java/module-info.java similarity index 81% rename from composites/ebean-h2/src/main/java9/module-info.java rename to composites/ebean-h2/src/main/java/module-info.java index 081e49b5f..d66080d78 100644 --- a/composites/ebean-h2/src/main/java9/module-info.java +++ b/composites/ebean-h2/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.h2 { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.h2; diff --git a/composites/ebean-hana/pom.xml b/composites/ebean-hana/pom.xml index b9d61ca7d..3b1e8f2d7 100644 --- a/composites/ebean-hana/pom.xml +++ b/composites/ebean-hana/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-hana/src/main/java9/module-info.java b/composites/ebean-hana/src/main/java/module-info.java similarity index 81% rename from composites/ebean-hana/src/main/java9/module-info.java rename to composites/ebean-hana/src/main/java/module-info.java index 24dc39368..9a5654ae2 100644 --- a/composites/ebean-hana/src/main/java9/module-info.java +++ b/composites/ebean-hana/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.hana { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.hana; diff --git a/composites/ebean-mariadb/pom.xml b/composites/ebean-mariadb/pom.xml index 1846276a8..bfbac9540 100644 --- a/composites/ebean-mariadb/pom.xml +++ b/composites/ebean-mariadb/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-mariadb/src/main/java9/module-info.java b/composites/ebean-mariadb/src/main/java/module-info.java similarity index 81% rename from composites/ebean-mariadb/src/main/java9/module-info.java rename to composites/ebean-mariadb/src/main/java/module-info.java index 38e20e613..f4368ce4c 100644 --- a/composites/ebean-mariadb/src/main/java9/module-info.java +++ b/composites/ebean-mariadb/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.mariadb { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.mariadb; diff --git a/composites/ebean-mysql/pom.xml b/composites/ebean-mysql/pom.xml index 3085d8e2d..c8451cfe9 100644 --- a/composites/ebean-mysql/pom.xml +++ b/composites/ebean-mysql/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-mysql/src/main/java9/module-info.java b/composites/ebean-mysql/src/main/java/module-info.java similarity index 81% rename from composites/ebean-mysql/src/main/java9/module-info.java rename to composites/ebean-mysql/src/main/java/module-info.java index 1d1ecf63b..f5e18a46b 100644 --- a/composites/ebean-mysql/src/main/java9/module-info.java +++ b/composites/ebean-mysql/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.mysql { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.mysql; diff --git a/composites/ebean-nuodb/pom.xml b/composites/ebean-nuodb/pom.xml index 31e80f4ce..a05fed021 100644 --- a/composites/ebean-nuodb/pom.xml +++ b/composites/ebean-nuodb/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-nuodb/src/main/java9/module-info.java b/composites/ebean-nuodb/src/main/java/module-info.java similarity index 81% rename from composites/ebean-nuodb/src/main/java9/module-info.java rename to composites/ebean-nuodb/src/main/java/module-info.java index ca5811304..10ec557b6 100644 --- a/composites/ebean-nuodb/src/main/java9/module-info.java +++ b/composites/ebean-nuodb/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.nuodb { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.nuodb; diff --git a/composites/ebean-oracle/pom.xml b/composites/ebean-oracle/pom.xml index 672088b77..92abb2834 100644 --- a/composites/ebean-oracle/pom.xml +++ b/composites/ebean-oracle/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-oracle/src/main/java9/module-info.java b/composites/ebean-oracle/src/main/java/module-info.java similarity index 81% rename from composites/ebean-oracle/src/main/java9/module-info.java rename to composites/ebean-oracle/src/main/java/module-info.java index c149747ff..8830ef160 100644 --- a/composites/ebean-oracle/src/main/java9/module-info.java +++ b/composites/ebean-oracle/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.oracle { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.oracle; diff --git a/composites/ebean-postgres/pom.xml b/composites/ebean-postgres/pom.xml index cf5e75f67..25b7b1131 100644 --- a/composites/ebean-postgres/pom.xml +++ b/composites/ebean-postgres/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-postgres/src/main/java9/module-info.java b/composites/ebean-postgres/src/main/java/module-info.java similarity index 82% rename from composites/ebean-postgres/src/main/java9/module-info.java rename to composites/ebean-postgres/src/main/java/module-info.java index c10865e39..d4bf9f4c4 100644 --- a/composites/ebean-postgres/src/main/java9/module-info.java +++ b/composites/ebean-postgres/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.postgres { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.postgres; diff --git a/composites/ebean-sqlite/pom.xml b/composites/ebean-sqlite/pom.xml index 24830217e..921493836 100644 --- a/composites/ebean-sqlite/pom.xml +++ b/composites/ebean-sqlite/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-sqlite/src/main/java9/module-info.java b/composites/ebean-sqlite/src/main/java/module-info.java similarity index 81% rename from composites/ebean-sqlite/src/main/java9/module-info.java rename to composites/ebean-sqlite/src/main/java/module-info.java index 169f84a8f..99de76ec8 100644 --- a/composites/ebean-sqlite/src/main/java9/module-info.java +++ b/composites/ebean-sqlite/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.sqlite { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.sqlite; diff --git a/composites/ebean-sqlserver/pom.xml b/composites/ebean-sqlserver/pom.xml index 969f6ecd3..6d9bd7a45 100644 --- a/composites/ebean-sqlserver/pom.xml +++ b/composites/ebean-sqlserver/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-sqlserver/src/main/java9/module-info.java b/composites/ebean-sqlserver/src/main/java/module-info.java similarity index 82% rename from composites/ebean-sqlserver/src/main/java9/module-info.java rename to composites/ebean-sqlserver/src/main/java/module-info.java index 6ead3d6ce..ff3472524 100644 --- a/composites/ebean-sqlserver/src/main/java9/module-info.java +++ b/composites/ebean-sqlserver/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.sqlserver { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.sqlserver; diff --git a/composites/ebean-yugabyte/pom.xml b/composites/ebean-yugabyte/pom.xml index 63addf86a..c6b258725 100644 --- a/composites/ebean-yugabyte/pom.xml +++ b/composites/ebean-yugabyte/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean-yugabyte/src/main/java9/module-info.java b/composites/ebean-yugabyte/src/main/java/module-info.java similarity index 82% rename from composites/ebean-yugabyte/src/main/java9/module-info.java rename to composites/ebean-yugabyte/src/main/java/module-info.java index 5559b1c50..6f2521ce2 100644 --- a/composites/ebean-yugabyte/src/main/java9/module-info.java +++ b/composites/ebean-yugabyte/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean.yugabyte { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; requires transitive io.ebean.platform.postgres; diff --git a/composites/ebean/pom.xml b/composites/ebean/pom.xml index e54170d5d..6affe9ce5 100644 --- a/composites/ebean/pom.xml +++ b/composites/ebean/pom.xml @@ -46,19 +46,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/composites/ebean/src/main/java9/module-info.java b/composites/ebean/src/main/java/module-info.java similarity index 60% rename from composites/ebean/src/main/java9/module-info.java rename to composites/ebean/src/main/java/module-info.java index ac3f52c61..9b57983a1 100644 --- a/composites/ebean/src/main/java9/module-info.java +++ b/composites/ebean/src/main/java/module-info.java @@ -2,6 +2,7 @@ module io.ebean { requires transitive io.ebean.api; requires transitive io.ebean.core; + requires transitive io.ebean.datasource; requires transitive io.ebean.querybean; - + requires transitive io.ebean.platform.all; } diff --git a/ebean-api/pom.xml b/ebean-api/pom.xml index cbca6471b..b3758c4f2 100644 --- a/ebean-api/pom.xml +++ b/ebean-api/pom.xml @@ -103,19 +103,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/ebean-api/src/main/java9/module-info.java b/ebean-api/src/main/java/module-info.java similarity index 64% rename from ebean-api/src/main/java9/module-info.java rename to ebean-api/src/main/java/module-info.java index 7c873b199..79fa3bb64 100644 --- a/ebean-api/src/main/java9/module-info.java +++ b/ebean-api/src/main/java/module-info.java @@ -20,7 +20,6 @@ module io.ebean.api { requires static io.ebean.types; requires static com.fasterxml.jackson.core; requires static javax.servlet.api; - requires static com.h2database; exports io.ebean; exports io.ebean.bean; @@ -28,21 +27,6 @@ module io.ebean.api { exports io.ebean.meta; exports io.ebean.config; exports io.ebean.config.dbplatform; - exports io.ebean.config.dbplatform.clickhouse; - exports io.ebean.config.dbplatform.h2; - exports io.ebean.config.dbplatform.db2; - exports io.ebean.config.dbplatform.cockroach; - exports io.ebean.config.dbplatform.hana; - exports io.ebean.config.dbplatform.hsqldb; - exports io.ebean.config.dbplatform.mariadb; - exports io.ebean.config.dbplatform.mysql; - exports io.ebean.config.dbplatform.nuodb; - exports io.ebean.config.dbplatform.oracle; - exports io.ebean.config.dbplatform.postgres; - exports io.ebean.config.dbplatform.sqlanywhere; - exports io.ebean.config.dbplatform.sqlite; - exports io.ebean.config.dbplatform.sqlserver; - exports io.ebean.config.dbplatform.yugabyte; exports io.ebean.event; exports io.ebean.event.readaudit; exports io.ebean.event.changelog; diff --git a/ebean-autotune/pom.xml b/ebean-autotune/pom.xml index 97123c71b..9bff33b73 100644 --- a/ebean-autotune/pom.xml +++ b/ebean-autotune/pom.xml @@ -71,7 +71,6 @@ io.ebean.tile:enhancement:12.15.0 - io.avaje.tile:moditech-module:1.0 diff --git a/ebean-autotune/src/main/java9/module-info.java b/ebean-autotune/src/main/java/module-info.java similarity index 100% rename from ebean-autotune/src/main/java9/module-info.java rename to ebean-autotune/src/main/java/module-info.java diff --git a/ebean-core-type/pom.xml b/ebean-core-type/pom.xml index 7a5402b65..5521a5f6c 100644 --- a/ebean-core-type/pom.xml +++ b/ebean-core-type/pom.xml @@ -28,19 +28,4 @@ - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - diff --git a/ebean-core-type/src/main/java9/module-info.java b/ebean-core-type/src/main/java/module-info.java similarity index 100% rename from ebean-core-type/src/main/java9/module-info.java rename to ebean-core-type/src/main/java/module-info.java diff --git a/ebean-core/pom.xml b/ebean-core/pom.xml index 58743d295..c771a285e 100644 --- a/ebean-core/pom.xml +++ b/ebean-core/pom.xml @@ -248,18 +248,6 @@ - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java index 050697cee..148014569 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java @@ -23,6 +23,7 @@ import io.ebeaninternal.server.executor.DefaultBackgroundExecutor; import org.slf4j.Logger; import javax.persistence.PersistenceException; +import java.net.URL; import java.sql.Connection; import java.sql.SQLException; import java.util.List; @@ -136,9 +137,21 @@ public final class DefaultContainer implements SpiContainer { } if (config.isAutoLoadModuleInfo()) { // auto register entity classes + boolean found = false; for (ModuleInfoLoader loader : ServiceLoader.load(ModuleInfoLoader.class)) { config.addAll(loader.classesFor(config.getName(), config.isDefaultServer())); + found = true; } + if (!found) { + checkMissingModulePathProvides(); + } + } + } + + private void checkMissingModulePathProvides() { + URL servicesFile = ClassLoader.getSystemResource("META-INF/services/io.ebean.config.ModuleInfoLoader"); + if (servicesFile != null) { + log.error("module-info.java is probably missing 'provides io.ebean.config.ModuleInfoLoader with _Ebean$ModuleInfo' clause. ModuleInfoLoader exists but was not service loaded."); } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java index eee73e4c0..af0edfef1 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java @@ -562,7 +562,29 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy @SuppressWarnings("unchecked") public BeanManager beanManager(Class entityType) { - return (BeanManager) beanManager(entityType.getName()); + BeanManager mgr = (BeanManager) beanManager(entityType.getName()); + if (mgr == null) { + errorBeanNotRegistered(entityType); + } + return mgr; + } + + private void errorBeanNotRegistered(Class entityType) { + if (beanManagerMap.isEmpty()) { + throw new PersistenceException(errNothingRegistered()); + } else { + throw new PersistenceException(errNotRegistered(entityType)); + } + } + + private String errNothingRegistered() { + return "There are no registered entities. If using query beans, that generates _Ebean$ModuleInfo.java into " + + "generated sources and is service loaded. If using module-info.java, then probably missing 'provides io.ebean.config.ModuleInfoLoader with _Ebean$ModuleInfo' clause."; + } + + private String errNotRegistered(Class beanClass) { + return "The type [" + beanClass + "] is not a registered entity?" + + " If you don't explicitly list the entity classes to use Ebean will search for them in the classpath."; } private BeanManager beanManager(String beanClassName) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java b/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java index 4e4fc1039..1f6b18df5 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java @@ -1196,11 +1196,6 @@ public final class DefaultPersister implements Persister { return request; } - private String errNotRegistered(Class beanClass) { - return "The type [" + beanClass + "] is not a registered entity?" - + " If you don't explicitly list the entity classes to use Ebean will search for them in the classpath."; - } - /** * Return the BeanDescriptor for a bean that is being persisted. *

@@ -1210,10 +1205,6 @@ public final class DefaultPersister implements Persister { */ @SuppressWarnings("unchecked") private BeanManager beanManager(Class cls) { - BeanManager mgr = (BeanManager) beanDescriptorManager.beanManager(cls); - if (mgr == null) { - throw new PersistenceException(errNotRegistered(cls)); - } - return mgr; + return (BeanManager) beanDescriptorManager.beanManager(cls); } } diff --git a/ebean-core/src/main/java9/module-info.java b/ebean-core/src/main/java/module-info.java similarity index 67% rename from ebean-core/src/main/java9/module-info.java rename to ebean-core/src/main/java/module-info.java index 398a43d87..f3e46da81 100644 --- a/ebean-core/src/main/java9/module-info.java +++ b/ebean-core/src/main/java/module-info.java @@ -6,6 +6,7 @@ module io.ebean.core { uses io.ebean.config.DatabaseConfigProvider; uses io.ebean.config.ServerConfigProvider; uses io.ebean.config.ModuleInfoLoader; + uses io.ebean.config.dbplatform.DatabasePlatformProvider; uses io.ebean.datasource.DataSourceAlertFactory; uses io.ebean.core.type.ExtraTypeFactory; uses io.ebeanservice.docstore.api.DocStoreFactory; @@ -23,7 +24,7 @@ module io.ebean.core { requires transitive io.ebean.xmapping.api; requires transitive io.ebean.core.type; requires transitive io.ebean.ddl.runner; - requires transitive org.antlr.antlr4.runtime; + requires org.antlr.antlr4.runtime; requires io.avaje.classpath.scanner; requires io.ebean.types; requires org.slf4j; @@ -41,17 +42,32 @@ module io.ebean.core { exports io.ebeaninternal.server.cache; exports io.ebeaninternal.api to io.ebean.ddl.generator, io.ebean.querybean, io.ebean.autotune, io.ebean.postgis, io.ebean.test; - exports io.ebeaninternal.server.deploy to io.ebean.autotune, io.ebean.ddl.generator; - exports io.ebeaninternal.server.deploy.id to io.ebean.ddl.generator; - exports io.ebeaninternal.server.deploy.meta to io.ebean.ddl.generator; - exports io.ebeaninternal.server.deploy.visitor to io.ebean.ddl.generator; - - exports io.ebeaninternal.server.el to io.ebean.autotune; + exports io.ebeaninternal.api.json to io.ebean.test; + exports io.ebeaninternal.json to io.ebean.test; exports io.ebeaninternal.server.autotune to io.ebean.autotune; - exports io.ebeaninternal.server.querydefn to io.ebean.autotune, io.ebean.querybean; - exports io.ebeaninternal.server.type to io.ebean.postgis; + exports io.ebeaninternal.server.core to io.ebean.test; + exports io.ebeaninternal.server.core.bootup to io.ebean.test; + exports io.ebeaninternal.server.core.timezone to io.ebean.test; + exports io.ebeaninternal.server.cluster to io.ebean.test; + exports io.ebeaninternal.server.deploy to io.ebean.autotune, io.ebean.ddl.generator, io.ebean.test; + exports io.ebeaninternal.server.deploy.id to io.ebean.ddl.generator; + exports io.ebeaninternal.server.deploy.meta to io.ebean.ddl.generator, io.ebean.test; + exports io.ebeaninternal.server.deploy.visitor to io.ebean.ddl.generator; + exports io.ebeaninternal.server.el to io.ebean.autotune, io.ebean.test; + exports io.ebeaninternal.server.expression to io.ebean.querybean, io.ebean.test; + exports io.ebeaninternal.server.expression.platform to io.ebean.test; + exports io.ebeaninternal.server.grammer to io.ebean.test; + exports io.ebeaninternal.server.idgen to io.ebean.test; + exports io.ebeaninternal.server.persist to io.ebean.test; + exports io.ebeaninternal.server.query to io.ebean.test; + exports io.ebeaninternal.server.querydefn to io.ebean.autotune, io.ebean.querybean, io.ebean.test; + exports io.ebeaninternal.server.rawsql to io.ebean.test; + exports io.ebeaninternal.server.text.json to io.ebean.test; + exports io.ebeaninternal.server.type to io.ebean.postgis, io.ebean.test; + exports io.ebeaninternal.server.transaction to io.ebean.test; exports io.ebeaninternal.server.util to io.ebean.querybean; - exports io.ebeaninternal.server.expression to io.ebean.querybean; + exports io.ebeanservice.docstore.api to io.ebean.test; + exports io.ebeanservice.docstore.api.support to io.ebean.test; provides io.ebean.metric.MetricFactory with io.ebeaninternal.server.profile.DMetricFactory; provides io.ebean.service.SpiContainerFactory with io.ebeaninternal.server.DContainerFactory; diff --git a/ebean-ddl-generator/pom.xml b/ebean-ddl-generator/pom.xml index ad2d67378..ec12d41e0 100644 --- a/ebean-ddl-generator/pom.xml +++ b/ebean-ddl-generator/pom.xml @@ -97,17 +97,6 @@ - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - diff --git a/ebean-ddl-generator/src/main/java9/module-info.java b/ebean-ddl-generator/src/main/java/module-info.java similarity index 79% rename from ebean-ddl-generator/src/main/java9/module-info.java rename to ebean-ddl-generator/src/main/java/module-info.java index 65d58286e..1a7ef332e 100644 --- a/ebean-ddl-generator/src/main/java9/module-info.java +++ b/ebean-ddl-generator/src/main/java/module-info.java @@ -1,4 +1,4 @@ -open module io.ebean.ddl.generator { +module io.ebean.ddl.generator { exports io.ebean.dbmigration; @@ -12,4 +12,7 @@ open module io.ebean.ddl.generator { requires io.ebean.migration; uses io.ebean.dbmigration.DbMigration; + + // support existing tests + exports io.ebeaninternal.extraddl.model to io.ebean.test; } diff --git a/ebean-externalmapping-api/pom.xml b/ebean-externalmapping-api/pom.xml index 27813058f..ada1d53da 100644 --- a/ebean-externalmapping-api/pom.xml +++ b/ebean-externalmapping-api/pom.xml @@ -11,20 +11,4 @@ API for mapping external named queries ebean-externalmapping-api - - - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - - - - diff --git a/ebean-externalmapping-api/src/main/java9/module-info.java b/ebean-externalmapping-api/src/main/java/module-info.java similarity index 100% rename from ebean-externalmapping-api/src/main/java9/module-info.java rename to ebean-externalmapping-api/src/main/java/module-info.java diff --git a/ebean-externalmapping-xml/pom.xml b/ebean-externalmapping-xml/pom.xml index 6bb62ac10..92e750655 100644 --- a/ebean-externalmapping-xml/pom.xml +++ b/ebean-externalmapping-xml/pom.xml @@ -37,6 +37,13 @@ 2.3.6 + + jakarta.activation + jakarta.activation-api + 1.2.1 + provided + + io.avaje classpath-scanner @@ -92,7 +99,6 @@ io.ebean.tile:enhancement:12.15.0 - io.avaje.tile:moditech-module:1.0 diff --git a/ebean-externalmapping-xml/src/main/java9/module-info.java b/ebean-externalmapping-xml/src/main/java/module-info.java similarity index 91% rename from ebean-externalmapping-xml/src/main/java9/module-info.java rename to ebean-externalmapping-xml/src/main/java/module-info.java index c81eda11b..d5b164b8f 100644 --- a/ebean-externalmapping-xml/src/main/java9/module-info.java +++ b/ebean-externalmapping-xml/src/main/java/module-info.java @@ -13,6 +13,7 @@ module io.ebean.xmapping.xml { requires transitive java.xml; requires transitive java.xml.bind; requires io.avaje.classpath.scanner; + requires static java.sql; // for testing uses ClassPathScannerFactory; diff --git a/ebean-postgis/pom.xml b/ebean-postgis/pom.xml index bf1c76eea..35fe194a1 100644 --- a/ebean-postgis/pom.xml +++ b/ebean-postgis/pom.xml @@ -105,7 +105,6 @@ io.ebean.tile:enhancement:12.15.0 - io.avaje.tile:moditech-module:1.0 diff --git a/ebean-querybean/pom.xml b/ebean-querybean/pom.xml index 2bda57466..e587b3d27 100644 --- a/ebean-querybean/pom.xml +++ b/ebean-querybean/pom.xml @@ -21,6 +21,13 @@ provided + + io.avaje + avaje-jsr305-x + 1.1 + provided + + + + jakarta.activation + jakarta.activation-api + 1.2.1 + provided + + com.h2database @@ -85,6 +93,14 @@ ${h2database.version} + + + io.avaje + avaje-jsr305-x + 1.1 + provided + + @@ -94,13 +110,6 @@ test - - io.avaje - avaje-jsr305 - 1.1 - test - - io.ebean ebean-migration @@ -144,12 +153,6 @@ test - - javax.annotation - javax.annotation-api - 1.3.2 - test - commons-io commons-io @@ -263,7 +266,6 @@ io.ebean.tile:enhancement:12.15.0 - io.avaje.tile:moditech-module:1.0 diff --git a/ebean-test/src/main/java9/module-info.java b/ebean-test/src/main/java/module-info.java similarity index 87% rename from ebean-test/src/main/java9/module-info.java rename to ebean-test/src/main/java/module-info.java index 94307a376..01809e1cd 100644 --- a/ebean-test/src/main/java9/module-info.java +++ b/ebean-test/src/main/java/module-info.java @@ -1,5 +1,5 @@ -open module io.ebean.test { +module io.ebean.test { exports io.ebean.test; exports io.ebean.test.config; @@ -22,4 +22,7 @@ open module io.ebean.test { requires transitive java.xml.bind; requires transitive com.h2database; + // support testing + requires static jdk.management; + requires static io.avaje.jsr305x; } diff --git a/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java b/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java index 8b51d172d..29da0d419 100644 --- a/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java +++ b/ebean-test/src/test/java/io/ebean/xtest/dbmigration/DbMigrationTest.java @@ -4,7 +4,7 @@ import io.ebean.*; import io.ebean.annotation.Platform; import io.ebean.config.DatabaseConfig; import io.ebean.config.dbplatform.DbHistorySupport; -import io.ebean.datasource.pool.ConnectionPool; +import io.ebean.datasource.DataSourcePool; import io.ebean.xtest.BaseTestCase; import io.ebean.xtest.IgnorePlatform; import misc.migration.v1_0.ETable; @@ -51,8 +51,8 @@ public class DbMigrationTest extends BaseTestCase { @Test public void testRunMigration() throws IOException, SQLException { // Shutdown and reconnect - this prevents postgres from lock up - ((ConnectionPool)server().dataSource()).offline(); - ((ConnectionPool)server().dataSource()).online(); + ((DataSourcePool)server().dataSource()).offline(); + ((DataSourcePool)server().dataSource()).online(); cleanup("migtest_ckey_assoc", "migtest_ckey_detail", "migtest_ckey_parent", @@ -86,8 +86,8 @@ public class DbMigrationTest extends BaseTestCase { "table", "\"table\"", "`table`"); - ((ConnectionPool)server().dataSource()).offline(); - ((ConnectionPool)server().dataSource()).online(); + ((DataSourcePool)server().dataSource()).offline(); + ((DataSourcePool)server().dataSource()).online(); if (isSqlServer() || isMariaDB() || isMySql() || isHana()) { runScript("I__create_procs.sql"); diff --git a/platforms/all/src/main/java/module-info.java b/platforms/all/src/main/java/module-info.java new file mode 100644 index 000000000..c5cc7865f --- /dev/null +++ b/platforms/all/src/main/java/module-info.java @@ -0,0 +1,17 @@ +module io.ebean.platform.all { + + requires transitive io.ebean.platform.h2; + requires transitive io.ebean.platform.clickhouse; + requires transitive io.ebean.platform.db2; + requires transitive io.ebean.platform.hana; + requires transitive io.ebean.platform.hsqldb; + requires transitive io.ebean.platform.mysql; + requires transitive io.ebean.platform.mariadb; + requires transitive io.ebean.platform.nuodb; + requires transitive io.ebean.platform.oracle; + requires transitive io.ebean.platform.postgres; + requires transitive io.ebean.platform.sqlanywhere; + requires transitive io.ebean.platform.sqlite; + requires transitive io.ebean.platform.sqlserver; + +} diff --git a/platforms/all/src/main/java9/module-info.java b/platforms/all/src/main/java9/module-info.java deleted file mode 100644 index 42de4f372..000000000 --- a/platforms/all/src/main/java9/module-info.java +++ /dev/null @@ -1,7 +0,0 @@ -module io.ebean.platform.all { - - requires transitive io.ebean.platform.h2; - requires transitive io.ebean.platform.postgres; - //TODO complete the list of platforms here ... - -} diff --git a/platforms/clickhouse/src/main/java9/module-info.java b/platforms/clickhouse/src/main/java/module-info.java similarity index 100% rename from platforms/clickhouse/src/main/java9/module-info.java rename to platforms/clickhouse/src/main/java/module-info.java diff --git a/platforms/db2/src/main/java9/module-info.java b/platforms/db2/src/main/java/module-info.java similarity index 100% rename from platforms/db2/src/main/java9/module-info.java rename to platforms/db2/src/main/java/module-info.java diff --git a/platforms/h2/src/main/java9/module-info.java b/platforms/h2/src/main/java/module-info.java similarity index 86% rename from platforms/h2/src/main/java9/module-info.java rename to platforms/h2/src/main/java/module-info.java index 472b87edc..2eff2d5c5 100644 --- a/platforms/h2/src/main/java9/module-info.java +++ b/platforms/h2/src/main/java/module-info.java @@ -3,6 +3,7 @@ module io.ebean.platform.h2 { exports io.ebean.platform.h2; requires transitive io.ebean.api; + requires static com.h2database; provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.h2.H2PlatformProvider; } diff --git a/platforms/hana/src/main/java9/module-info.java b/platforms/hana/src/main/java/module-info.java similarity index 100% rename from platforms/hana/src/main/java9/module-info.java rename to platforms/hana/src/main/java/module-info.java diff --git a/platforms/hsqldb/src/main/java9/module-info.java b/platforms/hsqldb/src/main/java/module-info.java similarity index 83% rename from platforms/hsqldb/src/main/java9/module-info.java rename to platforms/hsqldb/src/main/java/module-info.java index 99b5641a7..0e1a9c316 100644 --- a/platforms/hsqldb/src/main/java9/module-info.java +++ b/platforms/hsqldb/src/main/java/module-info.java @@ -3,6 +3,7 @@ module io.ebean.platform.hsqldb { exports io.ebean.platform.hsqldb; requires transitive io.ebean.api; + requires transitive io.ebean.platform.h2; provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.hsqldb.HSqlDbPlatformProvider; } diff --git a/platforms/mariadb/src/main/java9/module-info.java b/platforms/mariadb/src/main/java/module-info.java similarity index 83% rename from platforms/mariadb/src/main/java9/module-info.java rename to platforms/mariadb/src/main/java/module-info.java index 26d084026..8b709a2d4 100644 --- a/platforms/mariadb/src/main/java9/module-info.java +++ b/platforms/mariadb/src/main/java/module-info.java @@ -3,6 +3,7 @@ module io.ebean.platform.mariadb { exports io.ebean.platform.mariadb; requires transitive io.ebean.api; + requires transitive io.ebean.platform.mysql; provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mariadb.MariaDbPlatformProvider; } diff --git a/platforms/mysql/src/main/java9/module-info.java b/platforms/mysql/src/main/java/module-info.java similarity index 77% rename from platforms/mysql/src/main/java9/module-info.java rename to platforms/mysql/src/main/java/module-info.java index 064aaec7f..ac36a8ee7 100644 --- a/platforms/mysql/src/main/java9/module-info.java +++ b/platforms/mysql/src/main/java/module-info.java @@ -4,5 +4,5 @@ module io.ebean.platform.mysql { requires transitive io.ebean.api; - provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mysql.MysqlPlatformProvider; + provides io.ebean.config.dbplatform.DatabasePlatformProvider with io.ebean.platform.mysql.MySqlPlatformProvider; } diff --git a/platforms/nuodb/src/main/java9/module-info.java b/platforms/nuodb/src/main/java/module-info.java similarity index 100% rename from platforms/nuodb/src/main/java9/module-info.java rename to platforms/nuodb/src/main/java/module-info.java diff --git a/platforms/oracle/src/main/java9/module-info.java b/platforms/oracle/src/main/java/module-info.java similarity index 100% rename from platforms/oracle/src/main/java9/module-info.java rename to platforms/oracle/src/main/java/module-info.java diff --git a/platforms/postgres/src/main/java9/module-info.java b/platforms/postgres/src/main/java/module-info.java similarity index 100% rename from platforms/postgres/src/main/java9/module-info.java rename to platforms/postgres/src/main/java/module-info.java diff --git a/platforms/sqlanywhere/src/main/java9/module-info.java b/platforms/sqlanywhere/src/main/java/module-info.java similarity index 100% rename from platforms/sqlanywhere/src/main/java9/module-info.java rename to platforms/sqlanywhere/src/main/java/module-info.java diff --git a/platforms/sqlite/src/main/java9/module-info.java b/platforms/sqlite/src/main/java/module-info.java similarity index 100% rename from platforms/sqlite/src/main/java9/module-info.java rename to platforms/sqlite/src/main/java/module-info.java diff --git a/platforms/sqlserver/src/main/java9/module-info.java b/platforms/sqlserver/src/main/java/module-info.java similarity index 100% rename from platforms/sqlserver/src/main/java9/module-info.java rename to platforms/sqlserver/src/main/java/module-info.java diff --git a/pom.xml b/pom.xml index defb7f799..58028d703 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.avaje - java8-oss + java11-oss 3.6 @@ -48,6 +48,7 @@ 7.5 12.16.1 12.16.1 + false diff --git a/querybean-generator/pom.xml b/querybean-generator/pom.xml index 191dd90fe..98801d2e9 100644 --- a/querybean-generator/pom.xml +++ b/querybean-generator/pom.xml @@ -29,23 +29,12 @@ maven-compiler-plugin 3.10.1 - 1.8 - 1.8 + 11 + 11 -proc:none - - io.repaint.maven - tiles-maven-plugin - 2.24 - true - - - io.avaje.tile:moditech-module:1.0 - - - diff --git a/querybean-generator/src/main/java9/module-info.java b/querybean-generator/src/main/java/module-info.java similarity index 100% rename from querybean-generator/src/main/java9/module-info.java rename to querybean-generator/src/main/java/module-info.java