Skip to content

Commit 8cc3c82

Browse files
Merge pull request #179 from companieshouse/feature/add-sonar-configuration
Updated the sonar configuration for service
2 parents 3cbc052 + 4cab821 commit 8cc3c82

File tree

2 files changed

+50
-13
lines changed

2 files changed

+50
-13
lines changed

Makefile

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
artifact_name := psc-data-api
22
version := "unversioned"
33

4+
dependency_check_base_suppressions:=common_suppressions_spring_6.xml
5+
dependency_check_suppressions_repo_branch:=main
6+
dependency_check_minimum_cvss := 4
7+
dependency_check_assembly_analyzer_enabled := false
8+
dependency_check_suppressions_repo_url:[email protected]:companieshouse/dependency-check-suppressions.git
9+
suppressions_file := target/suppressions.xml
10+
11+
412
.PHONY: all
513
all: build
614

@@ -12,11 +20,6 @@ clean:
1220
rm -rf ./build-*
1321
rm -rf ./build.log-*
1422

15-
.PHONY: security-check
16-
security-check:
17-
mvn org.owasp:dependency-check-maven:update-only
18-
mvn org.owasp:dependency-check-maven:check -DfailBuildOnCVSS=4 -DassemblyAnalyzerEnabled=false
19-
2023
.PHONY: build
2124
build:
2225
mvn versions:set -DnewVersion=$(version) -DgenerateBackupPoms=false
@@ -69,9 +72,40 @@ publish:
6972

7073
.PHONY: sonar
7174
sonar:
72-
mvn sonar:sonar
75+
mvn sonar:sonar -Dsonar.dependencyCheck.htmlReportPath=./target/dependency-check-report.html
7376

7477
.PHONY: sonar-pr-analysis
75-
sonar-pr-analysis:
76-
mvn verify -Dskip.unit.tests=true -Dskip.integration.tests=false
77-
#mvn sonar:sonar -P sonar-pr-analysis #temporary until sonar available for Java 21
78+
sonar-pr-analysis: dependency-check
79+
mvn sonar:sonar -P sonar-pr-analysis -Dsonar.dependencyCheck.htmlReportPath=./target/dependency-check-report.html
80+
81+
.PHONY: dependency-check
82+
dependency-check:
83+
@ if [ -d "$(DEPENDENCY_CHECK_SUPPRESSIONS_HOME)" ]; then \
84+
suppressions_home="$${DEPENDENCY_CHECK_SUPPRESSIONS_HOME}"; \
85+
fi; \
86+
if [ ! -d "$${suppressions_home}" ]; then \
87+
suppressions_home_target_dir="./target/dependency-check-suppressions"; \
88+
if [ -d "$${suppressions_home_target_dir}" ]; then \
89+
suppressions_home="$${suppressions_home_target_dir}"; \
90+
else \
91+
mkdir -p "./target"; \
92+
git clone $(dependency_check_suppressions_repo_url) "$${suppressions_home_target_dir}" && \
93+
suppressions_home="$${suppressions_home_target_dir}"; \
94+
if [ -d "$${suppressions_home_target_dir}" ] && [ -n "$(dependency_check_suppressions_repo_branch)" ]; then \
95+
cd "$${suppressions_home}"; \
96+
git checkout $(dependency_check_suppressions_repo_branch); \
97+
cd -; \
98+
fi; \
99+
fi; \
100+
fi; \
101+
suppressions_path="$${suppressions_home}/suppressions/$(dependency_check_base_suppressions)"; \
102+
if [ -f "$${suppressions_path}" ]; then \
103+
cp -av "$${suppressions_path}" $(suppressions_file); \
104+
mvn org.owasp:dependency-check-maven:check -Dformats="json,html" -DprettyPrint -DfailBuildOnCVSS=$(dependency_check_minimum_cvss) -DassemblyAnalyzerEnabled=$(dependency_check_assembly_analyzer_enabled) -DsuppressionFiles=$(suppressions_file); \
105+
else \
106+
printf -- "\n ERROR Cannot find suppressions file at '%s'\n" "$${suppressions_path}" >&2; \
107+
exit 1; \
108+
fi
109+
110+
.PHONY: security-check
111+
security-check: dependency-check

pom.xml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@
4141
<skip.unit.tests>false</skip.unit.tests>
4242

4343
<!--sonar configuration-->
44-
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml,
45-
${project.basedir}/target/site/jacoco-it/jacoco.xml
46-
</sonar.coverage.jacoco.xmlReportPaths>
47-
<sonar.jacoco.reports>${project.basedir}/target/site</sonar.jacoco.reports>
44+
<sonar-maven-plugin.version>4.0.0.4121</sonar-maven-plugin.version>
45+
<sonar.java.binaries>${project.basedir}/target,${project.basedir}/target/*</sonar.java.binaries>
46+
<sonar.token>${CODE_ANALYSIS_TOKEN}</sonar.token>
47+
<sonar.login></sonar.login>
48+
<sonar.password></sonar.password>
49+
<sonar.projectKey>uk.gov.companieshouse:psc-data-api</sonar.projectKey>
50+
<sonar.projectName>psc-data-api</sonar.projectName>
4851
</properties>
4952
<dependencyManagement>
5053
<dependencies>

0 commit comments

Comments
 (0)