NAR Lifecycle

The NAR lifecycle copies the default Maven lifecycle and adds native goals to its phases. The table below shows the different phases of the NAR Lifecycle and the goals (including standard maven goals) attached to them. The order is left to right, top to bottom.

Phase Goals (NAR Goals in bold)
validate nar-validate
initialize
generate-sources nar-download
process-sources nar-unpack, nar-gnu-configure
generate-resources nar-system-generate
process-resources resources, nar-resources, nar-gnu-resources
compile compile, nar-javah, nar-gnu-make, nar-compile
process-classes nar-gnu-process
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources testResources
test-compile testCompile
process-test-classes nar-testCompile
test test, nar-test
package nar-package, jar
pre-integration-test
integration-test nar-integration-test
post-integration-test
verify
install install
deploy deploy

The NAR plugin attaches the nar files it produces to the main artifact (jar) so the standard install and deploy plugins of maven do their job.

The nar-assembly goal is not part of the lifestyle and should be called independently.