Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/choonchernlim/build-reports
Maven parent POM for generating build reports for CI servers, pushing artifacts to Sonatype OSSRH and site documentation to GitHub
https://github.com/choonchernlim/build-reports
java jenkins maven parent-pom
Last synced: 2 days ago
JSON representation
Maven parent POM for generating build reports for CI servers, pushing artifacts to Sonatype OSSRH and site documentation to GitHub
- Host: GitHub
- URL: https://github.com/choonchernlim/build-reports
- Owner: choonchernlim
- License: mit
- Created: 2015-07-22T13:07:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-04T19:05:25.000Z (over 6 years ago)
- Last Synced: 2024-04-09T21:18:29.628Z (7 months ago)
- Topics: java, jenkins, maven, parent-pom
- Homepage:
- Size: 76.2 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Build Reports
In effort to keep the actual Maven project's pom.xml concise and clean, this parent POM generates various build reports
for Maven site and Continuous Integration Servers ([Jenkins](https://jenkins-ci.org/), [SonarQube](http://www.sonarqube.org/), etc).This parent POM also includes a profile that allows you to push:-
* project artifacts to [Sonatype OSSRH (OSS Repository Hosting)](https://oss.sonatype.org)
* Maven generated site to project [GitHub](https://github.com/) page## How to Use
Add the following configuration to your project's pom.xml:-
```xml
com.github.choonchernlim
build-reports
0.3.5
...```
### Jenkins Integration
```xml
mvn clean test site
```### SonarQube Integration
Create a Maven profile, for example:-
```xml
sonarqube
...
src/main/java
src/test/java
jacoco
${project.build.directory}/surefire-reports
${jacoco.reportPath}
${jacoco.itReportPath}
```
Run the following goals and profile:-```xml
mvn clean test sonar:sonar -Psonarqube
```### Deploy to Sonatype OSSRH
```xml
mvn clean deploy -Possrh-deploy
```### Deploy Site to GitHub
```xml
mvn clean test site -Possrh-deploy
```## Important Notes
* If the JaCoCo web report is not rendering properly in the GitHub page, please read this post for solution: [JaCoCo Web Report Not Rendering Properly in GitHub Pages](http://myshittycode.com/2015/07/22/jacoco-web-report-not-rendering-properly-in-github-pages/)
## Build Plugins
* [Surefire Maven Plugin](http://maven.apache.org/surefire/maven-surefire-plugin/) - Runs unit tests.
* [Maven Failsafe Plugin](http://maven.apache.org/surefire/maven-failsafe-plugin/) - Runs integration tests.
* [Maven Site Plugin](http://maven.apache.org/plugins/maven-site-plugin/) - Generates site.
* [JaCoCo Maven Plugin](http://www.eclemma.org/jacoco/) - Code coverage report for JVM languages.
* [Maven Project Info Reports Plugin](https://maven.apache.org/plugins/maven-project-info-reports-plugin/) - Generates reports information about the project.
* [Maven Surefire Reports Plugin](http://maven.apache.org/surefire/maven-surefire-report-plugin/) - Parses generated test results from both unit tests and integration tests.
* [Maven Javadoc Plugin](https://maven.apache.org/plugins/maven-javadoc-plugin/) - Generates Javadoc.
* [Maven JXR Plugin](http://maven.apache.org/plugins/maven-jxr-plugin/) - Generates a cross-reference of the project's sources.
* [JDepend Maven Plugin](http://www.mojohaus.org/jdepend-maven-plugin/) - Generates design quality metrics for each Java package.
* [Maven Javadoc Plugin](https://maven.apache.org/plugins/maven-javadoc-plugin/) - Generates Javadoc.
* [Maven PMD Plugin](http://maven.apache.org/plugins/maven-pmd-plugin/) - Generates PMD and CPD reports.
* [FindBugs Maven Plugin](http://www.mojohaus.org/findbugs-maven-plugin/) - Inspects Java bytecode for occurrences of bug patterns.
* [TagList Maven Plugin](http://www.mojohaus.org/taglist-maven-plugin/) - Generates a report on various tags found in the code.
* [Sonar Maven Plugin](http://sonarsource.github.io/sonar-maven/) - Publishes results to Sonarqube.
* [Versions Maven plugin](http://www.mojohaus.org/versions-maven-plugin/) - Handles dependencies and plugins date.## Profile: "ossrh-deploy"
* [Nexus Staging Maven Plugin](https://github.com/sonatype/nexus-maven-plugins/tree/master/staging/maven-plugin) - Deploys artifacts to Sonatype OSSRH.
* [Maven Source Plugin](https://maven.apache.org/plugins/maven-source-plugin/) - Generates source code.
* [GitHub Site Plugin](https://github.com/github/maven-plugins) - Generates Maven site in project GitHub page.
* [Maven Javadoc Plugin](https://maven.apache.org/plugins/maven-javadoc-plugin/) - Generates Javadoc.
* [Maven GPG Plugin](http://maven.apache.org/plugins/maven-gpg-plugin/) - Signs all of the project's attached artifacts with GnuPG..