2016-04-13 24 views
3

Her modülün global entegrasyon testlerine katılabildiği birkaç yuvalanmış Maven projesi var. küresel, çok modül kapsama sahip olmak için, ben değişken Maven ${session.executionRootDirectory} kullanarak, kullanmak ve modüller genelinde aynı dosyayı paylaşmak jacoco yapılandırılmış ettik:

<execution> 
    <id>pre-integration-test</id> 
    <phase>pre-integration-test</phase> 
    <goals> 
     <goal>prepare-agent-integration</goal> 
    </goals> 
    <configuration> 
     <propertyName>jacoco.failsafeArgLine</propertyName> 
     <destFile>${session.executionRootDirectory}/target/jacoco-it.exec</destFile> 
    </configuration> 
</execution> 

Bu şekilde, aynı veri dosyası her modül tarafından kullanılır, Alt modüller içinde ne kadar derin olursa olsun. Kontrol ettim, "mvn temiz yükleme" başlatılırken doğru bir veri dosyası jacoco tarafından üretildi.

Artık sorun, mvn sonar:sonar başlatılırken görüntülenir. Eklentinin bu değişkeni gerçek yolla değiştiremeyeceği anlaşılıyor. @{session.executionRootDirectory} kullanırken günlükleri

[INFO] JaCoCoItSensor: JaCoCo IT report not found: /home/tomcat/.jenkins/jobs/MYJOB/workspace/${session.executionRootDirectory}/target/jacoco-it.exec 

daha iyi çalışmaz aşağıdaki görebilirsiniz.

Herhangi bir çözüm var mı?

cevap

0
aşağıdaki yapılandırmayı kullanmak danışmanlık a comment in this bug report at SonarSource ardından

:

<plugin> 
    <groupId>com.github.goldin</groupId> 
    <artifactId>properties-maven-plugin</artifactId> 
    <version>0.2.5</version> 
    <executions> 
     <execution> 
      <id>set-sonar.jacoco.reportPath</id> 
      <goals> 
       <goal>set-properties</goal> 
      </goals> 
      <phase>initialize</phase> 
      <configuration> 
       <rawProperties> 
        sonar.jacoco.itReportPath = ${session.executionRootDirectory}/target/jacoco-it.exec 
       </rawProperties> 
       <addDollar>true</addDollar> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

... ne yazık ki kullandığım ve kaynaklardan that fork inşa ettik 3.1+ Maven ile uyumlu değildi ve o zaman başardı Maven 3.2.3 ile her şeyin doğru çalışmasını sağlayın.

İlgili konular