sbt-native-launcher를 사용하여 bintray에 zip 파일을 게시하려고합니다.sbt-native-packager로 zip 파일을 bintray로 게시
sbt publish
을하며 주요 유물을 발행 (.JAR,의 javadoc 등) :
나는 실행할 수입니다.
sbt universal:packageBin
을하며 .zip 파일을 생성합니다
또한 실행할 수입니다. 그러나
, 나는 실행할 때 :
sbt universal:publish
는 다음과 같은 오류를 제공합니다 : 같은 오류를 제공 일 :
[info] Wrote C:\src\ShExcala\target\scala-2.10\shexcala_2.10-0.0.1.pom
tar: Cannot execute remote shell: No such file or directory
tar: C\:\\Users\\Labra\\AppData\\Local\\Temp\\sbt_407249ba\\shexcala-0.0.1.tar: Cannot open: I/O error
tar: Error is not recoverable: exiting now
[trace] Stack trace suppressed: run last universal:packageZipTarball for the full output.
[error] (universal:packageZipTarball) Error tarballing
C:\src\ShExcala\target\universal\shexcala-0.0.1.tgz. Exit code: 2
이 문제가 "packageZipTarball 보편적"와 것 같다 .
나는 윈도우를 사용하고 있으며 "tar", "xz"및 "gzip"이 설치되어 있는지 확인했습니다.
지금은 .zip 만 게시해도 괜찮습니까? 그럼 다른 해결 방법은 sbt-native-packager를 구성하여 packageZipTarball 작업을 피할 수있는 방법을 아는 것입니다.
import sbt._
import sbt.Keys._
import AssemblyKeys._
import bintray.Plugin.bintraySettings
import bintray.Keys._
import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
lazy val root = project.in(file("."))//.settings(crossScalaVersions := Seq("2.10.4", "2.11.0"))
Build.sharedSettings
version := Build.currentVersion
libraryDependencies ++= Seq(
"org.specs2" %% "specs2" % "2.3.7" % "test"
, "org.scalatest" % "scalatest_2.10" % "2.0.1-SNAP" % "test"
, "commons-configuration" % "commons-configuration" % "1.7"
, "org.rogach" %% "scallop" % "0.9.5"
, "com.typesafe" % "config" % "1.0.1"
, "org.scala-lang" % "scala-compiler" % "2.10.2"
, "com.assembla.scala-incubator" % "graph-core_2.10" % "1.6.2"
, "org.apache.jena" % "jena-arq" % "2.10.1"
, "org.scalaz" % "scalaz-core_2.10" % "7.0.6"
, "es.weso" % "stateparser_2.10" % "0.0.1"
, "es.weso" % "wesin_2.10" % "0.0.1"
)
autoCompilerPlugins := true
seq(bintraySettings:_*)
Build.publishSettings
deploymentSettings
publishMavenStyle := true
// publish <<= publish.dependsOn(publish in config("universal"))
packageArchetype.java_application
resourceGenerators in Test += Def.task {
val location = url("https://github.com/shexSpec/test-suite/raw/gh-pages/tests.zip")
IO.unzipURL(location, resourceManaged.value/"downloadedTests").toSeq
}.taskValue
resolvers ++= Seq("snapshots", "releases").map(Resolver.sonatypeRepo)
과 project/build.scala
은 다음과 같습니다 :
build.sbt 정의는
import sbt._
import sbt.Keys._
import bintray.Plugin.bintraySettings
import bintray.Keys._
import Def.ScopedKey
import scala.scalajs.sbtplugin.ScalaJSPlugin._
object Build extends sbt.Build {
val isRelease = true
def repo = "weso-releases"
val shExcalaVersion = "0.0.1"
publishMavenStyle := false
val currentVersion = shExcalaVersion
protected val bintrayPublishIvyStyle = settingKey[Boolean]("=== !publishMavenStyle")
lazy val publishSettings = Seq(
repository in bintray := this.repo,
bintrayOrganization in bintray := Some("weso"),
licenses += ("MPL-2.0", url("http://opensource.org/licenses/MPL-2.0")),
bintrayPublishIvyStyle := true
)
val sharedSettings = Seq(
organization := "es.weso",
name := "shExcala",
scalaVersion := "2.10.4"
)
}
last universal:packageZipTarball
의 출력은 다음과 같습니다
> last universal:packageZipTarball
java.lang.RuntimeException: Error tarballing C:\src\ShExcala\target\universal\shexcala-0.0.1.tgz. Exit code: 2
at scala.sys.package$.error(package.scala:27)
at com.typesafe.sbt.packager.universal.Archives$$anonfun$makeTarball$1.apply(Archives.scala:134)
at com.typesafe.sbt.packager.universal.Archives$$anonfun$makeTarball$1.apply(Archives.scala:118)
at sbt.IO$.withTemporaryDirectory(IO.scala:285)
at com.typesafe.sbt.packager.universal.Archives$.makeTarball(Archives.scala:118)
at com.typesafe.sbt.packager.universal.Archives$$anonfun$10.apply(Archives.scala:111)
at com.typesafe.sbt.packager.universal.Archives$$anonfun$10.apply(Archives.scala:111)
at scala.Function3$$anonfun$tupled$1.apply(Function3.scala:35)
at scala.Function3$$anonfun$tupled$1.apply(Function3.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
[error] (universal:packageZipTarball) Error tarballing C:\src\ShExcala\target\universal\shexcala-0.0.1.tgz. Exit code: 2
>
빌드 정의를 공유 할 수 있습니까? 'universal : publish' 이후에 실행 된'last universal : packageZipTarball'의 출력이 실패 할 수 있습니다. – lpiepiora
build.sbt 및 project/build.scala 파일을 추가 할 때 질문을 편집했습니다. – Labra
주시겠습니까? 'tar --version'과'gzip --version'의 출력을 추가하십시오. 또한 디렉토리/이슈 이름에 공백이 없음을 확인할 수 있습니까? – lpiepiora