-
Notifications
You must be signed in to change notification settings - Fork 2k
Building
This document currently details Maven commands for building the brand-new preview client libraries.
The build system is configured to support JDK, as well as the current long-term support version of the JDK (currently JDK 11). The commands presented below will work on both JDKs.
This repository contains two pom files for client libraries. pom.client.xml
is the pom file for the newer, more modern client libraries, whereas pom.data.xml
is the pom file for the previous generation of client libraries. The commands below all use pom.client.xml
, as this document focuses on these client libraries. For client libraries that are from the previous generation, please refer to the relevant documentation for them.
A lot of the commands that follow will depend on the availability of the build tooling. This can be installed by running the following:
mvn install -f eng/code-quality-reports/pom.xml
SpotBugs and CheckStyle are configured to break the build if there is any issues discovered by them. It is therefore strongly recommended to run the following maven goals locally before submitting a pull request:
mvn spotbugs:check checkstyle:checkstyle-aggregate -f pom.client.xml -DskipTests -Dgpg.skip
The build is configured with Revapi to check builds against the latest GA release in Maven. At present the build is not configured to fail, but very soon it will be configured to fail the build when a breaking change is detected. To check for breaking changes, run the following:
mvn revapi:check -f pom.client.xml
To generate HTML reports for 'Maven Site', as well as aggregate CheckStyle, SpotBugs, Jacoco, Revapi, and JavaDoc reports, you need to run the following commands:
mvn install site:site site:stage -f pom.client.xml -Dgpg.skip
mvn test -f pom.client.xml -Dgpg.skip -Dinclude-non-shipping-modules
Once this completes, the generated reports are available in the following locations:
Tool | Output Location |
---|---|
SpotBugs | /eng/spotbugs-aggregate-report/target/spotbugs/spotbugsXml.html |
CheckStyle | /target/staging/checkstyle-aggregate.html |
JavaDoc | /target/staging/apidocs/index.html |
Revapi | /target/staging/revapi-aggregate-report.html |
Maven Site | /target/staging/index.html |
JaCoCo | /eng/jacoco-test-coverage/target/site/test-coverage/index.html |
- Frequently Asked Questions
- Azure Identity Examples
- Configuration
- Performance Tuning
- Android Support
- Unit Testing
- Test Proxy Migration
- Azure Json Migration
- New Checkstyle and Spotbugs pattern migration
- Protocol Methods
- TypeSpec-Java Quickstart