[MNG-7264] Convert maven-core default-bindings to Providers (#550)

This change get rids of Plexus components defined in META-INF/plexus/default-bindings.xml and converts them to Providers.
This commit is contained in:
Tamas Cservenak 2021-09-26 13:34:27 +02:00 committed by GitHub
parent 6c343136b0
commit 6c7d105916
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 665 additions and 320 deletions

View File

@ -19,10 +19,13 @@ package org.apache.maven.lifecycle.mapping;
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static java.util.stream.Collectors.toMap;
/**
* DefaultLifecycleMapping
*/
@ -38,7 +41,28 @@ public class DefaultLifecycleMapping
private Map<String, LifecyclePhase> phases;
/**
* Populates the lifecycle map from the injected list of lifecycle mappings (if not already done).
* Default ctor for plexus compatibility: lifecycles are most commonly defined in Plexus XML, that does field
* injection. Still, for Plexus to be able to instantiate this class, default ctor is needed.
*
* @deprecated Should not be used in Java code.
*/
@Deprecated
public DefaultLifecycleMapping()
{
}
/**
* Ctor to be used in Java code/providers.
*/
public DefaultLifecycleMapping( final List<Lifecycle> lifecycles )
{
this.lifecycleMap = Collections.unmodifiableMap(
lifecycles.stream().collect( toMap( Lifecycle::getId, l -> l ) )
);
}
/**
* Plexus: Populates the lifecycle map from the injected list of lifecycle mappings (if not already done).
*/
private void initLifecycleMap()
{
@ -79,6 +103,7 @@ public class DefaultLifecycleMapping
}
}
@Override
public Map<String, Lifecycle> getLifecycles()
{
initLifecycleMap();
@ -86,6 +111,8 @@ public class DefaultLifecycleMapping
return lifecycleMap;
}
@Deprecated
@Override
public List<String> getOptionalMojos( String lifecycle )
{
return null;
@ -112,9 +139,9 @@ public class DefaultLifecycleMapping
}
@Deprecated
@Override
public Map<String, String> getPhases( String lifecycle )
{
return LifecyclePhase.toLegacyMap( getLifecyclePhases( lifecycle ) );
}
}

View File

@ -0,0 +1,83 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "ear" )
@Singleton
public final class EarLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public EarLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"generate-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-ear-plugin:3.1.2:generate-application-xml" )
);
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-ear-plugin:3.1.2:ear" )
);
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,95 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "ejb" )
@Singleton
public final class EjbLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public EjbLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile" )
);
lifecyclePhases.put(
"process-test-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources" )
);
lifecyclePhases.put(
"test-compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile" )
);
lifecyclePhases.put(
"test",
new LifecyclePhase( "org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-ejb-plugin:3.1.0:ejb" )
);
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,95 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "jar" )
@Singleton
public final class JarLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public JarLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile" )
);
lifecyclePhases.put(
"process-test-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources" )
);
lifecyclePhases.put(
"test-compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile" )
);
lifecyclePhases.put(
"test",
new LifecyclePhase( "org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar" )
);
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,102 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "maven-plugin" )
@Singleton
public final class MavenPluginLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public MavenPluginLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile" )
);
lifecyclePhases.put(
"process-classes",
new LifecyclePhase( "org.apache.maven.plugins:maven-plugin-plugin:3.6.0:descriptor" )
);
lifecyclePhases.put(
"process-test-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources" )
);
lifecyclePhases.put(
"test-compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile" )
);
lifecyclePhases.put(
"test",
new LifecyclePhase( "org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar,"
+ "org.apache.maven.plugins:maven-plugin-plugin:3.6.0:addPluginArtifactMetadata" )
);
lifecyclePhases.put(
"install",
// TODO: MNG-6556: Do not upgrade to 3.0.0-M1 is does not install the plugin prefix metadata
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:2.5.2:install" )
);
lifecyclePhases.put(
"deploy",
// TODO: MNG-6556: Do not upgrade to 3.0.0-M1 is does not install the plugin prefix metadata
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,71 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "pom" )
@Singleton
public final class PomLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public PomLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,95 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "rar" )
@Singleton
public final class RarLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public RarLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile" )
);
lifecyclePhases.put(
"process-test-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources" )
);
lifecyclePhases.put(
"test-compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile" )
);
lifecyclePhases.put(
"test",
new LifecyclePhase( "org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-rar-plugin:2.4:rar" )
);
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -0,0 +1,95 @@
package org.apache.maven.lifecycle.mapping.providers;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.Collections;
import java.util.HashMap;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import javax.inject.Singleton;
import org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping;
import org.apache.maven.lifecycle.mapping.Lifecycle;
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.lifecycle.mapping.LifecyclePhase;
@Named( "war" )
@Singleton
public final class WarLifecycleMappingProvider
implements Provider<LifecycleMapping>
{
private final LifecycleMapping lifecycleMapping;
@Inject
public WarLifecycleMappingProvider()
{
HashMap<String, LifecyclePhase> lifecyclePhases = new HashMap<>();
lifecyclePhases.put(
"process-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources" )
);
lifecyclePhases.put(
"compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile" )
);
lifecyclePhases.put(
"process-test-resources",
new LifecyclePhase( "org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources" )
);
lifecyclePhases.put(
"test-compile",
new LifecyclePhase( "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile" )
);
lifecyclePhases.put(
"test",
new LifecyclePhase( "org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test" )
);
lifecyclePhases.put(
"package",
new LifecyclePhase( "org.apache.maven.plugins:maven-war-plugin:3.3.1:war" )
);
lifecyclePhases.put(
"install",
new LifecyclePhase( "org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install" )
);
lifecyclePhases.put(
"deploy",
new LifecyclePhase( "org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy" )
);
Lifecycle lifecycle = new Lifecycle();
lifecycle.setId( "default" );
lifecycle.setLifecyclePhases( Collections.unmodifiableMap( lifecyclePhases ) );
this.lifecycleMapping = new DefaultLifecycleMapping(
Collections.singletonList(
lifecycle
)
);
}
@Override
public LifecycleMapping get()
{
return lifecycleMapping;
}
}

