Skip to content

Commit

Permalink
Merge pull request #43 from mkurz/upgrade
Browse files Browse the repository at this point in the history
Upgrade to latest sbt-web, use GHA/sbt-ci-release
  • Loading branch information
mkurz authored Jan 11, 2024
2 parents f10b4ce + 6539bca commit 3174873
Show file tree
Hide file tree
Showing 11 changed files with 107 additions and 26 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
@@ -1,3 +1,4 @@
.idea
.idea_modules
target
.bsp/
12 changes: 0 additions & 12 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
sbt-concat
==========
[![Build Status](https://api.travis-ci.org/sbt/sbt-concat.png?branch=master)](https://travis-ci.org/sbt/sbt-concat) [![Download](https://api.bintray.com/packages/sbt-web/sbt-plugin-releases/sbt-concat/images/download.svg)](https://bintray.com/sbt-web/sbt-plugin-releases/sbt-concat/_latestVersion)
[![Build Status](https://github.com/sbt/sbt-concat/actions/workflows/build-test.yml/badge.svg)](https://github.com/sbt/sbt-concat/actions/workflows/build-test.yml)

[sbt-web] plugin for concatenating files together, using the sbt-web asset pipeline.

Plugin
======
Add the plugin to your `project/plugins.sbt`:
```scala
addSbtPlugin("net.ground5hark.sbt" % "sbt-concat" % "0.2.0")
addSbtPlugin("com.github.sbt" % "sbt-concat" % "1.0.0")
```

Enable the [sbt-web] plugin for your project:
Expand Down
26 changes: 22 additions & 4 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,10 +1,28 @@
lazy val `sbt-concat` = project in file(".")

organization := "net.ground5hark.sbt"
name := "sbt-concat"
enablePlugins(SbtWebBase)

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

description := "sbt-web asset concatenation plugin"

enablePlugins(SbtWebBase)
addSbtWeb("1.4.3")
developers += Developer(
"playframework",
"The Play Framework Team",
"[email protected]",
url("https://github.com/playframework")
)

addSbtWeb("1.5.3")

licenses := Seq("MIT" -> url("https://opensource.org/licenses/mit-license.php"))

// 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.2.6
sbt.version=1.9.7
3 changes: 2 additions & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-web-build-base" % "1.2.1")
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/net/ground5hark/sbt/concat/SbtConcat.scala
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ object SbtConcat extends AutoPlugin {

override def projectSettings = Seq(
groups := ListBuffer.empty[ConcatGroup],
includeFilter in concat := NotHiddenFileFilter,
concat / includeFilter := NotHiddenFileFilter,
parentDir := "",
concat := concatFiles.value
)
Expand All @@ -64,15 +64,15 @@ object SbtConcat extends AutoPlugin {
val logValue = streams.value.log
mappings: Seq[PathMapping] =>
val groupsValue = toFileNames(groups.value,
(sourceDirectories in Assets).value,
(webModuleDirectories in Assets).value)
(Assets / sourceDirectories).value,
(Assets / webModuleDirectories).value)

val groupMappings = if (groupsValue.nonEmpty) {
logValue.info(s"Building ${groupsValue.size} concat group(s)")
// Mutable map so we can pop entries we've already seen, in case there are similarly named files
val reverseMapping = ReverseGroupMapping.get(groupsValue, logValue)
val concatGroups = mutable.Map.empty[String, StringBuilder]
val filteredMappings = mappings.filter(m => (includeFilter in concat).value.accept(m._1) && m._1.isFile)
val filteredMappings = mappings.filter(m => (concat / includeFilter).value.accept(m._1) && m._1.isFile)
val targetDir = webTarget.value / parentDir.value

groupsValue.foreach {
Expand Down
2 changes: 1 addition & 1 deletion src/sbt-test/sbt-concat/simple/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
addSbtPlugin("net.ground5hark.sbt" %% "sbt-concat" % sys.props("project.version"))
addSbtPlugin("com.github.sbt" %% "sbt-concat" % sys.props("project.version"))
1 change: 0 additions & 1 deletion version.sbt

This file was deleted.

0 comments on commit 3174873

Please sign in to comment.