From 71ac9e5c6acc2e753ab5b00d5a24d8b737cb14ca Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sat, 28 Jul 2018 22:20:02 +0100 Subject: [PATCH 1/8] README: update version badges to the correct gav coordinates --- README.md | 4 ++-- builder/src/main/resources/README-template.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1535fcb..8ce2561 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. -[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix/kemitix-checkstyle-ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) -[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix/kemitix-checkstyle-ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%3A"net.kemitix"%20AND%20a%3A"kemitix-checkstyle-ruleset") +[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) +[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%3A"net.kemitix"%20AND%20a%3A"kemitix-checkstyle-ruleset") [![SonarQube Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Akemitix-checkstyle-ruleset/coverage.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%3Akemitix-checkstyle-ruleset) [![SonarQube Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Akemitix-checkstyle-ruleset/tech_debt.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%3Akemitix-checkstyle-ruleset) diff --git a/builder/src/main/resources/README-template.md b/builder/src/main/resources/README-template.md index 90679f6..1e7940d 100644 --- a/builder/src/main/resources/README-template.md +++ b/builder/src/main/resources/README-template.md @@ -2,8 +2,8 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. -[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix/kemitix-checkstyle-ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) -[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix/kemitix-checkstyle-ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%%3A"net.kemitix"%%20AND%%20a%%3A"kemitix-checkstyle-ruleset") +[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) +[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%%3A"net.kemitix"%%20AND%%20a%%3A"kemitix-checkstyle-ruleset") [![SonarQube Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Akemitix-checkstyle-ruleset/coverage.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%%3Akemitix-checkstyle-ruleset) [![SonarQube Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Akemitix-checkstyle-ruleset/tech_debt.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%%3Akemitix-checkstyle-ruleset) From f5665a0733991fc59bc8cb99f5bf59b43483bf83 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 15:19:20 +0100 Subject: [PATCH 2/8] Update badges in README template --- README.md | 20 ++++++++++++++----- builder/src/main/resources/README-template.md | 20 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8ce2561..c1b8878 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,23 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. -[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) -[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%3A"net.kemitix"%20AND%20a%3A"kemitix-checkstyle-ruleset") + [![Sonatype Nexus (Release)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/checkstyle/)](file:https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + [![Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.kemitix%22%20AND%20a%3A%22mon%22)](file:https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) -[![SonarQube Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Akemitix-checkstyle-ruleset/coverage.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%3Akemitix-checkstyle-ruleset) -[![SonarQube Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Akemitix-checkstyle-ruleset/tech_debt.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%3Akemitix-checkstyle-ruleset) + [![Coverage](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Aruleset/coverage.svg?style=for-the-badge#.svg) + [![Tech Debt](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Aruleset/tech_debt.svg?style=for-the-badge#.svg) + [![SQALE Rating](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=sqale_rating#.svg) + [![Alert Status](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=alert_status#.svg) + [![Reliability](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=reliability_rating#.svg) + [![Security](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=security_rating#.svg) + [![SQALE Index](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=sqale_index#.svg) + [![Vulnerabilities](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=vulnerabilities#.svg) + [![Bugs](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=bugs#.svg) + [![Code Smells](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=code_smells#.svg) + [![NCLOC](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=ncloc#.svg) -[![Codacy grade](https://img.shields.io/codacy/grade/d57096b0639d496aba9a7e43e7cf5b4c.svg?style=for-the-badge)](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard) + [![Codacy](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard)](file:https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) + [![JPeek](http://i.jpeek.org/net.kemitix/kemitix-checkstyle-ruleset/index.html)](file:http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) The ruleset includes checks from both the core Checkstyle library and from the Sevntu-Checkstyle library. diff --git a/builder/src/main/resources/README-template.md b/builder/src/main/resources/README-template.md index 1e7940d..d8b0339 100644 --- a/builder/src/main/resources/README-template.md +++ b/builder/src/main/resources/README-template.md @@ -2,13 +2,23 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. -[![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/kemitix-checkstyle-ruleset/) -[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge)](https://search.maven.org/#search|ga|1|g%%3A"net.kemitix"%%20AND%%20a%%3A"kemitix-checkstyle-ruleset") + [![Sonatype Nexus (Release)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/checkstyle/)](file:https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + [![Maven Central](https://search.maven.org/#search%%7Cga%%7C1%%7Cg%%3A%%22net.kemitix%%22%%20AND%%20a%%3A%%22mon%%22)](file:https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) -[![SonarQube Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Akemitix-checkstyle-ruleset/coverage.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%%3Akemitix-checkstyle-ruleset) -[![SonarQube Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Akemitix-checkstyle-ruleset/tech_debt.svg?style=for-the-badge)](https://sonarcloud.io/dashboard?id=net.kemitix%%3Akemitix-checkstyle-ruleset) + [![Coverage](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Aruleset/coverage.svg?style=for-the-badge#.svg) + [![Tech Debt](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Aruleset/tech_debt.svg?style=for-the-badge#.svg) + [![SQALE Rating](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=sqale_rating#.svg) + [![Alert Status](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=alert_status#.svg) + [![Reliability](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=reliability_rating#.svg) + [![Security](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=security_rating#.svg) + [![SQALE Index](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=sqale_index#.svg) + [![Vulnerabilities](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=vulnerabilities#.svg) + [![Bugs](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=bugs#.svg) + [![Code Smells](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=code_smells#.svg) + [![NCLOC](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=ncloc#.svg) -[![Codacy grade](https://img.shields.io/codacy/grade/d57096b0639d496aba9a7e43e7cf5b4c.svg?style=for-the-badge)](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard) + [![Codacy](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard)](file:https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) + [![JPeek](http://i.jpeek.org/net.kemitix/kemitix-checkstyle-ruleset/index.html)](file:http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) The ruleset includes checks from both the core Checkstyle library and from the Sevntu-Checkstyle library. From ee7eb75ffb01c6c77c9715d623c31eefe7a81fec Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 15:49:02 +0100 Subject: [PATCH 3/8] ruleset: fix order of properties and adjust indentation --- .../checkstyle/ruleset/builder/Rule.java | 6 +- .../net/kemitix/checkstyle-1-layout.xml | 20 ++--- .../net/kemitix/checkstyle-2-naming.xml | 24 +++--- .../net/kemitix/checkstyle-3-javadoc.xml | 36 ++++----- .../net/kemitix/checkstyle-4-tweaks.xml | 52 ++++++------- .../net/kemitix/checkstyle-5-complexity.xml | 74 +++++++++---------- 6 files changed, 107 insertions(+), 105 deletions(-) diff --git a/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/Rule.java b/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/Rule.java index 30848f7..73323a8 100644 --- a/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/Rule.java +++ b/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/Rule.java @@ -27,6 +27,7 @@ import lombok.Setter; import net.kemitix.conditional.Value; import java.net.URI; +import java.util.Comparator; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -46,7 +47,7 @@ public class Rule { private static final String MODULE_NO_PROPERTIES = ""; - private static final String MODULE_WITH_PROPERTIES = "%n %s%n"; + private static final String MODULE_WITH_PROPERTIES = "%n%s%n"; /** * Configuration properties. @@ -133,7 +134,8 @@ public class Rule { private static String formatProperties(final Map properties) { return MapStream.of(properties) - .map((k, v) -> String.format("", k, v)) + .sorted(Comparator.comparing(Map.Entry::getKey)) + .map((k, v) -> String.format(" ", k, v)) .collect(Collectors.joining(System.lineSeparator())); } diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml index 5378d67..8dffd66 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-1-layout.xml @@ -5,16 +5,16 @@ - - + + - - + + - + @@ -30,13 +30,13 @@ - + - - + + @@ -45,8 +45,8 @@ - - + + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml index 4125034..6140730 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-2-naming.xml @@ -5,16 +5,16 @@ - - + + - - + + - + @@ -37,7 +37,7 @@ - + @@ -52,27 +52,27 @@ - - + + - + - - + + - + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml index 2463ad3..073357f 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-3-javadoc.xml @@ -5,17 +5,17 @@ - - + + - - + + - + @@ -29,7 +29,7 @@ - + @@ -43,16 +43,16 @@ - - - + + + - + @@ -69,8 +69,8 @@ - - + + @@ -78,29 +78,29 @@ - + - - + + - + - + - + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml index c30f4f8..4507b73 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-4-tweaks.xml @@ -5,17 +5,17 @@ - - + + - - + + - + @@ -29,10 +29,10 @@ - + - + @@ -42,21 +42,21 @@ - + - + - - + + @@ -64,22 +64,22 @@ - + - - - + + + - + @@ -91,7 +91,7 @@ - + @@ -103,8 +103,8 @@ - - + + @@ -115,34 +115,34 @@ - + - + - - + + - + - + - + diff --git a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml index 374a07f..aff64d6 100644 --- a/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml +++ b/ruleset/src/main/resources/net/kemitix/checkstyle-5-complexity.xml @@ -5,20 +5,20 @@ - - + + - + - - + + - + @@ -33,15 +33,15 @@ - + - + - + @@ -51,14 +51,14 @@ - + - + @@ -67,15 +67,15 @@ - + - - + + @@ -83,38 +83,38 @@ - + - - - + + + - - - + + + - + - + - + @@ -122,7 +122,7 @@ - + @@ -132,19 +132,19 @@ - + - - + + - + @@ -154,22 +154,22 @@ - + - + - + - - + + @@ -177,18 +177,18 @@ - + - + - + From 072400bd181cbf30e5e635d73f9fb6dfb4f58638 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 18:07:34 +0100 Subject: [PATCH 4/8] Update bagde images properly --- README.md | 30 +++++++++---------- builder/src/main/resources/README-template.md | 30 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index c1b8878..928def4 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,23 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. - [![Sonatype Nexus (Release)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/checkstyle/)](file:https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) - [![Maven Central](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.kemitix%22%20AND%20a%3A%22mon%22)](file:https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + ![Sonatype Nexus (Release)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + ![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) - [![Coverage](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Aruleset/coverage.svg?style=for-the-badge#.svg) - [![Tech Debt](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%3Aruleset/tech_debt.svg?style=for-the-badge#.svg) - [![SQALE Rating](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=sqale_rating#.svg) - [![Alert Status](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=alert_status#.svg) - [![Reliability](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=reliability_rating#.svg) - [![Security](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=security_rating#.svg) - [![SQALE Index](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=sqale_index#.svg) - [![Vulnerabilities](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=vulnerabilities#.svg) - [![Bugs](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=bugs#.svg) - [![Code Smells](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=code_smells#.svg) - [![NCLOC](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%3Aruleset&metric=ncloc#.svg) + ![Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle:builder/coverage.svg?style=for-the-badge#.svg) + ![Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle:builder/tech_debt.svg?style=for-the-badge#.svg) + ![SQALE Rating](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=sqale_rating#.svg) + ![Alert Status](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=alert_status#.svg) + ![Reliability](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=reliability_rating#.svg) + ![Security](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=security_rating#.svg) + ![SQALE Index](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=sqale_index#.svg) + ![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=vulnerabilities#.svg) + ![Bugs](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=bugs#.svg) + ![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=code_smells#.svg) + ![NCLOC](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=ncloc#.svg) - [![Codacy](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard)](file:https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) - [![JPeek](http://i.jpeek.org/net.kemitix/kemitix-checkstyle-ruleset/index.html)](file:http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) + ![Codacy](https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) + ![JPeek](http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) The ruleset includes checks from both the core Checkstyle library and from the Sevntu-Checkstyle library. diff --git a/builder/src/main/resources/README-template.md b/builder/src/main/resources/README-template.md index d8b0339..afca3ed 100644 --- a/builder/src/main/resources/README-template.md +++ b/builder/src/main/resources/README-template.md @@ -2,23 +2,23 @@ Provides an extensive Checkstyle ruleset for use with Checkstyle, together with a fully configured maven-tile. - [![Sonatype Nexus (Release)](https://oss.sonatype.org/content/repositories/releases/net/kemitix/checkstyle/)](file:https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) - [![Maven Central](https://search.maven.org/#search%%7Cga%%7C1%%7Cg%%3A%%22net.kemitix%%22%%20AND%%20a%%3A%%22mon%%22)](file:https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + ![Sonatype Nexus (Release)](https://img.shields.io/nexus/r/https/oss.sonatype.org/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) + ![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.checkstyle/ruleset.svg?style=for-the-badge) - [![Coverage](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Aruleset/coverage.svg?style=for-the-badge#.svg) - [![Tech Debt](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle%%3Aruleset/tech_debt.svg?style=for-the-badge#.svg) - [![SQALE Rating](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=sqale_rating#.svg) - [![Alert Status](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=alert_status#.svg) - [![Reliability](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=reliability_rating#.svg) - [![Security](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=security_rating#.svg) - [![SQALE Index](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=sqale_index#.svg) - [![Vulnerabilities](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=vulnerabilities#.svg) - [![Bugs](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=bugs#.svg) - [![Code Smells](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=code_smells#.svg) - [![NCLOC](https://sonarcloud.io/dashboard?id=net.kemitix.checkstyle%%3Aruleset)](file:https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle%%3Aruleset&metric=ncloc#.svg) + ![Coverage](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle:builder/coverage.svg?style=for-the-badge#.svg) + ![Tech Debt](https://img.shields.io/sonar/https/sonarcloud.io/net.kemitix.checkstyle:builder/tech_debt.svg?style=for-the-badge#.svg) + ![SQALE Rating](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=sqale_rating#.svg) + ![Alert Status](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=alert_status#.svg) + ![Reliability](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=reliability_rating#.svg) + ![Security](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=security_rating#.svg) + ![SQALE Index](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=sqale_index#.svg) + ![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=vulnerabilities#.svg) + ![Bugs](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=bugs#.svg) + ![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=code_smells#.svg) + ![NCLOC](https://sonarcloud.io/api/project_badges/measure?project=net.kemitix.checkstyle:kemitix-checkstyle-ruleset&metric=ncloc#.svg) - [![Codacy](https://app.codacy.com/project/kemitix/kemitix-checkstyle-ruleset/dashboard)](file:https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) - [![JPeek](http://i.jpeek.org/net.kemitix/kemitix-checkstyle-ruleset/index.html)](file:http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) + ![Codacy](https://img.shields.io/codacy/grade/f1208289122e48daa89c46671293b3c2.svg?style=for-the-badge) + ![JPeek](http://i.jpeek.org/net.kemitix.checkstyle/ruleset/badge.svg) The ruleset includes checks from both the core Checkstyle library and from the Sevntu-Checkstyle library. From a9820116ac534d66b50b21ba43f50ff832c4cb39 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 18:09:53 +0100 Subject: [PATCH 5/8] Remove code signing key --- codesigning.asc.enc | Bin 20752 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 codesigning.asc.enc diff --git a/codesigning.asc.enc b/codesigning.asc.enc deleted file mode 100644 index 7869c2d39c656c9ca6f77a9a3d3f0ca9f0a00052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20752 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 Date: Sun, 26 Aug 2018 18:17:51 +0100 Subject: [PATCH 6/8] Remove maven wrapper --- .mvn/wrapper/maven-wrapper.jar | Bin 49519 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 1 - .travis.yml | 2 +- mvnw | 236 -------------------------- mvnw.cmd | 146 ---------------- 5 files changed, 1 insertion(+), 384 deletions(-) delete mode 100644 .mvn/wrapper/maven-wrapper.jar delete mode 100644 .mvn/wrapper/maven-wrapper.properties delete mode 100755 mvnw delete mode 100644 mvnw.cmd diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index c6feb8bb6f76f2553e266ff8bf8867105154237e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49519 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%0A$pwhjXzyA0ZzErH{1@M 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 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 6c8c0e0..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1 +0,0 @@ -distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip diff --git a/.travis.yml b/.travis.yml index 108fbc8..e340e72 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ cache: directories: - "$HOME/.m2" install: true -script: "./mvnw --batch-mode --errors --update-snapshots clean install" +script: "mvn --batch-mode --errors --update-snapshots clean install" diff --git a/mvnw b/mvnw deleted file mode 100755 index 6ecc150..0000000 --- a/mvnw +++ /dev/null @@ -1,236 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # - # Look for the Apple JDKs first to preserve the existing behaviour, and then look - # for the new JDKs provided by Oracle. - # - if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then - # - # Apple JDKs - # - export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then - # - # Apple JDKs - # - export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then - # - # Oracle JDKs - # - export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home - fi - - if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then - # - # Apple JDKs - # - export JAVA_HOME=`/usr/libexec/java_home` - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Migwn, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - local basedir=$(pwd) - local wdir=$(pwd) - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - wdir=$(cd "$wdir/.."; pwd) - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -# avoid using MAVEN_CMD_LINE_ARGS below since that would loose parameter escaping in $@ -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index 8bb8275..0000000 --- a/mvnw.cmd +++ /dev/null @@ -1,146 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -set MAVEN_CMD_LINE_ARGS=%MAVEN_CONFIG% %* - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" - -set WRAPPER_JAR=""%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -# avoid using MAVEN_CMD_LINE_ARGS below since that would loose parameter escaping in %* -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% From 4c8acff32f3303e24c83a5e8b3495866e29d0e42 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 18:18:20 +0100 Subject: [PATCH 7/8] Update Jenkinsfile --- Jenkinsfile.groovy | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile.groovy b/Jenkinsfile.groovy index d118553..37f5d07 100644 --- a/Jenkinsfile.groovy +++ b/Jenkinsfile.groovy @@ -9,16 +9,28 @@ pipeline { steps { withMaven(maven: 'maven', jdk: 'JDK 1.8') { sh "${mvn} clean compile checkstyle:checkstyle pmd:pmd test" + // PMD to Jenkins + pmd canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '', unHealthy: '' + } + } + } + stage('Report Coverage') { + steps { + withMaven(maven: 'maven', jdk: 'JDK 1.8') { + // Code Coverage to Jenkins + jacoco exclusionPattern: '**/*{Test|IT|Main|Application|Immutable}.class' // Code Coverage to Codacy sh "${mvn} -pl builder jacoco:report com.gavinmogan:codacy-maven-plugin:coverage " + "-DcoverageReportFile=target/site/jacoco/jacoco.xml " + "-DprojectToken=`$JENKINS_HOME/codacy/token` " + "-DapiToken=`$JENKINS_HOME/codacy/apitoken` " + "-Dcommit=`git rev-parse HEAD`" - // Code Coverage to Jenkins - jacoco exclusionPattern: '**/*{Test|IT|Main|Application|Immutable}.class' - // PMD to Jenkins - pmd canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '', unHealthy: '' + } + } + } + stage('Report Checkstyle') { + steps { + withMaven(maven: 'maven', jdk: 'JDK 1.8') { // Checkstyle to Jenkins step([$class: 'hudson.plugins.checkstyle.CheckStylePublisher', pattern: '**/target/checkstyle-result.xml', From e8d19fd52a2e21a6b934a7b27b8e115775adec6b Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Sun, 26 Aug 2018 18:24:19 +0100 Subject: [PATCH 8/8] Update test to match property indentation change --- .../checkstyle/ruleset/builder/CheckstyleWriterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/CheckstyleWriterTest.java b/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/CheckstyleWriterTest.java index a5ca9e0..d8afa45 100644 --- a/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/CheckstyleWriterTest.java +++ b/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/CheckstyleWriterTest.java @@ -165,7 +165,7 @@ public class CheckstyleWriterTest { //then val lines = loadOutputFile(RuleLevel.LAYOUT); assertThat(lines).containsExactly("C:", String.format("TW:", ruleClassname), - " ", "" + " ", "" ); }