diff --git a/.forbiddenapis/banned-signatures-common.txt b/.forbiddenapis/banned-signatures-common.txt
index 23203f1247cfc..8e773e90bd467 100644
--- a/.forbiddenapis/banned-signatures-common.txt
+++ b/.forbiddenapis/banned-signatures-common.txt
@@ -6,3 +6,13 @@ org.jboss.jandex.AnnotationValue#toString()
@defaultMessage Replace this by using InputStream.transferTo(OutputStream)
org.apache.commons.io.IOUtils#copy(java.io.InputStream,java.io.OutputStream)
org.apache.commons.compress.utils.IOUtils#copy(java.io.InputStream,java.io.OutputStream)
+
+@defaultMessage We should avoid using WildFly Common APIs
+org.wildfly.common.Assert
+org.wildfly.common.net.**
+org.wildfly.common.os.**
+
+@defaultMessage Use JUnit asserts
+io.smallrye.common.Assert.assertTrue(**)
+io.smallrye.common.Assert.assertFalse(**)
+io.smallrye.common.Assert.assertNotNull(**)
diff --git a/core/builder/pom.xml b/core/builder/pom.xml
index bcb4f3bcfd078..450e83a0ac9ec 100644
--- a/core/builder/pom.xml
+++ b/core/builder/pom.xml
@@ -25,6 +25,10 @@
org.wildfly.common
wildfly-common
+
+ io.smallrye.common
+ smallrye-common-constraint
+
org.jboss.logging
jboss-logging
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildChain.java b/core/builder/src/main/java/io/quarkus/builder/BuildChain.java
index 4e68cfd2d9e53..84d12ad767757 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildChain.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildChain.java
@@ -6,7 +6,7 @@
import java.util.ServiceLoader;
import java.util.Set;
-import org.wildfly.common.Assert;
+import io.smallrye.common.constraint.Assert;
/**
* A build chain.
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildChainBuilder.java b/core/builder/src/main/java/io/quarkus/builder/BuildChainBuilder.java
index 7d72d220502cc..8bc07c3da372d 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildChainBuilder.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildChainBuilder.java
@@ -19,9 +19,8 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.BuildItem;
+import io.smallrye.common.constraint.Assert;
/**
* A build chain builder.
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildContext.java b/core/builder/src/main/java/io/quarkus/builder/BuildContext.java
index 4d2c23ee429f2..e6bd5a91d6177 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildContext.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildContext.java
@@ -12,13 +12,12 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.diag.Diagnostic;
import io.quarkus.builder.item.BuildItem;
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.builder.item.SimpleBuildItem;
import io.quarkus.builder.location.Location;
+import io.smallrye.common.constraint.Assert;
/**
* The context passed to a deployer's operation.
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildException.java b/core/builder/src/main/java/io/quarkus/builder/BuildException.java
index cef749bdd724c..4bd8cdd0bcd30 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildException.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildException.java
@@ -3,9 +3,8 @@
import java.util.Collections;
import java.util.List;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.diag.Diagnostic;
+import io.smallrye.common.constraint.Assert;
/**
* @author David M. Lloyd
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildExecutionBuilder.java b/core/builder/src/main/java/io/quarkus/builder/BuildExecutionBuilder.java
index de947a13fb98d..90a4d0b57df0c 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildExecutionBuilder.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildExecutionBuilder.java
@@ -6,9 +6,8 @@
import java.util.List;
import java.util.Map;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.BuildItem;
+import io.smallrye.common.constraint.Assert;
/**
* A builder for a deployer execution.
diff --git a/core/builder/src/main/java/io/quarkus/builder/BuildStepBuilder.java b/core/builder/src/main/java/io/quarkus/builder/BuildStepBuilder.java
index a873488c897c6..1d46c0aac0931 100644
--- a/core/builder/src/main/java/io/quarkus/builder/BuildStepBuilder.java
+++ b/core/builder/src/main/java/io/quarkus/builder/BuildStepBuilder.java
@@ -6,9 +6,8 @@
import java.util.Set;
import java.util.function.BooleanSupplier;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.BuildItem;
+import io.smallrye.common.constraint.Assert;
/**
* A builder for build step instances within a chain. A build step can consume and produce items. It may also register
diff --git a/core/builder/src/main/java/io/quarkus/builder/ConsumeFlags.java b/core/builder/src/main/java/io/quarkus/builder/ConsumeFlags.java
index 4ab63939cf045..290547df67d62 100644
--- a/core/builder/src/main/java/io/quarkus/builder/ConsumeFlags.java
+++ b/core/builder/src/main/java/io/quarkus/builder/ConsumeFlags.java
@@ -1,8 +1,9 @@
package io.quarkus.builder;
-import org.wildfly.common.Assert;
import org.wildfly.common.flags.Flags;
+import io.smallrye.common.constraint.Assert;
+
/**
* Flags which can be set on consume declarations.
*/
diff --git a/core/builder/src/main/java/io/quarkus/builder/ItemId.java b/core/builder/src/main/java/io/quarkus/builder/ItemId.java
index 2e934ccefcacd..bbcfed998cad7 100644
--- a/core/builder/src/main/java/io/quarkus/builder/ItemId.java
+++ b/core/builder/src/main/java/io/quarkus/builder/ItemId.java
@@ -2,10 +2,9 @@
import java.util.Objects;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.BuildItem;
import io.quarkus.builder.item.MultiBuildItem;
+import io.smallrye.common.constraint.Assert;
final class ItemId {
private final Class extends BuildItem> itemType;
diff --git a/core/builder/src/main/java/io/quarkus/builder/ProduceFlags.java b/core/builder/src/main/java/io/quarkus/builder/ProduceFlags.java
index 8f8a8cf4e3488..c0a1ba046f2f1 100644
--- a/core/builder/src/main/java/io/quarkus/builder/ProduceFlags.java
+++ b/core/builder/src/main/java/io/quarkus/builder/ProduceFlags.java
@@ -1,8 +1,9 @@
package io.quarkus.builder;
-import org.wildfly.common.Assert;
import org.wildfly.common.flags.Flags;
+import io.smallrye.common.constraint.Assert;
+
/**
* Flags which can be set on consume declarations.
*/
diff --git a/core/builder/src/main/java/io/quarkus/builder/diag/Diagnostic.java b/core/builder/src/main/java/io/quarkus/builder/diag/Diagnostic.java
index bc14469557768..34ff41eeea9bd 100644
--- a/core/builder/src/main/java/io/quarkus/builder/diag/Diagnostic.java
+++ b/core/builder/src/main/java/io/quarkus/builder/diag/Diagnostic.java
@@ -5,9 +5,8 @@
import java.io.StringWriter;
import java.io.Writer;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.location.Location;
+import io.smallrye.common.constraint.Assert;
public final class Diagnostic {
private final Level level;
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/CodeGenProvider.java b/core/deployment/src/main/java/io/quarkus/deployment/CodeGenProvider.java
index c06f0277f2031..8fbb056302d81 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/CodeGenProvider.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/CodeGenProvider.java
@@ -6,7 +6,6 @@
import java.util.Objects;
import org.eclipse.microprofile.config.Config;
-import org.wildfly.common.annotation.NotNull;
import io.quarkus.bootstrap.model.ApplicationModel;
import io.quarkus.bootstrap.prebuild.CodeGenException;
@@ -18,7 +17,6 @@ public interface CodeGenProvider {
/**
* @return unique name of the code gen provider, will correspond to the directory in generated-sources
*/
- @NotNull
String providerId();
/**
@@ -37,7 +35,6 @@ default String inputExtension() {
*
* @return file extensions
*/
- @NotNull
default String[] inputExtensions() {
if (inputExtension() != null) {
return new String[] { inputExtension() };
@@ -53,7 +50,6 @@ default String[] inputExtensions() {
*
* @return the input directory
*/
- @NotNull
String inputDirectory();
/**
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ConfigurationTypeBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ConfigurationTypeBuildItem.java
index 0820564b4af8d..85a162ee56faa 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/ConfigurationTypeBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/ConfigurationTypeBuildItem.java
@@ -1,8 +1,7 @@
package io.quarkus.deployment.builditem;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
+import io.smallrye.common.constraint.Assert;
/**
* The configuration type build item. Every configuration type should be registered using this build item
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogCategoryBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogCategoryBuildItem.java
index 327a92d44be2c..5f97c5efcc86d 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogCategoryBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogCategoryBuildItem.java
@@ -2,9 +2,8 @@
import java.util.logging.Level;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
+import io.smallrye.common.constraint.Assert;
/**
* Establish the default log level of a log category.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogConsoleFormatBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogConsoleFormatBuildItem.java
index a30522477735a..1ded7eb6ade63 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogConsoleFormatBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogConsoleFormatBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Formatter;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* The log console format build item. Producing this item will cause the logging subsystem to disregard its
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogFileFormatBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogFileFormatBuildItem.java
index 2547b409e8984..cdb79e2b0401b 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogFileFormatBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogFileFormatBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Formatter;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* The log file format build item. Producing this item will cause the logging subsystem to disregard its
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogHandlerBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogHandlerBuildItem.java
index 963c17912dcc8..4cecbea94c652 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogHandlerBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogHandlerBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Handler;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* A build item for adding additional logging handlers.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSocketFormatBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSocketFormatBuildItem.java
index 23aeaf109b955..519849e0d1400 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSocketFormatBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSocketFormatBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Formatter;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* The socket format build item. Producing this item will cause the logging subsystem to disregard its
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSyslogFormatBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSyslogFormatBuildItem.java
index f20812149a246..fb23437d10471 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSyslogFormatBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/LogSyslogFormatBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Formatter;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* The syslog format build item. Producing this item will cause the logging subsystem to disregard its
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/NamedLogHandlersBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/NamedLogHandlersBuildItem.java
index 6764f740726de..e6f7b7e3dca93 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/NamedLogHandlersBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/NamedLogHandlersBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Map;
import java.util.logging.Handler;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* A build item for adding additional named logging handlers.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/RunTimeConfigurationDefaultBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/RunTimeConfigurationDefaultBuildItem.java
index aecb5c9186fbf..24e7f142a1a21 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/RunTimeConfigurationDefaultBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/RunTimeConfigurationDefaultBuildItem.java
@@ -1,9 +1,8 @@
package io.quarkus.deployment.builditem;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.MultiBuildItem;
import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.common.constraint.Assert;
/**
* A build item which specifies a configuration default value for run time, which is used to establish a default other
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/StreamingLogHandlerBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/StreamingLogHandlerBuildItem.java
index 5271f0e8f11de..68688e60f973c 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/StreamingLogHandlerBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/StreamingLogHandlerBuildItem.java
@@ -3,10 +3,9 @@
import java.util.Optional;
import java.util.logging.Handler;
-import org.wildfly.common.Assert;
-
import io.quarkus.builder.item.SimpleBuildItem;
import io.quarkus.runtime.RuntimeValue;
+import io.smallrye.common.constraint.Assert;
/**
* A build item for adding the dev stream log via mutiny.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/BuildTimeConfigurationReader.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/BuildTimeConfigurationReader.java
index 1d3af46be5a0a..53ebdb39354fa 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/BuildTimeConfigurationReader.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/BuildTimeConfigurationReader.java
@@ -37,7 +37,6 @@
import org.eclipse.microprofile.config.spi.ConfigSource;
import org.eclipse.microprofile.config.spi.Converter;
import org.jboss.logging.Logger;
-import org.wildfly.common.Assert;
import io.quarkus.deployment.configuration.definition.ClassDefinition;
import io.quarkus.deployment.configuration.definition.ClassDefinition.ClassMember;
@@ -72,6 +71,7 @@
import io.quarkus.runtime.configuration.HyphenateEnumConverter;
import io.quarkus.runtime.configuration.NameIterator;
import io.quarkus.runtime.configuration.PropertiesUtil;
+import io.smallrye.common.constraint.Assert;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.ConfigMappings;
import io.smallrye.config.ConfigMappings.ConfigClass;
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java
index 5c7089a68ec5e..2462b6ee127da 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/RunTimeConfigurationGenerator.java
@@ -24,7 +24,6 @@
import org.eclipse.microprofile.config.spi.ConfigBuilder;
import org.eclipse.microprofile.config.spi.Converter;
import org.objectweb.asm.Opcodes;
-import org.wildfly.common.Assert;
import io.quarkus.deployment.AccessorFinder;
import io.quarkus.deployment.configuration.definition.ClassDefinition;
@@ -64,6 +63,7 @@
import io.quarkus.runtime.configuration.NameIterator;
import io.quarkus.runtime.configuration.PropertiesUtil;
import io.quarkus.runtime.configuration.QuarkusConfigFactory;
+import io.smallrye.common.constraint.Assert;
import io.smallrye.config.ConfigMappings;
import io.smallrye.config.ConfigMappings.ConfigClass;
import io.smallrye.config.Converters;
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/ClassDefinition.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/ClassDefinition.java
index 33d1713e78f6a..45d7e802a2ffe 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/ClassDefinition.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/ClassDefinition.java
@@ -5,11 +5,10 @@
import java.util.LinkedHashMap;
import java.util.Map;
-import org.wildfly.common.Assert;
-
import io.quarkus.gizmo.FieldDescriptor;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.util.StringUtil;
+import io.smallrye.common.constraint.Assert;
/**
*
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/RootDefinition.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/RootDefinition.java
index bd0122ab96e69..e5207265f6478 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/RootDefinition.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/definition/RootDefinition.java
@@ -9,11 +9,10 @@
import java.util.List;
-import org.wildfly.common.Assert;
-
import io.quarkus.gizmo.FieldDescriptor;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
+import io.smallrye.common.constraint.Assert;
/**
*
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/ConfigPatternMap.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/ConfigPatternMap.java
index fbf525fc1c6bf..b0d941ad66d02 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/ConfigPatternMap.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/ConfigPatternMap.java
@@ -6,9 +6,8 @@
import java.util.TreeMap;
import java.util.function.BiFunction;
-import org.wildfly.common.Assert;
-
import io.quarkus.runtime.configuration.NameIterator;
+import io.smallrye.common.constraint.Assert;
/**
* A pattern-matching mapping of configuration key pattern to value.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/FieldContainer.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/FieldContainer.java
index 83235050cf98b..2b306bbf6510c 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/FieldContainer.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/FieldContainer.java
@@ -1,9 +1,8 @@
package io.quarkus.deployment.configuration.matching;
-import org.wildfly.common.Assert;
-
import io.quarkus.deployment.configuration.definition.ClassDefinition;
import io.quarkus.deployment.configuration.definition.RootDefinition;
+import io.smallrye.common.constraint.Assert;
/**
*
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/MapContainer.java b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/MapContainer.java
index 9360e81635e07..126b6dae51415 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/MapContainer.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/configuration/matching/MapContainer.java
@@ -1,8 +1,7 @@
package io.quarkus.deployment.configuration.matching;
-import org.wildfly.common.Assert;
-
import io.quarkus.deployment.configuration.definition.ClassDefinition;
+import io.smallrye.common.constraint.Assert;
/**
* A map container.
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/recording/BytecodeRecorderImpl.java b/core/deployment/src/main/java/io/quarkus/deployment/recording/BytecodeRecorderImpl.java
index fe7de16a3e408..bdfe74a0a7931 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/recording/BytecodeRecorderImpl.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/recording/BytecodeRecorderImpl.java
@@ -51,7 +51,6 @@
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.MethodInfo;
import org.jboss.jandex.Type;
-import org.wildfly.common.Assert;
import io.quarkus.deployment.proxy.ProxyConfiguration;
import io.quarkus.deployment.proxy.ProxyFactory;
@@ -76,6 +75,7 @@
import io.quarkus.runtime.types.GenericArrayTypeImpl;
import io.quarkus.runtime.types.ParameterizedTypeImpl;
import io.quarkus.runtime.types.WildcardTypeImpl;
+import io.smallrye.common.constraint.Assert;
/**
* A class that can be used to record invocations to bytecode so they can be replayed later. This is done through the
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 4c92590c0b6b4..52742455423b0 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -303,6 +303,15 @@
+
+ de.thetaphi
+ forbiddenapis
+
+
+ **/Target_org_wildfly_common_net*
+
+
+
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/Application.java b/core/runtime/src/main/java/io/quarkus/runtime/Application.java
index e235f12eb7db9..6edb476a7718c 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/Application.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/Application.java
@@ -6,12 +6,12 @@
import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
import org.jboss.logging.Logger;
-import org.wildfly.common.Assert;
import org.wildfly.common.lock.Locks;
import io.quarkus.bootstrap.runner.Timing;
import io.quarkus.dev.appstate.ApplicationStateNotification;
import io.quarkus.runtime.shutdown.ShutdownRecorder;
+import io.smallrye.common.constraint.Assert;
/**
* The application base class, which is extended and implemented by a generated class which implements the application
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/configuration/CidrAddressConverter.java b/core/runtime/src/main/java/io/quarkus/runtime/configuration/CidrAddressConverter.java
index 7dfaefabf0118..ea633a388771c 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/configuration/CidrAddressConverter.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/configuration/CidrAddressConverter.java
@@ -7,8 +7,9 @@
import jakarta.annotation.Priority;
import org.eclipse.microprofile.config.spi.Converter;
-import org.wildfly.common.net.CidrAddress;
-import org.wildfly.common.net.Inet;
+
+import io.smallrye.common.net.CidrAddress;
+import io.smallrye.common.net.Inet;
/**
* A converter which converts a CIDR address into an instance of {@link CidrAddress}.
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/configuration/NameIterator.java b/core/runtime/src/main/java/io/quarkus/runtime/configuration/NameIterator.java
index f78ad5352a65e..fa03d4a76ee18 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/configuration/NameIterator.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/configuration/NameIterator.java
@@ -2,7 +2,7 @@
import java.util.NoSuchElementException;
-import org.wildfly.common.Assert;
+import io.smallrye.common.constraint.Assert;
public final class NameIterator {
/**
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/CidrAddressSubstitutions.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/CidrAddressSubstitutions.java
deleted file mode 100644
index cef12dc3b548f..0000000000000
--- a/core/runtime/src/main/java/io/quarkus/runtime/graal/CidrAddressSubstitutions.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package io.quarkus.runtime.graal;
-
-import java.net.InetAddress;
-
-import org.wildfly.common.net.CidrAddress;
-import org.wildfly.common.net.Inet;
-
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.InjectAccessors;
-import com.oracle.svm.core.annotate.TargetClass;
-
-import io.quarkus.runtime.graal.Target_org_wildfly_common_net_CidrAddress.CidrAddressUtil;
-
-/*
- * The following substitutions are required because of a new restriction in GraalVM 19.3.0 that prohibits the presence of
- * java.net.Inet4Address and java.net.Inet6Address in the image heap. Each field annotated with @InjectAccessors is lazily
- * recomputed at runtime on first access while CidrAddress.class can still be initialized during the native image build.
- */
-@TargetClass(CidrAddress.class)
-final class Target_org_wildfly_common_net_CidrAddress {
-
- @Alias
- private Target_org_wildfly_common_net_CidrAddress(InetAddress networkAddress, int netmaskBits) {
- }
-
- @Alias
- @InjectAccessors(Inet4AnyCidrAccessor.class)
- public static CidrAddress INET4_ANY_CIDR;
-
- @Alias
- @InjectAccessors(Inet6AnyCidrAccessor.class)
- public static CidrAddress INET6_ANY_CIDR;
-
- static class CidrAddressUtil {
- static Target_org_wildfly_common_net_CidrAddress newInstance(InetAddress networkAddress, int netmaskBits) {
- return new Target_org_wildfly_common_net_CidrAddress(networkAddress, netmaskBits);
- }
- }
-}
-
-class Inet4AnyCidrAccessor {
-
- private static volatile Target_org_wildfly_common_net_CidrAddress INET4_ANY_CIDR;
-
- static Target_org_wildfly_common_net_CidrAddress get() {
- Target_org_wildfly_common_net_CidrAddress result = INET4_ANY_CIDR;
- if (result == null) {
- // Lazy initialization on first access.
- result = initializeOnce();
- }
- return result;
- }
-
- private static synchronized Target_org_wildfly_common_net_CidrAddress initializeOnce() {
- Target_org_wildfly_common_net_CidrAddress result = INET4_ANY_CIDR;
- if (result != null) {
- // Double-checked locking is OK because INSTANCE is volatile.
- return result;
- }
- result = CidrAddressUtil.newInstance(Inet.INET4_ANY, 0);
- INET4_ANY_CIDR = result;
- return result;
- }
-}
-
-class Inet6AnyCidrAccessor {
-
- private static volatile Target_org_wildfly_common_net_CidrAddress INET6_ANY_CIDR;
-
- static Target_org_wildfly_common_net_CidrAddress get() {
- Target_org_wildfly_common_net_CidrAddress result = INET6_ANY_CIDR;
- if (result == null) {
- // Lazy initialization on first access.
- result = initializeOnce();
- }
- return result;
- }
-
- private static synchronized Target_org_wildfly_common_net_CidrAddress initializeOnce() {
- Target_org_wildfly_common_net_CidrAddress result = INET6_ANY_CIDR;
- if (result != null) {
- // Double-checked locking is OK because INSTANCE is volatile.
- return result;
- }
- result = CidrAddressUtil.newInstance(Inet.INET6_ANY, 0);
- INET6_ANY_CIDR = result;
- return result;
- }
-}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/InetRunTime.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/InetRunTime.java
index 2c1b3ad592945..fa1ee1105412d 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/graal/InetRunTime.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/InetRunTime.java
@@ -3,7 +3,8 @@
import java.net.Inet4Address;
import java.net.Inet6Address;
-import org.wildfly.common.net.Inet;
+import io.quarkus.runtime.graal.Target_io_smallrye_common_net_CidrAddress.CidrAddressUtil;
+import io.smallrye.common.net.Inet;
public class InetRunTime {
public static final Inet4Address INET4_ANY = Inet.getInet4Address(0, 0, 0, 0);
@@ -12,3 +13,83 @@ public class InetRunTime {
public static final Inet6Address INET6_ANY = Inet.getInet6Address(0, 0, 0, 0, 0, 0, 0, 0);
public static final Inet6Address INET6_LOOPBACK = Inet.getInet6Address(0, 0, 0, 0, 0, 0, 0, 1);
}
+
+final class Inet4AnyAccessor {
+ static Inet4Address get() {
+ return InetRunTime.INET4_ANY;
+ }
+}
+
+final class Inet4LoopbackAccessor {
+ static Inet4Address get() {
+ return InetRunTime.INET4_LOOPBACK;
+ }
+}
+
+final class Inet4BroadcastAccessor {
+ static Inet4Address get() {
+ return InetRunTime.INET4_BROADCAST;
+ }
+}
+
+final class Inet6AnyAccessor {
+ static Inet6Address get() {
+ return InetRunTime.INET6_ANY;
+ }
+}
+
+final class Inet6LoopbackAccessor {
+ static Inet6Address get() {
+ return InetRunTime.INET6_LOOPBACK;
+ }
+}
+
+class Inet4AnyCidrAccessor {
+
+ private static volatile Target_io_smallrye_common_net_CidrAddress INET4_ANY_CIDR;
+
+ static Target_io_smallrye_common_net_CidrAddress get() {
+ Target_io_smallrye_common_net_CidrAddress result = INET4_ANY_CIDR;
+ if (result == null) {
+ // Lazy initialization on first access.
+ result = initializeOnce();
+ }
+ return result;
+ }
+
+ private static synchronized Target_io_smallrye_common_net_CidrAddress initializeOnce() {
+ Target_io_smallrye_common_net_CidrAddress result = INET4_ANY_CIDR;
+ if (result != null) {
+ // Double-checked locking is OK because INSTANCE is volatile.
+ return result;
+ }
+ result = CidrAddressUtil.newInstance(Inet.INET4_ANY, 0);
+ INET4_ANY_CIDR = result;
+ return result;
+ }
+}
+
+class Inet6AnyCidrAccessor {
+
+ private static volatile Target_io_smallrye_common_net_CidrAddress INET6_ANY_CIDR;
+
+ static Target_io_smallrye_common_net_CidrAddress get() {
+ Target_io_smallrye_common_net_CidrAddress result = INET6_ANY_CIDR;
+ if (result == null) {
+ // Lazy initialization on first access.
+ result = initializeOnce();
+ }
+ return result;
+ }
+
+ private static synchronized Target_io_smallrye_common_net_CidrAddress initializeOnce() {
+ Target_io_smallrye_common_net_CidrAddress result = INET6_ANY_CIDR;
+ if (result != null) {
+ // Double-checked locking is OK because INSTANCE is volatile.
+ return result;
+ }
+ result = CidrAddressUtil.newInstance(Inet.INET6_ANY, 0);
+ INET6_ANY_CIDR = result;
+ return result;
+ }
+}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_CidrAddress.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_CidrAddress.java
new file mode 100644
index 0000000000000..2b633cbc3a338
--- /dev/null
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_CidrAddress.java
@@ -0,0 +1,36 @@
+package io.quarkus.runtime.graal;
+
+import java.net.InetAddress;
+
+import com.oracle.svm.core.annotate.Alias;
+import com.oracle.svm.core.annotate.InjectAccessors;
+import com.oracle.svm.core.annotate.TargetClass;
+
+import io.smallrye.common.net.CidrAddress;
+
+/*
+ * The following substitutions are required because of a new restriction in GraalVM 19.3.0 that prohibits the presence of
+ * java.net.Inet4Address and java.net.Inet6Address in the image heap. Each field annotated with @InjectAccessors is lazily
+ * recomputed at runtime on first access while CidrAddress.class can still be initialized during the native image build.
+ */
+@TargetClass(CidrAddress.class)
+final class Target_io_smallrye_common_net_CidrAddress {
+
+ @Alias
+ private Target_io_smallrye_common_net_CidrAddress(InetAddress networkAddress, int netmaskBits) {
+ }
+
+ @Alias
+ @InjectAccessors(Inet4AnyCidrAccessor.class)
+ public static CidrAddress INET4_ANY_CIDR;
+
+ @Alias
+ @InjectAccessors(Inet6AnyCidrAccessor.class)
+ public static CidrAddress INET6_ANY_CIDR;
+
+ static class CidrAddressUtil {
+ static Target_io_smallrye_common_net_CidrAddress newInstance(InetAddress networkAddress, int netmaskBits) {
+ return new Target_io_smallrye_common_net_CidrAddress(networkAddress, netmaskBits);
+ }
+ }
+}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_Inet.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_Inet.java
new file mode 100644
index 0000000000000..41c3794a0832c
--- /dev/null
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_io_smallrye_common_net_Inet.java
@@ -0,0 +1,39 @@
+package io.quarkus.runtime.graal;
+
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+
+import com.oracle.svm.core.annotate.Alias;
+import com.oracle.svm.core.annotate.InjectAccessors;
+import com.oracle.svm.core.annotate.TargetClass;
+
+import io.smallrye.common.net.Inet;
+
+/*
+ * The following substitutions are required because of a new restriction in GraalVM 19.3.0 that prohibits the presence of
+ * java.net.Inet4Address and java.net.Inet6Address in the image heap. Each field annotated with @InjectAccessors is lazily
+ * recomputed at runtime on first access while Inet.class can still be initialized during the native image build.
+ */
+@TargetClass(Inet.class)
+final class Target_io_smallrye_common_net_Inet {
+
+ @Alias
+ @InjectAccessors(Inet4AnyAccessor.class)
+ public static Inet4Address INET4_ANY;
+
+ @Alias
+ @InjectAccessors(Inet4LoopbackAccessor.class)
+ public static Inet4Address INET4_LOOPBACK;
+
+ @Alias
+ @InjectAccessors(Inet4BroadcastAccessor.class)
+ public static Inet4Address INET4_BROADCAST;
+
+ @Alias
+ @InjectAccessors(Inet6AnyAccessor.class)
+ public static Inet6Address INET6_ANY;
+
+ @Alias
+ @InjectAccessors(Inet6LoopbackAccessor.class)
+ public static Inet6Address INET6_LOOPBACK;
+}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_CidrAddress.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_CidrAddress.java
new file mode 100644
index 0000000000000..fbe2504cd9884
--- /dev/null
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_CidrAddress.java
@@ -0,0 +1,36 @@
+package io.quarkus.runtime.graal;
+
+import java.net.InetAddress;
+
+import org.wildfly.common.net.CidrAddress;
+
+import com.oracle.svm.core.annotate.Alias;
+import com.oracle.svm.core.annotate.InjectAccessors;
+import com.oracle.svm.core.annotate.TargetClass;
+
+/*
+ * The following substitutions are required because of a new restriction in GraalVM 19.3.0 that prohibits the presence of
+ * java.net.Inet4Address and java.net.Inet6Address in the image heap. Each field annotated with @InjectAccessors is lazily
+ * recomputed at runtime on first access while CidrAddress.class can still be initialized during the native image build.
+ */
+@TargetClass(CidrAddress.class)
+final class Target_org_wildfly_common_net_CidrAddress {
+
+ @Alias
+ private Target_org_wildfly_common_net_CidrAddress(InetAddress networkAddress, int netmaskBits) {
+ }
+
+ @Alias
+ @InjectAccessors(Inet4AnyCidrAccessor.class)
+ public static CidrAddress INET4_ANY_CIDR;
+
+ @Alias
+ @InjectAccessors(Inet6AnyCidrAccessor.class)
+ public static CidrAddress INET6_ANY_CIDR;
+
+ static class CidrAddressUtil {
+ static Target_org_wildfly_common_net_CidrAddress newInstance(InetAddress networkAddress, int netmaskBits) {
+ return new Target_org_wildfly_common_net_CidrAddress(networkAddress, netmaskBits);
+ }
+ }
+}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/InetSubstitutions.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_Inet.java
similarity index 68%
rename from core/runtime/src/main/java/io/quarkus/runtime/graal/InetSubstitutions.java
rename to core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_Inet.java
index 22e9ec376b93c..f8d5a1fab8982 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/graal/InetSubstitutions.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/Target_org_wildfly_common_net_Inet.java
@@ -37,33 +37,3 @@ final class Target_org_wildfly_common_net_Inet {
@InjectAccessors(Inet6LoopbackAccessor.class)
public static Inet6Address INET6_LOOPBACK;
}
-
-final class Inet4AnyAccessor {
- static Inet4Address get() {
- return InetRunTime.INET4_ANY;
- }
-}
-
-final class Inet4LoopbackAccessor {
- static Inet4Address get() {
- return InetRunTime.INET4_LOOPBACK;
- }
-}
-
-final class Inet4BroadcastAccessor {
- static Inet4Address get() {
- return InetRunTime.INET4_BROADCAST;
- }
-}
-
-final class Inet6AnyAccessor {
- static Inet6Address get() {
- return InetRunTime.INET6_ANY;
- }
-}
-
-final class Inet6LoopbackAccessor {
- static Inet6Address get() {
- return InetRunTime.INET6_LOOPBACK;
- }
-}
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/logging/LoggingSetupRecorder.java b/core/runtime/src/main/java/io/quarkus/runtime/logging/LoggingSetupRecorder.java
index d6ea4794e6b20..f35a464a7ad73 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/logging/LoggingSetupRecorder.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/logging/LoggingSetupRecorder.java
@@ -1,9 +1,9 @@
package io.quarkus.runtime.logging;
+import static io.smallrye.common.net.HostName.getQualifiedHostName;
+import static io.smallrye.common.os.Process.getProcessName;
import static java.util.Collections.emptyList;
import static java.util.Collections.emptyMap;
-import static org.wildfly.common.net.HostName.getQualifiedHostName;
-import static org.wildfly.common.os.Process.getProcessName;
import java.io.FileNotFoundException;
import java.io.IOException;
diff --git a/core/runtime/src/test/java/io/quarkus/runtime/configuration/ConverterTestCase.java b/core/runtime/src/test/java/io/quarkus/runtime/configuration/ConverterTestCase.java
index fabe058dfdcb2..f524d57b9665d 100644
--- a/core/runtime/src/test/java/io/quarkus/runtime/configuration/ConverterTestCase.java
+++ b/core/runtime/src/test/java/io/quarkus/runtime/configuration/ConverterTestCase.java
@@ -8,8 +8,9 @@
import org.junit.jupiter.api.Test;
import org.opentest4j.TestAbortedException;
-import org.wildfly.common.net.CidrAddress;
-import org.wildfly.common.net.Inet;
+
+import io.smallrye.common.net.CidrAddress;
+import io.smallrye.common.net.Inet;
public class ConverterTestCase {
diff --git a/devtools/maven/src/main/java/io/quarkus/maven/MojoLogger.java b/devtools/maven/src/main/java/io/quarkus/maven/MojoLogger.java
index c1297fa658e09..423fdc27f231a 100644
--- a/devtools/maven/src/main/java/io/quarkus/maven/MojoLogger.java
+++ b/devtools/maven/src/main/java/io/quarkus/maven/MojoLogger.java
@@ -9,7 +9,8 @@
import org.apache.maven.shared.utils.logging.MessageUtils;
import org.jboss.logging.Logger;
import org.jboss.logging.LoggerProvider;
-import org.wildfly.common.Assert;
+
+import io.smallrye.common.constraint.Assert;
public class MojoLogger implements LoggerProvider {
static final Object[] NO_PARAMS = new Object[0];
diff --git a/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/SimpleBeanTest.java b/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/SimpleBeanTest.java
index 5575471671ed6..e9c1cccb1d6d0 100644
--- a/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/SimpleBeanTest.java
+++ b/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/SimpleBeanTest.java
@@ -1,8 +1,8 @@
package io.quarkus.arc.test;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.wildfly.common.Assert.assertFalse;
import jakarta.inject.Inject;
diff --git a/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/config/ConfigPropertyMapInjectionTest.java b/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/config/ConfigPropertyMapInjectionTest.java
index b590a8a791d4c..d8193770f460a 100644
--- a/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/config/ConfigPropertyMapInjectionTest.java
+++ b/extensions/arc/deployment/src/test/java/io/quarkus/arc/test/config/ConfigPropertyMapInjectionTest.java
@@ -1,8 +1,8 @@
package io.quarkus.arc.test.config;
-import static io.smallrye.common.constraint.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Map;
import java.util.Objects;
diff --git a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BCryptPassword.java b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BCryptPassword.java
index 09e8f55eb91fd..a999f721ae462 100644
--- a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BCryptPassword.java
+++ b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BCryptPassword.java
@@ -2,12 +2,12 @@
import java.util.Arrays;
-import org.wildfly.common.Assert;
-
import com.oracle.svm.core.annotate.Alias;
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
+import io.smallrye.common.constraint.Assert;
+
@TargetClass(className = "org.wildfly.security.password.interfaces.BCryptPassword")
public final class Target_org_wildfly_security_password_interfaces_BCryptPassword {
diff --git a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BSDUnixDESCryptPassword.java b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BSDUnixDESCryptPassword.java
index 8f88e0be504d1..c6cfbec0d7ea2 100644
--- a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BSDUnixDESCryptPassword.java
+++ b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_BSDUnixDESCryptPassword.java
@@ -2,12 +2,12 @@
import java.util.Arrays;
-import org.wildfly.common.Assert;
-
import com.oracle.svm.core.annotate.Alias;
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
+import io.smallrye.common.constraint.Assert;
+
@TargetClass(className = "org.wildfly.security.password.interfaces.BSDUnixDESCryptPassword")
public final class Target_org_wildfly_security_password_interfaces_BSDUnixDESCryptPassword {
diff --git a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_ClearPassword.java b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_ClearPassword.java
index 5d3c972695625..301377bf6e9d7 100644
--- a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_ClearPassword.java
+++ b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_ClearPassword.java
@@ -1,6 +1,6 @@
package io.quarkus.elytron.security.common.runtime.graal;
-import static org.wildfly.common.Assert.checkNotNullParam;
+import static io.smallrye.common.constraint.Assert.checkNotNullParam;
import org.wildfly.security.password.interfaces.ClearPassword;
diff --git a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_MaskedPassword.java b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_MaskedPassword.java
index f8f7f9913c707..e4bbe63c5d802 100644
--- a/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_MaskedPassword.java
+++ b/extensions/elytron-security-common/runtime/src/main/java/io/quarkus/elytron/security/common/runtime/graal/Target_org_wildfly_security_password_interfaces_MaskedPassword.java
@@ -1,11 +1,12 @@
package io.quarkus.elytron.security.common.runtime.graal;
-import org.wildfly.common.Assert;
import org.wildfly.security.password.interfaces.MaskedPassword;
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
+import io.smallrye.common.constraint.Assert;
+
/**
* Replace the {@linkplain MaskedPassword} interface due to an issue with char[].clone() failures during native image
* generation.
diff --git a/extensions/elytron-security-ldap/runtime/src/main/java/io/quarkus/elytron/security/ldap/DelegatingLdapContext.java b/extensions/elytron-security-ldap/runtime/src/main/java/io/quarkus/elytron/security/ldap/DelegatingLdapContext.java
index 6f43ceb731a5a..2b71d2bd99914 100644
--- a/extensions/elytron-security-ldap/runtime/src/main/java/io/quarkus/elytron/security/ldap/DelegatingLdapContext.java
+++ b/extensions/elytron-security-ldap/runtime/src/main/java/io/quarkus/elytron/security/ldap/DelegatingLdapContext.java
@@ -22,9 +22,10 @@
import javax.naming.ldap.LdapContext;
import javax.net.SocketFactory;
-import org.wildfly.common.Assert;
import org.wildfly.security.auth.realm.ldap.ThreadLocalSSLSocketFactory;
+import io.smallrye.common.constraint.Assert;
+
class DelegatingLdapContext implements LdapContext {
private final DirContext delegating;
diff --git a/extensions/hibernate-envers/deployment/src/test/java/io/quarkus/hibernate/orm/envers/EnversFastBootingTest.java b/extensions/hibernate-envers/deployment/src/test/java/io/quarkus/hibernate/orm/envers/EnversFastBootingTest.java
index d6148c030447e..acf8d694c7298 100644
--- a/extensions/hibernate-envers/deployment/src/test/java/io/quarkus/hibernate/orm/envers/EnversFastBootingTest.java
+++ b/extensions/hibernate-envers/deployment/src/test/java/io/quarkus/hibernate/orm/envers/EnversFastBootingTest.java
@@ -5,10 +5,10 @@
import org.hibernate.Session;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.wildfly.common.Assert;
import io.quarkus.bootstrap.classloading.ClassLoaderLimiter;
import io.quarkus.test.QuarkusUnitTest;
+import io.smallrye.common.constraint.Assert;
/**
* Let's run some checks to verify that the optimisations we have
diff --git a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/JPAFastBootingTest.java b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/JPAFastBootingTest.java
index 4c7ecd850e049..3160135b9f437 100644
--- a/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/JPAFastBootingTest.java
+++ b/extensions/hibernate-orm/deployment/src/test/java/io/quarkus/hibernate/orm/JPAFastBootingTest.java
@@ -5,11 +5,11 @@
import org.hibernate.Session;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.wildfly.common.Assert;
import io.quarkus.bootstrap.classloading.ClassLoaderLimiter;
import io.quarkus.hibernate.orm.enhancer.Address;
import io.quarkus.test.QuarkusUnitTest;
+import io.smallrye.common.constraint.Assert;
/**
* Let's run some checks to verify that the optimisations we have
diff --git a/extensions/resteasy-reactive/rest-qute/deployment/src/test/java/io/quarkus/resteasy/reactive/qute/deployment/TypeErrorTest3.java b/extensions/resteasy-reactive/rest-qute/deployment/src/test/java/io/quarkus/resteasy/reactive/qute/deployment/TypeErrorTest3.java
index 80b9c5d9a01ed..cf007254f46ae 100644
--- a/extensions/resteasy-reactive/rest-qute/deployment/src/test/java/io/quarkus/resteasy/reactive/qute/deployment/TypeErrorTest3.java
+++ b/extensions/resteasy-reactive/rest-qute/deployment/src/test/java/io/quarkus/resteasy/reactive/qute/deployment/TypeErrorTest3.java
@@ -2,9 +2,9 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.wildfly.common.Assert;
import io.quarkus.test.QuarkusUnitTest;
+import io.smallrye.common.constraint.Assert;
public class TypeErrorTest3 {
diff --git a/extensions/spring-scheduled/deployment/src/test/java/io/quarkus/spring/scheduled/deployment/RepeatedScheduledMethodTest.java b/extensions/spring-scheduled/deployment/src/test/java/io/quarkus/spring/scheduled/deployment/RepeatedScheduledMethodTest.java
index 16ec6524099ed..041b3263e3ea0 100644
--- a/extensions/spring-scheduled/deployment/src/test/java/io/quarkus/spring/scheduled/deployment/RepeatedScheduledMethodTest.java
+++ b/extensions/spring-scheduled/deployment/src/test/java/io/quarkus/spring/scheduled/deployment/RepeatedScheduledMethodTest.java
@@ -1,6 +1,6 @@
package io.quarkus.spring.scheduled.deployment;
-import static org.wildfly.common.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
diff --git a/extensions/tls-registry/cli/pom.xml b/extensions/tls-registry/cli/pom.xml
index 5b76a26f2553d..781314866adea 100644
--- a/extensions/tls-registry/cli/pom.xml
+++ b/extensions/tls-registry/cli/pom.xml
@@ -25,6 +25,11 @@
smallrye-certificate-generator
+
+ io.smallrye.common
+ smallrye-common-constraint
+
+
io.vertx
vertx-web-client
diff --git a/extensions/tls-registry/cli/src/main/java/io/quarkus/tls/cli/letsencrypt/AcmeClient.java b/extensions/tls-registry/cli/src/main/java/io/quarkus/tls/cli/letsencrypt/AcmeClient.java
index 1aef36e1cea1f..2f788e0354bd3 100644
--- a/extensions/tls-registry/cli/src/main/java/io/quarkus/tls/cli/letsencrypt/AcmeClient.java
+++ b/extensions/tls-registry/cli/src/main/java/io/quarkus/tls/cli/letsencrypt/AcmeClient.java
@@ -8,12 +8,12 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.wildfly.common.Assert;
import org.wildfly.security.x500.cert.acme.AcmeAccount;
import org.wildfly.security.x500.cert.acme.AcmeChallenge;
import org.wildfly.security.x500.cert.acme.AcmeClientSpi;
import org.wildfly.security.x500.cert.acme.AcmeException;
+import io.smallrye.common.constraint.Assert;
import io.vertx.core.Future;
import io.vertx.core.Vertx;
import io.vertx.core.buffer.Buffer;
diff --git a/extensions/vertx-http/runtime/pom.xml b/extensions/vertx-http/runtime/pom.xml
index db881c31fbd86..75c046f3f1904 100644
--- a/extensions/vertx-http/runtime/pom.xml
+++ b/extensions/vertx-http/runtime/pom.xml
@@ -138,6 +138,10 @@
+
+ de.thetaphi
+ forbiddenapis
+
diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/ForwardedProxyHandler.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/ForwardedProxyHandler.java
index 82c548558a30b..a34288d0ad72b 100644
--- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/ForwardedProxyHandler.java
+++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/ForwardedProxyHandler.java
@@ -9,8 +9,8 @@
import java.util.function.Supplier;
import org.jboss.logging.Logger;
-import org.wildfly.common.net.Inet;
+import io.smallrye.common.net.Inet;
import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
diff --git a/extensions/vertx/runtime/pom.xml b/extensions/vertx/runtime/pom.xml
index a9ea2bbc1a771..1ccbfa746c2d9 100644
--- a/extensions/vertx/runtime/pom.xml
+++ b/extensions/vertx/runtime/pom.xml
@@ -118,6 +118,10 @@
+
+ de.thetaphi
+ forbiddenapis
+
diff --git a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/VertxCoreRecorder.java b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/VertxCoreRecorder.java
index e20e71618d897..8f30b4e3eb537 100644
--- a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/VertxCoreRecorder.java
+++ b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/VertxCoreRecorder.java
@@ -30,7 +30,6 @@
import org.jboss.logging.Logger;
import org.jboss.threads.ContextHandler;
-import org.wildfly.common.cpu.ProcessorInfo;
import io.netty.channel.EventLoopGroup;
import io.netty.util.concurrent.FastThreadLocal;
@@ -50,6 +49,7 @@
import io.quarkus.vertx.mdc.provider.LateBoundMDCProvider;
import io.quarkus.vertx.runtime.VertxCurrentContextFactory;
import io.quarkus.vertx.runtime.jackson.QuarkusJacksonFactory;
+import io.smallrye.common.cpu.ProcessorInfo;
import io.vertx.core.AsyncResult;
import io.vertx.core.Context;
import io.vertx.core.Handler;
diff --git a/integration-tests/main/src/main/java/io/quarkus/it/config/MicroProfileConfigResource.java b/integration-tests/main/src/main/java/io/quarkus/it/config/MicroProfileConfigResource.java
index 3e20f26ad0b87..5553e541680df 100644
--- a/integration-tests/main/src/main/java/io/quarkus/it/config/MicroProfileConfigResource.java
+++ b/integration-tests/main/src/main/java/io/quarkus/it/config/MicroProfileConfigResource.java
@@ -6,7 +6,8 @@
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.inject.ConfigProperty;
-import org.wildfly.common.net.CidrAddress;
+
+import io.smallrye.common.net.CidrAddress;
/**
* Test some MicroProfile config primitives.
diff --git a/integration-tests/main/src/main/java/io/quarkus/it/context/ContextPropagationResource.java b/integration-tests/main/src/main/java/io/quarkus/it/context/ContextPropagationResource.java
index 9d1e733ec03e4..4e1b7ec81b527 100644
--- a/integration-tests/main/src/main/java/io/quarkus/it/context/ContextPropagationResource.java
+++ b/integration-tests/main/src/main/java/io/quarkus/it/context/ContextPropagationResource.java
@@ -15,9 +15,9 @@
import jakarta.ws.rs.core.UriInfo;
import org.eclipse.microprofile.context.ThreadContext;
-import org.wildfly.common.Assert;
import io.quarkus.arc.Arc;
+import io.smallrye.common.constraint.Assert;
import io.smallrye.context.SmallRyeManagedExecutor;
@Path("context-propagation")
diff --git a/integration-tests/main/src/main/java/io/quarkus/it/context/MutinyContextPropagationResource.java b/integration-tests/main/src/main/java/io/quarkus/it/context/MutinyContextPropagationResource.java
index c494ad5bf5fa6..86734d62a537c 100644
--- a/integration-tests/main/src/main/java/io/quarkus/it/context/MutinyContextPropagationResource.java
+++ b/integration-tests/main/src/main/java/io/quarkus/it/context/MutinyContextPropagationResource.java
@@ -11,9 +11,8 @@
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.UriInfo;
-import org.wildfly.common.Assert;
-
import io.quarkus.arc.Arc;
+import io.smallrye.common.constraint.Assert;
import io.smallrye.mutiny.Uni;
import io.smallrye.mutiny.infrastructure.Infrastructure;
diff --git a/integration-tests/main/src/test/java/io/quarkus/it/main/HealthCheckTestCase.java b/integration-tests/main/src/test/java/io/quarkus/it/main/HealthCheckTestCase.java
index f20d92563dfc8..68af43a2b094f 100644
--- a/integration-tests/main/src/test/java/io/quarkus/it/main/HealthCheckTestCase.java
+++ b/integration-tests/main/src/test/java/io/quarkus/it/main/HealthCheckTestCase.java
@@ -3,11 +3,11 @@
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Liveness;
import org.junit.jupiter.api.Test;
-import org.wildfly.common.Assert;
import io.quarkus.it.health.SimpleHealthCheck;
import io.quarkus.test.junit.DisabledOnIntegrationTest;
import io.quarkus.test.junit.QuarkusTest;
+import io.smallrye.common.constraint.Assert;
@QuarkusTest
@DisabledOnIntegrationTest("This test is not meant to be ran in native mode as Quarkus does not yet support injection " +
diff --git a/integration-tests/main/src/test/java/io/quarkus/it/main/JUnit5PerClassLifecycleTest.java b/integration-tests/main/src/test/java/io/quarkus/it/main/JUnit5PerClassLifecycleTest.java
index 053e1e30521d1..22a1a374133ea 100644
--- a/integration-tests/main/src/test/java/io/quarkus/it/main/JUnit5PerClassLifecycleTest.java
+++ b/integration-tests/main/src/test/java/io/quarkus/it/main/JUnit5PerClassLifecycleTest.java
@@ -9,10 +9,10 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
-import org.wildfly.common.Assert;
import io.quarkus.it.arc.UnusedBean;
import io.quarkus.test.junit.QuarkusTest;
+import io.smallrye.common.constraint.Assert;
/**
* Tests JUnit 5 extension when test lifecycle is PER_CLASS. This means extension events get fired in slightly different
diff --git a/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/ContextEndpoint.java b/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/ContextEndpoint.java
index 645b6f1c906ff..00ea3cfd1f056 100644
--- a/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/ContextEndpoint.java
+++ b/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/ContextEndpoint.java
@@ -21,10 +21,10 @@
import org.eclipse.microprofile.context.ManagedExecutor;
import org.eclipse.microprofile.context.ThreadContext;
import org.junit.jupiter.api.Assertions;
-import org.wildfly.common.Assert;
import io.quarkus.arc.Arc;
import io.quarkus.hibernate.orm.panache.Panache;
+import io.smallrye.common.constraint.Assert;
@Path("/context")
@Produces(MediaType.TEXT_PLAIN)
diff --git a/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/mutiny/MutinyContextEndpoint.java b/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/mutiny/MutinyContextEndpoint.java
index 38af7757bca52..540cbfdd7dfaf 100644
--- a/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/mutiny/MutinyContextEndpoint.java
+++ b/integration-tests/smallrye-context-propagation/src/test/java/io/quarkus/context/test/mutiny/MutinyContextEndpoint.java
@@ -25,11 +25,11 @@
import org.eclipse.microprofile.context.ManagedExecutor;
import org.eclipse.microprofile.context.ThreadContext;
import org.junit.jupiter.api.Assertions;
-import org.wildfly.common.Assert;
import io.quarkus.arc.Arc;
import io.quarkus.context.test.RequestBean;
import io.quarkus.hibernate.orm.panache.Panache;
+import io.smallrye.common.constraint.Assert;
import io.smallrye.mutiny.Multi;
import io.smallrye.mutiny.Uni;
import io.smallrye.mutiny.infrastructure.Infrastructure;
diff --git a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/config/UnknownConfigFilesTest.java b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/config/UnknownConfigFilesTest.java
index 1537939af1b1e..f024083dad05b 100644
--- a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/config/UnknownConfigFilesTest.java
+++ b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/config/UnknownConfigFilesTest.java
@@ -1,7 +1,7 @@
package io.quarkus.config;
-import static io.smallrye.common.constraint.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
import java.util.logging.Level;
diff --git a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/extest/PackageTestCase.java b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/extest/PackageTestCase.java
index a8fa01762499f..72312ba732ee7 100644
--- a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/extest/PackageTestCase.java
+++ b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/extest/PackageTestCase.java
@@ -8,9 +8,9 @@
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.wildfly.common.net.CidrAddress;
import io.quarkus.test.QuarkusUnitTest;
+import io.smallrye.common.net.CidrAddress;
public class PackageTestCase {
diff --git a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/logging/SyslogHandlerTest.java b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/logging/SyslogHandlerTest.java
index a0123e9ee6792..e2e568b6d69be 100644
--- a/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/logging/SyslogHandlerTest.java
+++ b/integration-tests/test-extension/extension/deployment/src/test/java/io/quarkus/logging/SyslogHandlerTest.java
@@ -1,9 +1,9 @@
package io.quarkus.logging;
import static io.quarkus.logging.LoggingTestsHelper.getHandler;
+import static io.smallrye.common.net.HostName.getQualifiedHostName;
+import static io.smallrye.common.os.Process.getProcessName;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.wildfly.common.net.HostName.getQualifiedHostName;
-import static org.wildfly.common.os.Process.getProcessName;
import java.util.logging.Formatter;
import java.util.logging.Handler;
diff --git a/test-framework/junit5-internal/src/main/java/io/quarkus/test/InMemoryLogHandler.java b/test-framework/junit5-internal/src/main/java/io/quarkus/test/InMemoryLogHandler.java
index 59f41cc339b4e..e95087123638e 100644
--- a/test-framework/junit5-internal/src/main/java/io/quarkus/test/InMemoryLogHandler.java
+++ b/test-framework/junit5-internal/src/main/java/io/quarkus/test/InMemoryLogHandler.java
@@ -7,7 +7,8 @@
import java.util.logging.LogRecord;
import org.jboss.logmanager.ExtHandler;
-import org.wildfly.common.Assert;
+
+import io.smallrye.common.constraint.Assert;
public class InMemoryLogHandler extends ExtHandler {