Request: An alternate FileTask that checks whether the file was made
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- ruby
- 领域
- build-system
调研方向
首先阅读现有的 Rake::FileTask 行为,以及 issue 中引用的 Rake::DSL task definitions。验证在没有发生异常时 task action 如何运行,然后确认当以其命名的文件仍然不存在时,新的 task type 应该失败,并使用提供的 required_file example 作为完成检查。
由索引模型根据 Issue 内容生成。
描述
I think the current implementation of the file task makes perfect sense: just trigger a series of actions based on a file's status, in case you don't necessarily want to actually produce that file.
However, in cases where you do want to produce that file, it would be nice to have a separate task type that supports that, i.e. fails if the task actions don't produce the file even when there are no exceptions thrown.
Example:
class Rake::RequiredFileTask < Rake::FileTask
def execute(*args)
super(*args)
File.exists?(name) or raise "File #{name} was not created successfully"
end
end
module Rake::DSL
def required_file(*args, &block) # :doc:
Rake::RequiredFileTask.define_task(*args, &block)
end
end
Then, if invoked as:
required_file 'a.out' do |t|
# do nothing
end
an error would be thrown:
rake aborted!
File a.out was not created successfully
- 主要语言
- Ruby
- 星标
- 2.5k
- 派生
- 650
- 平均合并
- 6 分钟
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ruby/rake 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 68/100
-
难度 3/5 1-2 天 新手友好度 48/100
-
难度 5/5 一周以上 新手友好度 28/100
-
难度 1/5 1 小时以内 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 38/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
palladius/rails8-app-on-gcp#145 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
riscv/riscv-unified-db#2624 · 1 个 reaction ·
-
难度 1/5 1 小时以内 新手友好度 88/100
-
难度 2/5 1-3 小时 新手友好度 78/100