`

Ruby'Rake Build Tool

    博客分类:
  • Ruby
阅读更多

Rake开始是作为Ruby的构建包,但不局限于此,它可作为一个自动化工具。可用它在项目中作所有自动化任务。

Rake运行时,默认会在当前目录查找叫Rakefile的文件,里面有需要它执行的任务。

desc "Remove files whose names end with a tilde"
task :delete_unix_backups do
  files = Dir['*~']
  rm(files, verbose: true) unless files.empty?
end

 desc与task是Rake定义的方法,task的名称是一个symbol。

调用这个Rake的方式:
rake delete_unix_backups(注意没有使用symbol-没有代冒号)。

如果有多个任务,可以定义一个任务来执行它们:

desc "Remove Unix and Windows backup files"
task :delete_backups =>[ :delete_unix_backups, :delete_windows_backups ] do
  puts "All backups deleted"
end

 上面的task方法,接收一个hash作为参数,它的key是任务名,value就是另外两个任务的列表。

对上面的代码进行重构,将删除的逻辑共用抽出来。

def delete(pattern)
  files = Dir[pattern]
  rm(files, verbose: true) unless files.empty?
end

desc "Remove files whose names end with a tilde"
task :delete_unix_backups do
  delete "*~"
end

desc "Remove files with a .bak extension"
task :delete_windows_backups do
  delete "*.bak"
end

desc "Remove Unix and Windows backup files"
task :delete_backups => [ :delete_unix_backups, :delete_windows_backups ] do
  puts "All backups deleted"
end

 如果Rake任务的名称叫default,在执行rake命令不输入参数时,会执行这个任务。

 

$rake -T 命令列出所有任务。

 

Martin Fowler写的关于rake的文章

分享到:
评论

相关推荐

    Using the Rake Build Language

    《使用Rake构建语言》是Martin Fowler撰写的一篇关于Rake构建工具的深入解析,Rake作为构建工具,其功能与Make和Ant类似,但在实现上有着显著的区别,它是用Ruby语言编写的内部领域特定语言(DSL),这使得Rake在...

    Ruby中任务构建工具rake的入门学习教程

    Rake的意思是Ruby Make,一个用ruby开发的代码构建工具. 但是,为什么Ruby需要Rake?  按理说Ruby代码无需编译,应该不需要Rake才对呀?原来,Rake另有妙用,即把Rake当做一个任务管理工具来使用…这样做有两个好处: 1.以...

    RDT ruby development tool eclipse plugin

    4. **项目管理**:RDT支持创建和管理Ruby项目,包括Gemfile管理、Rake任务执行等,与Ruby on Rails项目的集成尤其紧密。 5. **集成开发环境**:RDT与其他Eclipse插件无缝集成,如Git版本控制、Mylyn任务管理,以及...

    rake详解(清晰)

    Rake是Ruby编程语言中的一个构建工具,类似于Java的Ant或Python的setup.py。它提供了一个框架来定义和执行构建任务,使得开发者可以方便地管理项目中的各种自动化任务,如编译代码、运行测试、清理构建产物等。在...

    rake-0.8.7

    Rake,全称为“Ruby Make”,是Ruby语言的一个构建系统,灵感来源于Perl的Make工具和Ant。在Rails应用中,`rake`不仅用于执行数据库迁移,还用于测试、清理、打包等各种项目维护任务。`rake-0.8.7`是这个工具的一个...

    rake-0.8.7.tgz

    rake,源自英语单词“rake”(意为耙子),在编程世界里,它是一个构建自动化工具,由Ruby语言编写,主要用于简化和组织Ruby项目的构建和维护任务。rake-0.8.7是rake的一个早期版本,尽管较新版本可能具有更多的功能...

    punylinux:为最小Linux系统构建自动化(由Ruby&Rake支持)

    为最小Linux系统构建自动化(由Ruby&Rake支持)。 包装管理 Aquire软件包源(在pkg/内的文件中用DSL定义的软件包) (可选)验证软件包校验和 下载/将校验和写入文件 用sha256sum验证 (可选)通过签名验证...

    ruby-runtime手动插件.zip

    5. 在 Jenkins job 的配置中,可以使用“Add Build Step”添加执行 Ruby 命令或者 Rake 任务的步骤,这样就可以在正确的环境中运行你的脚本或测试。 总之,Ruby Runtime 插件对于 Jenkins 用户来说是一个非常实用的...

    rake:Ruby的make-make构建工具

    **rake:Ruby的构建神器** 在Ruby世界中,`rake`是一个强大的构建工具,类似于C语言中的`make`。它允许开发者定义任务,并通过简单的命令行接口执行这些任务,极大地提高了开发效率。`rake`是Ruby社区广泛接受的...

    Halcon——rake_测量

    使用halcon进行测量,使用的是rake算子;使用halcon进行测量,使用的是rake算子;

    ruby命令集合(一些有用的命令)

    ### Ruby 命令集合(一些有用的命令) 在Ruby编程语言的世界里,Rails是一个非常流行的Web应用框架。本文将详细介绍一些常用的Rails命令及其用途,帮助开发者更好地理解和掌握Rails的使用方法。 #### 1. 创建一个...

    Ruby的类似make的构建实用程序。-Ruby开发

    RAKE – Ruby Make home github.com/ruby/rake bug github.com/ruby/rake/issues docs ruby​​.github.io/rake构建状态描述Rake是一个类似于Make的RAKE – RubyMake¶↑home github.com/ ruby / rake bug github....

    rake接收matlab仿真

    rake接收matlab仿真 rake接收(多径分集技术)是一种常用的信道分集技术,通过在接收端对信号进行分集和合并,以提高信道容量和抗干扰能力。Matlab仿真程序是使用Matlab语言编写的仿真程序,用于模拟rake接收机的...

    travis-nightly-builder:API + rake任务来构建“每晚”或按需的东西

    特拉维斯每夜建设者 ...$ rake build[ ' travis-rubies ' , ' build ' , ' RUBY=2.1.9 ' ] 构建PHP $ rake build[ ' php-src-builder ' , ' default ' , ' VERSION=7.0.6 ALIAS=7.0 ' ] 构建Python $ rake bu

    From Java to Ruby

    Ruby则有RubyMine作为IDE,以及RVM(Ruby Version Manager)来管理不同版本的Ruby,Bundler用于管理项目依赖,而Rake作为构建工具。 《Pragmatic Bookshelf.From.Java.to.Ruby.Jun.2006.eBook-BBL》这个文件很可能...

    rake接收机程序

    RAKE接收机是一种在无线通信系统中,特别是用于3G(第三代)移动通信网络中的关键技术。它主要用于CDMA(码分多址)系统,通过利用多径传播的优点来提高信号的接收质量和系统的容量。RAKE接收机的工作原理是将来自...

    Ruby-一个Ruby的例子

    Ruby有一个庞大的生态系统,包括许多著名的框架和库,如Web开发的Rails、自动化任务的Rake、测试工具RSpec等。即使是在“其它杂项”中,也有许多值得关注的工具,如用于处理文件系统的`File`和`Dir`类,或者用于处理...

    RAKE接收技术的Matlab仿真实验(附源码).docx

    RAKE接收技术是移动通信,特别是第三代CDMA(码分多址)系统中用来对抗多径衰落的重要手段。在CDMA系统中,信号的宽带特性导致了复杂的多径传播,这会严重影响通信质量。RAKE接收机利用了多径分集的原理,能够从时间...

    Ruby-Traceroute一个Rake任务帮助你找到Rails3应用中堵死的路线和未使用的actions

    这个工具实际上是一个Rake任务,Rake是Ruby语言的一个构建自动化工具,它允许开发者通过简单的任务定义来组织和执行复杂的构建过程。 在Rails框架中,路由(routes)是应用的核心组成部分,它们定义了URL到控制器...

Global site tag (gtag.js) - Google Analytics