Podręczna konfiguracja, z której po prostu wyrzucam niepotrzebne w danym przypadku rzeczy.
Poniższe reguły trzeba oczywiście wstawić pomiędzy <project>…</project> w pliku POM.xml
(TIP: po najechaniu kursorem na pole z kodem pojawiają się przyciski, w tym “copy to clipboard”)

<dependencies>

	<!-- Simple Logging Facade -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<version>1.5.6</version>
	</dependency>

	<!-- JUnit -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.10</version>
		<scope>test</scope>
	</dependency>

	<!-- EasyMock -->
	<dependency>
		<groupId>org.easymock</groupId>
		<artifactId>easymock</artifactId>
		<version>3.0</version>
	</dependency>

	<!-- Guava -->
	<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>14.0</version>
	</dependency>
</dependencies>

<build>
	<plugins>

		<!-- Używaj Java 7 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.1</version>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
			</configuration>
		</plugin>

		<!-- Pakuj do JAR'a razem z wymaganymi zależnościami -->
		<!-- mvn package assembly:single -->
		<plugin>
			<artifactId>maven-assembly-plugin</artifactId>
			<configuration>
				<archive>
					<manifest>
						<mainClass>com.mateuszmidor.App</mainClass>
					</manifest>
				</archive>
				<descriptorRefs>
					<descriptorRef>jar-with-dependencies</descriptorRef>
				</descriptorRefs>
			</configuration>
		</plugin>

		<!-- Cobertura Code Coverage -->
		<!-- mvn clean cobertura:cobertura site -->
		<!-- wyniki w target/site/cobertura -->
		<plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>cobertura-maven-plugin</artifactId>
			<version>2.6</version>
			<configuration>
				<instrumentation>

					<!-- Nie licz pokrycia kodu dla tych plików -->
					<excludes>
						<exclude>com/mateuszmidor/App.class</exclude>
					</excludes>
				</instrumentation>

				<!-- Minimalny wymagany procent pokrycia kodu -->
				<!-- mvn clean cobertura:check -->
				<check>
					<branchRate>50</branchRate>
					<lineRate>50</lineRate>
					<haltOnFailure>true</haltOnFailure>
					<totalBranchRate>50</totalBranchRate>
					<totalLineRate>50</totalLineRate>
					<packageLineRate>50</packageLineRate>
					<packageBranchRate>50</packageBranchRate>
				</check>

			</configuration>
		</plugin>

		<!-- PIT - testowanie mutacyjne -->
		<!-- mvn clean test pitest:mutationCoverage -->
		<!-- wyniki w target/pit-reports -->
		<plugin>
			<groupId>org.pitest</groupId>
			<artifactId>pitest-maven</artifactId>
			<version>0.31</version>
			<configuration>
				<targetClasses>
					<param>com.mateuszmidor*</param>
				</targetClasses>
				<targetTests>
					<param>com.mateuszmidor*</param>
				</targetTests>
				<excludedClasses>
					<param>com.mateuszmidor.App</param>
				</excludedClasses>
				<outputFormats>
					<outputFormat>XML</outputFormat>
					<outputFormat>HTML</outputFormat>
				</outputFormats>
			</configuration>
		</plugin>
	</plugins>

</build>

<reporting>
	<plugins>

		<!-- Dołącz raport Cobertury do raportu projektu -->
		<!-- mvn site -->
		<plugin>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>cobertura-maven-plugin</artifactId>
			<version>2.6</version>
		</plugin>

		<!-- Dołącz dokumentację Javadoc do raportu projektu -->
		<!-- mvn site -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-javadoc-plugin</artifactId>
			<version>2.9.1</version>
			<configuration>
			</configuration>
		</plugin>

	</plugins>
</reporting>

Related Posts: