1. Flatten Lifecycle

<properties>
	<lifecycle.mapping>1.0.0</lifecycle.mapping>
	<flatten.maven.plugin>1.1.0</flatten.maven.plugin>
</properties>
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>flatten-maven-plugin</artifactId>
    <version>${flatten.maven.plugin}</version>
    <configuration>
        <updatePomFile>true</updatePomFile>
        <flattenMode>oss</flattenMode>
        <embedBuildProfileDependencies>true</embedBuildProfileDependencies>
        <pomElements>
            <distributionManagement>remove</distributionManagement>
            <repositories>remove</repositories>
        </pomElements>
    </configuration>
    <executions>
        <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
                <goal>flatten</goal>
            </goals>
        </execution>
        <execution>
            <id>flatten-clean</id>
            <phase>clean</phase>
            <goals>
                <goal>clean</goal>
            </goals>
        </execution>
    </executions>
</plugin>

<plugin>
	<groupId>org.eclipse.m2e</groupId>
	<artifactId>lifecycle-mapping</artifactId>
	<version>${lifecycle.mapping}</version>
	<configuration>
		<lifecycleMappingMetadata>
			<pluginExecutions>
				<pluginExecution>
					<pluginExecutionFilter>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>flatten-maven-plugin</artifactId>
						<versionRange>[1,)</versionRange>
						<goals>
							<goal>flatten</goal>
						</goals>
					</pluginExecutionFilter>
					<action>
						<ignore />
					</action>
				</pluginExecution>
			</pluginExecutions>
		</lifecycleMappingMetadata>
	</configuration>
</plugin>