Skip to content

Instantly share code, notes, and snippets.

@romain-grecourt
Last active March 3, 2020 21:38
Show Gist options
  • Save romain-grecourt/1df417e707e605e0434f891a7531319a to your computer and use it in GitHub Desktop.
Save romain-grecourt/1df417e707e605e0434f891a7531319a to your computer and use it in GitHub Desktop.
Helidon Archtype
<archetype-descriptor name="test">
<properties>
<property id="gradle" description="Gradle based project" />
<property id="maven" description="Maven based project" />
<property id="groupId" description="Project groupId" />
<property id="artifactId" description="Project artifactId" />
<property id="version" description="Project version" />
<property id="name" description="Project name" />
<property id="package" description="Java package name" />
</properties>
<path-transformations>
<path-transformation id="packaged">
<replace regex="__pkg__" replacement="${package}" />
<replace regex="\\." replacement="\\/" />
</path-transformation>
<path-transformation id="mustache">
<replace regex="\.mustache$" replacement="" />
</path-transformation>
</path-transformations>
<template-sets transformations="mustache">
<template-set transformations="packaged">
<directory>src/main/java</directory>
<includes>
<include>**/*.mustache</include>
</includes>
</template-set>
<template-set transformations="packaged">
<directory>src/test/java</directory>
<includes>
<include>**/*.mustache</include>
</includes>
</templateSet>
<template-set if="gradle">
<directory>.</directory>
<includes>
<include>build.gradle.mustache</include>
</includes>
</template-set>
<template-set if="maven">
<directory>.</directory>
<includes>
<include>pom.xml.mustache</include>
</includes>
</template-set>
</template-sets>
<file-sets>
<file-set transformations="packaged">
<directory>src/main/java</directory>
<excludes>
<include>**/*.mustache</include>
</excludes>
</file-set>
<file-set>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*</exclude>
</excludes>
</fileSet>
<fileSet transformations="packaged">
<directory>src/test/java</directory>
<excludes>
<exclude>**/*.mustache</exclude>
</excludes>
</file-set>
<file-set>
<directory>src/test/resources</directory>
<excludes>
<include>**/*</include>
</excludes>
</file-set>
</file-sets>
<input-flow>
<select id="build" text="Select a build system">
<choice property="maven" text="Maven" />
<choice property="gradle" text="Gradle" />
</select>
<input id="groupId" property="groupId" text="Enter a project groupId" if="maven"/>
<input id="artifactId" property="artifactId" text="Enter a project artifactId" />
<input id="version" property="version" text="Enter a project version" default="1.0-SNAPSHOT" />
<input id="name" property="name" text="Project name" default="${artifactId}" />
<input id="package" property="package" text="Enter a Java package name" default="${groupId}" />
</input-flow>
</archetype-descriptor>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment