mirror of
https://github.com/jlengrand/quarkus.git
synced 2026-03-10 08:41:22 +00:00
Merge pull request #7071 from aloubyansky/7038
QuarkusDev should be serializing the AppModel in the same manner as QuarkusTestConfig
This commit is contained in:
@@ -253,11 +253,6 @@ public class QuarkusDev extends QuarkusTask {
|
||||
wiringClassesDirectory.mkdirs();
|
||||
addToClassPaths(classPathManifest, context, wiringClassesDirectory);
|
||||
|
||||
//now we need to build a temporary jar to actually run
|
||||
File tempFile = new File(getBuildDir(), extension.finalName() + "-dev.jar");
|
||||
tempFile.delete();
|
||||
tempFile.deleteOnExit();
|
||||
|
||||
StringBuilder resources = new StringBuilder();
|
||||
String res = null;
|
||||
for (File file : extension.resourcesDir()) {
|
||||
@@ -377,6 +372,10 @@ public class QuarkusDev extends QuarkusTask {
|
||||
context.setCacheDir(new File(getBuildDir(), "transformer-cache").getAbsoluteFile());
|
||||
|
||||
// this is the jar file we will use to launch the dev mode main class
|
||||
final File tempFile = new File(getBuildDir(), extension.finalName() + "-dev.jar");
|
||||
tempFile.delete();
|
||||
tempFile.deleteOnExit();
|
||||
|
||||
context.setDevModeRunnerJarFile(tempFile);
|
||||
try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(tempFile))) {
|
||||
out.putNextEntry(new ZipEntry("META-INF/"));
|
||||
@@ -389,19 +388,23 @@ public class QuarkusDev extends QuarkusTask {
|
||||
|
||||
out.putNextEntry(new ZipEntry(DevModeMain.DEV_MODE_CONTEXT));
|
||||
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
|
||||
ObjectOutputStream obj = new ObjectOutputStream(new DataOutputStream(bytes));
|
||||
obj.writeObject(context);
|
||||
obj.close();
|
||||
try (ObjectOutputStream obj = new ObjectOutputStream(new DataOutputStream(bytes))) {
|
||||
obj.writeObject(context);
|
||||
}
|
||||
out.write(bytes.toByteArray());
|
||||
|
||||
out.putNextEntry(new ZipEntry(BootstrapConstants.SERIALIZED_APP_MODEL));
|
||||
bytes = new ByteArrayOutputStream();
|
||||
obj = new ObjectOutputStream(new DataOutputStream(bytes));
|
||||
obj.writeObject(appModel);
|
||||
obj.close();
|
||||
try (ObjectOutputStream obj = new ObjectOutputStream(new DataOutputStream(bytes))) {
|
||||
obj.writeObject(appModel);
|
||||
}
|
||||
out.write(bytes.toByteArray());
|
||||
}
|
||||
|
||||
final Path serializedModel = QuarkusGradleUtils.serializeAppModel(appModel);
|
||||
serializedModel.toFile().deleteOnExit();
|
||||
args.add("-D" + BootstrapConstants.SERIALIZED_APP_MODEL + "=" + serializedModel.toAbsolutePath());
|
||||
|
||||
extension.outputDirectory().mkdirs();
|
||||
|
||||
args.add("-jar");
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package io.quarkus.gradle.tasks;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import io.quarkus.bootstrap.model.AppModel;
|
||||
|
||||
public class QuarkusGradleUtils {
|
||||
|
||||
public static Path serializeAppModel(final AppModel appModel) throws IOException {
|
||||
final Path serializedModel = Files.createTempFile("quarkus-", "-gradle-test");
|
||||
try (ObjectOutputStream out = new ObjectOutputStream(Files.newOutputStream(serializedModel))) {
|
||||
out.writeObject(appModel);
|
||||
}
|
||||
return serializedModel;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
package io.quarkus.gradle.tasks;
|
||||
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -29,10 +27,7 @@ public class QuarkusTestConfig extends QuarkusTask {
|
||||
.toAbsolutePath()
|
||||
.toString();
|
||||
|
||||
final Path serializedModel = Files.createTempFile("quarkus-", "-gradle-test");
|
||||
try (ObjectOutputStream out = new ObjectOutputStream(Files.newOutputStream(serializedModel))) {
|
||||
out.writeObject(deploymentDeps);
|
||||
}
|
||||
final Path serializedModel = QuarkusGradleUtils.serializeAppModel(deploymentDeps);
|
||||
|
||||
for (Test test : getProject().getTasks().withType(Test.class)) {
|
||||
final Map<String, Object> props = test.getSystemProperties();
|
||||
|
||||
Reference in New Issue
Block a user