我使用SBT 0.11。
我有以下build.sbt
sbt项目中的文件:
myAction := {
// val srcFiles = ?
// How can I make srcFiles a List[File] of all sources files?
println("This is my action")
}
它工作得很好,但我如何访问所有Java/Scala源文件路径之类的设置,例如src/main/Scala/*。scala和目标类目录,例如target/scala-2.9.1/class?
定义一个taskKey,说
你的行动任务
然后
yourActionTask <<= (baseDirectory, target, packageBin in Compile, resources in Compile...) map { (basedir, targetDir, bin, res...)=>
// use these resources to complete your task as per your needs
}
顺便说一句,你可以在键中找到更多预定义的任务/键。scala源代码或sbt的scaladoc。
下面是一个示例,您可以参考它,它是从我的一个构建文件中提取的(只需将TaskKey和任务定义结合在一起,因为我不想麻烦,我将来会重用TaskKey):
val distTask = TaskKey[Unit]("dist", "distribute the deployment package of eromanga") <<= (baseDirectory, target, fullClasspath in Compile, packageBin in Compile, resources in Compile, streams) map {
(baseDir, targetDir, cp, jar, res, s) =>
s.log.info("[dist] prepare distribution folders...")
val assemblyDir = targetDir / "dist"
val confDir = assemblyDir / "conf"
val libDir = assemblyDir / "lib"
val binDir = assemblyDir / "bin"
Array(assemblyDir, confDir, libDir, binDir).foreach(IO.createDirectory)
s.log.info("[dist] copy jar artifact to lib...")
IO.copyFile(jar, libDir / jar.name)
s.log.info("[dist] copy 3rd party dependencies to lib...")
cp.files.foreach(f => if (f.isFile) IO.copyFile(f, libDir / f.name))
s.log.info("[dist] copy shell scripts to bin...")
((baseDir / "bin") ** "*.sh").get.foreach(f => IO.copyFile(f, binDir / f.name))
s.log.info("[dist] copy configuration templates to conf...")
((baseDir / "conf") * "*.xml").get.foreach(f => IO.copyFile(f, confDir / f.name))
s.log.info("[dist] copy examples chanenl deployment...")
IO.copyDirectory(baseDir / "examples", assemblyDir / "examples")
res.filter(_.name.startsWith("logback")).foreach(f => IO.copyFile(f, assemblyDir / f.name))
}
我正在尝试创建一个自定义任务/插件(两者都拒绝工作),用于我的gradle构建脚本。 我正在使用groovy插件,希望在单独的文件中声明任务/插件,而不是在我的构建中。格拉德尔。 我的项目树如下所示: 我试图做的是在中创建我的任务/插件类,然后在。 让我举一个小例子。 TestTask。groovy: build.gradle 当我尝试使用我的gradle.build(清洁,构建等)做任何事情时,
正在开发一个应用程序,采取学生考勤,我想得到的名单上勾选的名字“考勤”,当我点击一个“考勤”在相同的自定义列表视图。拜托,我该怎么做? 这是我的密码...自定义视图 ListAdapter公共类StudentListAdapter1扩展了BaseAdapter{private Context mContext;private List mStudentList; } 考勤activityprote
例如,我有一个插件:公共类PluginA实现plugin。 我会创建一个任务塔斯卡。现在我想设置:taska.dependson taskB,但是taskB是在pluginb中定义的。 有没有可能做到这一点,如果可以,如何做到?
我正在写一些gradle插件,现在我遇到了一个问题,DriverManager看不到buildscript依赖项中定义的JDBC驱动程序: 我有下一个build.gradle文件: 当我调用扩展DefaultTask的任务中定义的命令时
我有两个Gradle子项目,它们基本上都是哑protobuf容器。一个子项目需要从另一个子项目导入定义,但我似乎不知道如何让protobuf Gradle插件正常工作(我对Gradle还比较陌生)。 这里有一个例子。 目录布局: 建筑gradle(顶层) 设置。格拉德尔 gradle.properties 依赖关系/构建。格拉德尔 依赖关系/src/main/proto/dependency。原型
我在Wordpress中有一个名为“svg”的ACF字段菜单 为了创建我的菜单,我这样做: 我像这样显示我的菜单: 在我的Foreach中,我试图从我的菜单中调用我的ACF字段,如下所示: 但它不起作用(空)。我迷路了。如何获取我的 ACF 字段? 真是太感谢你了