Skip to content

Commit

Permalink
Merge pull request #36 from mkurz/upgrade
Browse files Browse the repository at this point in the history
Upgrade to latest sbt-js-engine, use GHA/sbt-ci-release
  • Loading branch information
mkurz authored Jan 10, 2024
2 parents fadb729 + 354706c commit d12b5f4
Show file tree
Hide file tree
Showing 16 changed files with 119 additions and 42 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Check

on:
pull_request:

push:
branches:
- main # Check branch after merge

concurrency:
# Only run once for latest commit per ref and cancel other (previous) runs.
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
tests:
name: Tests
uses: playframework/.github/.github/workflows/cmd.yml@v3
with:
java: 17, 11, 8
scala: 2.12.18
cmd: |
sbt ++$MATRIX_SCALA test ^scripted
finish:
name: Finish
if: github.event_name == 'pull_request'
needs: # Should be last
- "tests"
uses: playframework/.github/.github/workflows/rtm.yml@v3
44 changes: 44 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Publish

on:
push:
branches: # Snapshots
- main
tags: ["**"] # Releases

jobs:
publish-artifacts:
name: JDK 8
runs-on: ubuntu-20.04
if: ${{ github.repository_owner == 'sbt' }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Coursier Cache
id: coursier-cache
uses: coursier/cache-action@v6

- name: Install Adoptium Temurin OpenJDK
uses: coursier/setup-action@v1
with:
jvm: adoptium:8

- name: Publish artifacts
run: sbt ci-release
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}

- name: Cleanup before cache
shell: bash
run: |
find $HOME/Library/Caches/Coursier/v1 -name "ivydata-*.properties" -delete || true
find $HOME/.ivy2/cache -name "ivydata-*.properties" -delete || true
find $HOME/.cache/coursier/v1 -name "ivydata-*.properties" -delete || true
find $HOME/.sbt -name "*.lock" -delete || true
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ project/plugins/project/
.idea/
.idea_modules/

.bsp/
13 changes: 0 additions & 13 deletions .travis.yml

This file was deleted.

23 changes: 8 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ sbt-digest will create a second copy of the file with the hash and a digest file
./target/web/digest/images/23dcc403b263f262692ac58437104acf-example.png
./target/web/digest/images/example.png.md5

[![Build Status](https://travis-ci.org/sbt/sbt-digest.svg?branch=master)](https://travis-ci.org/sbt/sbt-digest) [![Download](https://api.bintray.com/packages/sbt-web/sbt-plugin-releases/sbt-digest/images/download.svg) ](https://bintray.com/sbt-web/sbt-plugin-releases/sbt-digest/_latestVersion)
[![Build Status](https://github.com/sbt/sbt-digest/actions/workflows/build-test.yml/badge.svg)](https://github.com/sbt/sbt-digest/actions/workflows/build-test.yml)

Add plugin
----------

Add the plugin to `project/plugins.sbt`. For example:

```scala
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.3")
addSbtPlugin("com.github.sbt" % "sbt-digest" % "2.0.0")
```

Your project's build file also needs to enable sbt-web plugins. For example with build.sbt:
Expand All @@ -42,44 +42,37 @@ Configuration

### Algorithms

Supported hash algorithms are `md5` and `sha1`. The default is to only create
`md5` checksum files. To configure this, modify the `algorithms`
setting. For example, to also generate`sha1` checksum files:
Supported hash algorithms are `md5` and `sha1`. The default is to only create `md5` checksum files. To configure this, modify the `algorithms` setting.
For example, to also generate`sha1` checksum files:

```scala
DigestKeys.algorithms += "sha1"
```

### Filters

Include and exclude filters can be provided. For example, to only create
checksum files for `.js` files:
Include and exclude filters can be provided. For example, to only create checksum files for `.js` files:

```scala
includeFilter in digest := "*.js"
digest / includeFilter := "*.js"
```

Or to exclude all `.js` files but include any other files:

```scala
excludeFilter in digest := "*.js"
digest / excludeFilter := "*.js"
```


Contribution policy
-------------------

Contributions via GitHub pull requests are gladly accepted from their original
author. Before we can accept pull requests, you will need to agree to the
[Typesafe Contributor License Agreement][cla] online, using your GitHub account.

Contributions via GitHub pull requests are gladly accepted from their original author.

License
-------

This code is licensed under the [Apache 2.0 License][apache].


[sbt-web]: https://github.com/sbt/sbt-web
[cla]: http://www.typesafe.com/contribute/cla
[apache]: http://www.apache.org/licenses/LICENSE-2.0.html
23 changes: 22 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
lazy val `sbt-digest` = project in file(".")

enablePlugins(SbtWebBase)

sonatypeProfileName := "com.github.sbt.sbt-digest" // See https://issues.sonatype.org/browse/OSSRH-77819#comment-1203625

description := "sbt-web plugin for adding checksum files for web assets. Checksums are useful for asset fingerprinting and etag values"

addSbtJsEngine("1.2.2")
developers += Developer(
"playframework",
"The Play Framework Team",
"contact@playframework.com",
url("https://github.com/playframework")
)

addSbtJsEngine("1.3.5")

// Customise sbt-dynver's behaviour to make it work with tags which aren't v-prefixed
ThisBuild / dynverVTagPrefix := false

// Sanity-check: assert that version comes from a tag (e.g. not a too-shallow clone)
// https://github.com/dwijnand/sbt-dynver/#sanity-checking-the-version
Global / onLoad := (Global / onLoad).value.andThen { s =>
dynverAssertTagVersion.value
s
}
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.0.1
sbt.version=1.9.7
4 changes: 3 additions & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-web-build-base" % "1.2.0")
addSbtPlugin("com.github.sbt" % "sbt-web-build-base" % "2.0.2")

addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.12")
8 changes: 4 additions & 4 deletions src/main/scala/com/typesafe/sbt/digest/SbtDigest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ object SbtDigest extends AutoPlugin {
algorithms := Seq("md5"),
indexPath := None,
indexWriter := writeJsIndex,
includeFilter in digest := AllPassFilter,
excludeFilter in digest := HiddenFileFilter,
(digest / includeFilter) := AllPassFilter,
(digest / excludeFilter) := HiddenFileFilter,
digest := digestStage.value
)

def digestStage: Def.Initialize[Task[Pipeline.Stage]] = Def.task {
val algs = algorithms.value
val inc = (includeFilter in digest).value
val exc = (excludeFilter in digest).value
val inc = (digest / includeFilter).value
val exc = (digest / excludeFilter).value
val target = webTarget.value / digest.key.label
val path = indexPath.value
val writer = indexWriter.value
Expand Down
2 changes: 1 addition & 1 deletion src/sbt-test/digest/defaults/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
2 changes: 1 addition & 1 deletion src/sbt-test/digest/exclude/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
2 changes: 1 addition & 1 deletion src/sbt-test/digest/existing/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
2 changes: 1 addition & 1 deletion src/sbt-test/digest/include/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
2 changes: 1 addition & 1 deletion src/sbt-test/digest/index/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
2 changes: 1 addition & 1 deletion src/sbt-test/digest/sha1/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" % "sbt-digest" % sys.props("project.version"))
1 change: 0 additions & 1 deletion version.sbt

This file was deleted.

0 comments on commit d12b5f4

Please sign in to comment.