Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ lazy val `skip-duplicate-java-publish` = project

lazy val `version-scheme` = project

lazy val `webpack-version` = project

dependsOn(
`scalac-options`,
`detect-license`,
Expand All @@ -34,7 +36,8 @@ dependsOn(
`detect-scala-organization`,
`subdirectory-organization`,
`skip-duplicate-java-publish`,
`version-scheme`
`version-scheme`,
`webpack-version`
)

libraryDependencies += "com.lihaoyi" %% "sourcecode" % "0.3.0"
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.10.7
sbt.version=1.10.11
5 changes: 5 additions & 0 deletions webpack-version/build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
libraryDependencies += Defaults.sbtPluginExtra(
"ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1",
(sbtBinaryVersion in pluginCrossBuild).value,
(scalaBinaryVersion in update).value
) % Optional
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.thoughtworks.sbtBestPractice.webpackVersion

import org.scalajs.sbtplugin.ScalaJSPlugin
import sbt._
import sbt.Keys._
import scalajsbundler.sbtplugin.ScalaJSBundlerPlugin.autoImport._

import scala.language.reflectiveCalls

object WebpackVersion extends AutoPlugin {

override def trigger = allRequirements

override def requires = {
try {
super.requires && ScalaJSPlugin
} catch {
case _: NoClassDefFoundError =>
super.requires
}
}

override def projectSettings: Seq[Def.Setting[_]] = {
Seq(
webpack / version := {
VersionNumber((webpack / version).value) match {
case VersionNumber(Seq(3L, _*), _, _) => "3.12.0"
case VersionNumber(Seq(5L, _*), _, _) => "5.98.0"
case _ => (webpack / version).value
}
}
)
}
}