Search in sources :

Example 1 with BuildTool

use of io.vertx.starter.model.BuildTool in project vertx-starter by vert-x3.

the class GeneratorTest method testProject.

private void testProject(VertxProject project, Vertx vertx, VertxTestContext testContext) {
    vertx.eventBus().<Buffer>request(Topics.PROJECT_REQUESTED, project, testContext.succeeding(msg -> {
        unpack(vertx, testContext, workdir, msg.body(), testContext.succeeding(unpacked -> {
            testContext.verify(() -> {
                verifyBaseFiles();
                BuildTool buildTool = project.getBuildTool();
                Language language = project.getLanguage();
                if (buildTool == MAVEN) {
                    verifyMavenFiles();
                } else if (buildTool == GRADLE) {
                    verifyGradleFiles(language);
                } else {
                    testContext.failNow(new NoStackTraceThrowable(unsupported(buildTool)));
                    return;
                }
                try {
                    verifySourceFiles(language);
                } catch (IOException e) {
                    throw new AssertionError(e);
                }
                if (Utils.isWindows()) {
                    testContext.completeNow();
                } else {
                    buildProject(vertx, buildTool, testContext.succeeding(projectBuilt -> {
                        testContext.verify(() -> {
                            if (buildTool == MAVEN) {
                                try {
                                    verifyMavenOutputFiles();
                                } catch (IOException e) {
                                    throw new AssertionError(e);
                                }
                            } else if (buildTool == GRADLE) {
                                try {
                                    verifyGradleOutputFiles();
                                } catch (IOException e) {
                                    throw new AssertionError(e);
                                }
                            } else {
                                testContext.failNow(new NoStackTraceThrowable(unsupported(buildTool)));
                            }
                            runDevMode(vertx, buildTool, testContext.succeeding(devModeRan -> testContext.completeNow()));
                        });
                    }));
                }
            });
        }));
    }));
}
Also used : Buffer(io.vertx.core.buffer.Buffer) VertxTestContext(io.vertx.junit5.VertxTestContext) java.util(java.util) io.vertx.core(io.vertx.core) TarArchiveInputStream(org.apache.commons.compress.archivers.tar.TarArchiveInputStream) Process(com.julienviet.childprocess.Process) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) JdkVersion(io.vertx.starter.model.JdkVersion) KOTLIN(io.vertx.starter.model.Language.KOTLIN) GeneratorVerticle(io.vertx.starter.GeneratorVerticle) VertxProjectCodec(io.vertx.starter.VertxProjectCodec) Utils(io.vertx.core.impl.Utils) Timeout(io.vertx.junit5.Timeout) MAVEN(io.vertx.starter.model.BuildTool.MAVEN) JAVA(io.vertx.starter.model.Language.JAVA) TarArchiveEntry(org.apache.commons.compress.archivers.tar.TarArchiveEntry) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) GRADLE(io.vertx.starter.model.BuildTool.GRADLE) RecordParser(io.vertx.core.parsetools.RecordParser) JsonObject(io.vertx.core.json.JsonObject) Assume(org.junit.Assume) BuildTool(io.vertx.starter.model.BuildTool) Path(java.nio.file.Path) ByteBufInputStream(io.netty.buffer.ByteBufInputStream) GzipCompressorInputStream(org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream) MethodSource(org.junit.jupiter.params.provider.MethodSource) OutputStream(java.io.OutputStream) AssumptionViolatedException(org.junit.AssumptionViolatedException) Assumptions.assumeThat(org.assertj.core.api.Assumptions.assumeThat) Files(java.nio.file.Files) NoStackTraceThrowable(io.vertx.core.impl.NoStackTraceThrowable) TGZ(io.vertx.starter.model.ArchiveFormat.TGZ) IOUtils(org.apache.commons.compress.utils.IOUtils) IOException(java.io.IOException) VertxExtension(io.vertx.junit5.VertxExtension) Util(io.vertx.starter.Util) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) Topics(io.vertx.starter.config.Topics) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) Collectors.toList(java.util.stream.Collectors.toList) Stream(java.util.stream.Stream) Buffer(io.vertx.core.buffer.Buffer) Language(io.vertx.starter.model.Language) org.junit.jupiter.api(org.junit.jupiter.api) ProcessOptions(com.julienviet.childprocess.ProcessOptions) VertxProject(io.vertx.starter.model.VertxProject) Language(io.vertx.starter.model.Language) BuildTool(io.vertx.starter.model.BuildTool) IOException(java.io.IOException) NoStackTraceThrowable(io.vertx.core.impl.NoStackTraceThrowable)

Example 2 with BuildTool

use of io.vertx.starter.model.BuildTool in project vertx-starter by vert-x3.

the class GeneratorTest method testProjectsJdk8.

