1 # https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html#Makefile-Basics
4 timestamp
:= $(shell /bin
/date
"+%Y%m%d%H%M%S")
12 @echo
" 1. make sonar-analysis - perform sonar analysis"
13 @echo
" 2. make sign-waiver - GPG sign the WAIVER"
14 @echo
" 3. make release - perform the next release"
15 @echo
" 4. make docker-verify - verify the project inside a pre-defined docker container"
17 .PHONY
: sonar-analysis
19 # http://docs.sonarqube.org/display/SONAR/Analyzing+with+Maven
21 @mvn sonar
:sonar
-Dsonar.host.url
=http
://localhost
:59000 -Dsonar.pitest.mode
=reuseReport
25 @gpg2
--no-version
--armor
--sign AUTHORS
/WAIVER
29 @mvn release
:prepare release
:perform
33 @docker-compose
-f build
/docker
/build-environment.yml run
--rm --user
=$(UID
) build
34 # findbugs likes to create these
38 update-parent
: ##@maintenance Updates the Maven parent to its latest version
39 @mvn versions
:update-parent
-U
-DgenerateBackupPoms
=false
41 @git commit pom.xml
-s
-m
'Update to latest parent'
43 .PHONY
: release-into-local-nexus
44 release-into-local-nexus
: ##@release Releases all artifacts into a local nexus
45 @mvn
clean deploy scm
:tag
-Prelease
-Drevision
=$(timestamp
) -DpushChanges
=false
-DskipLocalStaging
=true
-Drelease
=local
47 .PHONY
: release-into-sonatype-nexus
48 release-into-sonatype-nexus
: ##@release Releases all artifacts into Maven Central (through Sonatype OSSRH)
49 @mvn
clean deploy scm
:tag
-Prelease
-Drevision
=$(timestamp
) -DpushChanges
=false
-Drelease
=sonatype
50 @git push
--tags origin master