Skip to content

Commit

Permalink
Introduce Codestarts
Browse files Browse the repository at this point in the history
  • Loading branch information
ia3andy committed Jul 7, 2020
1 parent e711e0d commit 21ac86e
Show file tree
Hide file tree
Showing 99 changed files with 2,945 additions and 142 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@ public class CreateProjectMojo extends AbstractMojo {
@Parameter(property = "projectVersion")
private String projectVersion;

@Parameter(property = "codestartsEnabled")
private Boolean codestartsEnabled;

@Parameter(property = "withExampleCode")
private Boolean withExampleCode;

/**
* Group ID of the target platform BOM
*/
Expand Down Expand Up @@ -190,7 +196,9 @@ public void execute() throws MojoExecutionException {
.version(projectVersion)
.sourceType(sourceType)
.className(className)
.extensions(extensions);
.extensions(extensions)
.codestartsEnabled(codestartsEnabled)
.withExampleCode(withExampleCode);
if (path != null) {
createProject.setValue("path", path);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import io.quarkus.dependencies.Extension;
import io.quarkus.platform.descriptor.QuarkusPlatformDescriptor;
import io.quarkus.platform.descriptor.ResourceInputStreamConsumer;
import io.quarkus.platform.descriptor.ResourcePathConsumer;
import io.quarkus.platform.descriptor.loader.json.ResourceLoader;
import io.quarkus.platform.tools.DefaultMessageWriter;
import io.quarkus.platform.tools.MessageWriter;
Expand Down Expand Up @@ -126,6 +127,15 @@ public <T> T loadResource(String name, ResourceInputStreamConsumer<T> consumer)
return resourceLoader.loadResource(name, consumer);
}

@Override
public <T> T loadResourcePath(String name, ResourcePathConsumer<T> consumer) throws IOException {
getLog().debug("Loading Quarkus platform resource %s", name);
if (resourceLoader == null) {
throw new IllegalStateException("Resource loader has not been provided");
}
return resourceLoader.loadResourcePath(name, consumer);
}

@Override
public List<Category> getCategories() {
return categories;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{#insert plugins}
plugins {
id '{quarkus.plugin.id}'
}
{/}

{#insert repositories}
repositories {
mavenLocal()
mavenCentral()
}
{/}

{#insert dependencies}
dependencies {
implementation enforcedPlatform("$\{quarkusPlatformGroupId}:$\{quarkusPlatformArtifactId}:$\{quarkusPlatformVersion}")
{#for dep in dependencies}
implementation '{dep}'
{/for}
testImplementation 'io.quarkus:quarkus-junit5'
{#for dep in test-dependencies}
testImplementation '{dep}'
{/for}
}
{/}

{#insert project}
group '{project.group-id}'
version '{project.version}'
{/}

{#insert java}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
{/}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Gradle properties
#Tue Jun 16 08:41:21 UTC 2020
quarkusPluginVersion={quarkus.plugin.version}
quarkusPlatformGroupId={quarkus.platform.group-id}
quarkusPlatformArtifactId={quarkus.platform.artifact-id}
quarkusPlatformVersion={quarkus.platform.version}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
pluginManagement {
repositories {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
plugins {
id '{quarkus.plugin.id}' version "$\{quarkusPluginVersion}"
}
}
rootProject.name='{project.artifact-id}'
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: gradle
type: buildtool
spec:
base:
local-data:
quarkus.plugin.id: io.quarkus
version.kotlin: 1.3.72
version.scala: 2.12.8
shared-data:
buildtool.build-dir: build
buildtool.cmd.dev: ./gradlew quarkusDev
buildtool.cmd.package: ./gradlew quarkusBuild
buildtool.cmd.package-uberjar: ./gradlew quarkusBuild --uber-jar
buildtool.cmd.package-native: ./gradlew build -Dquarkus.package.type=native
buildtool.cmd.package-native-container: ./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true
buildtool.guide: https://quarkus.io/guides/gradle-tooling#building-a-native-executable
gitignore: >
# Gradle
.gradle/
build/
kotlin:
dependencies:
- org.jetbrains.kotlin:kotlin-stdlib-jdk8
scala:
dependencies:
- org.scala-lang:scala-library:${version.scala}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{#include build-layout}
{#plugins}
plugins {
id 'java'
id '{quarkus.plugin.id}'
}
{/plugins}
{/include}

compileJava {
options.encoding = 'UTF-8'
options.compilerArgs << '-parameters'
}

compileTestJava {
options.encoding = 'UTF-8'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{#include build-layout}
{#plugins}
plugins {
id 'org.jetbrains.kotlin.jvm' version "{version.kotlin}"
id "org.jetbrains.kotlin.plugin.allopen" version "{version.kotlin}"
id '{quarkus.plugin.id}'
}
{/plugins}
{/include}

quarkus {
setOutputDirectory("$projectDir/build/classes/kotlin/main")
}

quarkusDev {
setSourceDir("$projectDir/src/main/kotlin")
}

allOpen {
annotation("javax.ws.rs.Path")
annotation("javax.enterprise.context.ApplicationScoped")
annotation("io.quarkus.test.junit.QuarkusTest")
}

compileKotlin {
kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8
kotlinOptions.javaParameters = true
}

compileTestKotlin {
kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{#include build-layout}
{#plugins}
plugins {
id 'scala'
id '{quarkus.plugin.id}'
}
{/plugins}
{/include}

compileScala {
scalaCompileOptions.encoding = 'UTF-8'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>{project.group-id}</groupId>
<artifactId>{project.artifact-id}</artifactId>
<version>{project.version}</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.parameters>true</maven.compiler.parameters>

<quarkus.platform.group-id>{quarkus.platform.group-id}</quarkus.platform.group-id>
<quarkus.platform.artifact-id>{quarkus.platform.artifact-id}</quarkus.platform.artifact-id>
<quarkus.platform.version>{quarkus.platform.version}</quarkus.platform.version>
<quarkus-plugin.version>{quarkus.plugin.version}</quarkus-plugin.version>
<compiler-plugin.version>{version.maven-compiler-plugin}</compiler-plugin.version>
<surefire-plugin.version>{version.maven-surefire-plugin}</surefire-plugin.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>$\{quarkus.platform.group-id}</groupId>
<artifactId>$\{quarkus.platform.artifact-id}</artifactId>
<version>$\{quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
{#each dependencies}
<dependency>
<groupId>{it.groupId}</groupId>
<artifactId>{it.artifactId}</artifactId>
</dependency>
{/each}

<!-- Test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
{#each test-dependencies}
<dependency>
<groupId>{it.groupId}</groupId>
<artifactId>{it.artifactId}</artifactId>
<scope>test</scope>
</dependency>
{/each}
</dependencies>

<build>
<plugins>
<!-- Quarkus build plugin - also provides the quarkus:dev live-reload feature -->
<plugin>
<groupId>{quarkus.plugin.group-id}</groupId>
<artifactId>{quarkus.plugin.artifact-id}</artifactId>
<version>$\{quarkus-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>$\{compiler-plugin.version}</version>
</plugin>
<!-- Run the tests in JVM mode -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>$\{surefire-plugin.version}</version>
<configuration>
<systemPropertyVariables>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<maven.home>$\{maven.home}</maven.home>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>

<profiles>
<!-- Use this profile to build a native executable using GraalVM -->
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<properties>
<quarkus.package.type>native</quarkus.package.type>
</properties>
<build>
<plugins>
<!-- Run the tests with the native executable -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>$\{surefire-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<systemPropertyVariables>
<native.image.path>$\{project.build.directory}/$\{project.build.finalName}-runner</native.image.path>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<maven.home>$\{maven.home}</maven.home>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: maven
type: buildtool
default: true
spec:
base:
local-data:
version.kotlin: 1.3.72
version.scala: 2.12.8
version.scala-maven-plugin: 4.1.1
version.maven-compiler-plugin: 3.8.1
version.maven-surefire-plugin: 2.22.1
shared-data:
buildtool.build-dir: target
buildtool.cmd.dev: ./mvnw compile quarkus:dev
buildtool.cmd.package: ./mvnw package
buildtool.cmd.package-uberjar: ./mvnw package -PuberJar
buildtool.cmd.package-native: ./mvnw package -Pnative
buildtool.cmd.package-native-container: ./mvnw package -Pnative -Dquarkus.native.container-build=true
buildtool.guide: https://quarkus.io/guides/building-native-image
gitignore: |
#Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
release.properties
Loading

0 comments on commit 21ac86e

Please sign in to comment.