Eonian Parent POM: WAR

Eonian Parent POM.

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

com.eoniantech.build
ArtifactId

ArtifactId

war-parent-pom
Last Version

Last Version

1.4
Release Date

Release Date

Type

Type

pom
Description

Description

Eonian Parent POM: WAR
Eonian Parent POM.
Project URL

Project URL

https://github.com/eonian-technologies/parent-pom

Download war-parent-pom

Filename Size
war-parent-pom-1.4.pom 14 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.eoniantech.build/war-parent-pom/ -->
<dependency>
    <groupId>com.eoniantech.build</groupId>
    <artifactId>war-parent-pom</artifactId>
    <version>1.4</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.eoniantech.build/war-parent-pom/
implementation 'com.eoniantech.build:war-parent-pom:1.4'
// https://jarcasting.com/artifacts/com.eoniantech.build/war-parent-pom/
implementation ("com.eoniantech.build:war-parent-pom:1.4")
'com.eoniantech.build:war-parent-pom:pom:1.4'
<dependency org="com.eoniantech.build" name="war-parent-pom" rev="1.4">
  <artifact name="war-parent-pom" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.eoniantech.build', module='war-parent-pom', version='1.4')
)
libraryDependencies += "com.eoniantech.build" % "war-parent-pom" % "1.4"
[com.eoniantech.build/war-parent-pom "1.4"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Eonian Parent POM

Parent POM providing child projects with pipelining capabilities.

JAR projects.

<parent>
    <groupId>com.eoniantech.build</groupId>
    <artifactId>jar-parent-pom</artifactId>
    <version>1.4</version>
</parent>

WAR projects.

<parent>
    <groupId>com.eoniantech.build</groupId>
    <artifactId>war-parent-pom</artifactId>
    <version>1.4</version>
</parent>

Discrete Pipeline Steps

The plugins that make up the pipeline steps are bound to the Maven Lifecycle. So a command like mvn install will execute them by default. But when pipelining, we want to execute a series of smaller, more granular steps, and make judgments on whether or not to proceed based on their output. A lifecycle goal like mvn install does too much. If the CI job running the command breaks there are several things that could have gone wrong. Could it not compile? Could it not run tests? Did the tests fail? Which tests failed, unit tests or integration tests? So when setting up the child project’s CI pipeline you should create discrete pipeline steps which directly call their corresponding Maven plugins. For more details on building continuous integration pipelines using Maven, see our article Maven For Pipelining.

Build

mvn -DskipTests clean verify

Unit Test

mvn jacoco:prepare-agent@preTest surefire:test jacoco:report@postTest

Integration Test (JAR projects)

mvn jacoco:prepare-agent-integration@preIT failsafe:integration-test jacoco:report-integration@postIT failsafe:verify

Integration Test (WAR projects)

mvn jacoco:prepare-agent-integration@preIT cargo:start@preIT failsafe:integration-test jacoco:dump@postIT cargo:stop@postIT jacoco:report-integration@postIT failsafe:verify

Code Analysis

mvn sonar:sonar -Dsonar.host.url=URL -Dsonar.login=TOKEN 

Publish Artifacts

mvn deploy:deploy-file -DpomFile=pom.xml -Dfile=target/ARTIFACT -Durl=REPO_URL -DrepositoryId=REPO_ID
com.eoniantech.build

Eonian Technologies

Engineering | DevOps | Cloud

Versions

Version
1.4
1.3
1.2
1.1
1.0