descriptionResources & configuration for the Maven based build process used by Sebastian Hoß
homepage URLhttps://github.com/sebhoss/maven-build-process
repository URLhttps://github.com/sebhoss/maven-build-process.git
ownerrepoorcz@shoss.de
last changeSun, 3 Dec 2017 18:19:50 +0000 (3 19:19 +0100)
last refreshFri, 3 May 2024 20:33:12 +0000 (3 22:33 +0200)
content tags
add:
README.asciidoc
= Maven Build Process image:https://img.shields.io/badge/email-%40metio-brightgreen.svg?style=social&label=mail["Discuss on Google Groups", link="https://groups.google.com/forum/#!forum/metio"] image:https://img.shields.io/badge/irc-%23metio.wtf-brightgreen.svg?style=social&label=IRC["Chat on IRC", link="http://webchat.freenode.net/?channels=metio.wtf"]
Sebastian Hoß <http://seb.xn--ho-hia.de/[@sebhoss]>
:github-org: sebhoss
:project-name: maven-build-process
:project-group: de.xn--ho-hia.maven

++++
<div class="paragraph">
<span class="image"><a class="image" href="http://creativecommons.org/publicdomain/zero/1.0/"><img src="https://img.shields.io/badge/license-cc%20zero-000000.svg?style=flat-square" alt="CC Zero"></a></span>
<span class="image"><a class="image" href="https://maven-badges.herokuapp.com/maven-central/de.xn--ho-hia.maven/maven-build-process"><img src="https://img.shields.io/maven-central/v/de.xn--ho-hia.maven/maven-build-process.svg?style=flat-square" alt="Maven Central"></a></span>
<span class="image"><a class="image" href="https://hub.docker.com/r/sebhoss/maven-build-environment/"><img src="https://img.shields.io/docker/automated/sebhoss/maven-build-environment.svg?style=flat-square" alt="Docker Hub"></a></span>
<span class="image"><a class="image" href="https://www.openhub.net/p/maven-build-process"><img src="https://www.openhub.net/p/maven-build-process/widgets/project_thin_badge.gif" alt="Open Hub statistics"></a></span>
<span class="image"><a class="image" href="https://travis-ci.org/sebhoss/maven-build-process"><img src="https://img.shields.io/travis/sebhoss/maven-build-process/master.svg?style=flat-square" alt="Build Status"></a></span>
</div>
++++

Bunch of POMs that help setting up a link:http://maven.apache.org/[Maven] based build process.

== Usage

=== Maven Parent

Inherit from one of the parents like this:

[source, xml]
----
  <!-- for early prototypes -->
  <parent>
    <groupId>de.xn--ho-hia.maven.parents</groupId>
    <artifactId>maven-parents-java-prototype</artifactId>
    <version>${version.parent}</version>
  </parent>

  <!-- for stable projects -->
  <parent>
    <groupId>de.xn--ho-hia.maven.parents</groupId>
    <artifactId>maven-parents-java-stable</artifactId>
    <version>${version.parent}</version>
  </parent>
----

Specify SCM, Issue Management, CI Management, and Distribution Management sections of your POM in case you want to deploy into link:http://search.maven.org/[Maven Central].

=== Docker Build Environment

The build environment can be used together with docker-compose like this:

[source, yaml]
----
version: '2'
services:
  verify-project:
    image: sebhoss/maven-build-environment:latest
    container_name: my-verifier
    volumes:
      - "./:/project"
    working_dir: /workspace
    command: bash -c "cp -af /project/. . && mvn clean verify -s /config/local-nexus-mirror.xml -Dmaven.repo.local=/repository"
    networks:
      - nexus
networks:
  nexus:
    external:
      name: nexus_default
----

Execute this by calling `docker-compose run --rm verify-project`. Executing builds directly inside the `/project` directory will most likely cause a permission problem on the host system. Therefore the above `docker-compose.yml` file copies the project source into the `/workspace` directory first. The `--rm` option makes sure that everything gets cleaned up nicely once execution is finished. Specify a *container_name* in case you want to easily reference the running container. The container includes two predefined Maven settings files:

* /config/google-mirror.xml (https://maven-central.storage.googleapis.com)
* /config/local-nexus-mirror.xml (http://local-nexus:8081/content/groups/public/)

Use them together with docker networks like in the above example to run your builds against different Maven repositories. The local `/repository` directory already includes _some_ artifacts. Re-use it in order to cut down on build time.

== License

To the extent possible under law, the author(s) have dedicated all copyright
and related and neighboring rights to this software to the public domain
worldwide. This software is distributed without any warranty.

You should have received a copy of the CC0 Public Domain Dedication along
with this software. If not, see http://creativecommons.org/publicdomain/zero/1.0/.

== Mirrors

* https://github.com/sebhoss/{project-name}
* https://bitbucket.org/sebhoss/{project-name}
* https://gitlab.com/sebastian.hoss/{project-name}
* http://v2.pikacode.com/sebhoss/{project-name}
* http://repo.or.cz/{project-name}.git
shortlog
2017-12-03 Sebastian Hupdate props to latest versionmastermaven-build-process-2017.12.03-181922
2017-11-05 Sebastian Hoßupdate properties to latest versionmaven-build-process-2017.11.05-164804
2017-11-05 Sebastian Hoßignore -java7 version of xstream
2017-10-15 Sebastian Hoßremove pgp-m-p from buildmaven-build-process-2017.10.15-193334
2017-10-15 Sebastian Hoßuse full name of pgp-m-pmaven-build-process-2017.10.15-192228
2017-10-15 Sebastian Hadd pgp-m-p to build
2017-10-15 Sebastian Hoßtry globalMavenSettingsConfig
2017-10-15 Sebastian Hoßtry different settings id
2017-10-15 Sebastian Hoßuse java8 version
2017-10-15 Sebastian Hoßupdate properties to latest version
2017-10-15 Sebastian Hignore PFD2 release
2017-03-19 Sebastian Hoßconfigure scm tag messagemaven-build-process-2017.03.19-175909
2017-03-19 Sebastian Hoßfix #6maven-build-process-2017.03.19-175304
2017-03-19 Sebastian Hoßfix #7
2017-03-19 Sebastian Hoßintegrate sonar analysis into online build
2017-03-19 Sebastian Hoßmanage javapoet-type-guessermaven-build-process-2017.03.19-141943
...
tags
6 years ago maven-build-process-2017.12.03-181922 [maven-scm] tag maven-build-process...
6 years ago maven-build-process-2017.11.05-164804 [maven-scm] tag maven-build-process...
6 years ago maven-build-process-2017.10.15-193334 [maven-scm] tag maven-build-process...
6 years ago maven-build-process-2017.10.15-192228 [maven-scm] tag maven-build-process...
7 years ago maven-build-process-2017.03.19-175909 [maven-scm] tag maven-build-process...
7 years ago maven-build-process-2017.03.19-175304 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.03.19-141943 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.03.12-095554 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.03.12-095204 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.03.05-201557 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.02.19-184724 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.02.19-183709 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.02.19-183445 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.02.18-211726 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2017.02.18-210832 [maven-scm] copy for tag maven...
7 years ago maven-build-process-2016.08.20-000508 [maven-scm] copy for tag maven...
...
heads
6 years ago master