Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidb/scala-maven-plugin
The scala-maven-plugin (previously maven-scala-plugin) is used for compiling/testing/running/documenting scala code in maven.
https://github.com/davidb/scala-maven-plugin
Last synced: 3 days ago
JSON representation
The scala-maven-plugin (previously maven-scala-plugin) is used for compiling/testing/running/documenting scala code in maven.
- Host: GitHub
- URL: https://github.com/davidb/scala-maven-plugin
- Owner: davidB
- License: unlicense
- Created: 2008-05-31T21:02:12.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T19:34:08.000Z (7 months ago)
- Last Synced: 2024-05-28T05:10:52.814Z (7 months ago)
- Language: Java
- Homepage: https://davidb.github.io/scala-maven-plugin/
- Size: 6.44 MB
- Stars: 552
- Watchers: 25
- Forks: 150
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Scala Maven Plugin
[![ci](https://github.com/davidB/scala-maven-plugin/actions/workflows/ci.yaml/badge.svg)](https://github.com/davidB/scala-maven-plugin/actions/workflows/ci.yaml)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.alchim31.maven/scala-maven-plugin/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.alchim31.maven/scala-maven-plugin)The **scala-maven-plugin** (previously maven-scala-plugin) is used for compiling/testing/running/documenting Scala code in Maven.
* [Documentation](https://davidb.github.io/scala-maven-plugin/index.html)
* [Wiki](https://github.com/davidB/scala-maven-plugin/wiki)
* [Issues](https://github.com/davidB/scala-maven-plugin/issues/)## Similar plugins
* [scalor-maven-plugin](https://github.com/random-maven/scalor-maven-plugin)
* [sbt-compiler-maven-plugin](https://github.com/sbt-compiler-maven-plugin/sbt-compiler-maven-plugin)
* [sbt-delegate-maven-plugin](https://github.com/AugustNagro/sbt-delegate-maven-plugin)## Build
Currently, you need Maven 3.x & JDK 8 to build the plugin, create the site, and run `integration-test`.
## Commands
* `./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 set `scala.home` property in `src/it/test_scalaHome/pom.xml` to correspond to your environment. See Build section above for a simple setup.
* `./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](https://issues.apache.org/jira/browse/MGPG-59)
* `./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 close and release the request(about scala-maven-plugin) in staging repositories
* browse the updated [mvnsite](https://davidb.github.io/scala-maven-plugin/) (check version into samples, ...)## TODO
* close issues from
* refactor :
* reduce copy-paste
* file path management can be improved (a lot)
* clean the code