我正在尝试从 Nexus maven 存储库迁移到使用 https://github.com/jcaddel/maven-s3-wagon 。上马车吗?我读过一些关于 SBT 构建脚本的内容,但这似乎不是我想要的......我是否遗漏了一些东西?文档很少。
这是我的游戏! 2.0 Build.scala文件:
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "my-play-app"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.fusesource.mqtt-client" % "mqtt-client" % "1.0")
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers ++= Seq(
"Maven Repository" at "http://repo1.maven.org/maven2/",
"fusesource.snapshots" at "http://repo.fusesource.com/nexus/content/repositories/snapshots",
"fusesource.releases" at "http://repo.fusesource.com/nexus/content/groups/public"))
}
以下是我需要从 pom.xml 文件转换为 Build.scala 的内容(通过 wagon wiki):
<build>
<extensions>
<extension>
<groupId>org.kuali.maven.wagons</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>[S3 Wagon Version]</version>
</extension>
</extensions>
</build>
和
<distributionManagement>
<site>
<id>s3.site</id>
<url>s3://[AWS Bucket Name]/site</url>
</site>
<repository>
<id>s3.release</id>
<url>s3://[AWS Bucket Name]/release</url>
</repository>
<snapshotRepository>
<id>s3.snapshot</id>
<url>s3://[AWS Bucket Name]/snapshot</url>
</snapshotRepository>
</distributionManagement>
我想我了解如何将分发部分添加到 Build.scala:
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "my-play-app"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.fusesource.mqtt-client" % "mqtt-client" % "1.0")
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers ++= Seq(
"Maven Repository" at "http://repo1.maven.org/maven2/",
"fusesource.snapshots" at "http://repo.fusesource.com/nexus/content/repositories/snapshots",
"fusesource.releases" at "http://repo.fusesource.com/nexus/content/groups/public",
"s3.site" at "s3://[AWS Bucket Name]/site",
"s3.release" at "s3://[AWS Bucket Name]/release",
"s3.snapshot" at "s3://[AWS Bucket Name]/snapshot"))
}
最佳答案
看起来 sbt 中仍然没有自动 S3 发布支持(尽管有 s3-plugin )。但我认为您可以轻松创建自己的,鉴于
- 可以通过插件增强 sbt
- Maven 插件只是 POJO(因此您可以在 Maven 之外轻松地重用它们)
- 有一个 existing Maven plugin这已经达到了你想要的效果
我认为你可以
- 使用sbt release plugin ...
- ...添加您自己的自定义发布步骤...
- ...调用
S3Wagon.putResource
或S3Plugin.S3.s3Settings.upload
关于scala - Play 2.0 - Build.scala - 从 pom.xml 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10408326/