View File

@ -1,318 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
Mappings to default lifecycle, specific for each packaging.
-->
<component-set>
<components>
<!--
| POM
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>pom</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: pom-lifecycle -->
<phases>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: pom-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| JAR
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>jar</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: jar-lifecycle -->
<phases>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
</compile>
<process-test-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
</process-test-resources>
<test-compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile
</test-compile>
<test>
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test
</test>
<package>
org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar
</package>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: jar-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| EJB
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>ejb</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: ejb-lifecycle -->
<phases>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
</compile>
<process-test-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
</process-test-resources>
<test-compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile
</test-compile>
<test>
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test
</test>
<package>
org.apache.maven.plugins:maven-ejb-plugin:3.1.0:ejb
</package>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: ejb-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| MAVEN PLUGIN
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>maven-plugin</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: maven-plugin-lifecycle -->
<phases>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
</compile>
<process-classes>
org.apache.maven.plugins:maven-plugin-plugin:3.6.0:descriptor
</process-classes>
<process-test-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
</process-test-resources>
<test-compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile
</test-compile>
<test>
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test
</test>
<package>
org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar,
org.apache.maven.plugins:maven-plugin-plugin:3.6.0:addPluginArtifactMetadata
</package>
<!-- MNG-6556: Do not upgrade to 3.0.0-M1 is does not install the plugin prefix metadata -->
<install>
org.apache.maven.plugins:maven-install-plugin:2.5.2:install
</install>
<!-- MNG-6556: Do not upgrade to 3.0.0-M1 is does not deploy the plugin prefix metadata -->
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy
</deploy>
</phases>
<!-- END SNIPPET: maven-plugin-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| WAR
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>war</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: war-lifecycle -->
<phases>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
</compile>
<process-test-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
</process-test-resources>
<test-compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile
</test-compile>
<test>
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test
</test>
<package>
org.apache.maven.plugins:maven-war-plugin:3.3.1:war
</package>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: war-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| EAR
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>ear</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: ear-lifecycle -->
<phases>
<generate-resources>
org.apache.maven.plugins:maven-ear-plugin:3.1.2:generate-application-xml
</generate-resources>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<package>
org.apache.maven.plugins:maven-ear-plugin:3.1.2:ear
</package>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: ear-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
<!--
| RAR
|-->
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>rar</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
<id>default</id>
<!-- START SNIPPET: rar-lifecycle -->
<phases>
<process-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
</process-resources>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
</compile>
<process-test-resources>
org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
</process-test-resources>
<test-compile>
org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile
</test-compile>
<test>
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test
</test>
<package>
org.apache.maven.plugins:maven-rar-plugin:2.4:rar
</package>
<install>
org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install
</install>
<deploy>
org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy
</deploy>
</phases>
<!-- END SNIPPET: rar-lifecycle -->
</lifecycle>
</lifecycles>
</configuration>
</component>
</components>
</component-set>