summaryrefslogtreecommitdiff
path: root/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
diff options
context:
space:
mode:
authorRoman Timushev <rtimush@gmail.com>2017-12-29 10:28:51 +0100
committerRoman Timushev <rtimush@gmail.com>2017-12-29 19:05:00 +0100
commit1a0cce2d21e9d90058386890f77a57291a494359 (patch)
tree84776b5439c07292fd01a665b1fae2fd7510f0eb /scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
parent8583a2a95a0bf0b3dcfb74bfb47ea18719be01c1 (diff)
downloadmill-1a0cce2d21e9d90058386890f77a57291a494359.tar.gz
mill-1a0cce2d21e9d90058386890f77a57291a494359.tar.bz2
mill-1a0cce2d21e9d90058386890f77a57291a494359.zip
Cross-publish for ScalaJS
Diffstat (limited to 'scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala')
-rw-r--r--scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala31
1 files changed, 17 insertions, 14 deletions
diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
index b1102234..13e91c2a 100644
--- a/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
+++ b/scalaplugin/src/main/scala/mill/scalaplugin/ScalaModule.scala
@@ -257,29 +257,32 @@ trait ScalaModule extends Module with TaskModule { outer =>
options = Seq("-usejavacp")
)
}
-}
-
-trait PublishModule extends ScalaModule { outer =>
- import mill.scalaplugin.publish._
-
- def publishName: T[String] = basePath.last.toString
- def publishVersion: T[String] = "0.0.1-SNAPSHOT"
- def pomSettings: T[PomSettings]
// publish artifact with name "mill_2.12.4" instead of "mill_2.12"
- def publishWithFullScalaVersion: Boolean = false
+ def crossFullScalaVersion: T[Boolean] = false
+ def artifactName: T[String] = basePath.last.toString
def artifactScalaVersion: T[String] = T {
- if (publishWithFullScalaVersion) scalaVersion()
+ if (crossFullScalaVersion()) scalaVersion()
else scalaBinaryVersion()
}
+ def artifactId: T[String] = T { s"${artifactName()}_${artifactScalaVersion()}" }
+
+}
+
+trait PublishModule extends ScalaModule { outer =>
+ import mill.scalaplugin.publish._
+
+ def pomSettings: T[PomSettings]
+ def publishVersion: T[String] = "0.0.1-SNAPSHOT"
+
def pom = T {
val dependencies =
ivyDeps().map(Artifact.fromDep(_, scalaVersion(), scalaBinaryVersion()))
- val pom = Pom(artifact(), dependencies, publishName(), pomSettings())
+ val pom = Pom(artifact(), dependencies, artifactName(), pomSettings())
- val pomPath = T.ctx().dest / s"${publishName()}_${artifactScalaVersion()}-${publishVersion()}.pom"
+ val pomPath = T.ctx().dest / s"${artifactId()}-${publishVersion()}.pom"
write.over(pomPath, pom)
PathRef(pomPath)
}
@@ -294,7 +297,7 @@ trait PublishModule extends ScalaModule { outer =>
}
def artifact: T[Artifact] = T {
- Artifact(pomSettings().organization, s"${publishName()}_${artifactScalaVersion()}", publishVersion())
+ Artifact(pomSettings().organization, artifactId(), publishVersion())
}
def publishLocal(): define.Command[Unit] = T.command {
@@ -313,7 +316,7 @@ trait PublishModule extends ScalaModule { outer =>
def sonatypeSnapshotUri: String = "https://oss.sonatype.org/content/repositories/snapshots"
def publish(credentials: String, gpgPassphrase: String): define.Command[Unit] = T.command {
- val baseName = s"${publishName()}_${artifactScalaVersion()}-${publishVersion()}"
+ val baseName = s"${artifactId()}-${publishVersion()}"
val artifacts = Seq(
jar().path -> s"${baseName}.jar",
sourcesJar().path -> s"${baseName}-sources.jar",