diff --git a/.github/native-tests.json b/.github/native-tests.json
index 68736ec9e9ef6b..fbd8e62dbe16ad 100644
--- a/.github/native-tests.json
+++ b/.github/native-tests.json
@@ -117,7 +117,7 @@
{
"category": "Misc4",
"timeout": 130,
- "test-modules": "picocli-native, gradle, micrometer-mp-metrics, micrometer-prometheus, logging-json, jaxp, jaxb, opentelemetry, opentelemetry-jdbc-instrumentation, opentelemetry-redis-instrumentation, webjars-locator",
+ "test-modules": "picocli-native, gradle, micrometer-mp-metrics, micrometer-prometheus, logging-json, jaxp, jaxb, opentelemetry, opentelemetry-jdbc-instrumentation, opentelemetry-redis-instrumentation, web-dependency-locator",
"os-name": "ubuntu-latest"
},
{
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/BytecodeTransformerBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/BytecodeTransformerBuildItem.java
index adfdbec20bf84f..ec968f494b8b09 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/BytecodeTransformerBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/BytecodeTransformerBuildItem.java
@@ -10,13 +10,6 @@
public final class BytecodeTransformerBuildItem extends MultiBuildItem {
- /**
- * If this is true it means the class should be loaded eagerly by a thread pool in dev mode
- * on multithreaded systems.
- *
- * Transformation is expensive, so doing it this way can speed up boot time.
- */
- final boolean eager;
final String classToTransform;
final BiFunction visitorFunction;
@@ -75,7 +68,6 @@ public BytecodeTransformerBuildItem(boolean eager, String classToTransform,
BiFunction visitorFunction, Set requireConstPoolEntry,
boolean cacheable) {
Objects.requireNonNull(visitorFunction, "visitorFunction");
- this.eager = eager;
this.classToTransform = classToTransform;
this.visitorFunction = visitorFunction;
this.requireConstPoolEntry = requireConstPoolEntry;
@@ -87,7 +79,6 @@ public BytecodeTransformerBuildItem(boolean eager, String classToTransform,
}
public BytecodeTransformerBuildItem(Builder builder) {
- this.eager = builder.eager;
this.classToTransform = builder.classToTransform;
this.visitorFunction = builder.visitorFunction;
this.requireConstPoolEntry = builder.requireConstPoolEntry;
@@ -113,8 +104,9 @@ public Set getRequireConstPoolEntry() {
return requireConstPoolEntry;
}
+ @Deprecated
public boolean isEager() {
- return eager;
+ return false;
}
public boolean isCacheable() {
@@ -161,7 +153,6 @@ public static class Builder {
private String classToTransform;
private BiFunction visitorFunction;
private Set requireConstPoolEntry = null;
- private boolean eager = false;
private boolean cacheable = false;
private int classReaderOptions = 0;
private int priority = 0;
@@ -191,8 +182,8 @@ public Builder setRequireConstPoolEntry(Set requireConstPoolEntry) {
return this;
}
+ @Deprecated
public Builder setEager(boolean eager) {
- this.eager = eager;
return this;
}
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/TransformedClassesBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/TransformedClassesBuildItem.java
index 551b778d6a5370..2e8715f3f641af 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/TransformedClassesBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/TransformedClassesBuildItem.java
@@ -46,13 +46,18 @@ public static class TransformedClass {
*/
private final byte[] data;
private final String fileName;
- private final boolean eager;
+ @Deprecated
public TransformedClass(String className, byte[] data, String fileName, boolean eager) {
this.className = className;
this.data = data;
this.fileName = fileName;
- this.eager = eager;
+ }
+
+ public TransformedClass(String className, byte[] data, String fileName) {
+ this.className = className;
+ this.data = data;
+ this.fileName = fileName;
}
public byte[] getData() {
@@ -67,8 +72,9 @@ public String getClassName() {
return className;
}
+ @Deprecated
public boolean isEager() {
- return eager;
+ return false;
}
@Override
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/steps/ClassTransformingBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/steps/ClassTransformingBuildStep.java
index 363339d88abdc4..45eca2642b7af3 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/steps/ClassTransformingBuildStep.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/steps/ClassTransformingBuildStep.java
@@ -94,7 +94,6 @@ TransformedClassesBuildItem handleClassTransformation(List noConstScanning = new HashSet<>();
Map> constScanning = new HashMap<>();
- Set eager = new HashSet<>();
Set nonCacheable = new HashSet<>();
Map classReaderOptions = new HashMap<>();
for (BytecodeTransformerBuildItem i : bytecodeTransformerBuildItems) {
@@ -106,9 +105,6 @@ TransformedClassesBuildItem handleClassTransformation(List new HashSet<>())
.addAll(i.getRequireConstPoolEntry());
}
- if (i.isEager()) {
- eager.add(i.getClassToTransform());
- }
if (!i.isCacheable()) {
nonCacheable.add(i.getClassToTransform());
}
@@ -164,7 +160,7 @@ public byte[] apply(String className, byte[] originalBytes) {
classReaderOptions.getOrDefault(className, 0));
TransformedClassesBuildItem.TransformedClass transformedClass = new TransformedClassesBuildItem.TransformedClass(
className, data,
- classFileName, eager.contains(className));
+ classFileName);
return transformedClass.getData();
} else {
return originalBytes;
@@ -241,7 +237,7 @@ public TransformedClassesBuildItem.TransformedClass call() throws Exception {
classReaderOptions.getOrDefault(className, 0));
TransformedClassesBuildItem.TransformedClass transformedClass = new TransformedClassesBuildItem.TransformedClass(
className, data,
- classFileName, eager.contains(className));
+ classFileName);
if (cacheable && launchModeBuildItem.getLaunchMode() == LaunchMode.DEVELOPMENT
&& classData != null) {
transformedClassesCache.put(className, transformedClass);
diff --git a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java
index fc195c8eee40af..3cb39c10b387fc 100644
--- a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java
+++ b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java
@@ -10,7 +10,6 @@
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -60,8 +59,7 @@ public StartupActionImpl(CuratedApplication curatedApplication, BuildResult buil
this.devServicesProperties = extractDevServicesProperties(buildResult);
this.runtimeApplicationShutdownBuildItems = buildResult.consumeMulti(RuntimeApplicationShutdownBuildItem.class);
- Set eagerClasses = new HashSet<>();
- Map transformedClasses = extractTransformers(buildResult, eagerClasses);
+ Map transformedClasses = extractTransformedClasses(buildResult);
QuarkusClassLoader baseClassLoader = curatedApplication.getBaseRuntimeClassLoader();
QuarkusClassLoader runtimeClassLoader;
@@ -347,16 +345,13 @@ private static Map extractDevServicesProperties(BuildResult buil
return new HashMap<>(result.getConfig());
}
- private static Map extractTransformers(BuildResult buildResult, Set eagerClasses) {
+ private static Map extractTransformedClasses(BuildResult buildResult) {
Map ret = new HashMap<>();
TransformedClassesBuildItem transformers = buildResult.consume(TransformedClassesBuildItem.class);
for (Set i : transformers.getTransformedClassesByJar().values()) {
for (TransformedClassesBuildItem.TransformedClass clazz : i) {
if (clazz.getData() != null) {
ret.put(clazz.getFileName(), clazz.getData());
- if (clazz.isEager()) {
- eagerClasses.add(clazz.getClassName());
- }
}
}
}
diff --git a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/SplitPackageProcessor.java b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/SplitPackageProcessor.java
index f68b4256900b6d..998c040af65d45 100644
--- a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/SplitPackageProcessor.java
+++ b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/SplitPackageProcessor.java
@@ -39,16 +39,6 @@ public class SplitPackageProcessor {
private static final Logger LOGGER = Logger.getLogger(SplitPackageProcessor.class);
- private static final Predicate IGNORE_PACKAGE = new Predicate<>() {
-
- @Override
- public boolean test(String packageName) {
- // Remove the elements from this list when the original issue is fixed
- // so that we can detect further issues.
- return packageName.startsWith("io.fabric8.kubernetes");
- }
- };
-
@BuildStep
void splitPackageDetection(ApplicationArchivesBuildItem archivesBuildItem,
ArcConfig config,
@@ -82,9 +72,6 @@ void splitPackageDetection(ApplicationArchivesBuildItem archivesBuildItem,
// - "com.me.app.sub" found in [archiveA, archiveB]
StringBuilder splitPackagesWarning = new StringBuilder();
for (String packageName : packageToArchiveMap.keySet()) {
- if (IGNORE_PACKAGE.test(packageName)) {
- continue;
- }
// skip packages based on pre-built predicates
boolean skipEvaluation = false;
diff --git a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java
index f4d603e7a3a740..54b5f4de5f5aa1 100644
--- a/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java
+++ b/extensions/hibernate-orm/deployment/src/main/java/io/quarkus/hibernate/orm/deployment/HibernateOrmProcessor.java
@@ -1217,7 +1217,11 @@ private void enhanceEntities(final JpaModelBuildItem jpaModel,
BuildProducer additionalClasses) {
HibernateEntityEnhancer hibernateEntityEnhancer = new HibernateEntityEnhancer();
for (String i : jpaModel.getManagedClassNames()) {
- transformers.produce(new BytecodeTransformerBuildItem(true, i, hibernateEntityEnhancer, true));
+
+ transformers.produce(new BytecodeTransformerBuildItem.Builder()
+ .setClassToTransform(i)
+ .setVisitorFunction(hibernateEntityEnhancer)
+ .setCacheable(true).build());
}
Set additionalClassNames = new HashSet<>();
for (AdditionalJpaModelBuildItem additionalJpaModel : additionalJpaModelBuildItems) {
diff --git a/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java b/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java
index 41064ad0fb4665..a77e10b89193af 100644
--- a/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java
+++ b/extensions/panache/hibernate-orm-panache/deployment/src/main/java/io/quarkus/hibernate/orm/panache/deployment/PanacheHibernateResourceProcessor.java
@@ -119,7 +119,7 @@ void build(
for (PanacheEntityClassBuildItem entityClass : entityClasses) {
String entityClassName = entityClass.get().name().toString();
modelClasses.add(entityClassName);
- transformers.produce(new BytecodeTransformerBuildItem(true, entityClassName, entityOperationsEnhancer));
+ transformers.produce(new BytecodeTransformerBuildItem(entityClassName, entityOperationsEnhancer));
}
panacheEntities.addAll(modelClasses);
diff --git a/extensions/panache/hibernate-reactive-panache/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/common/deployment/PanacheHibernateResourceProcessor.java b/extensions/panache/hibernate-reactive-panache/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/common/deployment/PanacheHibernateResourceProcessor.java
index 4c3b8de770e1a6..1467d4f43a0c35 100644
--- a/extensions/panache/hibernate-reactive-panache/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/common/deployment/PanacheHibernateResourceProcessor.java
+++ b/extensions/panache/hibernate-reactive-panache/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/common/deployment/PanacheHibernateResourceProcessor.java
@@ -118,7 +118,7 @@ void build(CombinedIndexBuildItem index,
ReactiveJavaJpaTypeBundle.BUNDLE);
for (PanacheEntityClassBuildItem entityClass : entityClasses) {
String entityClassName = entityClass.get().name().toString();
- transformers.produce(new BytecodeTransformerBuildItem(true, entityClassName, entityOperationsEnhancer));
+ transformers.produce(new BytecodeTransformerBuildItem(entityClassName, entityOperationsEnhancer));
}
}
diff --git a/extensions/panache/panache-hibernate-common/deployment/src/main/java/io/quarkus/panache/common/deployment/PanacheHibernateCommonResourceProcessor.java b/extensions/panache/panache-hibernate-common/deployment/src/main/java/io/quarkus/panache/common/deployment/PanacheHibernateCommonResourceProcessor.java
index c8c3966ea5fc3e..b764e7df152b02 100644
--- a/extensions/panache/panache-hibernate-common/deployment/src/main/java/io/quarkus/panache/common/deployment/PanacheHibernateCommonResourceProcessor.java
+++ b/extensions/panache/panache-hibernate-common/deployment/src/main/java/io/quarkus/panache/common/deployment/PanacheHibernateCommonResourceProcessor.java
@@ -106,7 +106,7 @@ void replaceFieldAccesses(CombinedIndexBuildItem index,
PanacheJpaEntityAccessorsEnhancer entityAccessorsEnhancer = new PanacheJpaEntityAccessorsEnhancer(index.getIndex(),
modelInfo);
for (String entityClassName : entitiesWithExternallyAccessibleFields) {
- transformers.produce(new BytecodeTransformerBuildItem(true, entityClassName, entityAccessorsEnhancer));
+ transformers.produce(new BytecodeTransformerBuildItem(entityClassName, entityAccessorsEnhancer));
}
// Replace field access in application code with calls to accessors
diff --git a/extensions/resteasy-classic/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java b/extensions/resteasy-classic/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java
index 44d29016987f44..3dedbf5ee5108c 100644
--- a/extensions/resteasy-classic/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java
+++ b/extensions/resteasy-classic/resteasy-server-common/deployment/src/main/java/io/quarkus/resteasy/server/common/deployment/ResteasyServerCommonProcessor.java
@@ -755,7 +755,7 @@ private static void generateDefaultConstructors(BuildProducer() {
+ .produce(new BytecodeTransformerBuildItem(name, new BiFunction() {
@Override
public ClassVisitor apply(String className, ClassVisitor classVisitor) {
ClassVisitor cv = new ClassVisitor(Gizmo.ASM_API_VERSION, classVisitor) {
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 57f966d6d7b6a2..355b11472b6ae4 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -340,7 +340,7 @@
simple with space
picocli
picocli-native
- webjars-locator
+ web-dependency-locator
devmode
ide-launcher
elasticsearch-rest-client
diff --git a/integration-tests/webjars-locator/pom.xml b/integration-tests/web-dependency-locator/pom.xml
similarity index 93%
rename from integration-tests/webjars-locator/pom.xml
rename to integration-tests/web-dependency-locator/pom.xml
index f739130a51c0dc..0dff717428ee24 100644
--- a/integration-tests/webjars-locator/pom.xml
+++ b/integration-tests/web-dependency-locator/pom.xml
@@ -10,9 +10,9 @@
999-SNAPSHOT
- quarkus-integration-test-webjars-locator
+ quarkus-integration-test-web-dependency-locator
- Quarkus - Integration Tests - WebJar Locator
+ Quarkus - Integration Tests - Web Dependency Locator
@@ -27,7 +27,7 @@
io.quarkus
- quarkus-webjars-locator
+ quarkus-web-dependency-locator
org.webjars
@@ -67,7 +67,7 @@
io.quarkus
- quarkus-webjars-locator-deployment
+ quarkus-web-dependency-locator-deployment
${project.version}
pom
test
diff --git a/integration-tests/webjars-locator/src/main/resources/application.properties b/integration-tests/web-dependency-locator/src/main/resources/application.properties
similarity index 100%
rename from integration-tests/webjars-locator/src/main/resources/application.properties
rename to integration-tests/web-dependency-locator/src/main/resources/application.properties
diff --git a/integration-tests/webjars-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceIT.java b/integration-tests/web-dependency-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceIT.java
similarity index 100%
rename from integration-tests/webjars-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceIT.java
rename to integration-tests/web-dependency-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceIT.java
diff --git a/integration-tests/webjars-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceTest.java b/integration-tests/web-dependency-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceTest.java
similarity index 100%
rename from integration-tests/webjars-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceTest.java
rename to integration-tests/web-dependency-locator/src/test/java/io/quarkus/it/webjar/locator/WebJarResourceTest.java
diff --git a/integration-tests/webjars-locator/src/test/resources/application.properties b/integration-tests/web-dependency-locator/src/test/resources/application.properties
similarity index 100%
rename from integration-tests/webjars-locator/src/test/resources/application.properties
rename to integration-tests/web-dependency-locator/src/test/resources/application.properties