11artifact_name := psc-data-api
22version := "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
513all : 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
2124build :
2225 mvn versions:set -DnewVersion=$(version ) -DgenerateBackupPoms=false
@@ -69,9 +72,40 @@ publish:
6972
7073.PHONY : sonar
7174sonar :
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
0 commit comments