win32-api 1.6.0-universal-mingw32 → 1.6.1.beta1-universal-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES +4 -0
- data/Gemfile.lock +5 -5
- data/Rakefile +45 -19
- data/appveyor.yml +12 -0
- data/appveyor/build.cmd +3 -0
- data/lib/win32/api.rb +8 -0
- data/lib/win32/ruby21_32/win32/api.so +0 -0
- data/lib/win32/ruby21_64/win32/api.so +0 -0
- data/lib/win32/ruby22_32/win32/api.so +0 -0
- data/lib/win32/ruby22_64/win32/api.so +0 -0
- data/lib/win32/ruby23_32/win32/api.so +0 -0
- data/lib/win32/ruby23_64/win32/api.so +0 -0
- data/lib/win32/ruby24_32/win32/api.so +0 -0
- data/lib/win32/ruby24_64/win32/api.so +0 -0
- data/lib/win32/ruby2_32/win32/api.so +0 -0
- data/lib/win32/ruby2_64/win32/api.so +0 -0
- data/win32-api.gemspec +1 -1
- metadata +8 -341
- data/vendor/bundle/ruby/2.2.0/bin/devkit +0 -23
- data/vendor/bundle/ruby/2.2.0/bin/devkit.bat +0 -6
- data/vendor/bundle/ruby/2.2.0/bin/rake +0 -23
- data/vendor/bundle/ruby/2.2.0/bin/rake.bat +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +0 -116
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +0 -135
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +0 -161
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +0 -184
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +0 -87
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +0 -27
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +0 -78
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +0 -1
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +0 -5
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +0 -415
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +0 -9
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +0 -74
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +0 -30
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +0 -75
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +0 -32
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +0 -65
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +0 -322
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +0 -1048
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +0 -41
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +0 -381
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +0 -480
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +0 -192
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +0 -1360
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +0 -65
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +0 -32
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +0 -96
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +0 -1402
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +0 -439
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +0 -578
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +0 -57
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +0 -9
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +0 -4
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +0 -338
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +0 -10
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +0 -512
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +0 -719
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +0 -154
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +0 -157
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +0 -6
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +0 -591
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +0 -127
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +0 -141
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +0 -624
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +0 -151
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +0 -35
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +0 -78
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +0 -141
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +0 -121
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +0 -47
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +0 -114
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +0 -165
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +0 -112
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +0 -147
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +0 -112
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +0 -49
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +0 -55
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +0 -191
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +0 -61
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +0 -787
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +0 -76
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +0 -137
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +0 -120
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +0 -14
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +0 -194
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +0 -24
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +0 -436
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +0 -123
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +0 -56
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +0 -16
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +0 -111
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +0 -13
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +0 -199
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +0 -99
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +0 -29
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +0 -391
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +0 -316
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +0 -204
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +0 -163
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +0 -7
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +0 -50
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +0 -25
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +0 -476
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +0 -42
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +0 -659
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +0 -468
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +0 -61
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +0 -68
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +0 -84
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +0 -76
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +0 -56
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +0 -687
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +0 -197
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +0 -318
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +0 -74
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +0 -484
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +0 -84
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +0 -46
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +0 -57
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +0 -79
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +0 -168
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +0 -18
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +0 -21
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +0 -40
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +0 -388
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +0 -44
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +0 -430
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +0 -119
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +0 -172
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +0 -130
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +0 -145
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +0 -71
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +0 -72
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +0 -101
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +0 -64
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +0 -339
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +0 -502
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +0 -271
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +0 -101
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +0 -71
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +0 -505
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +0 -25
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +0 -2218
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +0 -17
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +0 -536
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +0 -58
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +0 -73
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +0 -19
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +0 -108
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +0 -202
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +0 -34
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +0 -249
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +0 -198
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +0 -134
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +0 -262
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +0 -746
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +0 -158
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +0 -169
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +0 -100
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +0 -295
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +0 -136
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +0 -195
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +0 -154
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +0 -192
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +0 -8
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +0 -89
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +0 -811
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +0 -132
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +0 -175
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +0 -15
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +0 -693
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +0 -49
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +0 -53
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +0 -114
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +0 -41
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +0 -224
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +0 -59
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +0 -28
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +0 -90
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +0 -48
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +0 -5
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +0 -13
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +0 -12
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +0 -23
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +0 -178
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +0 -442
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +0 -406
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +0 -100
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +0 -2
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +0 -2
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +0 -3
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +0 -22
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +0 -2160
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +0 -123
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +0 -37
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +0 -82
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +0 -47
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +0 -303
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +0 -518
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +0 -60
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +0 -26
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +0 -163
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +0 -713
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +0 -33
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +0 -81
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +0 -70
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +0 -173
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +0 -1171
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +0 -113
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +0 -97
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +0 -150
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +0 -31
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +0 -20
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +0 -38
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +0 -11
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +0 -52
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +0 -102
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +0 -36
- data/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +0 -38
- data/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +0 -46
- data/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +0 -37
- data/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +0 -41
- data/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +0 -43
- data/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +0 -47
@@ -1,127 +0,0 @@
|
|
1
|
-
= Original Prototype Rake
|
2
|
-
|
3
|
-
This is the original 100 line prototype rake program.
|
4
|
-
|
5
|
-
---
|
6
|
-
#!/usr/bin/env ruby
|
7
|
-
|
8
|
-
require 'ftools'
|
9
|
-
|
10
|
-
class Task
|
11
|
-
TASKS = Hash.new
|
12
|
-
|
13
|
-
attr_reader :prerequisites
|
14
|
-
|
15
|
-
def initialize(task_name)
|
16
|
-
@name = task_name
|
17
|
-
@prerequisites = []
|
18
|
-
@actions = []
|
19
|
-
end
|
20
|
-
|
21
|
-
def enhance(deps=nil, &block)
|
22
|
-
@prerequisites |= deps if deps
|
23
|
-
@actions << block if block_given?
|
24
|
-
self
|
25
|
-
end
|
26
|
-
|
27
|
-
def name
|
28
|
-
@name.to_s
|
29
|
-
end
|
30
|
-
|
31
|
-
def invoke
|
32
|
-
@prerequisites.each { |n| Task[n].invoke }
|
33
|
-
execute if needed?
|
34
|
-
end
|
35
|
-
|
36
|
-
def execute
|
37
|
-
return if @triggered
|
38
|
-
@triggered = true
|
39
|
-
@actions.collect { |act| result = act.call(self) }.last
|
40
|
-
end
|
41
|
-
|
42
|
-
def needed?
|
43
|
-
true
|
44
|
-
end
|
45
|
-
|
46
|
-
def timestamp
|
47
|
-
Time.now
|
48
|
-
end
|
49
|
-
|
50
|
-
class << self
|
51
|
-
def [](task_name)
|
52
|
-
TASKS[intern(task_name)] or fail "Don't know how to rake #{task_name}"
|
53
|
-
end
|
54
|
-
|
55
|
-
def define_task(args, &block)
|
56
|
-
case args
|
57
|
-
when Hash
|
58
|
-
fail "Too Many Target Names: #{args.keys.join(' ')}" if args.size > 1
|
59
|
-
fail "No Task Name Given" if args.size < 1
|
60
|
-
task_name = args.keys[0]
|
61
|
-
deps = args[task_name]
|
62
|
-
else
|
63
|
-
task_name = args
|
64
|
-
deps = []
|
65
|
-
end
|
66
|
-
deps = deps.collect {|d| intern(d) }
|
67
|
-
get(task_name).enhance(deps, &block)
|
68
|
-
end
|
69
|
-
|
70
|
-
def get(task_name)
|
71
|
-
name = intern(task_name)
|
72
|
-
TASKS[name] ||= self.new(name)
|
73
|
-
end
|
74
|
-
|
75
|
-
def intern(task_name)
|
76
|
-
(Symbol === task_name) ? task_name : task_name.intern
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
class FileTask < Task
|
82
|
-
def needed?
|
83
|
-
return true unless File.exist?(name)
|
84
|
-
latest_prereq = @prerequisites.collect{|n| Task[n].timestamp}.max
|
85
|
-
return false if latest_prereq.nil?
|
86
|
-
timestamp < latest_prereq
|
87
|
-
end
|
88
|
-
|
89
|
-
def timestamp
|
90
|
-
File.new(name.to_s).mtime
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
def task(args, &block)
|
95
|
-
Task.define_task(args, &block)
|
96
|
-
end
|
97
|
-
|
98
|
-
def file(args, &block)
|
99
|
-
FileTask.define_task(args, &block)
|
100
|
-
end
|
101
|
-
|
102
|
-
def sys(cmd)
|
103
|
-
puts cmd
|
104
|
-
system(cmd) or fail "Command Failed: [#{cmd}]"
|
105
|
-
end
|
106
|
-
|
107
|
-
def rake
|
108
|
-
begin
|
109
|
-
here = Dir.pwd
|
110
|
-
while ! File.exist?("Rakefile")
|
111
|
-
Dir.chdir("..")
|
112
|
-
fail "No Rakefile found" if Dir.pwd == here
|
113
|
-
here = Dir.pwd
|
114
|
-
end
|
115
|
-
puts "(in #{Dir.pwd})"
|
116
|
-
load "./Rakefile"
|
117
|
-
ARGV.push("default") if ARGV.size == 0
|
118
|
-
ARGV.each { |task_name| Task[task_name].invoke }
|
119
|
-
rescue Exception => ex
|
120
|
-
puts "rake aborted ... #{ex.message}"
|
121
|
-
puts ex.backtrace.find {|str| str =~ /Rakefile/ } || ""
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
if __FILE__ == $0 then
|
126
|
-
rake
|
127
|
-
end
|
@@ -1,141 +0,0 @@
|
|
1
|
-
.\" Hey, EMACS: -*- nroff -*-
|
2
|
-
.\" First parameter, NAME, should be all caps
|
3
|
-
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
4
|
-
.\" other parameters are allowed: see man(7), man(1)
|
5
|
-
.TH RAKE 1 "December 3, 2014" "rake 10.4.2" "Rake User Commands"
|
6
|
-
.\" Please adjust this date whenever revising the manpage.
|
7
|
-
.\"
|
8
|
-
.\" Some roff macros, for reference:
|
9
|
-
.\" .nh disable hyphenation
|
10
|
-
.\" .hy enable hyphenation
|
11
|
-
.\" .ad l left justify
|
12
|
-
.\" .ad b justify to both left and right margins
|
13
|
-
.\" .nf disable filling
|
14
|
-
.\" .fi enable filling
|
15
|
-
.\" .br insert line break
|
16
|
-
.\" .sp <n> insert n+1 empty lines
|
17
|
-
.\" for manpage-specific macros, see man(7)
|
18
|
-
.SH NAME
|
19
|
-
rake \- a make-like build utility for Ruby
|
20
|
-
.SH SYNOPSIS
|
21
|
-
\fBrake\fR [\fI\-f rakefile\fR] {\fIOPTIONS\fR} \fITARGETS...\fR
|
22
|
-
.br
|
23
|
-
.SH DESCRIPTION
|
24
|
-
.B rake
|
25
|
-
is a make-like build utility for Ruby. Tasks and dependencies are specified in
|
26
|
-
standard Ruby syntax.
|
27
|
-
.SH OPTIONS
|
28
|
-
.TP
|
29
|
-
\fB\-m\fR, \fB\-\-multitask\fR
|
30
|
-
Treat all tasks as multitasks.
|
31
|
-
.TP
|
32
|
-
\fB\-B\fR, \fB\-\-build\-all\fR
|
33
|
-
Build all prerequisites, including those which are up\-to\-date.
|
34
|
-
|
35
|
-
.TP
|
36
|
-
\fB\-j\fR, \fB\-\-jobs\fR [\fINUMBER\fR]
|
37
|
-
Specifies the maximum number of tasks to execute in parallel (default is number of CPU cores + 4).
|
38
|
-
|
39
|
-
.SS Modules
|
40
|
-
.TP
|
41
|
-
\fB\-I\fR, \fB\-\-libdir\fR \fILIBDIR\fR
|
42
|
-
Include \fILIBDIR\fR in the search path for required modules.
|
43
|
-
.TP
|
44
|
-
\fB\-r\fR, \fB\-\-require\fR \fIMODULE\fR
|
45
|
-
Require \fIMODULE\fR before executing rakefile.
|
46
|
-
|
47
|
-
.SS Rakefile location
|
48
|
-
.TP
|
49
|
-
\fB\-f\fR, \fB\-\-rakefile\fR [\fIFILENAME\fR]
|
50
|
-
Use \fIFILENAME\fR as the rakefile to search for.
|
51
|
-
.TP
|
52
|
-
\fB\-N\fR, \fB\-\-no\-search\fR, \fB\-\-nosearch\fR
|
53
|
-
Do not search parent directories for the Rakefile.
|
54
|
-
.TP
|
55
|
-
\fB\-G\fR, \fB\-\-no\-system\fR, \fB\-\-nosystem\fR
|
56
|
-
Use standard project Rakefile search paths, ignore system wide rakefiles.
|
57
|
-
.TP
|
58
|
-
\fB\-R\fR, \fB\-\-rakelibdir\fR \fIRAKELIBDIR\fR
|
59
|
-
Auto\-import any .rake files in \fIRAKELIBDIR\fR (default is 'rakelib')
|
60
|
-
.HP
|
61
|
-
\fB\-\-rakelib\fR
|
62
|
-
.TP
|
63
|
-
\fB\-g\fR, \fB\-\-system\fR
|
64
|
-
Using system wide (global) rakefiles (usually '\fI~/.rake/*.rake\fR').
|
65
|
-
|
66
|
-
.SS Debugging
|
67
|
-
.TP
|
68
|
-
\fB\-\-backtrace\fR=\fI\,[OUT]\/\fR
|
69
|
-
Enable full backtrace. \fIOUT\fR can be stderr (default) or stdout.
|
70
|
-
.TP
|
71
|
-
\fB\-t\fR, \fB\-\-trace\fR=\fI\,[OUT]\/\fR
|
72
|
-
Turn on invoke/execute tracing, enable full backtrace. \fIOUT\fR can be stderr (default) or stdout.
|
73
|
-
.TP
|
74
|
-
\fB\-\-suppress\-backtrace\fR \fIPATTERN\fR
|
75
|
-
Suppress backtrace lines matching regexp \fIPATTERN\fR. Ignored if \fI\-\-trace\fR is on.
|
76
|
-
.TP
|
77
|
-
\fB\-\-rules\fR
|
78
|
-
Trace the rules resolution.
|
79
|
-
|
80
|
-
.TP
|
81
|
-
\fB\-n\fR, \fB\-\-dry\-run\fR
|
82
|
-
Do a dry run without executing actions.
|
83
|
-
.TP
|
84
|
-
\fB\-T\fR, \fB\-\-tasks\fR [\fIPATTERN\fR]
|
85
|
-
Display the tasks (matching optional \fIPATTERN\fR) with descriptions, then exit.
|
86
|
-
.TP
|
87
|
-
\fB\-D\fR, \fB\-\-describe\fR [\fIPATTERN\fR]
|
88
|
-
Describe the tasks (matching optional \fIPATTERN\fR), then exit.
|
89
|
-
.TP
|
90
|
-
\fB\-W\fR, \fB\-\-where\fR [\fIPATTERN\fR]
|
91
|
-
Describe the tasks (matching optional \fIPATTERN\fR), then exit.
|
92
|
-
.TP
|
93
|
-
\fB\-P\fR, \fB\-\-prereqs\fR
|
94
|
-
Display the tasks and dependencies, then exit.
|
95
|
-
|
96
|
-
.TP
|
97
|
-
\fB\-e\fR, \fB\-\-execute\fR \fICODE\fR
|
98
|
-
Execute some Ruby code and exit.
|
99
|
-
.TP
|
100
|
-
\fB\-p\fR, \fB\-\-execute\-print\fR \fICODE\fR
|
101
|
-
Execute some Ruby code, print the result, then exit.
|
102
|
-
.TP
|
103
|
-
\fB\-E\fR, \fB\-\-execute\-continue\fR \fICODE\fR
|
104
|
-
Execute some Ruby code, then continue with normal task processing.
|
105
|
-
|
106
|
-
.SS Information
|
107
|
-
.TP
|
108
|
-
\fB\-v\fR, \fB\-\-verbose\fR
|
109
|
-
Log message to standard output.
|
110
|
-
.TP
|
111
|
-
\fB\-q\fR, \fB\-\-quiet\fR
|
112
|
-
Do not log messages to standard output.
|
113
|
-
.TP
|
114
|
-
\fB\-s\fR, \fB\-\-silent\fR
|
115
|
-
Like \fB\-\-quiet\fR, but also suppresses the 'in directory' announcement.
|
116
|
-
.TP
|
117
|
-
\fB\-X\fR, \fB\-\-no\-deprecation\-warnings\fR
|
118
|
-
Disable the deprecation warnings.
|
119
|
-
.TP
|
120
|
-
\fB\-\-comments\fR
|
121
|
-
Show commented tasks only
|
122
|
-
.TP
|
123
|
-
\fB\-A\fR, \fB\-\-all\fR
|
124
|
-
Show all tasks, even uncommented ones (in combination with \fB\-T\fR or \fB\-D\fR)
|
125
|
-
.TP
|
126
|
-
\fB\-\-job\-stats\fR [\fILEVEL\fR]
|
127
|
-
Display job statistics. \fILEVEL=history\fR displays a complete job list
|
128
|
-
.TP
|
129
|
-
\fB\-V\fR, \fB\-\-version\fR
|
130
|
-
Display the program version.
|
131
|
-
.TP
|
132
|
-
\fB\-h\fR, \fB\-H\fR, \fB\-\-help\fR
|
133
|
-
Display a help message.
|
134
|
-
|
135
|
-
.SH SEE ALSO
|
136
|
-
The complete documentation for \fBrake\fR has been installed at \fI/usr/share/doc/rake-doc/html/index.html\fR. It is also available online at \fIhttp://docs.seattlerb.org/rake\fR.
|
137
|
-
.SH AUTHOR
|
138
|
-
.B rake
|
139
|
-
was written by Jim Weirich <jim@weirichhouse.org>
|
140
|
-
.PP
|
141
|
-
This manual was created by Caitlin Matos <caitlin.matos@zoho.com> for the Debian project (but may be used by others). It was inspired by the manual by Jani Monoses <jani@iv.ro> for the Ubuntu project.
|
@@ -1,624 +0,0 @@
|
|
1
|
-
= Rakefile Format
|
2
|
-
|
3
|
-
First of all, there is no special format for a Rakefile. A Rakefile
|
4
|
-
contains executable Ruby code. Anything legal in a ruby script is
|
5
|
-
allowed in a Rakefile.
|
6
|
-
|
7
|
-
Now that we understand there is no special syntax in a Rakefile, there
|
8
|
-
are some conventions that are used in a Rakefile that are a little
|
9
|
-
unusual in a typical Ruby program. Since a Rakefile is tailored to
|
10
|
-
specifying tasks and actions, the idioms used in a Rakefile are
|
11
|
-
designed to support that.
|
12
|
-
|
13
|
-
So, what goes into a Rakefile?
|
14
|
-
|
15
|
-
== Tasks
|
16
|
-
|
17
|
-
Tasks are the main unit of work in a Rakefile. Tasks have a name
|
18
|
-
(usually given as a symbol or a string), a list of prerequisites (more
|
19
|
-
symbols or strings) and a list of actions (given as a block).
|
20
|
-
|
21
|
-
=== Simple Tasks
|
22
|
-
|
23
|
-
A task is declared by using the +task+ method. +task+ takes a single
|
24
|
-
parameter that is the name of the task.
|
25
|
-
|
26
|
-
task :name
|
27
|
-
|
28
|
-
=== Tasks with Prerequisites
|
29
|
-
|
30
|
-
Any prerequisites are given as a list (enclosed in square brackets)
|
31
|
-
following the name and an arrow (=>).
|
32
|
-
|
33
|
-
task name: [:prereq1, :prereq2]
|
34
|
-
|
35
|
-
*NOTE:* Although this syntax looks a little funky, it is legal
|
36
|
-
Ruby. We are constructing a hash where the key is :name and the value
|
37
|
-
for that key is the list of prerequisites. It is equivalent to the
|
38
|
-
following ...
|
39
|
-
|
40
|
-
hash = Hash.new
|
41
|
-
hash[:name] = [:prereq1, :prereq2]
|
42
|
-
task(hash)
|
43
|
-
|
44
|
-
You can also use strings for task names and prerequisites, rake doesn't care.
|
45
|
-
This is the same task definition:
|
46
|
-
|
47
|
-
task 'name' => %w[prereq1 prereq2]
|
48
|
-
|
49
|
-
As is this:
|
50
|
-
|
51
|
-
task name: %w[prereq1 prereq2]
|
52
|
-
|
53
|
-
We'll prefer this style for regular tasks with prerequisites throughout the
|
54
|
-
rest of the document. Using an array of strings for the prerequisites means
|
55
|
-
you will need to make fewer changes if you need to move tasks into namespaces
|
56
|
-
or perform other refactorings.
|
57
|
-
|
58
|
-
=== Tasks with Actions
|
59
|
-
|
60
|
-
Actions are defined by passing a block to the +task+ method. Any Ruby
|
61
|
-
code can be placed in the block. The block may reference the task
|
62
|
-
object via the block parameter.
|
63
|
-
|
64
|
-
task name: [:prereq1, :prereq2] do |t|
|
65
|
-
# actions (may reference t)
|
66
|
-
end
|
67
|
-
|
68
|
-
=== Multiple Definitions
|
69
|
-
|
70
|
-
A task may be specified more than once. Each specification adds its
|
71
|
-
prerequisites and actions to the existing definition. This allows one
|
72
|
-
part of a rakefile to specify the actions and a different rakefile
|
73
|
-
(perhaps separately generated) to specify the dependencies.
|
74
|
-
|
75
|
-
For example, the following is equivalent to the single task
|
76
|
-
specification given above.
|
77
|
-
|
78
|
-
task :name
|
79
|
-
task name: :prereq1
|
80
|
-
task name: %w[prereq2]
|
81
|
-
task :name do |t|
|
82
|
-
# actions
|
83
|
-
end
|
84
|
-
|
85
|
-
== File Tasks
|
86
|
-
|
87
|
-
Some tasks are designed to create a file from one or more other files.
|
88
|
-
Tasks that generate these files may be skipped if the file already
|
89
|
-
exists. File tasks are used to specify file creation tasks.
|
90
|
-
|
91
|
-
File tasks are declared using the +file+ method (instead of the +task+
|
92
|
-
method). In addition, file tasks are usually named with a string
|
93
|
-
rather than a symbol.
|
94
|
-
|
95
|
-
The following file task creates a executable program (named +prog+)
|
96
|
-
given two object files named +a.o+ and +b.o+. The tasks
|
97
|
-
for creating +a.o+ and +b.o+ are not shown.
|
98
|
-
|
99
|
-
file "prog" => ["a.o", "b.o"] do |t|
|
100
|
-
sh "cc -o #{t.name} #{t.prerequisites.join(' ')}"
|
101
|
-
end
|
102
|
-
|
103
|
-
== Directory Tasks
|
104
|
-
|
105
|
-
It is common to need to create directories upon demand. The
|
106
|
-
+directory+ convenience method is a short-hand for creating a FileTask
|
107
|
-
that creates the directory. For example, the following declaration
|
108
|
-
...
|
109
|
-
|
110
|
-
directory "testdata/examples/doc"
|
111
|
-
|
112
|
-
is equivalent to ...
|
113
|
-
|
114
|
-
file "testdata" do |t| mkdir t.name end
|
115
|
-
file "testdata/examples" => ["testdata"] do |t| mkdir t.name end
|
116
|
-
file "testdata/examples/doc" => ["testdata/examples"] do |t| mkdir t.name end
|
117
|
-
|
118
|
-
The +directory+ method does not accept prerequisites or actions, but
|
119
|
-
both prerequisites and actions can be added later. For example ...
|
120
|
-
|
121
|
-
directory "testdata"
|
122
|
-
file "testdata" => ["otherdata"]
|
123
|
-
file "testdata" do
|
124
|
-
cp Dir["standard_data/*.data"], "testdata"
|
125
|
-
end
|
126
|
-
|
127
|
-
== Tasks with Parallel Prerequisites
|
128
|
-
|
129
|
-
Rake allows parallel execution of prerequisites using the following syntax:
|
130
|
-
|
131
|
-
multitask copy_files: %w[copy_src copy_doc copy_bin] do
|
132
|
-
puts "All Copies Complete"
|
133
|
-
end
|
134
|
-
|
135
|
-
In this example, +copy_files+ is a normal rake task. Its actions are
|
136
|
-
executed whenever all of its prerequisites are done. The big
|
137
|
-
difference is that the prerequisites (+copy_src+, +copy_bin+ and
|
138
|
-
+copy_doc+) are executed in parallel. Each of the prerequisites are
|
139
|
-
run in their own Ruby thread, possibly allowing faster overall runtime.
|
140
|
-
|
141
|
-
=== Secondary Prerequisites
|
142
|
-
|
143
|
-
If any of the primary prerequisites of a multitask have common secondary
|
144
|
-
prerequisites, all of the primary/parallel prerequisites will wait
|
145
|
-
until the common prerequisites have been run.
|
146
|
-
|
147
|
-
For example, if the <tt>copy_<em>xxx</em></tt> tasks have the
|
148
|
-
following prerequisites:
|
149
|
-
|
150
|
-
task copy_src: :prep_for_copy
|
151
|
-
task copy_bin: :prep_for_copy
|
152
|
-
task copy_doc: :prep_for_copy
|
153
|
-
|
154
|
-
Then the +prep_for_copy+ task is run before starting all the copies in
|
155
|
-
parallel. Once +prep_for_copy+ is complete, +copy_src+, +copy_bin+,
|
156
|
-
and +copy_doc+ are all run in parallel. Note that +prep_for_copy+ is
|
157
|
-
run only once, even though it is referenced in multiple threads.
|
158
|
-
|
159
|
-
=== Thread Safety
|
160
|
-
|
161
|
-
The Rake internal data structures are thread-safe with respect
|
162
|
-
to the multitask parallel execution, so there is no need for the user
|
163
|
-
to do extra synchronization for Rake's benefit. However, if there are
|
164
|
-
user data structures shared between the parallel prerequisites, the
|
165
|
-
user must do whatever is necessary to prevent race conditions.
|
166
|
-
|
167
|
-
== Tasks with Arguments
|
168
|
-
|
169
|
-
Prior to version 0.8.0, rake was only able to handle command line
|
170
|
-
arguments of the form NAME=VALUE that were passed into Rake via the
|
171
|
-
ENV hash. Many folks had asked for some kind of simple command line
|
172
|
-
arguments, perhaps using "--" to separate regular task names from
|
173
|
-
argument values on the command line. The problem is that there was no
|
174
|
-
easy way to associate positional arguments on the command line with
|
175
|
-
different tasks. Suppose both tasks :a and :b expect a command line
|
176
|
-
argument: does the first value go with :a? What if :b is run first?
|
177
|
-
Should it then get the first command line argument.
|
178
|
-
|
179
|
-
Rake 0.8.0 solves this problem by explicitly passing values directly
|
180
|
-
to the tasks that need them. For example, if I had a release task
|
181
|
-
that required a version number, I could say:
|
182
|
-
|
183
|
-
rake release[0.8.2]
|
184
|
-
|
185
|
-
And the string "0.8.2" will be passed to the :release task. Multiple
|
186
|
-
arguments can be passed by separating them with a comma, for example:
|
187
|
-
|
188
|
-
rake name[john,doe]
|
189
|
-
|
190
|
-
Just a few words of caution. The rake task name and its arguments
|
191
|
-
need to be a single command line argument to rake. This generally
|
192
|
-
means no spaces. If spaces are needed, then the entire name +
|
193
|
-
argument string should be quoted. Something like this:
|
194
|
-
|
195
|
-
rake "name[billy bob, smith]"
|
196
|
-
|
197
|
-
(Quoting rules vary between operating systems and shells, so make sure
|
198
|
-
you consult the proper docs for your OS/shell).
|
199
|
-
|
200
|
-
=== Tasks that Expect Parameters
|
201
|
-
|
202
|
-
Parameters are only given to tasks that are setup to expect them. In
|
203
|
-
order to handle named parameters, the task declaration syntax for
|
204
|
-
tasks has been extended slightly.
|
205
|
-
|
206
|
-
For example, a task that needs a first name and last name might be
|
207
|
-
declared as:
|
208
|
-
|
209
|
-
task :name, [:first_name, :last_name]
|
210
|
-
|
211
|
-
The first argument is still the name of the task (:name in this case).
|
212
|
-
The next two arguments are the names of the parameters expected by
|
213
|
-
:name in an array (:first_name and :last_name in the example).
|
214
|
-
|
215
|
-
To access the values of the parameters, the block defining the task
|
216
|
-
behaviour can now accept a second parameter:
|
217
|
-
|
218
|
-
task :name, [:first_name, :last_name] do |t, args|
|
219
|
-
puts "First name is #{args.first_name}"
|
220
|
-
puts "Last name is #{args.last_name}"
|
221
|
-
end
|
222
|
-
|
223
|
-
The first argument of the block "t" is always bound to the current
|
224
|
-
task object. The second argument "args" is an open-struct like object
|
225
|
-
that allows access to the task arguments. Extra command line
|
226
|
-
arguments to a task are ignored. Missing command line arguments are
|
227
|
-
picked up from matching environment variables. If there are no
|
228
|
-
matching environment variables, they are given the nil value.
|
229
|
-
|
230
|
-
If you wish to specify default values for the arguments, you can use
|
231
|
-
the with_defaults method in the task body. Here is the above example
|
232
|
-
where we specify default values for the first and last names:
|
233
|
-
|
234
|
-
task :name, [:first_name, :last_name] do |t, args|
|
235
|
-
args.with_defaults(:first_name => "John", :last_name => "Dough")
|
236
|
-
puts "First name is #{args.first_name}"
|
237
|
-
puts "Last name is #{args.last_name}"
|
238
|
-
end
|
239
|
-
|
240
|
-
=== Tasks that Expect Parameters and Have Prerequisites
|
241
|
-
|
242
|
-
Tasks that use parameters have a slightly different format for
|
243
|
-
prerequisites. Use the arrow notation to indicate the prerequisites
|
244
|
-
for tasks with arguments. For example:
|
245
|
-
|
246
|
-
task :name, [:first_name, :last_name] => [:pre_name] do |t, args|
|
247
|
-
args.with_defaults(:first_name => "John", :last_name => "Dough")
|
248
|
-
puts "First name is #{args.first_name}"
|
249
|
-
puts "Last name is #{args.last_name}"
|
250
|
-
end
|
251
|
-
|
252
|
-
=== Tasks that take Variable-length Parameters
|
253
|
-
|
254
|
-
Tasks that need to handle a list of values as a parameter can use the
|
255
|
-
extras method of the args variable. This allows for tasks that can
|
256
|
-
loop over a variable number of values, and its compatible with named
|
257
|
-
parameters as well:
|
258
|
-
|
259
|
-
task :email, [:message] do |t, args|
|
260
|
-
mail = Mail.new(args.message)
|
261
|
-
recipients = args.extras
|
262
|
-
recipients.each do |target|
|
263
|
-
mail.send_to(target)
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
There is also the convenience method to_a that returns all parameters
|
268
|
-
in the sequential order they were given, including those associated
|
269
|
-
with named parameters.
|
270
|
-
|
271
|
-
=== Deprecated Task Parameters Format
|
272
|
-
|
273
|
-
There is an older format for declaring task parameters that omitted
|
274
|
-
the task argument array and used the :needs keyword to introduce the
|
275
|
-
dependencies. That format is still supported for compatibility, but
|
276
|
-
is not recommended for use. The older format may be dropped in future
|
277
|
-
versions of rake.
|
278
|
-
|
279
|
-
== Accessing Task Programmatically
|
280
|
-
|
281
|
-
Sometimes it is useful to manipulate tasks programmatically in a
|
282
|
-
Rakefile. To find a task object use Rake::Task.[].
|
283
|
-
|
284
|
-
=== Programmatic Task Example
|
285
|
-
|
286
|
-
For example, the following Rakefile defines two tasks. The :doit task
|
287
|
-
simply prints a simple "DONE" message. The :dont class will lookup
|
288
|
-
the doit class and remove (clear) all of its prerequisites and
|
289
|
-
actions.
|
290
|
-
|
291
|
-
task :doit do
|
292
|
-
puts "DONE"
|
293
|
-
end
|
294
|
-
|
295
|
-
task :dont do
|
296
|
-
Rake::Task[:doit].clear
|
297
|
-
end
|
298
|
-
|
299
|
-
Running this example:
|
300
|
-
|
301
|
-
$ rake doit
|
302
|
-
(in /Users/jim/working/git/rake/x)
|
303
|
-
DONE
|
304
|
-
$ rake dont doit
|
305
|
-
(in /Users/jim/working/git/rake/x)
|
306
|
-
$
|
307
|
-
|
308
|
-
The ability to programmatically manipulate tasks gives rake very
|
309
|
-
powerful meta-programming capabilities w.r.t. task execution, but
|
310
|
-
should be used with caution.
|
311
|
-
|
312
|
-
== Rules
|
313
|
-
|
314
|
-
When a file is named as a prerequisite, but does not have a file task
|
315
|
-
defined for it, Rake will attempt to synthesize a task by looking at a
|
316
|
-
list of rules supplied in the Rakefile.
|
317
|
-
|
318
|
-
Suppose we were trying to invoke task "mycode.o", but no task is
|
319
|
-
defined for it. But the rakefile has a rule that look like this ...
|
320
|
-
|
321
|
-
rule '.o' => ['.c'] do |t|
|
322
|
-
sh "cc #{t.source} -c -o #{t.name}"
|
323
|
-
end
|
324
|
-
|
325
|
-
This rule will synthesize any task that ends in ".o". It has a
|
326
|
-
prerequisite a source file with an extension of ".c" must exist. If
|
327
|
-
Rake is able to find a file named "mycode.c", it will automatically
|
328
|
-
create a task that builds "mycode.o" from "mycode.c".
|
329
|
-
|
330
|
-
If the file "mycode.c" does not exist, rake will attempt
|
331
|
-
to recursively synthesize a rule for it.
|
332
|
-
|
333
|
-
When a task is synthesized from a rule, the +source+ attribute of the
|
334
|
-
task is set to the matching source file. This allows us to write
|
335
|
-
rules with actions that reference the source file.
|
336
|
-
|
337
|
-
=== Advanced Rules
|
338
|
-
|
339
|
-
Any regular expression may be used as the rule pattern. Additionally,
|
340
|
-
a proc may be used to calculate the name of the source file. This
|
341
|
-
allows for complex patterns and sources.
|
342
|
-
|
343
|
-
The following rule is equivalent to the example above.
|
344
|
-
|
345
|
-
rule( /\.o$/ => [
|
346
|
-
proc {|task_name| task_name.sub(/\.[^.]+$/, '.c') }
|
347
|
-
]) do |t|
|
348
|
-
sh "cc #{t.source} -c -o #{t.name}"
|
349
|
-
end
|
350
|
-
|
351
|
-
*NOTE:* Because of a _quirk_ in Ruby syntax, parenthesis are
|
352
|
-
required on *rule* when the first argument is a regular expression.
|
353
|
-
|
354
|
-
The following rule might be used for Java files ...
|
355
|
-
|
356
|
-
rule '.class' => [
|
357
|
-
proc { |tn| tn.sub(/\.class$/, '.java').sub(/^classes\//, 'src/') }
|
358
|
-
] do |t|
|
359
|
-
java_compile(t.source, t.name)
|
360
|
-
end
|
361
|
-
|
362
|
-
*NOTE:* +java_compile+ is a hypothetical method that invokes the
|
363
|
-
java compiler.
|
364
|
-
|
365
|
-
== Importing Dependencies
|
366
|
-
|
367
|
-
Any ruby file (including other rakefiles) can be included with a
|
368
|
-
standard Ruby +require+ command. The rules and declarations in the
|
369
|
-
required file are just added to the definitions already accumulated.
|
370
|
-
|
371
|
-
Because the files are loaded _before_ the rake targets are evaluated,
|
372
|
-
the loaded files must be "ready to go" when the rake command is
|
373
|
-
invoked. This makes generated dependency files difficult to use. By
|
374
|
-
the time rake gets around to updating the dependencies file, it is too
|
375
|
-
late to load it.
|
376
|
-
|
377
|
-
The +import+ command addresses this by specifying a file to be loaded
|
378
|
-
_after_ the main rakefile is loaded, but _before_ any targets on the
|
379
|
-
command line are invoked. In addition, if the file name matches an
|
380
|
-
explicit task, that task is invoked before loading the file. This
|
381
|
-
allows dependency files to be generated and used in a single rake
|
382
|
-
command invocation.
|
383
|
-
|
384
|
-
Example:
|
385
|
-
|
386
|
-
require 'rake/loaders/makefile'
|
387
|
-
|
388
|
-
file ".depends.mf" => [SRC_LIST] do |t|
|
389
|
-
sh "makedepend -f- -- #{CFLAGS} -- #{t.prerequisites} > #{t.name}"
|
390
|
-
end
|
391
|
-
|
392
|
-
import ".depends.mf"
|
393
|
-
|
394
|
-
If ".depends" does not exist, or is out of date w.r.t. the source
|
395
|
-
files, a new ".depends" file is generated using +makedepend+ before
|
396
|
-
loading.
|
397
|
-
|
398
|
-
== Comments
|
399
|
-
|
400
|
-
Standard Ruby comments (beginning with "#") can be used anywhere it is
|
401
|
-
legal in Ruby source code, including comments for tasks and rules.
|
402
|
-
However, if you wish a task to be described using the "-T" switch,
|
403
|
-
then you need to use the +desc+ command to describe the task.
|
404
|
-
|
405
|
-
Example:
|
406
|
-
|
407
|
-
desc "Create a distribution package"
|
408
|
-
task package: %w[ ... ] do ... end
|
409
|
-
|
410
|
-
The "-T" switch (or "--tasks" if you like to spell things out) will
|
411
|
-
display a list of tasks that have a description. If you use +desc+ to
|
412
|
-
describe your major tasks, you have a semi-automatic way of generating
|
413
|
-
a summary of your Rake file.
|
414
|
-
|
415
|
-
traken$ rake -T
|
416
|
-
(in /home/.../rake)
|
417
|
-
rake clean # Remove any temporary products.
|
418
|
-
rake clobber # Remove any generated file.
|
419
|
-
rake clobber_rdoc # Remove rdoc products
|
420
|
-
rake contrib_test # Run tests for contrib_test
|
421
|
-
rake default # Default Task
|
422
|
-
rake install # Install the application
|
423
|
-
rake lines # Count lines in the main rake file
|
424
|
-
rake rdoc # Build the rdoc HTML Files
|
425
|
-
rake rerdoc # Force a rebuild of the RDOC files
|
426
|
-
rake test # Run tests
|
427
|
-
rake testall # Run all test targets
|
428
|
-
|
429
|
-
Only tasks with descriptions will be displayed with the "-T" switch.
|
430
|
-
Use "-P" (or "--prereqs") to get a list of all tasks and their
|
431
|
-
prerequisites.
|
432
|
-
|
433
|
-
== Namespaces
|
434
|
-
|
435
|
-
As projects grow (and along with it, the number of tasks), it is
|
436
|
-
common for task names to begin to clash. For example, if you might
|
437
|
-
have a main program and a set of sample programs built by a single
|
438
|
-
Rakefile. By placing the tasks related to the main program in one
|
439
|
-
namespace, and the tasks for building the sample programs in a
|
440
|
-
different namespace, the task names will not interfere with each other.
|
441
|
-
|
442
|
-
For example:
|
443
|
-
|
444
|
-
namespace "main" do
|
445
|
-
task :build do
|
446
|
-
# Build the main program
|
447
|
-
end
|
448
|
-
end
|
449
|
-
|
450
|
-
namespace "samples" do
|
451
|
-
task :build do
|
452
|
-
# Build the sample programs
|
453
|
-
end
|
454
|
-
end
|
455
|
-
|
456
|
-
task build: %w[main:build samples:build]
|
457
|
-
|
458
|
-
Referencing a task in a separate namespace can be achieved by
|
459
|
-
prefixing the task name with the namespace and a colon
|
460
|
-
(e.g. "main:build" refers to the :build task in the +main+ namespace).
|
461
|
-
Nested namespaces are supported.
|
462
|
-
|
463
|
-
Note that the name given in the +task+ command is always the unadorned
|
464
|
-
task name without any namespace prefixes. The +task+ command always
|
465
|
-
defines a task in the current namespace.
|
466
|
-
|
467
|
-
=== FileTasks
|
468
|
-
|
469
|
-
File task names are not scoped by the namespace command. Since the
|
470
|
-
name of a file task is the name of an actual file in the file system,
|
471
|
-
it makes little sense to include file task names in name space.
|
472
|
-
Directory tasks (created by the +directory+ command) are a type of
|
473
|
-
file task and are also not affected by namespaces.
|
474
|
-
|
475
|
-
=== Name Resolution
|
476
|
-
|
477
|
-
When looking up a task name, rake will start with the current
|
478
|
-
namespace and attempt to find the name there. If it fails to find a
|
479
|
-
name in the current namespace, it will search the parent namespaces
|
480
|
-
until a match is found (or an error occurs if there is no match).
|
481
|
-
|
482
|
-
The "rake" namespace is a special implicit namespace that refers to
|
483
|
-
the toplevel names.
|
484
|
-
|
485
|
-
If a task name begins with a "^" character, the name resolution will
|
486
|
-
start in the parent namespace. Multiple "^" characters are allowed.
|
487
|
-
|
488
|
-
Here is an example file with multiple :run tasks and how various names
|
489
|
-
resolve in different locations.
|
490
|
-
|
491
|
-
task :run
|
492
|
-
|
493
|
-
namespace "one" do
|
494
|
-
task :run
|
495
|
-
|
496
|
-
namespace "two" do
|
497
|
-
task :run
|
498
|
-
|
499
|
-
# :run => "one:two:run"
|
500
|
-
# "two:run" => "one:two:run"
|
501
|
-
# "one:two:run" => "one:two:run"
|
502
|
-
# "one:run" => "one:run"
|
503
|
-
# "^run" => "one:run"
|
504
|
-
# "^^run" => "rake:run" (the top level task)
|
505
|
-
# "rake:run" => "rake:run" (the top level task)
|
506
|
-
end
|
507
|
-
|
508
|
-
# :run => "one:run"
|
509
|
-
# "two:run" => "one:two:run"
|
510
|
-
# "^run" => "rake:run"
|
511
|
-
end
|
512
|
-
|
513
|
-
# :run => "rake:run"
|
514
|
-
# "one:run" => "one:run"
|
515
|
-
# "one:two:run" => "one:two:run"
|
516
|
-
|
517
|
-
== FileLists
|
518
|
-
|
519
|
-
FileLists are the way Rake manages lists of files. You can treat a
|
520
|
-
FileList as an array of strings for the most part, but FileLists
|
521
|
-
support some additional operations.
|
522
|
-
|
523
|
-
=== Creating a FileList
|
524
|
-
|
525
|
-
Creating a file list is easy. Just give it the list of file names:
|
526
|
-
|
527
|
-
fl = FileList['file1.rb', file2.rb']
|
528
|
-
|
529
|
-
Or give it a glob pattern:
|
530
|
-
|
531
|
-
fl = FileList['*.rb']
|
532
|
-
|
533
|
-
== Odds and Ends
|
534
|
-
|
535
|
-
=== do/end versus { }
|
536
|
-
|
537
|
-
Blocks may be specified with either a +do+/+end+ pair, or with curly
|
538
|
-
braces in Ruby. We _strongly_ recommend using +do+/+end+ to specify the
|
539
|
-
actions for tasks and rules. Because the rakefile idiom tends to
|
540
|
-
leave off parentheses on the task/file/rule methods, unusual
|
541
|
-
ambiguities can arise when using curly braces.
|
542
|
-
|
543
|
-
For example, suppose that the method +object_files+ returns a list of
|
544
|
-
object files in a project. Now we use +object_files+ as the
|
545
|
-
prerequisites in a rule specified with actions in curly braces.
|
546
|
-
|
547
|
-
# DON'T DO THIS!
|
548
|
-
file "prog" => object_files {
|
549
|
-
# Actions are expected here (but it doesn't work)!
|
550
|
-
}
|
551
|
-
|
552
|
-
Because curly braces have a higher precedence than +do+/+end+, the
|
553
|
-
block is associated with the +object_files+ method rather than the
|
554
|
-
+file+ method.
|
555
|
-
|
556
|
-
This is the proper way to specify the task ...
|
557
|
-
|
558
|
-
# THIS IS FINE
|
559
|
-
file "prog" => object_files do
|
560
|
-
# Actions go here
|
561
|
-
end
|
562
|
-
|
563
|
-
== Rakefile Path
|
564
|
-
|
565
|
-
When issuing the +rake+ command in a terminal, Rake will look
|
566
|
-
for a Rakefile in the current directory. If a Rakefile is not found,
|
567
|
-
it will search parent directories until one is found.
|
568
|
-
|
569
|
-
For example, if a Rakefile resides in the +project/+ directory,
|
570
|
-
moving deeper into the project's directory tree will not have an adverse
|
571
|
-
effect on rake tasks:
|
572
|
-
|
573
|
-
$ pwd
|
574
|
-
/home/user/project
|
575
|
-
|
576
|
-
$ cd lib/foo/bar
|
577
|
-
$ pwd
|
578
|
-
/home/user/project/lib/foo/bar
|
579
|
-
|
580
|
-
$ rake run_pwd
|
581
|
-
/home/user/project
|
582
|
-
|
583
|
-
As far as rake is concerned, all tasks are run from the directory in
|
584
|
-
which the Rakefile resides.
|
585
|
-
|
586
|
-
=== Multiple Rake Files
|
587
|
-
|
588
|
-
Not all tasks need to be included in a single Rakefile. Additional
|
589
|
-
rake files (with the file extension "+.rake+") may be placed in
|
590
|
-
+rakelib+ directory located at the top level of a project (i.e.
|
591
|
-
the same directory that contains the main +Rakefile+).
|
592
|
-
|
593
|
-
Also, rails projects may include additional rake files in the
|
594
|
-
+lib/tasks+ directory.
|
595
|
-
|
596
|
-
=== Clean and Clobber Tasks
|
597
|
-
|
598
|
-
Through <tt>require 'rake/clean'</tt> Rake provides +clean+ and +clobber+
|
599
|
-
tasks:
|
600
|
-
|
601
|
-
+clean+ ::
|
602
|
-
Clean up the project by deleting scratch files and backup files. Add files
|
603
|
-
to the +CLEAN+ FileList to have the +clean+ target handle them.
|
604
|
-
|
605
|
-
+clobber+ ::
|
606
|
-
Clobber all generated and non-source files in a project. The task depends
|
607
|
-
on +clean+, so all the +CLEAN+ files will be deleted as well as files in the
|
608
|
-
+CLOBBER+ FileList. The intent of this task is to return a project to its
|
609
|
-
pristine, just unpacked state.
|
610
|
-
|
611
|
-
You can add file names or glob patterns to both the +CLEAN+ and +CLOBBER+
|
612
|
-
lists.
|
613
|
-
|
614
|
-
=== Phony Task
|
615
|
-
|
616
|
-
The phony task can be used as a dependency to allow file-based tasks to use
|
617
|
-
non-file-based-tasks as prerequisites without forcing them to rebuild. You
|
618
|
-
can <tt>require 'rake/phony'</tt> to add the +phony+ task.
|
619
|
-
|
620
|
-
----
|
621
|
-
|
622
|
-
== See
|
623
|
-
|
624
|
-
* README.rdoc -- Main documentation for Rake.
|