Exemple #1
0
        private string GetAntReport(CodeCoverageEnablerInputs antCCParams)
        {
            var executionData = string.Empty;

            executionData += @"             <file file='" + Path.Combine(antCCParams.ReportDirectory, _jacocoExecPrefix + ".exec") + @"'/>" + Environment.NewLine;


            var srcData   = CodeCoverageUtilities.GetSourceDataForJacoco(antCCParams.SourceDirectories);
            var classData = CodeCoverageUtilities.GetClassDataForAnt(antCCParams.Include, antCCParams.Exclude, antCCParams.ClassFilesDirectories);

            return(string.Format(CodeCoverageConstants.JacocoAntReport, antCCParams.CCReportTask, executionData, classData, srcData, antCCParams.ReportDirectory, Path.Combine(antCCParams.ReportDirectory, "report.csv"), Path.Combine(antCCParams.ReportDirectory, antCCParams.SummaryFile)));
        }
        private string GetReportPomXml(XNamespace xNameSpace, XElement pomXml, CodeCoverageEnablerInputs mavenCcParams)
        {
            string settings = string.Empty;

            settings += GetSettingsForPom(xNameSpace, pomXml);


            var srcDirectories        = CodeCoverageUtilities.SetCurrentDirectoryIfDirectoriesParameterIsEmpty(_executionContext, mavenCcParams.SourceDirectories, StringUtil.Loc("SourceDirectoriesNotSpecifiedForMultiModule"));
            var classFilesDirectories = CodeCoverageUtilities.SetCurrentDirectoryIfDirectoriesParameterIsEmpty(_executionContext, mavenCcParams.ClassFilesDirectories, StringUtil.Loc("ClassDirectoriesNotSpecifiedForMultiModule"));

            var srcData   = CodeCoverageUtilities.GetSourceDataForJacoco(srcDirectories);
            var classData = CodeCoverageUtilities.GetClassDataForAnt(mavenCcParams.Include, mavenCcParams.Exclude, classFilesDirectories);

            var execFile    = Path.Combine(mavenCcParams.ReportDirectory, _jacocoExecPrefix + ".exec");
            var csvFile     = Path.Combine(mavenCcParams.ReportDirectory, "report.csv");
            var summaryFile = Path.Combine(mavenCcParams.ReportDirectory, mavenCcParams.SummaryFile);

            // ref https://dzone.com/articles/jacoco-maven-multi-module

            return
                (@"<?xml version='1.0' encoding='UTF-8'?>" + Environment.NewLine +
                 @" <project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'>" + Environment.NewLine +
                 settings +
                 @"   <build>" + Environment.NewLine +
                 @"      <plugins>" + Environment.NewLine +
                 @"         <plugin>" + Environment.NewLine +
                 @"            <groupId>org.apache.maven.plugins</groupId>" + Environment.NewLine +
                 @"            <artifactId>maven-antrun-plugin</artifactId>" + Environment.NewLine +
                 @"            <version>" + _mavenAntRunPluginVersion + @"</version>" + Environment.NewLine +
                 @"            <executions>" + Environment.NewLine +
                 @"               <execution>" + Environment.NewLine +
                 @"                  <phase>post-integration-test</phase>" + Environment.NewLine +
                 @"                  <goals>" + Environment.NewLine +
                 @"                     <goal>run</goal>" + Environment.NewLine +
                 @"                  </goals>" + Environment.NewLine +
                 @"                  <configuration>" + Environment.NewLine +
                 @"                     <target>" + Environment.NewLine +
                 @"                        <echo message='Generating JaCoCo Reports' />" + Environment.NewLine +
                 @"                        <taskdef name='report' classname='org.jacoco.ant.ReportTask'>" + Environment.NewLine +
                 @"                           <classpath path='{basedir}/target/jacoco-jars/org.jacoco.ant.jar' />" + Environment.NewLine +
                 @"                       </taskdef>" + Environment.NewLine +
                 @"                        <report>" + Environment.NewLine +
                 @"                           <executiondata>" + Environment.NewLine +
                 @"                              <file file='" + execFile + @"' />" + Environment.NewLine +
                 @"                           </executiondata>" + Environment.NewLine +
                 @"                           <structure name='Jacoco report'>" + Environment.NewLine +
                 @"                              <classfiles>" + Environment.NewLine +
                 classData +
                 @"                              </classfiles>" + Environment.NewLine +
                 @"                              <sourcefiles encoding = 'UTF-8'>" + Environment.NewLine +
                 srcData +
                 @"                              </sourcefiles>" + Environment.NewLine +
                 @"                           </structure>" + Environment.NewLine +
                 @"                           <html destdir='" + mavenCcParams.ReportDirectory + @"' />" + Environment.NewLine +
                 @"                           <xml destfile='" + summaryFile + @"' />" + Environment.NewLine +
                 @"                           <csv destfile='" + csvFile + @"' />" + Environment.NewLine +
                 @"                        </report>" + Environment.NewLine +
                 @"                     </target>" + Environment.NewLine +
                 @"                  </configuration>" + Environment.NewLine +
                 @"               </execution>" + Environment.NewLine +
                 @"            </executions>" + Environment.NewLine +
                 @"            <dependencies>" + Environment.NewLine +
                 @"               <dependency>" + Environment.NewLine +
                 @"                  <groupId>org.jacoco</groupId>" + Environment.NewLine +
                 @"                  <artifactId>org.jacoco.ant</artifactId>" + Environment.NewLine +
                 @"                  <version>" + _jacocoVersion + @"</version>" + Environment.NewLine +
                 @"               </dependency>" + Environment.NewLine +
                 @"            </dependencies>" + Environment.NewLine +
                 @"         </plugin>" + Environment.NewLine +
                 @"     </plugins>" + Environment.NewLine +
                 @"   </build>" + Environment.NewLine +
                 @" </project>");
        }