diff --git a/eng/jacoco-test-coverage/pom.xml b/eng/jacoco-test-coverage/pom.xml
index 17b2d99bfead..61ec331461eb 100644
--- a/eng/jacoco-test-coverage/pom.xml
+++ b/eng/jacoco-test-coverage/pom.xml
@@ -132,11 +132,6 @@
azure-storage-blob-cryptography
12.4.0-beta.1
-
- com.azure
- azure-storage-blob-nio
- 12.0.0-beta.1
-
com.azure
azure-storage-file-share
diff --git a/eng/pipelines/aggregate-reports.yml b/eng/pipelines/aggregate-reports.yml
index eb1b7ed34c67..50db37839d07 100644
--- a/eng/pipelines/aggregate-reports.yml
+++ b/eng/pipelines/aggregate-reports.yml
@@ -4,6 +4,7 @@ pr: none
jobs:
- job: Generate
+ timeoutInMinutes: 180
variables:
- template: templates/variables/globals.yml
pool:
@@ -50,6 +51,41 @@ jobs:
publishJUnitResults: false
goals: 'install site:site site:stage'
+ - task: Maven@3
+ displayName: 'Generate aggregate code coverage report'
+ inputs:
+ mavenPomFile: 'pom.client.xml'
+ options: '$(DefaultOptions) -Dinclude-non-shipping-modules -Dgpg.skip -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Dspotbugs.skip=true'
+ mavenOptions: '-Xmx3072m $(LoggingOptions)'
+ javaHomeOption: 'JDKVersion'
+ jdkVersionOption: '1.11'
+ jdkArchitectureOption: 'x64'
+ publishJUnitResults: false
+ goals: 'verify'
+
+ - task: PublishTestResults@2
+ condition: succeededOrFailed()
+ inputs:
+ mergeTestResults: true
+ testRunTitle: 'Linux on Java 1.11'
+
+ # Azure DevOps only seems to respect the last code coverage result published, so only do this for Linux + Java LTS.
+ # Code coverage reporting is setup only for Track 2 modules.
+ - task: PublishCodeCoverageResults@1
+ inputs:
+ codeCoverageTool: JaCoCo
+ summaryFileLocation: eng/jacoco-test-coverage/target/site/test-coverage/jacoco.xml
+ reportDirectory: eng/jacoco-test-coverage/target/site/test-coverage/
+ failIfCoverageEmpty: true
+
+ # Publish code coverage to an artifact so it can be uploaded to the Maven site.
+ # Do this for track 2 modules only. Code coverage from previous step is only published for Linux + Java LTS.
+ - task: PublishPipelineArtifact@0
+ displayName: 'Publish coverage artifact'
+ inputs:
+ artifactName: coverage
+ targetPath: eng/jacoco-test-coverage/target/site/
+
- script: |
git clone https://github.com/JonathanGiles/DependencyChecker.git
mkdir input && cp eng/DependencyChecker/client_dependencies.json input/dependencies.json