top.infra.maven:topinfra-maven-shared

Core extensions for maven based projects

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

top.infra.maven
ArtifactId

ArtifactId

topinfra-maven-shared
Last Version

Last Version

1.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

Core extensions for maven based projects

Download topinfra-maven-shared

How to add to project

<!-- https://jarcasting.com/artifacts/top.infra.maven/topinfra-maven-shared/ -->
<dependency>
    <groupId>top.infra.maven</groupId>
    <artifactId>topinfra-maven-shared</artifactId>
    <version>1.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/top.infra.maven/topinfra-maven-shared/
implementation 'top.infra.maven:topinfra-maven-shared:1.3.0'
// https://jarcasting.com/artifacts/top.infra.maven/topinfra-maven-shared/
implementation ("top.infra.maven:topinfra-maven-shared:1.3.0")
'top.infra.maven:topinfra-maven-shared:jar:1.3.0'
<dependency org="top.infra.maven" name="topinfra-maven-shared" rev="1.3.0">
  <artifact name="topinfra-maven-shared" type="jar" />
</dependency>
@Grapes(
@Grab(group='top.infra.maven', module='topinfra-maven-shared', version='1.3.0')
)
libraryDependencies += "top.infra.maven" % "topinfra-maven-shared" % "1.3.0"
[top.infra.maven/topinfra-maven-shared "1.3.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.jetbrains : annotations jar 16.0.3

provided (2)

Group / Artifact Type Version
top.infra.maven : topinfra-maven-core jar 1.3.0
org.apache.maven : maven-core jar 3.6.1

test (2)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.2.3
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

topinfra-maven

Maven core extensions run before maven plugins help you logging into docker registry, decrypting gpg key or customizing settings files etc...

These extension need to be run before any maven plugins (so they have to be extensions not plugins).

1. Install topinfra-maven

See homebrew-topinfra to find out how to install topinfra-maven as an alternative maven distribution or just install a shaded jar into you existing maven installation

snapshots: https://oss.sonatype.org/content/repositories/snapshots/top/infra/maven/

2. Use topinfra-maven-extension

You need to install topinfra-maven before using topinfra-maven-extension, see homebrew-topinfra.

.mvn/extensions.xml

<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">

    <!-- @formatter:off -->
    <extension><artifactId>topinfra-maven-extension</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-docker</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-gitflow-semver</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-gpg-key</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-infrastructure-settings</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-maven-build-pom</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <extension><artifactId>topinfra-mvnext-module-settings-security</artifactId><groupId>top.infra.maven</groupId><version>1.4.0-SNAPSHOT</version></extension>
    <!-- @formatter:on -->
</extensions>

(e.g. ci-and-cd/maven-build/.mvn/extensions.xml)

Build topinfra-maven

./mvnw -s settings.xml clean install

CI_OPT_SONAR="true" ./mvnw -s settings.xml -Dgpg.executable=gpg -Dgpg.loopback=true -Dsonar.organization=home1-oss-github clean deploy

./mvnw dependency:tree

References

faster-maven-builds-with-maven-opts https://docs.oracle.com/javase/8/docs/technotes/guides/vm/class-data-sharing.html#skip2content

Lifecycles Reference introduction-to-the-lifecycle standard set of bindings

top.infra.maven

Versions

Version
1.3.0
1.2.0
1.1.1
1.1.0