【发布时间】:2014-03-23 21:42:13
【问题描述】:
我想使用 s3-sbt 上传 package-zip-tarball 任务的结果(来自 sbt-native-packager)。
目前,我的build.sbt 的重要部分是这样的:
mappings in upload := Seq(( ((package-zip-tarball in Universal).value) ,"trailhunger2-1.0.tgz"))
host in upload := "trailhunger.s3.amazonaws.com"
credentials += Credentials(Path.userHome / ".s3credentials")
重新加载时,sbt 报告以下内容:
/Users/sarge/Documents/workspaces/TrailHunger/TrailHunger2/build.sbt:56: error: illegal start of simple expression
mappings in upload := Seq(( ((package-zip-tarball in Universal).value) ,"trailhunger2-1.0.tgz"))
^
/Users/sarge/Documents/workspaces/TrailHunger/TrailHunger2/build.sbt:56: error: ')' expected but eof found.
mappings in upload := Seq(( ((package-zip-tarball in Universal).value) ,"trailhunger2-1.0.tgz"))
^
[error] Error parsing expression. Ensure that there are no blank lines within a setting.
更新:@SethTisue 回答后,我的代码现在显示为:
mappings in upload := Seq( ( (packageZipTarball in Universal).value ,"trailhunger2-1.0.tgz") )
很遗憾,我明白了:
error: not found: value packageZipTarball
mappings in upload := Seq( ( (packageZipTarball in Universal).value ,"trailhunger2-1.0.tgz") )
^
[error] Type error in expression
我的期望是(packageZipTarball in Universal) 在控制台中与universal:packageZipTarball 做同样的事情。 .value 表示我可以获得 java.io.File 类型的任务的值。然后将其与字符串文字“trailhunger2-1.0.tgz”一起包含在 tuple2 中。然后,周围的 Seq 会生成一个恰好包含一个元素的序列。
我不明白为什么找不到值 packageZipTarball。
我已验证 show universal:packageZipTarball 返回我期望的文件名。
s3-sbt 是否太旧,无法支持新的 sbt 0.13 语法。在 Seq 中嵌套 this 不正确吗?
【问题讨论】:
-
@SethTisue 感谢您的回答。我仔细检查了,我一定是在复制错误消息时不小心按了]。 build.sbt 的那个部分没有方括号。 :-(