2

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"))
    }
4

4 に答える 4

1

sbt にはまだ自動 S3 パブリッシュ サポートがないようです (ただし、s3-pluginはあります)。しかし、それを考えると、あなたは簡単に独自のものを作成できると思います

  1. sbt はプラグインで拡張可能
  2. Maven プラグインは単なる POJO です (そのため、Maven の外で簡単に再利用できます)
  3. あなたが望むことをすでに行っている既存のMavenプラグインがあります

できると思います

  1. sbt リリース プラグインを使用する...
  2. ...独自のカスタム リリース ステップを追加...
  3. ...呼び出しS3Wagon.putResourceまたはS3Plugin.S3.s3Settings.upload
于 2013-09-20T10:07:21.327 に答える
0

sbt 用のS3 プラグインが利用可能です。

于 2013-09-20T10:01:07.623 に答える
0

Sbt は、s3:// プロトコルを提供する Maven 拡張機能をサポートしていないため、簡単に言えば、あなたがしようとしていることを簡単に実行する方法はありません。

于 2012-05-02T05:57:29.420 に答える