The scala-maven-plugin (previously maven-scala-plugin) is used for compiling/testing/running/documenting Scala code in Maven.
Currently, you need Maven 3.x & JDK 8 to build the plugin, create the site, and run integration-test
.
-
./mvnw package
: generate jar -
./mvnw site
: generate the plugin website -
./mvnw integration-test
:./mvnw package
+ run all integration test- note: to run
test_scalaHome
: you have to setscala.home
property insrc/it/test_scalaHome/pom.xml
to correspond to your environment. See Build section above for a simple setup.
- note: to run
-
./mvnw integration-test -Dinvoker.test=test1
: run integration test 'test1' (against all configuration) useful for tuning/debug -
./mvnw install
: ./mvnw integration-test` + publish on local maven repository -
./mvnw install -Dmaven.test.skip=true
: ./mvnw install` without run of unit test and run of integration test - release :
-
gpg --use-agent --armor --detach-sign --output $(mktemp) pom.xml
to avoid issue on macosx with gpg signature see [MGPG-59] GPG Plugin: "gpg: signing failed: Inappropriate ioctl for device" - ASF JIRA -
./mvnw release:clean && ./mvnw release:prepare && ./mvnw release:perform
: to publish on staging repository via plugin -
./mvnw release:clean && ./mvnw release:prepare -Darguments="-DskipTests -Dmaven.test.skip=true" && ./mvnw release:perform -Darguments="-DskipTests -Dmaven.test.skip=true"
to publish without tests (integration test require 30min on CI) -
./mvnw site package source:jar javadoc:jar install:install gpg:sign deploy:deploy changes:announcement-generate -Dmaven.test.skip=true -DperformRelease=true
: manual - connect to http://oss.sonatype.org/ close and release the request(about scala-maven-plugin) in staging repositories
- browse the updated mvnsite (check version into samples, ...)
-
- close issues from https://github.com/davidB/scala-maven-plugin/issues/
- refactor :
- reduce copy-paste
- file path management can be improved (a lot)
- clean the code