From 588df79e92319e358379a3a18c0f13b66f597de9 Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Thu, 26 Aug 2021 09:13:56 +0200 Subject: [PATCH 1/5] Dependency upgrades --- .gitignore | 3 ++- build.sbt | 17 ++++++++--------- project/build.properties | 2 +- project/plugins.sbt | 10 +++++----- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index c67de7b..de4683c 100644 --- a/.gitignore +++ b/.gitignore @@ -84,7 +84,7 @@ buildNumber.properties ## Plugin-specific files: # IntelliJ -/out/ +out/ # mpeltonen/sbt-idea plugin .idea_modules/ @@ -117,6 +117,7 @@ hs_err_pid* .cache .history .lib/ +.bsp/ dist/* target/ lib_managed/ diff --git a/build.sbt b/build.sbt index 8482c85..36f6d3c 100644 --- a/build.sbt +++ b/build.sbt @@ -7,8 +7,8 @@ inThisBuild(Seq( )) val commonSettings = Seq( - scalaVersion := "2.13.1", - crossScalaVersions := Seq("2.12.11", "2.13.1"), + scalaVersion := "2.13.6", + crossScalaVersions := Seq("2.13.6", "2.12.14"), scalacOptions ++= Seq( "-feature", "-deprecation", @@ -19,15 +19,14 @@ val commonSettings = Seq( "-language:postfixOps", "-language:experimental.macros", "-Xfatal-warnings", - "-Xlint:_", - "-Ywarn-unused:_,-explicits,-implicits", - "-Ybackend-parallelism", "4", + "-Xlint:_,-missing-interpolator,-unused", + "-Yrangepos", + "-Ybackend-parallelism", "8", "-Ycache-plugin-class-loader:last-modified", "-Ycache-macro-class-loader:last-modified", ), autoAPIMappings := true, publishMavenStyle := true, - publishArtifact in Test := false, pomIncludeRepository := { _ => false }, publishTo := sonatypePublishToBundle.value, @@ -80,9 +79,9 @@ lazy val root = project.in(file(".")) commonJSSettings, libraryDependencies ++= Seq( - "org.scala-js" %%% "scalajs-dom" % "0.9.8", - "org.scalatest" %%% "scalatest" % "3.1.1" % Test, - "com.lihaoyi" %%% "scalatags" % "0.8.6" % Test + "org.scala-js" %%% "scalajs-dom" % "1.2.0", + "org.scalatest" %%% "scalatest" % "3.2.9" % Test, + "com.lihaoyi" %%% "scalatags" % "0.9.4" % Test ), Compile / npmDependencies += "jquery" -> "3.4.1", diff --git a/project/build.properties b/project/build.properties index ef622e7..e9db047 100755 --- a/project/build.properties +++ b/project/build.properties @@ -1,2 +1,2 @@ # suppress inspection "UnusedProperty" -sbt.version=1.3.9 \ No newline at end of file +sbt.version=1.5.5 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 84c42cf..fa81d0b 100755 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,9 +1,9 @@ logLevel := Level.Warn -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.1") -addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.17.0") -addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.7.0") +addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.20.0") +addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2") // Deployment configuration -addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1") -addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.8.1") \ No newline at end of file +addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2") +addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.10") \ No newline at end of file From 8a1d6dd0340665efa16d93d0c41b545d44594c8d Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Thu, 26 Aug 2021 09:48:18 +0200 Subject: [PATCH 2/5] Initial setup for GitHub Actions --- .github/workflows/ci.yml | 91 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 37 ---------------- 2 files changed, 91 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..7a13e3a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,91 @@ +name: CI + +env: + JAVA_OPTS: "-Dfile.encoding=UTF-8 -Xms1024M -Xmx3072M -Xss4M -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler" + +on: + push: + branches: '*' + tags: [ "v[0-9]+*" ] + pull_request: + # avoid duplicate checks (push & PR) further in the review process + types: [opened] + +jobs: + test: + name: Run tests + runs-on: ubuntu-20.04 # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md + strategy: + fail-fast: false + matrix: + scala: [ 2.12.14, 2.13.6 ] + command: [ test ] + steps: + - uses: actions/checkout@v2 + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache + ~/.cache/coursier + key: ${{ runner.os }}-sbt-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('project/Dependencies.scala') }} + restore-keys: ${{ runner.os }}-sbt- + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + - name: Cache npm + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node- + - name: Set up node + uses: actions/setup-node@v2-beta + - name: Run tests + run: sbt "set concurrentRestrictions in Global += Tags.limit(ScalaJSTags.Link, 1)" ++${{ matrix.scala }} ${{ matrix.command }} + + publish: + name: Publish to Sonatype + # only run on tag push + if: github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/v')) + needs: [ test ] + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache + ~/.cache/coursier + key: ${{ runner.os }}-sbt-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('project/Dependencies.scala') }} + restore-keys: ${{ runner.os }}-sbt- + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + - name: Get version + id: get_tag_name + run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v} + - name: Import GPG key + env: + #exported via `gpg -a --export-secret-keys | cat -e | sed 's/\$/\\n/g' | xclip -selection clipboard` and added to org secrets + SONATYPE_GPG: ${{ secrets.SONATYPE_GPG }} + run: echo -e $SONATYPE_GPG | gpg --import - + - name: Publish artifacts + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + run: sbt 'set version in ThisBuild := "${{ steps.get_tag_name.outputs.VERSION }}"' +publishSigned + - name: Release Sonatype bundle + #https://github.com/xerial/sbt-sonatype#publishing-your-artifact + if: ${{ !endsWith(steps.get_tag_name.outputs.VERSION, 'SNAPSHOT') }} + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + run: sbt 'set version in ThisBuild := "${{ steps.get_tag_name.outputs.VERSION }}"' sonatypeBundleRelease diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d996112..0000000 --- a/.travis.yml +++ /dev/null @@ -1,37 +0,0 @@ -dist: trusty -language: scala -jdk: openjdk11 -scala: - - 2.13.1 - -jobs: - include: - - stage: test - if: NOT tag =~ ^v - script: - - sbt +test +publishLocal - - cd example && sbt +compileStatics - - stage: release - if: tag =~ ^v - script: - - openssl aes-256-cbc -K $encrypted_f00a6d0a0202_key -iv $encrypted_f00a6d0a0202_iv - -in travis/travis.gpg.enc -out travis/travis.gpg -d - - gpg --import travis/travis.gpg - - test $TRAVIS_PULL_REQUEST = "false" && sbt +publishSigned sonatypeBundleRelease - -before_cache: - - rm -fv $HOME/.ivy2/.sbt.ivy.lock - - find $HOME/.ivy2/cache -name "ivydata-*.properties" -print -delete - - find $HOME/.sbt -name "*.lock" -print -delete - -cache: - directories: - - "$HOME/.ivy2/cache" - - "$HOME/.m2" - - "$HOME/.cache" - - "$HOME/.sbt" - -env: - global: - - secure: rG9cHG3au9EUYQSJKHAsMxws3IW/tSxG1Y/xbuW2Ri1JVr6L6c9ig8gYj4Hju5KkVvxXejb1/8bYCoZEP1vZpNeSkNordHECp0l+i9mI5ZFo5RN3vMCq4/0xWEQTdZ7c3BjN+pn4veDJ+W8cHFXgivC9tsX7FEbksz4bFVIm1knvz5r7HN4ntgQUeLwY/J9EpKSr/TYZsnEcf8aH9q6tvTLqcfYAR6ggs68Kc2qJ5sII0rj3vP2NANjTLuvdkPSe3i/9KCDRDr9KIoVsam4LfFDG8YXSNWBP3OQU86DF19V0brt6WGGX6G5V2dyjlHyyUy0GBFJOlPmfkEL8ylOprGy1OPw40ZPRbtzpbztFlVmgJoO3UcKIWlyB8umz0M9A+E3Of3P9mTnskAe366VPSq8R/G3kxc7ictZDQH7hgf2nKqlFQNXCJkBqynWRlC0HQ31izrACqNmmYdwQspUnAFVOEFSmfXu8sPVyOSQhHT4IG+xgG4KCKdC8Cv4buOFDzj4z0DRnfJwR71KvxA9KGhUtMZXXqfdZANThHMV1bsi3S3UPQKqRg62aja4+I7lzbwrPRbkDPsl0eTdULF39jIMnbfjC2TqeCgfG+tpel0DBMBOuuESvTVFVX38HSgK1QNhSAAu1nrVIFtZQbKDZLOm7hCgfOJO6v65R3PgIFFI= - - secure: wjX1uXAYdNxpUr1nz9cQ96cgJI3wUqJ7hIQlHwtg1gLJJtgdf6STSTbAm1IKMb0Ouytc2muC1H8jhBbv94tyZh2/NI7IDk7OY2wcLobH2Jh/wnDEAAcATIhqR/oFtSdqr0umr1HDevUPIBU/ZFViCPribnCQ/Rxn8jttguGd3Ho1k1dxzJ9pEiET66nU8CnW0j8g1Nkg540xFPff0Q+1C7+3akU03KwLnh8C0KR1oGhT354IhocLtFKWPuD9GTXAiA6qcOZ0cmUlv8jwHhWyJ6dmVkOlv873nGPrFaWEDPepNkGaAz2TYjkeFS0YS8q1zbd7YM0opnQd8TJCnFddyzc09+1d5RMAJVWdKOKVjrbDwvKaNWfEHW6GXJ83xm8cbo3dCREfL7UTKjejkQTRgmj2BdrZVRB9xs+XKZpZi0ECVbIrwik9tyYoiuSHe96yNN3Ma56Q4x094ZTvsccjy7pET4FCpNwrFu0aD+HFPerWB/xlr9ILz7sWy99r4eafS+O2eidoQnPIHAHZ+z/k9ExQedKUzTxO/skgrf1FvswrY7cpfnNApOhCSKm8C5NfMB5BC7M7OsYqDIhIwfs/Q3J9gw18F4fa9czpnduVzkpQUGdZ2vtS+oxDGICB7uaxkRq7HudHHElhz4w9qEOIMpTJjICPa38Hr/fKGxpuhKE= \ No newline at end of file From 03b18206f9df4b371608f3beaa0a82b749f21eac Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Thu, 26 Aug 2021 16:02:13 +0200 Subject: [PATCH 3/5] Deployment configuration cleanup --- build.sbt | 31 +++++++++++++++++-------------- travis/travis.gpg.enc | Bin 3712 -> 0 bytes 2 files changed, 17 insertions(+), 14 deletions(-) delete mode 100644 travis/travis.gpg.enc diff --git a/build.sbt b/build.sbt index 36f6d3c..aa79099 100644 --- a/build.sbt +++ b/build.sbt @@ -1,9 +1,8 @@ name := "udash-jquery" inThisBuild(Seq( - version := sys.env.get("TRAVIS_TAG").filter(_.startsWith("v")).map(_.drop(1)).getOrElse("3.0.0-SNAPSHOT"), + version := "3.1.0-SNAPSHOT", organization := "io.udash", - cancelable := true, )) val commonSettings = Seq( @@ -25,8 +24,22 @@ val commonSettings = Seq( "-Ycache-plugin-class-loader:last-modified", "-Ycache-macro-class-loader:last-modified", ), - autoAPIMappings := true, +) + +val commonJSSettings = Seq( + Test / scalaJSStage := FastOptStage, + Test / requireJsDomEnv := true, + npmExtraArgs += "--silent", + scalacOptions += { + val localDir = (ThisBuild / baseDirectory).value.toURI.toString + val githubDir = "https://raw.githubusercontent.com/UdashFramework/scala-js-jquery" + s"-P:scalajs:mapSourceURI:$localDir->$githubDir/v${version.value}/" + }, +) + +val deploymentConfiguration = Seq( publishMavenStyle := true, + Test / publishArtifact := false, pomIncludeRepository := { _ => false }, publishTo := sonatypePublishToBundle.value, @@ -61,22 +74,12 @@ val commonSettings = Seq( } ) -val commonJSSettings = Seq( - Test / scalaJSStage := FastOptStage, - Test / requireJsDomEnv := true, - npmExtraArgs += "--silent", - scalacOptions += { - val localDir = (ThisBuild / baseDirectory).value.toURI.toString - val githubDir = "https://raw.githubusercontent.com/UdashFramework/scala-js-jquery" - s"-P:scalajs:mapSourceURI:$localDir->$githubDir/v${version.value}/" - }, -) - lazy val root = project.in(file(".")) .enablePlugins(ScalaJSBundlerPlugin, JSDependenciesPlugin) .settings( commonSettings, commonJSSettings, + deploymentConfiguration, libraryDependencies ++= Seq( "org.scala-js" %%% "scalajs-dom" % "1.2.0", diff --git a/travis/travis.gpg.enc b/travis/travis.gpg.enc deleted file mode 100644 index 399e4773eceb781b839288110f4eb79b00f9e135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3712 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 From a2f351108716c2aa31485950fe274df387a48bb4 Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Thu, 26 Aug 2021 16:06:57 +0200 Subject: [PATCH 4/5] Update badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88ff328..32fdc79 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # udash-jquery [](http://www.avsystem.com/) -[![Build Status](https://travis-ci.org/UdashFramework/scala-js-jquery.svg?branch=master)](https://travis-ci.org/UdashFramework/scala-js-jquery) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.udash/udash-jquery_sjs1_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.udash/udash-jquery_sjs1_2.12) +![Build Status](https://github.com/UdashFramework/scala-js-jquery.svg/workflows/CI/badge.svg?branch=master&event=push) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.udash/udash-jquery_sjs1_2.13/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.udash/udash-jquery_sjs1_2.13) [![Join the chat at https://gitter.im/UdashFramework/scala-js-jquery](https://badges.gitter.im/UdashFramework/scala-js-jquery.svg)](https://gitter.im/UdashFramework/scala-js-jquery?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Static types for the jQuery API for [Scala.js](http://www.scala-js.org/) programs. From fdc903611d997315b833c39829562d789c6112ba Mon Sep 17 00:00:00 2001 From: Dawid Dworak Date: Fri, 27 Aug 2021 07:00:18 +0200 Subject: [PATCH 5/5] scalac flag cleanup --- build.sbt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index aa79099..b04eb23 100644 --- a/build.sbt +++ b/build.sbt @@ -15,11 +15,9 @@ val commonSettings = Seq( "-language:implicitConversions", "-language:existentials", "-language:dynamics", - "-language:postfixOps", "-language:experimental.macros", "-Xfatal-warnings", - "-Xlint:_,-missing-interpolator,-unused", - "-Yrangepos", + "-Xlint:_", "-Ybackend-parallelism", "8", "-Ycache-plugin-class-loader:last-modified", "-Ycache-macro-class-loader:last-modified",