2.04 から 2.1 への移行時に、dist タスクから Artifactory に zip ファイルを送信するパブリッシュ タスクで問題が発生しました。
今、私たちが得ているのは次のエラーです:
Internal task engine error: nothing running. This usually indicates a cycle in tasks.
これについては、play フレームワークのユーザー グループで議論されています。
と
https://groups.google.com/forum/#!topic/play-framework/BoWw65F6vg8
私たちは基本的に彼らが推奨することをやろうとしましたが、どこにも行きません. Build.scala の例を教えてください。
私たちが持っているものは次のとおりです。
/*
In order to solve the cycle generated during the dist task in play 2.1
*/
val distHack = TaskKey[File]("dist-hack", "Hack to publish dist")
val myDistSettings = Seq[Setting[_]] (
publish <<= (publish) dependsOn play.Project.dist,
publishLocal <<= (publishLocal) dependsOn play.Project.dist,
artifact in distHack ~= { (art: Artifact) =>
art.copy(`type` = "zip", extension = "zip")
},
distHack <<= (distDirectory, version) map { (d, v) =>
val packageName = "%s-%s" format(appName, v)
println(packageName)
val zip = d / (packageName + ".zip")
zip
}
) ++ Seq(addArtifact(artifact in distHack, distHack).settings: _*)
lazy val main = play.Project(appName, appVersion, appDependencies)
...
.settings(addArtifact(Artifact(appName, "zip","zip"), dist).settings : _*)
...
.settings(
// disable publishing the main jar produced by `package`
publishArtifact in (Compile, packageBin) := false,
// disable publishing the main API jar
publishArtifact in (Compile, packageDoc) := true,
// disable publishing the main sources jar
publishArtifact in (Compile, packageSrc) := false,
publishArtifact in Test := false,
crossPaths := false,
publishTo := Some("Artifactory Realm" at "somewhere"),
credentials += Credentials(".credentials"),
scalacOptions ++= Seq("-feature")
)
.settings(myDistSettings: _*)