diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-12-12 16:56:02 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-12 16:56:02 -0800 |
commit | 9ba4cb69331386dfde9bac69dc2d5b22401face3 (patch) | |
tree | 120349e8015ae5717d36bd44209cde6ff9543518 /scalalib/src/publish/LocalPublisher.scala | |
parent | ea7fceb6e56f53bde3517586dfc57e10a605a524 (diff) | |
download | mill-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.scala | 32 |
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) + } + } + +} |