Lifecycles Reference

Maven defines 3 lifecycles in org.apache.maven.lifecycle.providers package:

default Lifecycle

default lifecycle is defined only with phases, without any associated plugin binding: plugins bindings for this lifecycle are defined separately for each packaging:

return List.of(phase(
        ALL,
        phase(VALIDATE, phase(INITIALIZE)),
        phase(
                BUILD,
                after(VALIDATE),
                phase(SOURCES),
                phase(RESOURCES),
                phase(COMPILE, after(SOURCES), dependencies(COMPILE, READY)),
                phase(READY, after(COMPILE), after(RESOURCES)),
                phase(PACKAGE, after(READY), dependencies("runtime", PACKAGE))),
        phase(
                VERIFY,
                after(VALIDATE),
                phase(
                        UNIT_TEST,
                        phase(TEST_SOURCES),
                        phase(TEST_RESOURCES),
                        phase(
                                TEST_COMPILE,
                                after(TEST_SOURCES),
                                after(READY),
                                dependencies("test-only", READY)),
                        phase(
                                TEST,
                                after(TEST_COMPILE),
                                after(TEST_RESOURCES),
                                dependencies("test", READY))),
                phase(INTEGRATION_TEST)),
        phase(INSTALL, after(PACKAGE)),
        phase(DEPLOY, after(PACKAGE))));

clean Lifecycle

clean lifecycle phases are defined with their plugins bindings:

return List.of(phase(
        Phase.CLEAN,
        plugin(
                MAVEN_PLUGINS + "maven-clean-plugin:" + MAVEN_CLEAN_PLUGIN_VERSION + ":clean",
                Phase.CLEAN)));

site Lifecycle

site lifecycle phases are defined with their plugins bindings:

return List.of(
        phase(PHASE_SITE, plugin(MAVEN_SITE_PLUGIN + "site", PHASE_SITE)),
        phase(
                PHASE_SITE_DEPLOY,
                after(PHASE_SITE),
                plugin(MAVEN_SITE_PLUGIN + "deploy", PHASE_SITE_DEPLOY)));