2013-02-08 30 views
9

Mam projekt oparty na mavenach. Istnieją cztery różne projekty, jak pokazano w poniższej strukturze. Każdy główny projekt i podprojekty mają własne pliki pom.xml.Generowanie generowania agregacji Maven

ProjectA 
    | 
    --------subProjects  
ProjectB 
    | 
    --------subprojects 
ProjectC  
    | 
    --------subProjects 
ProjectD 
    | 
    -------subprojects 

Używam mvn site na ProjectC który jest zależny od ProjectB który jest współzależny na ProjectA i ProjectB

więc kiedy uruchomić stronę maven cały test results dla wszystkich tych projektów uzyskać utworzone individually. Chciałbym również utworzyć aggregation wszystkich wyników testów w tych projektach i podprojektach i pokazać je w one place.

Czy to możliwe ze strony maven?

Odpowiedz

2

Tak. Istnieją dwie opcje:

  1. "You can do this by setting project.build.directory on all of your projects to a common folder."

  2. Możesz dodać dodatkowe katalogi do maven-surefire-report-plugin dodając element reportsDirectories z reportsDirectory dzieci (documentation).

Tak to powinno działać:

<reportsDirectories> 
    <reportsDirectory>../ProjectA/target/surefire-reports</reportsDirectory> 
    <reportsDirectory>../ProjectA/module1/target/surefire-reports</reportsDirectory> 
    ... 
</reportsDirectories> 
+0

Gdyby tak być dodawane tylko do rodzic pom? – Sam

+0

# 1 można dodać tylko do rodzica pom, drugie nie może być, ponieważ te ustawienia będą używane dla każdego modułu. Ale wtedy stworzyłem zupełnie nowy projekt dla drugiego podejścia, które po prostu agreguje wyniki testów. –