/quickstart

A maven command-line quickstart archetype that bootstraps my preferred common documentation and useful libraries into a project.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

net.avdw.quickstart - java cli project archetype

top-language license last-commit

Showcase

Getting started

Remote archetype generation

2020-07-23 GitHub Packages does not allow for unauthorised access to reading of public repositories. The below configuration is required to access the repository. This makes the repository primarily useless for open source, configuration free use.

.m2/settings.xml

...
<servers>
    <server>
        <id>archetype</id>
        <username>avanderw</username>
        <password>GITHUB_TOKEN</password>
    </server>
</servers>
<profiles>
    <profile>
        <id>github</id>
        <repositories>
            <repository>
                <id>archetype</id>
                <name>GitHub avanderw/quickstart Maven Archetype Repository</name>
                <url>https://maven.pkg.github.com/avanderw/quickstart</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    </profile>
</profiles>
...
$ mvn archetype:generate -DarchetypeGroupId=net.avdw -DarchetypeArtifactId=quickstart -DarchetypeVersion=1.0.3 -P github

Local archetype generation

$ mvn install

Interactive (SLOW)

$ mvn archetype:generate \
-DarchetypeCatalog=local \
-DarchetypeGroupId=net.avdw \
-DarchetypeArtifactId=quickstart \
-DarchetypeVersion=v2021-07-09.01.18

Batch (FAST)

$ mvn archetype:generate \
-DarchetypeCatalog=local \
-DarchetypeGroupId=net.avdw \
-DarchetypeArtifactId=quickstart \
-DarchetypeVersion=v2021-07-09.01.18 \
-DgroupId=net.avdw \
-DartifactId=example \
-Dpackage=net.avdw.example \
-Dversion=v2021-07-09.01.18 \
-Dtagline=tagline \
-DinteractiveMode=false

Usage

$ cd example
$ mvn verify
$ java -jar target/example-jar-with-dependencies.jar

Support

Changelog

last-commit

All notable changes to this project will be documented in CHANGELOG.md. The format is based on Keep a Changelog and adheres to Semantic Versioning.

Todo

Refer to the file .todo/todo.txt for a list of potential future work. Here is a complete primer on the whys and hows of todo.txt.

Contributing

commit-activity

We love contributions! Please read CONTRIBUTING.md for details on how to contribute.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details