rake 0.8.7 → 0.9.2

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.
Files changed (140) hide show
  1. data/.gemtest +0 -0
  2. data/CHANGES +78 -9
  3. data/{README → README.rdoc} +14 -10
  4. data/RRR +9 -0
  5. data/Rakefile +100 -125
  6. data/TODO +1 -1
  7. data/bin/rake +4 -3
  8. data/doc/command_line_usage.rdoc +18 -6
  9. data/doc/glossary.rdoc +2 -2
  10. data/doc/jamis.rb +2 -2
  11. data/doc/proto_rake.rdoc +22 -22
  12. data/doc/rake.1.gz +0 -0
  13. data/doc/rakefile.rdoc +56 -33
  14. data/doc/rational.rdoc +6 -6
  15. data/doc/release_notes/rake-0.4.15.rdoc +1 -1
  16. data/doc/release_notes/rake-0.5.0.rdoc +1 -1
  17. data/doc/release_notes/rake-0.7.0.rdoc +1 -1
  18. data/doc/release_notes/rake-0.7.2.rdoc +3 -3
  19. data/doc/release_notes/rake-0.7.3.rdoc +2 -2
  20. data/doc/release_notes/rake-0.8.0.rdoc +1 -1
  21. data/doc/release_notes/rake-0.8.2.rdoc +3 -3
  22. data/doc/release_notes/rake-0.8.3.rdoc +2 -2
  23. data/doc/release_notes/rake-0.8.4.rdoc +1 -1
  24. data/doc/release_notes/rake-0.8.5.rdoc +1 -1
  25. data/doc/release_notes/rake-0.8.6.rdoc +1 -1
  26. data/doc/release_notes/rake-0.8.7.rdoc +1 -1
  27. data/doc/release_notes/rake-0.9.0.rdoc +112 -0
  28. data/doc/release_notes/rake-0.9.1.rdoc +52 -0
  29. data/doc/release_notes/rake-0.9.2.rdoc +49 -0
  30. data/install.rb +14 -12
  31. data/lib/rake/alt_system.rb +7 -6
  32. data/lib/rake/application.rb +589 -0
  33. data/lib/rake/classic_namespace.rb +1 -0
  34. data/lib/rake/clean.rb +2 -4
  35. data/lib/rake/cloneable.rb +25 -0
  36. data/lib/rake/contrib/compositepublisher.rb +2 -5
  37. data/lib/rake/contrib/ftptools.rb +5 -8
  38. data/lib/rake/contrib/publisher.rb +2 -8
  39. data/lib/rake/contrib/rubyforgepublisher.rb +2 -4
  40. data/lib/rake/contrib/sshpublisher.rb +4 -6
  41. data/lib/rake/contrib/sys.rb +7 -25
  42. data/lib/rake/default_loader.rb +10 -0
  43. data/lib/rake/dsl_definition.rb +167 -0
  44. data/lib/rake/early_time.rb +18 -0
  45. data/lib/rake/ext/core.rb +27 -0
  46. data/lib/rake/ext/module.rb +39 -0
  47. data/lib/rake/ext/string.rb +167 -0
  48. data/lib/rake/ext/time.rb +14 -0
  49. data/lib/rake/file_creation_task.rb +24 -0
  50. data/lib/rake/file_list.rb +403 -0
  51. data/lib/rake/file_task.rb +47 -0
  52. data/lib/rake/file_utils.rb +112 -0
  53. data/lib/rake/file_utils_ext.rb +142 -0
  54. data/lib/rake/gempackagetask.rb +6 -90
  55. data/lib/rake/invocation_chain.rb +51 -0
  56. data/lib/rake/invocation_exception_mixin.rb +16 -0
  57. data/lib/rake/loaders/makefile.rb +13 -15
  58. data/lib/rake/multi_task.rb +16 -0
  59. data/lib/rake/name_space.rb +25 -0
  60. data/lib/rake/packagetask.rb +13 -12
  61. data/lib/rake/pathmap.rb +1 -0
  62. data/lib/rake/pseudo_status.rb +24 -0
  63. data/lib/rake/rake_module.rb +29 -0
  64. data/lib/rake/rake_test_loader.rb +10 -2
  65. data/lib/rake/rdoctask.rb +211 -190
  66. data/lib/rake/ruby182_test_unit_fix.rb +9 -7
  67. data/lib/rake/rule_recursion_overflow_error.rb +20 -0
  68. data/lib/rake/runtest.rb +4 -6
  69. data/lib/rake/task.rb +327 -0
  70. data/lib/rake/task_argument_error.rb +7 -0
  71. data/lib/rake/task_arguments.rb +74 -0
  72. data/lib/rake/task_manager.rb +307 -0
  73. data/lib/rake/tasklib.rb +1 -2
  74. data/lib/rake/testtask.rb +57 -27
  75. data/lib/rake/version.rb +10 -0
  76. data/lib/rake/win32.rb +4 -4
  77. data/lib/rake.rb +29 -2470
  78. data/test/data/access/Rakefile +35 -0
  79. data/test/data/comments/Rakefile +18 -0
  80. data/test/data/default/Rakefile +1 -3
  81. data/test/data/deprecated_import/Rakefile +1 -0
  82. data/test/data/dryrun/Rakefile +1 -1
  83. data/test/data/extra/Rakefile +1 -0
  84. data/test/data/file_creation_task/Rakefile +1 -3
  85. data/test/data/multidesc/Rakefile +0 -2
  86. data/test/data/namespace/Rakefile +9 -2
  87. data/test/data/rakelib/test1.rb +1 -0
  88. data/test/data/statusreturn/Rakefile +0 -2
  89. data/test/data/verbose/Rakefile +34 -0
  90. data/test/{filecreation.rb → file_creation.rb} +11 -9
  91. data/test/helper.rb +44 -0
  92. data/test/in_environment.rb +11 -6
  93. data/test/test_rake.rb +3 -6
  94. data/test/test_rake_application.rb +364 -0
  95. data/test/test_rake_application_options.rb +382 -0
  96. data/test/{test_clean.rb → test_rake_clean.rb} +2 -4
  97. data/test/{test_definitions.rb → test_rake_definitions.rb} +7 -12
  98. data/test/test_rake_directory_task.rb +55 -0
  99. data/test/test_rake_dsl.rb +73 -0
  100. data/test/{test_earlytime.rb → test_rake_early_time.rb} +3 -7
  101. data/test/{test_extension.rb → test_rake_extension.rb} +4 -8
  102. data/test/{test_file_creation_task.rb → test_rake_file_creation_task.rb} +7 -7
  103. data/test/{test_filelist.rb → test_rake_file_list.rb} +45 -35
  104. data/test/test_rake_file_list_path_map.rb +8 -0
  105. data/test/{test_file_task.rb → test_rake_file_task.rb} +23 -62
  106. data/test/{test_fileutils.rb → test_rake_file_utils.rb} +34 -33
  107. data/test/{test_ftp.rb → test_rake_ftp_file.rb} +5 -5
  108. data/test/{session_functional.rb → test_rake_functional.rb} +173 -44
  109. data/test/test_rake_invocation_chain.rb +52 -0
  110. data/test/{test_makefile_loader.rb → test_rake_makefile_loader.rb} +2 -5
  111. data/test/{test_multitask.rb → test_rake_multi_task.rb} +18 -12
  112. data/test/{test_namespace.rb → test_rake_name_space.rb} +4 -16
  113. data/test/test_rake_package_task.rb +78 -0
  114. data/test/{test_pathmap.rb → test_rake_path_map.rb} +5 -58
  115. data/test/test_rake_path_map_explode.rb +31 -0
  116. data/test/test_rake_path_map_partial.rb +18 -0
  117. data/test/{test_pseudo_status.rb → test_rake_pseudo_status.rb} +2 -8
  118. data/test/{test_rdoc_task.rb → test_rake_rdoc_task.rb} +22 -29
  119. data/test/{test_require.rb → test_rake_require.rb} +11 -11
  120. data/test/{test_rules.rb → test_rake_rules.rb} +12 -15
  121. data/test/{test_tasks.rb → test_rake_task.rb} +75 -178
  122. data/test/test_rake_task_argument_parsing.rb +116 -0
  123. data/test/{test_task_arguments.rb → test_rake_task_arguments.rb} +7 -10
  124. data/test/{test_tasklib.rb → test_rake_task_lib.rb} +2 -5
  125. data/test/{test_task_manager.rb → test_rake_task_manager.rb} +12 -40
  126. data/test/test_rake_task_manager_argument_resolution.rb +36 -0
  127. data/test/test_rake_task_with_arguments.rb +162 -0
  128. data/test/test_rake_test_task.rb +122 -0
  129. data/test/{test_top_level_functions.rb → test_rake_top_level_functions.rb} +12 -22
  130. data/test/{test_win32.rb → test_rake_win32.rb} +21 -10
  131. data/test/test_sys.rb +20 -0
  132. metadata +129 -51
  133. data/test/capture_stdout.rb +0 -26
  134. data/test/contrib/test_sys.rb +0 -47
  135. data/test/functional.rb +0 -15
  136. data/test/rake_test_setup.rb +0 -24
  137. data/test/test_application.rb +0 -675
  138. data/test/test_invocation_chain.rb +0 -81
  139. data/test/test_package_task.rb +0 -118
  140. data/test/test_test_task.rb +0 -77
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'test/unit'
4
- require 'rake'
5
- require 'test/rake_test_setup'
6
-
7
- ######################################################################
8
- class TestAnEmptyInvocationChain < Test::Unit::TestCase
9
- include TestMethods
10
-
11
- def setup
12
- @empty = Rake::InvocationChain::EMPTY
13
- end
14
-
15
- def test_should_be_able_to_add_members
16
- assert_nothing_raised do
17
- @empty.append("A")
18
- end
19
- end
20
-
21
- def test_to_s
22
- assert_equal "TOP", @empty.to_s
23
- end
24
- end
25
-
26
- ######################################################################
27
- class TestAnInvocationChainWithOneMember < Test::Unit::TestCase
28
- include TestMethods
29
-
30
- def setup
31
- @empty = Rake::InvocationChain::EMPTY
32
- @first_member = "A"
33
- @chain = @empty.append(@first_member)
34
- end
35
-
36
- def test_should_report_first_member_as_a_member
37
- assert @chain.member?(@first_member)
38
- end
39
-
40
- def test_should_fail_when_adding_original_member
41
- ex = assert_exception RuntimeError do
42
- @chain.append(@first_member)
43
- end
44
- assert_match(/circular +dependency/i, ex.message)
45
- assert_match(/A.*=>.*A/, ex.message)
46
- end
47
-
48
- def test_to_s
49
- assert_equal "TOP => A", @chain.to_s
50
- end
51
-
52
- end
53
-
54
- ######################################################################
55
- class TestAnInvocationChainWithMultipleMember < Test::Unit::TestCase
56
- include TestMethods
57
-
58
- def setup
59
- @first_member = "A"
60
- @second_member = "B"
61
- ch = Rake::InvocationChain::EMPTY.append(@first_member)
62
- @chain = ch.append(@second_member)
63
- end
64
-
65
- def test_should_report_first_member_as_a_member
66
- assert @chain.member?(@first_member)
67
- end
68
-
69
- def test_should_report_second_member_as_a_member
70
- assert @chain.member?(@second_member)
71
- end
72
-
73
- def test_should_fail_when_adding_original_member
74
- ex = assert_exception RuntimeError do
75
- @chain.append(@first_member)
76
- end
77
- assert_match(/A.*=>.*B.*=>.*A/, ex.message)
78
- end
79
- end
80
-
81
-
@@ -1,118 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'test/unit'
4
- require 'rake/packagetask'
5
- require 'test/rake_test_setup'
6
-
7
- class TestPackageTask < Test::Unit::TestCase
8
- include Rake
9
- include TestMethods
10
-
11
- def test_create
12
- pkg = Rake::PackageTask.new("pkgr", "1.2.3") { |p|
13
- p.package_files << "install.rb"
14
- p.package_files.include(
15
- '[A-Z]*',
16
- 'bin/**/*',
17
- 'lib/**/*.rb',
18
- 'test/**/*.rb',
19
- 'doc/**/*',
20
- 'build/rubyapp.rb',
21
- '*.blurb')
22
- p.package_files.exclude(/\bCVS\b/)
23
- p.package_files.exclude(/~$/)
24
- p.package_dir = 'pkg'
25
- p.need_tar = true
26
- p.need_tar_gz = true
27
- p.need_tar_bz2 = true
28
- p.need_zip = true
29
- }
30
- assert_equal "pkg", pkg.package_dir
31
- assert pkg.package_files.include?("bin/rake")
32
- assert "pkgr", pkg.name
33
- assert "1.2.3", pkg.version
34
- assert Task[:package]
35
- assert Task['pkg/pkgr-1.2.3.tgz']
36
- assert Task['pkg/pkgr-1.2.3.tar.gz']
37
- assert Task['pkg/pkgr-1.2.3.tar.bz2']
38
- assert Task['pkg/pkgr-1.2.3.zip']
39
- assert Task["pkg/pkgr-1.2.3"]
40
- assert Task[:clobber_package]
41
- assert Task[:repackage]
42
- end
43
-
44
- def test_missing_version
45
- assert_exception(RuntimeError) {
46
- pkg = Rake::PackageTask.new("pkgr") { |p| }
47
- }
48
- end
49
-
50
- def test_no_version
51
- pkg = Rake::PackageTask.new("pkgr", :noversion) { |p| }
52
- assert "pkgr", pkg.send(:package_name)
53
- end
54
-
55
- def test_clone
56
- pkg = Rake::PackageTask.new("x", :noversion)
57
- p2 = pkg.clone
58
- pkg.package_files << "y"
59
- p2.package_files << "x"
60
- assert_equal ["y"], pkg.package_files
61
- assert_equal ["x"], p2.package_files
62
- end
63
- end
64
-
65
-
66
- begin
67
- require 'rubygems'
68
- require 'rake/gempackagetask'
69
- rescue Exception
70
- puts "WARNING: RubyGems not installed"
71
- end
72
-
73
- if ! defined?(Gem)
74
- puts "WARNING: Unable to test GemPackaging ... requires RubyGems"
75
- else
76
- class TestGemPackageTask < Test::Unit::TestCase
77
- def test_gem_package
78
- gem = Gem::Specification.new do |g|
79
- g.name = "pkgr"
80
- g.version = "1.2.3"
81
- g.files = FileList["x"].resolve
82
- end
83
- pkg = Rake::GemPackageTask.new(gem) do |p|
84
- p.package_files << "y"
85
- end
86
- assert_equal ["x", "y"], pkg.package_files
87
- assert_equal "pkgr-1.2.3.gem", pkg.gem_file
88
- end
89
-
90
- def test_gem_package_with_current_platform
91
- gem = Gem::Specification.new do |g|
92
- g.name = "pkgr"
93
- g.version = "1.2.3"
94
- g.files = FileList["x"].resolve
95
- g.platform = Gem::Platform::CURRENT
96
- end
97
- pkg = Rake::GemPackageTask.new(gem) do |p|
98
- p.package_files << "y"
99
- end
100
- assert_equal ["x", "y"], pkg.package_files
101
- assert_match(/^pkgr-1\.2\.3-(\S+)\.gem$/, pkg.gem_file)
102
- end
103
-
104
- def test_gem_package_with_ruby_platform
105
- gem = Gem::Specification.new do |g|
106
- g.name = "pkgr"
107
- g.version = "1.2.3"
108
- g.files = FileList["x"].resolve
109
- g.platform = Gem::Platform::RUBY
110
- end
111
- pkg = Rake::GemPackageTask.new(gem) do |p|
112
- p.package_files << "y"
113
- end
114
- assert_equal ["x", "y"], pkg.package_files
115
- assert_equal "pkgr-1.2.3.gem", pkg.gem_file
116
- end
117
- end
118
- end
@@ -1,77 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'test/unit'
4
- require 'rake/testtask'
5
-
6
- class TestTestTask < Test::Unit::TestCase
7
- include Rake
8
- include TestMethods
9
-
10
- def setup
11
- Task.clear
12
- ENV.delete('TEST')
13
- end
14
-
15
- def teardown
16
- FileUtils.rm_rf("testdata")
17
- end
18
-
19
- def test_no_task
20
- assert ! Task.task_defined?(:test)
21
- end
22
-
23
- def test_defaults
24
- tt = Rake::TestTask.new do |t| end
25
- assert_not_nil tt
26
- assert_equal :test, tt.name
27
- assert_equal ['lib'], tt.libs
28
- assert_equal 'test/test*.rb', tt.pattern
29
- assert_equal false, tt.verbose
30
- assert Task.task_defined?(:test)
31
- end
32
-
33
- def test_non_defaults
34
- tt = Rake::TestTask.new(:example) do |t|
35
- t.libs = ['src', 'ext']
36
- t.pattern = 'test/tc_*.rb'
37
- t.verbose = true
38
- end
39
- assert_not_nil tt
40
- assert_equal :example, tt.name
41
- assert_equal ['src', 'ext'], tt.libs
42
- assert_equal 'test/tc_*.rb', tt.pattern
43
- assert_equal true, tt.verbose
44
- assert Task.task_defined?(:example)
45
- end
46
-
47
- def test_pattern
48
- tt = Rake::TestTask.new do |t|
49
- t.pattern = '*.rb'
50
- end
51
- assert_equal ['install.rb'], tt.file_list.to_a
52
- end
53
-
54
- def test_env_test
55
- ENV['TEST'] = 'testfile.rb'
56
- tt = Rake::TestTask.new do |t|
57
- t.pattern = '*'
58
- end
59
- assert_equal ["testfile.rb"], tt.file_list.to_a
60
- end
61
-
62
- def test_test_files
63
- tt = Rake::TestTask.new do |t|
64
- t.test_files = FileList['a.rb', 'b.rb']
65
- end
66
- assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
67
- end
68
-
69
- def test_both_pattern_and_test_files
70
- tt = Rake::TestTask.new do |t|
71
- t.test_files = FileList['a.rb', 'b.rb']
72
- t.pattern = '*.rb'
73
- end
74
- assert_equal ['a.rb', 'b.rb', 'install.rb'], tt.file_list.to_a
75
- end
76
-
77
- end