project-artifact-info-maven-plugin

Maven plugin for supporting artifacts installation and deployment without re-triggering the build lifecycle

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

ee.originaal.maven.plugins
ArtifactId

ArtifactId

project-artifact-info-maven-plugin
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

project-artifact-info-maven-plugin
Maven plugin for supporting artifacts installation and deployment without re-triggering the build lifecycle
Project URL

Project URL

https://github.com/raigok/project-artifact-info-maven-plugin
Source Code Management

Source Code Management

https://github.com/raigok/project-artifact-info-maven-plugin

Download project-artifact-info-maven-plugin

How to add to project

<plugin>
    <groupId>ee.originaal.maven.plugins</groupId>
    <artifactId>project-artifact-info-maven-plugin</artifactId>
    <version>1.0.1</version>
</plugin>

Dependencies

compile (2)

Group / Artifact Type Version
org.apache.maven : maven-core jar 3.6.1
org.apache.maven : maven-plugin-api jar 3.6.1

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.6.0

test (3)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter jar 5.4.2
org.assertj : assertj-core jar 3.12.2
org.mockito : mockito-core jar 2.27.0

Project Modules

There are no modules declared in this project.

project-artifact-info-maven-plugin

A Maven plugin for supporting execution of install:install and deploy:deploy goals outside of Maven build lifecycle. It is meant to be used in build pipelines, where project is built and deployed in separate steps.

Getting started

Add project-artifact-info-maven-plugin plugin to your project's pom.xml:

<project>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>ee.originaal.maven.plugins</groupId>
                    <artifactId>project-artifact-info-maven-plugin</artifactId>
                    <version>LATEST</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

Build your project and persist artifact info to disk (target/project-artifacts.txt by default)

mvn clean verify project-artifact-info:persist

Restore artifact info from disk (target/project-artifacts.txt by default) and install/deploy

mvn project-artifact-info:restore install:install
# or
mvn project-artifact-info:restore deploy:deploy

Goals

Goal Description
project-artifact-info:persist Persists details (type, classifier and file path) of every built artifact to disk so that we can restore them later.
project-artifact-info:restore Restores previously built artifacts' details (type, classifier and file path) from disk so that we can execute install:install and deploy:deploy without rebuilding the project.

Optional parameters

Name Type Description
<filename> String The name of the file where artifact details are stored
Default value is: project-artifacts.txt
User property is: project-artifact-info.filename
<directory> File The directory where artifact info file is stored
Default value is: ${project.build.directory}
User property is: project-artifact-info.directory

Versions

Version
1.0.1
1.0.0