- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对规则感到困惑 Shake用于确定输出是否需要重建。我有一个简单的文档构建,包含两个步骤。完整的构建文件如下,但总而言之,asciidoc
用于将 .txt
文件转换为 .dbxml
(Docbook XML)文件,然后使用 dblatex
将其转换为 PDF。
我希望如果我触摸 PDF 并重新运行抖动,应该不会发生任何事情,因为输出比两个输入都新。然而,shake 实际上执行了 dblatex 步骤。
接下来,我希望如果我触摸 .dbxml
文件,那么 shake 将执行 dblatex 而不是 asciidoc,因为 dbxml 比它的输入更新(即 .txt
).然而 shake 实际上同时执行了 asciidoc 和 dblatex 步骤。
我的依赖项是否有误?
import Development.Shake
import Development.Shake.FilePath
-- List of output files
outputs = ["process.pdf"]
main = shakeArgs shakeOptions{shakeVerbosity=Diagnostic} $ do
want outputs
-- Rule to produce pdf files from dbxml inputs
"*.pdf" *> \out -> do
let dbxml = out `replaceExtension` "dbxml"
need [dbxml]
cmd "dblatex" "-o" out dbxml
-- Rule to produce dbxml files from txt (asciidoc) inputs
"*.dbxml" *> \out -> do
let src = out `replaceExtension` "txt"
need [src]
cmd "asciidoc" "--backend=docbook45" "--doctype=article" "-o" out src
最佳答案
在 Shake 中,如果文件的最后修改时间与构建时的时间发生变化,则该文件被认为是脏的。在 make 中,如果文件的最后修改时间比其依赖项早,则该文件被认为是脏的。我怀疑您的观察都源于这种差异。为了直接回答这个问题,Shake 会在文件或其任何直接依赖项发生更改时重建该文件。
为什么 Shake 要做一些不同的东西?三个原因:
至于你的构建系统,我觉得一切都很好。我唯一的小调整是使用中缀运算符 -<.>
而不是 replaceExtension
- 它们的功能相同,但操作符在我看来更清晰。
关于shake-build-system - Shake如何决定是否重建目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469233/
Shake 有 shakeVersion::String: Defaults to 1. The version number of your build rules. Change the vers
由于各种不幸的原因,我的部分构建需要 root 权限。我正在尝试使用 sudo为了这: cmd_ "sudo other_script.sh" [input] [output] 但是,大概是因为 Sh
我将 Xcode 更新到 9.0,现在 ⌘R 不再可以在 iOS 模拟器中重新加载应用程序,并且 ⌘D 不再打开开发者菜单。 开发者菜单的新快捷方式是 ^⌘Z,并且不再有重新加载应用程序的快捷方式。
我正在为我的应用程序开发简单的摇一摇功能,但我遇到了一个奇怪的问题。当我在我的 Honor5x 上测试它时,它就像一个魅力,但当我试图在三星 S5 上执行它时,它太敏感了。加速度计在不同设备上的工作方
我先找到example Shake 用法演示了一种似乎容易出错的模式: contents "txt" need contents cmd "tar -cf" [out] co
我正在使用 animate.css 实现 CSS3 摇动效果,CSS 看起来像下面的代码片段。现在它来回摇晃了好几次,我想把摇晃减半。有没有办法用 animate css3 来做到这一点,或者我需要修
我从 "Running" section of the Shake manual 创建了推荐的 build.sh 文件: #!/bin/sh mkdir -p _shake ghc --make Sh
我的应用程序上有一个可以由用户调整大小的控件,它有一些按钮固定在右上角,还有一个滚动条。 问题在于,当调整控件大小时,锚定在右侧的控件也会更改位置,并且仅在几毫秒后控件才进入正确位置。因此,看起来子控
我希望我的应用随时启动 Activity 以响应手机的“摇动”。 是否建议在后台持续运行一个服务来监听加速度计的变化? 有没有其他方法可以做到这一点? 有很多应用可以执行此类操作。 最佳答案 是的,使
我有一个构建两组目标的项目。一种是手持设备的各种版本的固件,最终为每个设备创建一个 .dfu 文件。这使用了 arm 编译链。另一组是为构建平台编译代码的相同设备的模拟器(嗯,通常无论如何)。我继承的
我有这样的规则: "foo" *> \out do need something create "foo" somehow 构建正确,运行构建两次不会构建目标。然后我向这条规则添加一个系统:
在 Puppet/Chef 的脉络中;我真的很想将 Shake 用于不仅仅是本地构建。我认为 Shake 的原理足够抽象(虽然我没有深入研究过),可以将其用作更大的配置构建工具的基础。 最佳答案 免责
我对规则感到困惑 Shake用于确定输出是否需要重建。我有一个简单的文档构建,包含两个步骤。完整的构建文件如下,但总而言之,asciidoc 用于将 .txt 文件转换为 .dbxml(Docbook
使用 jQuery UI 的抖动效果会导致元素跑到换行符处,抖动,然后跑回来。我尝试改变CSS的位置等,但没有破解它,我觉得有一个正常的,优雅的解决方案。 http://jsfiddle.net/Sh
在iPhone App中如何实现摇动手势? 请帮忙并提出建议。 谢谢 最佳答案 如果您的 ViewController 启用第一响应者 [self becomeFirstResponder] 并实现m
在 Shake 文档中,它建议使用标志 -with-rtsopts=-I0 进行编译。禁用空闲垃圾收集。为什么Shake建议这样做? 最佳答案 默认情况下(不带标志)如果所有 Haskell 线程空闲
我正在尝试了解如何使用 Shake 以及如何构建新规则。作为练习,我决定实现我称之为 backup 的规则。 我们的想法是在文件不存在或文件太旧(让我们超过 24 小时)时生成一个文件。我喜欢将长命令
我对测试库私有(private)类/函数的简单方法很感兴趣。下面有两个文件用于测试文件 curves_attribution.dart 中的代码。后者 (2) 是 http://pub.dartlan
我想摇动“#error_message”div。我正在做: $('#error_message').effect('shake', {times: 2, distance: 5}, 200); div
我正在尝试制作一个元素,它可以来回摇晃并变小,然后在单击时重置为其原始大小。问题是,当点击时,它似乎经历了尺寸循环,但在第一个之后,它就不再晃动了。如果尝试到处移动功能,但似乎没有任何效果。我的代码中
我是一名优秀的程序员,十分优秀!