summaryrefslogtreecommitdiff
path: root/scalalib/src/publish/LocalPublisher.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-12-12 16:56:02 -0800
committerGitHub <noreply@github.com>2018-12-12 16:56:02 -0800
commit9ba4cb69331386dfde9bac69dc2d5b22401face3 (patch)
tree120349e8015ae5717d36bd44209cde6ff9543518 /scalalib/src/publish/LocalPublisher.scala
parentea7fceb6e56f53bde3517586dfc57e10a605a524 (diff)
downloadmill-9ba4cb69331386dfde9bac69dc2d5b22401face3.tar.gz
mill-9ba4cb69331386dfde9bac69dc2d5b22401face3.tar.bz2
mill-9ba4cb69331386dfde9bac69dc2d5b22401face3.zip
collapse boilerplate folder structure within src/ folders (#505)
* collapse boilerplate folder structure within src/ folders * .
Diffstat (limited to 'scalalib/src/publish/LocalPublisher.scala')
-rw-r--r--scalalib/src/publish/LocalPublisher.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/scalalib/src/publish/LocalPublisher.scala b/scalalib/src/publish/LocalPublisher.scala
new file mode 100644
index 00000000..d9839831
--- /dev/null
+++ b/scalalib/src/publish/LocalPublisher.scala
@@ -0,0 +1,32 @@
+package mill.scalalib.publish
+
+
+object LocalPublisher {
+
+ private val root: os.Path = os.home / ".ivy2" / "local"
+
+ def publish(jar: os.Path,
+ sourcesJar: os.Path,
+ docJar: os.Path,
+ pom: os.Path,
+ ivy: os.Path,
+ artifact: Artifact): Unit = {
+ val releaseDir = root / artifact.group / artifact.id / artifact.version
+ writeFiles(
+ jar -> releaseDir / "jars" / s"${artifact.id}.jar",
+ sourcesJar -> releaseDir / "srcs" / s"${artifact.id}-sources.jar",
+ docJar -> releaseDir / "docs" / s"${artifact.id}-javadoc.jar",
+ pom -> releaseDir / "poms" / s"${artifact.id}.pom",
+ ivy -> releaseDir / "ivys" / "ivy.xml"
+ )
+ }
+
+ private def writeFiles(fromTo: (os.Path, os.Path)*): Unit = {
+ fromTo.foreach {
+ case (from, to) =>
+ os.makeDir.all(to / os.up)
+ os.copy.over(from, to)
+ }
+ }
+
+}