static Stream<VertxProject> testProjectsJdk8() throws IOException {
    List<String> versions = Util.loadStarterData().getJsonArray("versions").stream().map(JsonObject.class::cast).map(obj -> obj.getString("number")).filter(version -> !version.endsWith("-SNAPSHOT")).collect(toList());
    List<Set<String>> testDeps = Arrays.asList(Collections.singleton("vertx-unit"), Collections.singleton("vertx-junit5"));
    Stream.Builder<VertxProject> builder = Stream.builder();
    for (BuildTool buildTool : BuildTool.values()) {
        for (Language language : Language.values()) {
            for (String version : versions) {
                for (Set<String> vertxDependencies : testDeps) {
                    VertxProject vertxProject = defaultProject().setBuildTool(buildTool).setLanguage(language).setVertxVersion(version).setVertxDependencies(new HashSet<>(vertxDependencies)).setPackageName("com.mycompany.project.special");
                    builder.add(vertxProject);
                }
            }
        }
    }
    return builder.build();
}
Also used : VertxTestContext(io.vertx.junit5.VertxTestContext) java.util(java.util) io.vertx.core(io.vertx.core) TarArchiveInputStream(org.apache.commons.compress.archivers.tar.TarArchiveInputStream) Process(com.julienviet.childprocess.Process) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) JdkVersion(io.vertx.starter.model.JdkVersion) KOTLIN(io.vertx.starter.model.Language.KOTLIN) GeneratorVerticle(io.vertx.starter.GeneratorVerticle) VertxProjectCodec(io.vertx.starter.VertxProjectCodec) Utils(io.vertx.core.impl.Utils) Timeout(io.vertx.junit5.Timeout) MAVEN(io.vertx.starter.model.BuildTool.MAVEN) JAVA(io.vertx.starter.model.Language.JAVA) TarArchiveEntry(org.apache.commons.compress.archivers.tar.TarArchiveEntry) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) GRADLE(io.vertx.starter.model.BuildTool.GRADLE) RecordParser(io.vertx.core.parsetools.RecordParser) JsonObject(io.vertx.core.json.JsonObject) Assume(org.junit.Assume) BuildTool(io.vertx.starter.model.BuildTool) Path(java.nio.file.Path) ByteBufInputStream(io.netty.buffer.ByteBufInputStream) GzipCompressorInputStream(org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream) MethodSource(org.junit.jupiter.params.provider.MethodSource) OutputStream(java.io.OutputStream) AssumptionViolatedException(org.junit.AssumptionViolatedException) Assumptions.assumeThat(org.assertj.core.api.Assumptions.assumeThat) Files(java.nio.file.Files) NoStackTraceThrowable(io.vertx.core.impl.NoStackTraceThrowable) TGZ(io.vertx.starter.model.ArchiveFormat.TGZ) IOUtils(org.apache.commons.compress.utils.IOUtils) IOException(java.io.IOException) VertxExtension(io.vertx.junit5.VertxExtension) Util(io.vertx.starter.Util) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) Topics(io.vertx.starter.config.Topics) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) Collectors.toList(java.util.stream.Collectors.toList) Stream(java.util.stream.Stream) Buffer(io.vertx.core.buffer.Buffer) Language(io.vertx.starter.model.Language) org.junit.jupiter.api(org.junit.jupiter.api) ProcessOptions(com.julienviet.childprocess.ProcessOptions) VertxProject(io.vertx.starter.model.VertxProject) Language(io.vertx.starter.model.Language) VertxProject(io.vertx.starter.model.VertxProject) BuildTool(io.vertx.starter.model.BuildTool) TarArchiveInputStream(org.apache.commons.compress.archivers.tar.TarArchiveInputStream) ByteBufInputStream(io.netty.buffer.ByteBufInputStream) GzipCompressorInputStream(org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream) OutputStream(java.io.OutputStream) Stream(java.util.stream.Stream)

Aggregations

Process (com.julienviet.childprocess.Process)2 ProcessOptions (com.julienviet.childprocess.ProcessOptions)2 ByteBufInputStream (io.netty.buffer.ByteBufInputStream)2 io.vertx.core (io.vertx.core)2 Buffer (io.vertx.core.buffer.Buffer)2 NoStackTraceThrowable (io.vertx.core.impl.NoStackTraceThrowable)2 Utils (io.vertx.core.impl.Utils)2 JsonObject (io.vertx.core.json.JsonObject)2 RecordParser (io.vertx.core.parsetools.RecordParser)2 Timeout (io.vertx.junit5.Timeout)2 VertxExtension (io.vertx.junit5.VertxExtension)2 VertxTestContext (io.vertx.junit5.VertxTestContext)2 GeneratorVerticle (io.vertx.starter.GeneratorVerticle)2 Util (io.vertx.starter.Util)2 VertxProjectCodec (io.vertx.starter.VertxProjectCodec)2 Topics (io.vertx.starter.config.Topics)2 TGZ (io.vertx.starter.model.ArchiveFormat.TGZ)2 BuildTool (io.vertx.starter.model.BuildTool)2 GRADLE (io.vertx.starter.model.BuildTool.GRADLE)2 MAVEN (io.vertx.starter.model.BuildTool.MAVEN)2