diff --git a/.circleci/config.yml b/.circleci/config.yml index 2294a82..224ca26 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,6 +117,27 @@ jobs: command: mvn test -Dtest.graph.type=<> <> - store_cache + sonar: + executor: 'j21' + steps: + - timeout + - checkout + - setup_remote_docker + - start-db + - load_cache + - restore_cache: + name: Restore Sonar cache + key: sonar-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/maven_cache_seed" }} + - run: + name: Analyze + command: mvn verify -Dtest.graph.type=simple org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=arangodb_arangodb-tinkerpop-provider -Pstatic-code-analysis + - save_cache: + name: Save Sonar cache + key: sonar-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/maven_cache_seed" }} + paths: + - ~/.sonar/cache + - store_cache + test-demo: executor: 'j21' steps: @@ -212,6 +233,13 @@ workflows: args: - '-Dtest.ssl' + sonar: + when: + not: <> + jobs: + - sonar: + name: sonar + test-adb-topology: when: <> jobs: diff --git a/dev-README.md b/dev-README.md new file mode 100644 index 0000000..b4de148 --- /dev/null +++ b/dev-README.md @@ -0,0 +1,15 @@ +# dev-README + +## Start DB +``` +./docker/start_db.sh +``` + +## SonarCloud +Check results [here](https://sonarcloud.io/project/overview?id=arangodb_arangodb-tinkerpop-provider). + +## check dependencies updates +```shell +mvn versions:display-dependency-updates -Pstatic-code-analysis -Prelease +mvn versions:display-plugin-updates -Pstatic-code-analysis -Prelease +``` diff --git a/pom.xml b/pom.xml index 7ce0dd7..f1020ff 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,12 @@ UTF-8 7.22.0-SNAPSHOT simple + https://sonarcloud.io + arangodb-1 + target/spotbugsXml.xml + site/jacoco/jacoco.xml + @@ -90,7 +95,7 @@ com.fasterxml.jackson jackson-bom - 2.19.0 + 2.19.2 import pom @@ -141,6 +146,60 @@ + + static-code-analysis + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.9.3.2 + + + compile + + check + + + + + + com.github.spotbugs + spotbugs + 4.9.3 + + + + spotbugs/spotbugs-exclude.xml + + + + org.jacoco + jacoco-maven-plugin + 0.8.13 + + + + prepare-agent + + + + report + + report + + + + + + XML + + + + + + + release @@ -221,26 +280,6 @@ - - org.jacoco - jacoco-maven-plugin - 0.8.13 - - - - prepare-agent - - - - report - prepare-package - - report - - - - - com.google.code.maven-replacer-plugin replacer @@ -289,8 +328,21 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.6.0 + 3.6.1 + + enforce-maven-version + + enforce + + + + + [3.6.3,) + + + + enforce-all @@ -306,9 +358,6 @@ compile 1.8 - - [3.5.3,) - @@ -369,7 +418,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.1 + 1.7.2 oss @@ -409,6 +458,12 @@ + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 5.1.0.4751 + diff --git a/spotbugs/spotbugs-exclude.xml b/spotbugs/spotbugs-exclude.xml new file mode 100644 index 0000000..2de7d05 --- /dev/null +++ b/spotbugs/spotbugs-exclude.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/com/arangodb/tinkerpop/gremlin/utils/ArangoDBUtil.java b/src/main/java/com/arangodb/tinkerpop/gremlin/utils/ArangoDBUtil.java index 98d2f5b..44404eb 100644 --- a/src/main/java/com/arangodb/tinkerpop/gremlin/utils/ArangoDBUtil.java +++ b/src/main/java/com/arangodb/tinkerpop/gremlin/utils/ArangoDBUtil.java @@ -20,6 +20,7 @@ import com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraphConfig; import com.arangodb.tinkerpop.gremlin.PackageVersion; +import java.io.Serializable; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -89,7 +90,7 @@ public static void checkVersion(String version) { } } - private static class VersionComparator implements Comparator { + private static class VersionComparator implements Comparator, Serializable { @Override public int compare(String a, String b) { Objects.requireNonNull(a);