Same I usually plan a trip to go to mine . <| sep |> Oh man I laughed so hard ! <| sep |> I would leave my gf to marry this hero <| sep |> I think I miss configurable lifecycles . You can configure Maven plugin , but you can ' t configure maven lifecycle . I think we should have some kind of packaging level configuration project artifactId . artifactId version . version packaging idjarid configuration java . version 9 java . version pitesttruepitest findbugsfalsefindbugs configuration packaging dependencies . dependencies projectPlugins ' executions should be configured disabledenabled based on provided configuration . You can already define custom lifecycles and lifecyclemappings , but two or three custom lifecycles are not enough and you really need a family of similar , but slightly different lifecycles . Missing piece of puzzle is an ability to make them configurable . You can come close to this with properties and parent POMs , but it ' s not enough . Sometime properties should interact with each other and be something more than simple strings . This is the task that is solved by gradle . Gradle has two separate configure and make phases .