Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions core/builder/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
<dependencies>
<!-- Run-time -->

<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-bootstrap-json</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.common</groupId>
<artifactId>wildfly-common</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@

import org.jboss.logging.Logger;

import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.builder.item.BuildItem;

public class BuildMetrics {
Expand Down
5 changes: 4 additions & 1 deletion core/builder/src/main/java/io/quarkus/builder/Json.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@
import io.quarkus.builder.json.JsonValue;

/**
* A simple JSON string generator.
* @deprecated since 3.31.0 in favor of io.quarkus.bootstrap.json.Json
*
* A simple JSON string generator.
*/
@Deprecated(forRemoval = true)
public final class Json {

private static final String OBJECT_START = "{";
Expand Down
7 changes: 5 additions & 2 deletions core/builder/src/main/java/io/quarkus/builder/JsonReader.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,12 @@
import io.quarkus.builder.json.JsonValue;

/**
* A json format reader.
* It follows the <a href="https://www.json.org/json-en.html">ECMA-404 The JSON Data Interchange Standard.</a>.
* @deprecated since 3.31.0 in favor of io.quarkus.bootstrap.json.JsonReader
*
* A json format reader.
* It follows the <a href="https://www.json.org/json-en.html">ECMA-404 The JSON Data Interchange Standard.</a>.
*/
@Deprecated(forRemoval = true)
public class JsonReader {

private final String text;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

import io.quarkus.builder.json.JsonValue;

/**
* @deprecated since 3.31.0 in favor of io.quarkus.bootstrap.json.JsonTransformer
*/
@Deprecated(forRemoval = true)
@FunctionalInterface
public interface JsonTransform {
void accept(Json.JsonBuilder<?> builder, JsonValue element);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@

import io.quarkus.builder.JsonTransform;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonArray}
*/
@Deprecated(forRemoval = true)
public final class JsonArray implements JsonMultiValue {
private final List<JsonValue> value;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonBoolean}
*/
@Deprecated(forRemoval = true)
public enum JsonBoolean implements JsonValue {
TRUE(true),
FALSE(false);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonDouble}
*/
@Deprecated(forRemoval = true)
public final class JsonDouble implements JsonNumber {
private final double value;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonInteger}
*/
@Deprecated(forRemoval = true)
public final class JsonInteger implements JsonNumber {
private final long value;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonMember}
*/
@Deprecated(forRemoval = true)
public final class JsonMember implements JsonValue {
private final JsonString attribute;
private final JsonValue value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

import io.quarkus.builder.JsonTransform;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonMultiValue}
*/
@Deprecated(forRemoval = true)
public interface JsonMultiValue extends JsonValue {
default void forEach(JsonTransform transform) {
transform.accept(null, this);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonNull}
*/
@Deprecated(forRemoval = true)
public enum JsonNull implements JsonValue {
INSTANCE;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonNumber}
*/
@Deprecated(forRemoval = true)
public interface JsonNumber extends JsonValue {
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

import io.quarkus.builder.JsonTransform;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonObject}
*/
@Deprecated(forRemoval = true)
public final class JsonObject implements JsonMultiValue {
private final Map<JsonString, JsonValue> value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

import java.util.Objects;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonString}
*/
@Deprecated(forRemoval = true)
public final class JsonString implements JsonValue {
private final String value;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
package io.quarkus.builder.json;

/**
* @deprecated since 3.31.0 in favor of {@link io.quarkus.bootstrap.json.JsonValue}
*/
@Deprecated(forRemoval = true)
public interface JsonValue {
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@

import io.quarkus.bootstrap.BootstrapConstants;
import io.quarkus.bootstrap.BootstrapGradleException;
import io.quarkus.bootstrap.app.ApplicationModelSerializer;
import io.quarkus.bootstrap.app.CuratedApplication;
import io.quarkus.bootstrap.devmode.DependenciesFilter;
import io.quarkus.bootstrap.model.ApplicationModel;
import io.quarkus.bootstrap.resolver.AppModelResolverException;
import io.quarkus.bootstrap.util.BootstrapUtils;
import io.quarkus.bootstrap.utils.BuildToolHelper;
import io.quarkus.bootstrap.workspace.ArtifactSources;
import io.quarkus.bootstrap.workspace.SourceDir;
Expand Down Expand Up @@ -48,8 +47,8 @@ public void accept(CuratedApplication curatedApplication, Map<String, Object> st
if (BuildToolHelper.isMavenProject(appClasses)) {
appModel = curatedApplication.getApplicationModel();
} else {
appModel = BootstrapUtils
.deserializeQuarkusModel((Path) stringObjectMap.get(BootstrapConstants.SERIALIZED_APP_MODEL));
appModel = ApplicationModelSerializer
.deserialize((Path) stringObjectMap.get(BootstrapConstants.SERIALIZED_APP_MODEL));
}

if (appModel != null) {
Expand All @@ -64,7 +63,7 @@ public void accept(CuratedApplication curatedApplication, Map<String, Object> st
}
}
}
} catch (AppModelResolverException e) {
} catch (Exception e) {
log.error("Failed to load workspace, hot reload will not be available", e);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@

import org.jboss.logging.Logger;

import io.quarkus.builder.JsonReader;
import io.quarkus.builder.json.JsonArray;
import io.quarkus.builder.json.JsonObject;
import io.quarkus.builder.json.JsonString;
import io.quarkus.builder.json.JsonValue;
import io.quarkus.bootstrap.json.JsonArray;
import io.quarkus.bootstrap.json.JsonObject;
import io.quarkus.bootstrap.json.JsonReader;
import io.quarkus.bootstrap.json.JsonString;
import io.quarkus.bootstrap.json.JsonValue;
import io.quarkus.deployment.pkg.NativeConfig;
import io.smallrye.common.process.ProcessBuilder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import java.util.Map;
import java.util.Set;

import io.quarkus.builder.Json;
import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import java.nio.charset.StandardCharsets;
import java.util.List;

import io.quarkus.builder.Json;
import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import java.util.Map;
import java.util.Set;

import io.quarkus.builder.Json;
import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import java.util.List;
import java.util.regex.Pattern;

import io.quarkus.builder.Json;
import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import java.util.List;
import java.util.Set;

import io.quarkus.builder.Json;
import io.quarkus.builder.Json.JsonArrayBuilder;
import io.quarkus.builder.Json.JsonObjectBuilder;
import io.quarkus.bootstrap.json.Json;
import io.quarkus.bootstrap.json.Json.JsonArrayBuilder;
import io.quarkus.bootstrap.json.Json.JsonObjectBuilder;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@
import io.quarkus.bootstrap.model.gradle.impl.ModelParameterImpl;
import io.quarkus.bootstrap.workspace.ArtifactSources;
import io.quarkus.bootstrap.workspace.DefaultArtifactSources;
import io.quarkus.bootstrap.workspace.DefaultSourceDir;
import io.quarkus.bootstrap.workspace.DefaultWorkspaceModule;
import io.quarkus.bootstrap.workspace.LazySourceDir;
import io.quarkus.bootstrap.workspace.SourceDir;
import io.quarkus.bootstrap.workspace.WorkspaceModule;
import io.quarkus.bootstrap.workspace.WorkspaceModuleId;
Expand Down Expand Up @@ -643,7 +643,7 @@ private static void initProjectModule(Project project, WorkspaceModule.Mutable m
}
final List<SourceDir> resources = new ArrayList<>(resourceDirs.size());
for (Map.Entry<File, Path> e : resourceDirs.entrySet()) {
resources.add(new DefaultSourceDir(e.getKey().toPath(), e.getValue(), null));
resources.add(new LazySourceDir(e.getKey().toPath(), e.getValue(), null));
}
module.addArtifactSources(new DefaultArtifactSources(classifier, sourceDirs, resources));
}
Expand Down Expand Up @@ -698,7 +698,7 @@ private static void configureCompileTask(FileTree sources, DirectoryProperty des
// we are looking for the root dirs containing sources
if (visitor.getRelativePath().getSegments().length == 1) {
final File srcDir = visitor.getFile().getParentFile();
sourceDirs.add(new DefaultSourceDir(srcDir.toPath(), destDir.toPath(),
sourceDirs.add(new LazySourceDir(srcDir.toPath(), destDir.toPath(),
findGeneratedSourceDir(destDir, sourceSet),
Map.of("compiler", task.getName())));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
Expand All @@ -21,6 +18,7 @@
import org.gradle.internal.composite.IncludedBuildInternal;
import org.gradle.internal.composite.IncludedRootBuild;

import io.quarkus.bootstrap.app.ApplicationModelSerializer;
import io.quarkus.bootstrap.model.ApplicationModel;
import io.quarkus.bootstrap.model.gradle.ModelParameter;
import io.quarkus.bootstrap.model.gradle.impl.ModelParameterImpl;
Expand Down Expand Up @@ -158,24 +156,16 @@ private static Project findIncludedBuildProject(IncludedBuild ib, ExternalModule
public static Path serializeAppModel(ApplicationModel appModel, Task context, boolean test) throws IOException {
final Path serializedModel = context.getTemporaryDir().toPath()
.resolve("quarkus-app" + (test ? "-test" : "") + "-model.dat");
try (ObjectOutputStream out = new ObjectOutputStream(Files.newOutputStream(serializedModel))) {
out.writeObject(appModel);
}
ApplicationModelSerializer.serialize(appModel, serializedModel);
return serializedModel;
}

public static ApplicationModel deserializeAppModel(Path path) throws IOException {
try (ObjectInputStream out = new ObjectInputStream(Files.newInputStream(path))) {
return (ApplicationModel) out.readObject();
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
return ApplicationModelSerializer.deserialize(path);
}

public static Path serializeAppModel(ApplicationModel appModel, Path serializedModelPath) throws IOException {
try (ObjectOutputStream out = new ObjectOutputStream(Files.newOutputStream(serializedModelPath))) {
out.writeObject(appModel);
}
ApplicationModelSerializer.serialize(appModel, serializedModelPath);
return serializedModelPath;
}

Expand Down
3 changes: 2 additions & 1 deletion devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
import org.fusesource.jansi.internal.Kernel32;

import io.quarkus.bootstrap.BootstrapConstants;
import io.quarkus.bootstrap.app.ApplicationModelSerializer;
import io.quarkus.bootstrap.app.ConfiguredClassLoading;
import io.quarkus.bootstrap.app.QuarkusBootstrap;
import io.quarkus.bootstrap.devmode.DependenciesFilter;
Expand Down Expand Up @@ -1556,7 +1557,7 @@ private DevModeCommandLine newLauncher(String actualDebugPort, String bootstrapI
.extensionDevModeJvmOptionFilter(extensionJvmOptions);

// serialize the app model to avoid re-resolving it in the dev process
BootstrapUtils.serializeAppModel(appModel, appModelLocation);
ApplicationModelSerializer.serialize(appModel, appModelLocation);
builder.jvmArgs("-D" + BootstrapConstants.SERIALIZED_APP_MODEL + "=" + appModelLocation);

if (noDeps) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;

import io.quarkus.bootstrap.app.ApplicationModelSerializer;
import io.quarkus.bootstrap.app.CuratedApplication;
import io.quarkus.bootstrap.classloading.QuarkusClassLoader;
import io.quarkus.bootstrap.model.ApplicationModel;
Expand Down Expand Up @@ -111,8 +112,9 @@ void generateCode(PathCollection sourceParents, Consumer<Path> sourceRegistrar,
final int workspaceId = getWorkspaceId();
if (workspaceId != 0) {
try {
BootstrapUtils.writeAppModelWithWorkspaceId(appModel, workspaceId, BootstrapUtils
.getSerializedTestAppModelPath(Path.of(mavenProject().getBuild().getDirectory())));
Path serializedTestAppModelPath = BootstrapUtils
.getSerializedTestAppModelPath(Path.of(mavenProject().getBuild().getDirectory()));
ApplicationModelSerializer.serialize(appModel, serializedTestAppModelPath);
} catch (IOException e) {
getLog().warn("Failed to serialize application model", e);
}
Expand Down
Loading
Loading