aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz.driver.sbt/SbtSettings.scala
Commit message (Collapse)AuthorAgeFilesLines
* Refactor settings to use autopluginsv2.0.0-RC1jo/pluginsJakob Odersky2018-06-121-390/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Overview and motivation** This consolidates settings that were previously implemented as functions and/or implicit conversions into a suite of sbt autoplugins. The rationale is that this is well-defined pattern by sbt and allows easy build introspection with standard sbt functionality (for example, `sbt plugins` will list all active plugins in a build). Furthermore, it makes it very easy to disable certain features when required, such as removing linting during development. **Migration from current version** All features from the previous version should still be provided by the changes proposed here. The migration path is quite straight-forward: - Replace `project.driverService(name)` with `project.enablePlugins(Service)` (same goes for libraries) and make sure the project's name corresponds to the service's name - Linting, which was previously enabled by adding `lintingSettings` and `formatSettings` to a project, is automatically enabled. It may be removed by disabling the plugin: `project.dsiablePlugin(Linting)` All tasks and settings provided by sbt-settings should remain the same. **Additional features** An additional feature is that versioning is now handled the same way between libraries and services; that is, the version is derived from the latest git tag. Since services may be deployed from the same tag mutliple times, it is required that versions can be explicitly set to include additional information, such as a build number from a CI system. This was previously done interactively, using sbt's `set` command: ``` export TAG="$(sbt -no-colors version | tail -1 | awk '{ print $2 }').$TRAVIS_BUILD_NUMBER" sbt "set version := \"$TAG\"" docker:publishLocal ``` While this approach works, it has the downsides of requiring mutliple sbt invocations. The changes proposed in this PR will read the version from a VERSION environment variable first, defaulting to git if unavailable. Therefore, the additional sbt invocation can be removed with a CI script similar to the following: ``` export VERSION="$(git describe).$TRAVIS_BUILD_NUMBER"" sbt docker:publishLocal // use version in other steps ``` Using an autoplugin-based approach may also make it easier to cross-compile projects to ScalaJS and Native in the future, as support for them is built into sbt-crossproject.
* Remove acyclicJakob Odersky2018-02-151-2/+0
|
* Move fatal warnings check from plugin to settingsJakob Odersky2018-02-151-0/+15
|
* Add fatal warnings checking that doesn't consider deprecationsJakob Odersky2018-02-141-1/+0
|
* Enable JMXJakob Odersky2018-02-131-9/+7
|
* Remove library dependencies from sbt settingsJakob Odersky2018-02-131-4/+0
|
* Remove last remnants of Scala 2.11Jakob Odersky2018-02-131-19/+7
|
* Only build for scala 2.12; 2.11 is not required anymoreJakob Odersky2018-01-241-1/+1
|
* Fix unused parameters flag for scala 2.12.4Jakob Odersky2017-11-191-1/+1
| | | | See https://github.com/scala/bug/issues/10572
* Setting version to 1.0.5v1.0.5Jakob Odersky2017-11-191-36/+7
|
* Remove credentialsJakob Odersky2017-11-181-5/+3
|
* Upgrade Scala versionJakob Odersky2017-10-261-1/+1
|
* Proposed scalafmt settings (#26)Miguel Cervera2017-10-171-5/+29
|
* More lenient linter settingsJakob Odersky2017-09-221-8/+21
|
* Move to sbt 1Jakob Odersky2017-09-221-35/+31
|
* Include test dependencies in integration testsJakob Odersky2017-09-011-10/+1
|
* Move scalac linting options to default linting settingsJakob Odersky2017-08-241-11/+13
| | | | | | | This makes it easier to disable linting settings when debugging, simply by commenting out lintingSettings. Previously, `-Xfatal-warnings` also needed to be manually subtracted from scalacOptions.
* Prepare to support scala 2.12Jakob Odersky2017-07-311-4/+4
|
* PR commentsZach Smith2017-06-201-10/+31
|
* Add scalafmt to testZach Smith2017-06-201-0/+8
|
* Remove commented out codeZach Smith2017-06-201-33/+0
|
* Try out new-sbt-scalafmtZach Smith2017-06-201-32/+32
|
* Exposing JMXvlad2017-05-301-8/+15
|
* Merge remote-tracking branch 'origin/master'vlad2017-05-171-1/+6
|\
| * Merge pull request #16 from drivergroup/hao/PDS-959ilovehao2017-05-091-1/+6
| |\ | | | | | | Fix the release version bump for snapshot version
| | * Fix the release version bump for snapshot versionHao Huang2017-05-091-1/+6
| | |
* | | Increased timeout after scalafmt chmod, hope it will make builds more stablevlad2017-05-171-1/+1
|/ /
* / Upgrade scala to latest patch levelJakob Odersky2017-05-091-1/+1
|/
* Remove the next version in sbt-releaseHao Huang2017-05-031-6/+21
|
* Refactor the sbt release behavior for servicesHao Huang2017-05-031-54/+79
|
* Giving enough time for chmod ;)vlad2017-05-021-0/+1
|
* Generating scalastyle-config.xml before running scalastyle ;)vlad2017-05-011-9/+12
|
* Trying to fix scalafmt commandvlad2017-05-011-1/+2
|
* Trying to fix scalafmt commandvlad2017-05-011-1/+1
|
* Generating scalafmtvlad2017-05-011-2/+12
|
* Trying to use scalafmt from resources againvlad2017-05-011-3/+3
|
* Trying to install scalafmt via coursiervlad2017-05-011-2/+4
|
* Expecting scalafmt in $PATH, not in the project foldervlad2017-05-011-1/+1
|
* Trying to make scalafmt dependent on scalafmt.conf generationvlad2017-05-011-6/+8
|
* Fixing version.sbt generation for git-versioned projects + Starting to rely ↵vlad2017-05-011-23/+16
| | | | on locally installed scalafmt binary
* Correct scalafmt command line callvlad2017-04-281-1/+1
|
* Changing Docker user to rootvlad2017-04-281-0/+2
|
* Updating deployment to a standard Docker java:8 imagevlad2017-04-281-4/+4
|
* Fixing JVM truststore pathvlad2017-04-281-1/+1
|
* Trying to add truststore import as part of the run script using sbt-docker ↵vlad2017-04-271-3/+3
| | | | `bashScriptExtraDefines`
* Updating truststore config and getting rid of the variables.shvlad2017-04-271-25/+7
|
* Using scalafmt from the projectvlad2017-04-271-1/+1
|
* Changing execution order for scalastyleSettingsvlad2017-04-271-2/+3
|
* Trying resourceGenerators in Compilevlad2017-04-271-2/+2
|
* Renaming source .scalafmt.conf to scalafmt.confvlad2017-04-271-1/+1
|