rake 0.8.7 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gemtest +0 -0
- data/CHANGES +77 -9
- data/{README → README.rdoc} +14 -10
- data/Rakefile +129 -118
- data/TODO +1 -1
- data/doc/command_line_usage.rdoc +18 -6
- data/doc/glossary.rdoc +2 -2
- data/doc/jamis.rb +2 -2
- data/doc/proto_rake.rdoc +22 -22
- data/doc/rake.1.gz +0 -0
- data/doc/rakefile.rdoc +55 -32
- data/doc/rational.rdoc +6 -6
- data/doc/release_notes/rake-0.4.15.rdoc +1 -1
- data/doc/release_notes/rake-0.5.0.rdoc +1 -1
- data/doc/release_notes/rake-0.7.0.rdoc +1 -1
- data/doc/release_notes/rake-0.7.2.rdoc +3 -3
- data/doc/release_notes/rake-0.7.3.rdoc +2 -2
- data/doc/release_notes/rake-0.8.0.rdoc +1 -1
- data/doc/release_notes/rake-0.8.2.rdoc +3 -3
- data/doc/release_notes/rake-0.8.3.rdoc +2 -2
- data/doc/release_notes/rake-0.8.4.rdoc +1 -1
- data/doc/release_notes/rake-0.8.5.rdoc +1 -1
- data/doc/release_notes/rake-0.8.6.rdoc +1 -1
- data/doc/release_notes/rake-0.8.7.rdoc +1 -1
- data/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/install.rb +14 -12
- data/lib/rake/alt_system.rb +7 -6
- data/lib/rake/application.rb +589 -0
- data/lib/rake/classic_namespace.rb +1 -0
- data/lib/rake/clean.rb +2 -4
- data/lib/rake/cloneable.rb +25 -0
- data/lib/rake/contrib/compositepublisher.rb +2 -5
- data/lib/rake/contrib/ftptools.rb +5 -8
- data/lib/rake/contrib/publisher.rb +2 -8
- data/lib/rake/contrib/rubyforgepublisher.rb +2 -4
- data/lib/rake/contrib/sshpublisher.rb +4 -6
- data/lib/rake/contrib/sys.rb +7 -25
- data/lib/rake/default_loader.rb +10 -0
- data/lib/rake/dsl.rb +2 -0
- data/lib/rake/dsl_definition.rb +143 -0
- data/lib/rake/early_time.rb +18 -0
- data/lib/rake/ext/core.rb +27 -0
- data/lib/rake/ext/module.rb +39 -0
- data/lib/rake/ext/string.rb +167 -0
- data/lib/rake/ext/time.rb +14 -0
- data/lib/rake/file_creation_task.rb +24 -0
- data/lib/rake/file_list.rb +403 -0
- data/lib/rake/file_task.rb +47 -0
- data/lib/rake/file_utils.rb +112 -0
- data/lib/rake/file_utils_ext.rb +142 -0
- data/lib/rake/gempackagetask.rb +6 -90
- data/lib/rake/invocation_chain.rb +51 -0
- data/lib/rake/invocation_exception_mixin.rb +16 -0
- data/lib/rake/loaders/makefile.rb +13 -15
- data/lib/rake/multi_task.rb +16 -0
- data/lib/rake/name_space.rb +25 -0
- data/lib/rake/packagetask.rb +13 -12
- data/lib/rake/pathmap.rb +1 -0
- data/lib/rake/pseudo_status.rb +24 -0
- data/lib/rake/rake_module.rb +29 -0
- data/lib/rake/rake_test_loader.rb +10 -2
- data/lib/rake/rdoctask.rb +211 -190
- data/lib/rake/ruby182_test_unit_fix.rb +9 -7
- data/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/lib/rake/runtest.rb +4 -6
- data/lib/rake/task.rb +327 -0
- data/lib/rake/task_argument_error.rb +7 -0
- data/lib/rake/task_arguments.rb +74 -0
- data/lib/rake/task_manager.rb +307 -0
- data/lib/rake/tasklib.rb +1 -2
- data/lib/rake/testtask.rb +57 -27
- data/lib/rake/version.rb +10 -0
- data/lib/rake/win32.rb +4 -4
- data/lib/rake.rb +29 -2470
- data/test/contrib/test_sys.rb +8 -31
- data/test/data/access/Rakefile +33 -0
- data/test/data/comments/Rakefile +18 -0
- data/test/data/default/Rakefile +1 -1
- data/test/data/deprecated_import/Rakefile +1 -0
- data/test/data/dryrun/Rakefile +1 -1
- data/test/data/file_creation_task/Rakefile +1 -1
- data/test/data/namespace/Rakefile +9 -0
- data/test/data/rakelib/test1.rb +1 -0
- data/test/data/verbose/Rakefile +34 -0
- data/test/{filecreation.rb → file_creation.rb} +11 -7
- data/test/functional/functional_test.rb +25 -0
- data/test/{session_functional.rb → functional/session_based_tests.rb} +141 -23
- data/test/in_environment.rb +7 -5
- data/test/{test_application.rb → lib/application_test.rb} +331 -143
- data/test/{test_clean.rb → lib/clean_test.rb} +1 -0
- data/test/{test_definitions.rb → lib/definitions_test.rb} +3 -3
- data/test/lib/dsl_test.rb +52 -0
- data/test/{test_earlytime.rb → lib/earlytime_test.rb} +1 -2
- data/test/{test_extension.rb → lib/extension_test.rb} +2 -2
- data/test/{test_file_creation_task.rb → lib/file_creation_task_test.rb} +1 -1
- data/test/{test_file_task.rb → lib/file_task_test.rb} +4 -4
- data/test/{test_filelist.rb → lib/filelist_test.rb} +38 -24
- data/test/{test_fileutils.rb → lib/fileutils_test.rb} +27 -22
- data/test/{test_multitask.rb → lib/multitask_test.rb} +14 -6
- data/test/lib/package_task_test.rb +82 -0
- data/test/{test_pathmap.rb → lib/pathmap_test.rb} +3 -2
- data/test/{test_rake.rb → lib/rake_test.rb} +1 -1
- data/test/{test_rdoc_task.rb → lib/rdoc_task_test.rb} +19 -23
- data/test/{test_require.rb → lib/require_test.rb} +8 -2
- data/test/{test_rules.rb → lib/rules_test.rb} +2 -3
- data/test/{test_task_arguments.rb → lib/task_arguments_test.rb} +5 -5
- data/test/{test_task_manager.rb → lib/task_manager_test.rb} +15 -5
- data/test/{test_tasks.rb → lib/task_test.rb} +84 -21
- data/test/{test_test_task.rb → lib/test_task_test.rb} +3 -3
- data/test/lib/testtask_test.rb +49 -0
- data/test/{test_top_level_functions.rb → lib/top_level_functions_test.rb} +5 -3
- data/test/{test_win32.rb → lib/win32_test.rb} +19 -0
- data/test/rake_test_setup.rb +5 -9
- data/test/ruby_version_test.rb +3 -0
- data/test/test_helper.rb +19 -0
- metadata +108 -49
- data/test/functional.rb +0 -15
- data/test/test_package_task.rb +0 -118
- /data/test/{test_ftp.rb → lib/ftp_test.rb} +0 -0
- /data/test/{test_invocation_chain.rb → lib/invocation_chain_test.rb} +0 -0
- /data/test/{test_makefile_loader.rb → lib/makefile_loader_test.rb} +0 -0
- /data/test/{test_namespace.rb → lib/namespace_test.rb} +0 -0
- /data/test/{test_pseudo_status.rb → lib/pseudo_status_test.rb} +0 -0
- /data/test/{test_tasklib.rb → lib/tasklib_test.rb} +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
= Rake 0.9.0 Released
|
|
2
|
+
|
|
3
|
+
Rake version 0.9.0 has a number of bug fixes and enhancments (see
|
|
4
|
+
below for more details). Additionally, the internals have be slightly
|
|
5
|
+
restructured and improved.
|
|
6
|
+
|
|
7
|
+
== Changes
|
|
8
|
+
|
|
9
|
+
=== New Features / Enhancements / Bug Fixes in Version 0.9.0
|
|
10
|
+
|
|
11
|
+
* Rake now warns when the deprecated :needs syntax used (and suggests
|
|
12
|
+
the proper syntax in the warning).
|
|
13
|
+
|
|
14
|
+
* Moved Rake DSL commands to top level ruby object 'main'. Rake DSL
|
|
15
|
+
commands are no longer private methods in Object. (Suggested by
|
|
16
|
+
James M. Lawrence/quix)
|
|
17
|
+
|
|
18
|
+
* Rake now uses case-insensitive comparisons to find the Rakefile on Windows.
|
|
19
|
+
Based on patch by Roger Pack.
|
|
20
|
+
|
|
21
|
+
* Rake now requires (instead of loads) files in the test task. Patch by Cezary
|
|
22
|
+
Baginski.
|
|
23
|
+
|
|
24
|
+
* Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.
|
|
25
|
+
|
|
26
|
+
* Rake now prints the Rakefile directory only when it's different from the
|
|
27
|
+
current directory. Patch by Alex Chaffee.
|
|
28
|
+
|
|
29
|
+
* Improved rakefile_location discovery on Windows. Patch by James Tucker.
|
|
30
|
+
|
|
31
|
+
* Rake now recognizes "Windows Server" as a windows system. Patch by Matthias
|
|
32
|
+
Lüdtke
|
|
33
|
+
|
|
34
|
+
* Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require
|
|
35
|
+
'rdoc/task')
|
|
36
|
+
|
|
37
|
+
* Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require
|
|
38
|
+
'rubygems/package_task')
|
|
39
|
+
|
|
40
|
+
* Rake now outputs various messages to $stderr instead of $stdout.
|
|
41
|
+
|
|
42
|
+
* Rake no longer emits warnings for Config. Patch by Santiago Pastorino.
|
|
43
|
+
|
|
44
|
+
* Removed Rake's DSL methods from the top level scope. If you need to
|
|
45
|
+
call 'task :xzy' in your code, include Rake::DSL into your class, or
|
|
46
|
+
put the code in a Rake::DSL.environment do ... end block.
|
|
47
|
+
|
|
48
|
+
* Split rake.rb into individual files.
|
|
49
|
+
|
|
50
|
+
* Support for the --where (-W) flag for showing where a task is defined.
|
|
51
|
+
|
|
52
|
+
* Fixed quoting in test task.
|
|
53
|
+
(http://onestepback.org/redmine/issues/show/44,
|
|
54
|
+
http://www.pivotaltracker.com/story/show/1223138)
|
|
55
|
+
|
|
56
|
+
* Fixed the silent option parsing problem.
|
|
57
|
+
(http://onestepback.org/redmine/issues/show/47)
|
|
58
|
+
|
|
59
|
+
* Fixed :verbose=>false flag on sh and ruby commands.
|
|
60
|
+
|
|
61
|
+
* Rake command line options may be given by default in a RAKEOPT
|
|
62
|
+
environment variable.
|
|
63
|
+
|
|
64
|
+
* Errors in Rake will now display the task invocation chain in effect
|
|
65
|
+
at the time of the error.
|
|
66
|
+
|
|
67
|
+
* Accepted change by warnickr to not expand test patterns in shell
|
|
68
|
+
(allowing more files in the test suite).
|
|
69
|
+
|
|
70
|
+
* Fixed that file tasks did not perform prereq lookups in scope
|
|
71
|
+
(Redmine #57).
|
|
72
|
+
|
|
73
|
+
== What is Rake
|
|
74
|
+
|
|
75
|
+
Rake is a build tool similar to the make program in many ways. But
|
|
76
|
+
instead of cryptic make recipes, Rake uses standard Ruby code to
|
|
77
|
+
declare tasks and dependencies. You have the full power of a modern
|
|
78
|
+
scripting language built right into your build tool.
|
|
79
|
+
|
|
80
|
+
== Availability
|
|
81
|
+
|
|
82
|
+
The easiest way to get and install rake is via RubyGems ...
|
|
83
|
+
|
|
84
|
+
gem install rake (you may need root/admin privileges)
|
|
85
|
+
|
|
86
|
+
Otherwise, you can get it from the more traditional places:
|
|
87
|
+
|
|
88
|
+
Home Page:: http://rake.rubyforge.org/
|
|
89
|
+
Download:: http://rubyforge.org/project/showfiles.php?group_id=50
|
|
90
|
+
GitHub:: git://github.com/jimweirich/rake.git
|
|
91
|
+
|
|
92
|
+
== Thanks
|
|
93
|
+
|
|
94
|
+
As usual, it was input from users that drove a alot of these changes. The
|
|
95
|
+
following people either contributed patches, made suggestions or made
|
|
96
|
+
otherwise helpful comments. Thanks to ...
|
|
97
|
+
|
|
98
|
+
* James M. Lawrence (quix)
|
|
99
|
+
* Roger Pack
|
|
100
|
+
* Cezary Baginski
|
|
101
|
+
* Sean Scot August Moon
|
|
102
|
+
* R.T. Lechow
|
|
103
|
+
* Alex Chaffee
|
|
104
|
+
* James Tucker
|
|
105
|
+
* Matthias Lüdtke
|
|
106
|
+
* Santiago Pastorino
|
|
107
|
+
|
|
108
|
+
Also, bit thanks to Eric Hodel for assisting with getting this release
|
|
109
|
+
out the door (where "assisting" includes, but is not by any means
|
|
110
|
+
limited to, "pushing" me to get it done).
|
|
111
|
+
|
|
112
|
+
-- Jim Weirich
|
data/install.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require 'rbconfig'
|
|
2
2
|
require 'find'
|
|
3
|
-
require '
|
|
3
|
+
require 'fileutils'
|
|
4
4
|
|
|
5
|
-
include
|
|
5
|
+
include RbConfig
|
|
6
6
|
|
|
7
7
|
$ruby = CONFIG['ruby_install_name']
|
|
8
8
|
|
|
@@ -27,7 +27,7 @@ def installBIN(from, opfile)
|
|
|
27
27
|
|
|
28
28
|
fail "Cannot find a temporary directory" unless tmp_dir
|
|
29
29
|
tmp_file = File.join(tmp_dir, "_tmp")
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
File.open(from) do |ip|
|
|
32
32
|
File.open(tmp_file, "w") do |op|
|
|
33
33
|
ruby = File.join($realbindir, $ruby)
|
|
@@ -37,8 +37,9 @@ def installBIN(from, opfile)
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
opfile += ".rb" if CONFIG["target_os"] =~ /mswin/i
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
FileUtils.install(tmp_file, File.join($bindir, opfile),
|
|
41
|
+
{:mode => 0755, :verbose => true})
|
|
42
|
+
File.unlink(tmp_file)
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
$sitedir = CONFIG["sitelibdir"]
|
|
@@ -61,14 +62,14 @@ bindir = CONFIG["bindir"]
|
|
|
61
62
|
if (destdir = ENV['DESTDIR'])
|
|
62
63
|
$bindir = destdir + $bindir
|
|
63
64
|
$sitedir = destdir + $sitedir
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
|
|
66
|
+
FileUtils.mkdir_p($bindir)
|
|
67
|
+
FileUtils.mkdir_p($sitedir)
|
|
67
68
|
end
|
|
68
69
|
|
|
69
70
|
rake_dest = File.join($sitedir, "rake")
|
|
70
|
-
|
|
71
|
-
File
|
|
71
|
+
FileUtils.mkdir_p(rake_dest, {:verbose => true})
|
|
72
|
+
File.chmod(0755, rake_dest)
|
|
72
73
|
|
|
73
74
|
# The library files
|
|
74
75
|
|
|
@@ -78,9 +79,10 @@ for fn in files
|
|
|
78
79
|
fn_dir = File.dirname(fn)
|
|
79
80
|
target_dir = File.join($sitedir, fn_dir)
|
|
80
81
|
if ! File.exist?(target_dir)
|
|
81
|
-
|
|
82
|
+
FileUtils.mkdir_p(target_dir)
|
|
82
83
|
end
|
|
83
|
-
|
|
84
|
+
FileUtils.install(File.join('lib', fn), File.join($sitedir, fn),
|
|
85
|
+
{:mode => 0644, :verbose => true})
|
|
84
86
|
end
|
|
85
87
|
|
|
86
88
|
# and the executable
|
data/lib/rake/alt_system.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Copyright (c) 2008 James M. Lawrence
|
|
3
|
-
#
|
|
3
|
+
#
|
|
4
4
|
# Permission is hereby granted, free of charge, to any person
|
|
5
5
|
# obtaining a copy of this software and associated documentation files
|
|
6
6
|
# (the "Software"), to deal in the Software without restriction,
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
# publish, distribute, sublicense, and/or sell copies of the Software,
|
|
9
9
|
# and to permit persons to whom the Software is furnished to do so,
|
|
10
10
|
# subject to the following conditions:
|
|
11
|
-
#
|
|
11
|
+
#
|
|
12
12
|
# The above copyright notice and this permission notice shall be
|
|
13
13
|
# included in all copies or substantial portions of the Software.
|
|
14
|
-
#
|
|
14
|
+
#
|
|
15
15
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
16
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
17
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
@@ -27,9 +27,10 @@ require 'rbconfig'
|
|
|
27
27
|
#
|
|
28
28
|
# Alternate implementations of system() and backticks `` on Windows
|
|
29
29
|
# for ruby-1.8 and earlier.
|
|
30
|
-
#
|
|
30
|
+
#
|
|
31
31
|
module Rake::AltSystem
|
|
32
|
-
WINDOWS =
|
|
32
|
+
WINDOWS = RbConfig::CONFIG["host_os"] =~
|
|
33
|
+
%r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
|
|
33
34
|
|
|
34
35
|
class << self
|
|
35
36
|
def define_module_function(name, &block)
|
|
@@ -37,7 +38,7 @@ module Rake::AltSystem
|
|
|
37
38
|
module_function(name)
|
|
38
39
|
end
|
|
39
40
|
end
|
|
40
|
-
|
|
41
|
+
|
|
41
42
|
if WINDOWS and RUBY_VERSION < "1.9.0"
|
|
42
43
|
RUNNABLE_EXTS = %w[com exe bat cmd]
|
|
43
44
|
RUNNABLE_PATTERN = %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i
|