hoe 2.3.3 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2 @@
1
+ =��f�$E�!���@!��(���a��0��p����(���oI��V��U�噬�§�[���y7�)���211=l�(lߔ��)
2
+ :
@@ -0,0 +1,7 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'autotest/restart'
4
+
5
+ Autotest.add_hook :initialize do |at|
6
+ at.testlib = "minitest/unit" # FIX: autotest testlib sucks
7
+ end
@@ -1,3 +1,14 @@
1
+ === 2.4.0 / 2009-12-08
2
+
3
+ * 6 minor enhancements:
4
+
5
+ * Added Hoe.pdf
6
+ * Added gemcutter plugin (raggi)
7
+ * Added newb plugin. (jbarnette)
8
+ * Improved README.txt
9
+ * Improved rdoc
10
+ * Refactored rubyforge task to plugin. (jbarnette)
11
+
1
12
  === 2.3.3 / 2009-08-07
2
13
 
3
14
  * 6 minor enhancements:
data/Hoe.pdf ADDED
Binary file
@@ -1,4 +1,6 @@
1
+ .autotest
1
2
  History.txt
3
+ Hoe.pdf
2
4
  Manifest.txt
3
5
  README.txt
4
6
  Rakefile
@@ -9,11 +11,14 @@ lib/hoe/debug.rb
9
11
  lib/hoe/deps.rb
10
12
  lib/hoe/flay.rb
11
13
  lib/hoe/flog.rb
14
+ lib/hoe/gemcutter.rb
12
15
  lib/hoe/inline.rb
16
+ lib/hoe/newb.rb
13
17
  lib/hoe/package.rb
14
18
  lib/hoe/publish.rb
15
19
  lib/hoe/rake.rb
16
20
  lib/hoe/rcov.rb
21
+ lib/hoe/rubyforge.rb
17
22
  lib/hoe/signing.rb
18
23
  lib/hoe/test.rb
19
24
  template/.autotest.erb
@@ -25,3 +30,4 @@ template/bin/file_name.erb
25
30
  template/lib/file_name.rb.erb
26
31
  template/test/test_file_name.rb.erb
27
32
  test/test_hoe.rb
33
+ test/test_hoe_gemcutter.rb
data/README.txt CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  * http://rubyforge.org/projects/seattlerb/
4
4
  * http://seattlerb.rubyforge.org/hoe/
5
- * http://www.zenspider.com/~ryand/hoe.pdf
6
- * mailto:ryand-ruby@zenspider.com
5
+ * http://seattlerb.rubyforge.org/hoe/Hoe.pdf
6
+ * http://github.com/jbarnette/hoe-plugin-examples
7
7
 
8
8
  == DESCRIPTION:
9
9
 
@@ -12,7 +12,21 @@ rubygems and includes a dynamic plug-in system allowing for easy
12
12
  extensibility. Hoe ships with plug-ins for all your usual project
13
13
  tasks including rdoc generation, testing, packaging, and deployment.
14
14
 
15
- Plug-ins Provided:
15
+ See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
16
+ below.
17
+
18
+ See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
19
+
20
+ == FEATURES/PROBLEMS:
21
+
22
+ * Includes a dynamic plug-in system allowing for easy extensibility.
23
+ * Auto-intuits changes, description, summary, and version.
24
+ * Uses a manifest for safe and secure deployment.
25
+ * Provides 'sow' for quick project directory creation.
26
+ * Sow uses a simple ERB templating system allowing you to capture your
27
+ project patterns.
28
+
29
+ === Plug-ins Provided:
16
30
 
17
31
  * Hoe::Clean
18
32
  * Hoe::Debug
@@ -20,27 +34,28 @@ Plug-ins Provided:
20
34
  * Hoe::Flay
21
35
  * Hoe::Flog
22
36
  * Hoe::Inline
37
+ * Hoe::Newb
23
38
  * Hoe::Package
24
39
  * Hoe::Publish
25
40
  * Hoe::RCov
41
+ * Hoe::RubyForge
26
42
  * Hoe::Signing
27
43
  * Hoe::Test
28
44
 
29
- See class rdoc for help. Hint: ri Hoe
45
+ === Known 3rd-Party Plugins:
30
46
 
31
- == FEATURES/PROBLEMS:
32
-
33
- * Includes a dynamic plug-in system allowing for easy extensibility.
34
- * Auto-intuits changes, description, summary, and version.
35
- * Uses a manifest for safe and secure deployment.
36
- * Provides 'sow' for quick project directory creation.
37
- * Sow uses a simple ERB templating system allowing you to capture your
38
- project patterns
47
+ * Hoe::Seattlerb - email announcements & perforce branching/validation on release.
48
+ * Hoe::Git - git tagging on release, changelogs, and manifest creation.
49
+ * Hoe::Doofus - release checklist.
50
+ * Hoe::Debugging - for extensions, run your tests with GDB and Valgrind
39
51
 
40
52
  == SYNOPSIS:
41
53
 
42
54
  % sow [group] project
43
55
 
56
+ (you can edit a project template in ~/.hoe_template after running sow
57
+ for the first time)
58
+
44
59
  or:
45
60
 
46
61
  require 'hoe'
@@ -65,7 +80,7 @@ or:
65
80
 
66
81
  (The MIT License)
67
82
 
68
- Copyright (c) Ryan Davis, Zen Spider Software
83
+ Copyright (c) Ryan Davis, Seattle.rb
69
84
 
70
85
  Permission is hereby granted, free of charge, to any person obtaining
71
86
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -16,4 +16,10 @@ Hoe.spec "hoe" do
16
16
  pluggable!
17
17
  end
18
18
 
19
+ [:redocs, :docs].each do |t|
20
+ task t do
21
+ cp "Hoe.pdf", "doc"
22
+ end
23
+ end
24
+
19
25
  # vim: syntax=ruby
data/lib/hoe.rb CHANGED
@@ -3,7 +3,6 @@
3
3
  require 'rubygems'
4
4
  require 'rake'
5
5
  require 'rake/testtask'
6
- require 'rubyforge'
7
6
  require 'yaml'
8
7
 
9
8
  require 'hoe/rake'
@@ -59,10 +58,10 @@ require 'hoe/rake'
59
58
 
60
59
  class Hoe
61
60
  # duh
62
- VERSION = '2.3.3'
61
+ VERSION = '2.4.0'
63
62
 
64
- @@plugins = [:clean, :debug, :deps, :flay, :flog, :package, :publish,
65
- :rcov, :signing, :test]
63
+ @@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
64
+ :publish, :rcov, :rubyforge, :gemcutter, :signing, :test]
66
65
 
67
66
  ##
68
67
  # Used to add extra flags to RUBY_FLAGS.
@@ -306,7 +305,7 @@ class Hoe
306
305
  def add_dependencies
307
306
  hoe_deps = {
308
307
  'rake' => ">= #{RAKEVERSION}",
309
- 'rubyforge' => ">= #{::RubyForge::VERSION}",
308
+ 'rubyforge' => ">= #{::RubyForge::VERSION}", # TODO: push down
310
309
  }
311
310
 
312
311
  self.extra_deps = normalize_deps extra_deps
@@ -368,11 +367,12 @@ class Hoe
368
367
  end
369
368
 
370
369
  unless self.version then
371
- version = nil
370
+ version = nil
371
+ version_re = /VERSION += +([\"\'])([\d][\d\w\.]+)\1/
372
372
 
373
373
  spec.files.each do |file|
374
374
  next unless File.exist? file
375
- version = File.read(file)[/VERSION += +([\"\'])([\d][\d\w\.]+)\1/, 2]
375
+ version = File.read_utf(file)[version_re, 2]
376
376
  break if version
377
377
  end
378
378
 
@@ -481,7 +481,7 @@ class Hoe
481
481
  $plugin_max = self.class.plugins.map { |s| s.to_s.size }.max
482
482
 
483
483
  self.class.plugins.each do |plugin|
484
- warn plugin if $DEBUG
484
+ warn "define: #{plugin}" if $DEBUG
485
485
 
486
486
  old_tasks = Rake::Task.tasks.dup
487
487
 
@@ -0,0 +1,20 @@
1
+ require 'rake'
2
+
3
+ class Hoe #:nodoc:
4
+ module Gemcutter
5
+ def define_gemcutter_tasks
6
+ desc "Push gem to gemcutter."
7
+ task :release_to_gemcutter => [:clean, :package, :release_sanity] do
8
+ pkg = "pkg/#{spec.name}-#{spec.version}"
9
+ gems = Dir["#{pkg}*.gem"]
10
+ gems.each do |g|
11
+ # TODO - once gemcutter supports command invocation, use it.
12
+ # We could still fail here due to --format executable
13
+ sh Gem.ruby, "-S", "gem", "push", g
14
+ end
15
+ end
16
+
17
+ task :release_to => :release_to_gemcutter
18
+ end
19
+ end unless defined? Gemcutter # HACK - tests force load twice
20
+ end
@@ -0,0 +1,21 @@
1
+ ##
2
+ # Newb plugin for hoe.
3
+ #
4
+ # === Tasks Provided:
5
+ #
6
+ # newb:: Get a new developer up to speed.
7
+
8
+ module Hoe::Newb
9
+ # define tasks for the newb plugin
10
+ def define_newb_tasks
11
+ desc "Install deps, generate docs, run tests/specs."
12
+ task :newb => %w(check_extra_deps docs default) do
13
+ puts <<-END
14
+
15
+ GOOD TO GO! Tests are passing, docs are generated,
16
+ dependencies are installed. Get to hacking.
17
+
18
+ END
19
+ end
20
+ end
21
+ end
@@ -12,7 +12,7 @@ end
12
12
  # === Tasks Provided:
13
13
  #
14
14
  # install_gem:: Install the package as a gem.
15
- # release:: Package and upload the release to rubyforge.
15
+ # release:: Package and upload the release.
16
16
 
17
17
  module Hoe::Package
18
18
  ##
@@ -57,7 +57,7 @@ module Hoe::Package
57
57
  end
58
58
 
59
59
  # no doco, invisible hook
60
- task :release_to => :release_to_rubyforge
60
+ task :release_to
61
61
 
62
62
  # no doco, invisible hook
63
63
  task :postrelease
@@ -67,26 +67,6 @@ module Hoe::Package
67
67
  v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
68
68
  abort "Versions don't match #{v} vs #{version}" if v != version
69
69
  end
70
-
71
- desc 'Release to rubyforge.'
72
- task :release_to_rubyforge => [:clean, :package, :release_sanity] do
73
- rf = RubyForge.new.configure
74
- puts "Logging in"
75
- rf.login
76
-
77
- c = rf.userconfig
78
- c["release_notes"] = description if description
79
- c["release_changes"] = changes if changes
80
- c["preformatted"] = true
81
-
82
- pkg = "pkg/#{name}-#{version}"
83
- files = [(@need_tar ? "#{pkg}.tgz" : nil),
84
- (@need_zip ? "#{pkg}.zip" : nil),
85
- Dir["#{pkg}*.gem"]].flatten.compact
86
-
87
- puts "Releasing #{name} v. #{version}"
88
- rf.add_release rubyforge_name, name, version, *files
89
- end
90
70
  end
91
71
 
92
72
  ##
@@ -1,7 +1,13 @@
1
1
  module Rake
2
2
  class Task
3
+ # Used to name the source of a given task
3
4
  attr_accessor :plugin
5
+ # :stopdoc:
4
6
  alias :old_comment :comment
7
+ # :startdoc:
8
+
9
+ ##
10
+ # Overrides the default #comment to provide the plugin name.
5
11
  def comment
6
12
  "%-#{$plugin_max}s # %s" % [plugin, old_comment] if old_comment
7
13
  end
@@ -0,0 +1,39 @@
1
+ require 'rubyforge'
2
+
3
+ ##
4
+ # RubyForge plugin for hoe.
5
+ #
6
+ # Adds a release dependency that cleans, packages, performs sanity
7
+ # checks, and releases to RubyForge.
8
+ #
9
+ # === Tasks Provided:
10
+ #
11
+ # release_to_rubyforge:: Release to rubyforge when release task is run.
12
+
13
+ module Hoe::RubyForge
14
+ def define_rubyforge_tasks # :nodoc:
15
+
16
+ # no doco, invisible hook
17
+ task :release_to => :release_to_rubyforge
18
+
19
+ desc 'Release to rubyforge.'
20
+ task :release_to_rubyforge => [:clean, :package, :release_sanity] do
21
+ rf = RubyForge.new.configure
22
+ puts "Logging in"
23
+ rf.login
24
+
25
+ c = rf.userconfig
26
+ c["release_notes"] = description if description
27
+ c["release_changes"] = changes if changes
28
+ c["preformatted"] = true
29
+
30
+ pkg = "pkg/#{name}-#{version}"
31
+ files = [(@need_tar ? "#{pkg}.tgz" : nil),
32
+ (@need_zip ? "#{pkg}.zip" : nil),
33
+ Dir["#{pkg}*.gem"]].flatten.compact
34
+
35
+ puts "Releasing #{name} v. #{version}"
36
+ rf.add_release rubyforge_name, name, version, *files
37
+ end
38
+ end
39
+ end
@@ -22,6 +22,15 @@
22
22
 
23
23
  * <%= XIF %> (sudo gem install, anything else)
24
24
 
25
+ == DEVELOPERS:
26
+
27
+ After checking out the source, run:
28
+
29
+ $ rake newb
30
+
31
+ This task will install any missing dependencies, run the tests/specs,
32
+ and generate the RDoc.
33
+
25
34
  == LICENSE:
26
35
 
27
36
  (The MIT License)
@@ -0,0 +1,13 @@
1
+ require "hoe/gemcutter" unless defined? Hoe::Gemcutter
2
+
3
+ class TestHoeGemcutter < MiniTest::Unit::TestCase
4
+ include Hoe::Gemcutter
5
+
6
+ def test_gemcutter_tasks_defined
7
+ define_gemcutter_tasks
8
+ assert Rake::Task[:release_to_gemcutter]
9
+ assert Rake::Task[:release_to].prerequisites.include?('release_to_gemcutter')
10
+ end
11
+
12
+ # TODO add tests for push once using Gem::Commands::Push (waiting on rubygems release)
13
+ end
metadata CHANGED
@@ -1,36 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoe
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
14
+ ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
+ GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
16
+ AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
17
+ JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
18
+ b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
19
+ taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
20
+ oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
21
+ GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
22
+ qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
23
+ gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
24
+ HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
25
+ AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
26
+ vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
27
+ w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
28
+ l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
29
+ n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
30
+ FBHgymkyj/AOSqKRIpXPhjC6
31
+ -----END CERTIFICATE-----
11
32
 
12
- date: 2009-08-07 00:00:00 -07:00
33
+ date: 2009-12-08 00:00:00 -08:00
13
34
  default_executable:
14
35
  dependencies:
15
36
  - !ruby/object:Gem::Dependency
16
- name: rubyforge
37
+ name: rake
17
38
  type: :runtime
18
39
  version_requirement:
19
40
  version_requirements: !ruby/object:Gem::Requirement
20
41
  requirements:
21
42
  - - ">="
22
43
  - !ruby/object:Gem::Version
23
- version: 1.0.4
44
+ version: 0.8.7
24
45
  version:
25
46
  - !ruby/object:Gem::Dependency
26
- name: rake
47
+ name: rubyforge
27
48
  type: :runtime
28
49
  version_requirement:
29
50
  version_requirements: !ruby/object:Gem::Requirement
30
51
  requirements:
31
52
  - - ">="
32
53
  - !ruby/object:Gem::Version
33
- version: 0.8.7
54
+ version: 2.0.3
34
55
  version:
35
56
  description: |-
36
57
  Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
@@ -38,21 +59,10 @@ description: |-
38
59
  extensibility. Hoe ships with plug-ins for all your usual project
39
60
  tasks including rdoc generation, testing, packaging, and deployment.
40
61
 
41
- Plug-ins Provided:
42
-
43
- * Hoe::Clean
44
- * Hoe::Debug
45
- * Hoe::Deps
46
- * Hoe::Flay
47
- * Hoe::Flog
48
- * Hoe::Inline
49
- * Hoe::Package
50
- * Hoe::Publish
51
- * Hoe::RCov
52
- * Hoe::Signing
53
- * Hoe::Test
62
+ See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
63
+ below.
54
64
 
55
- See class rdoc for help. Hint: ri Hoe
65
+ See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
56
66
  email:
57
67
  - ryand-ruby@zenspider.com
58
68
  executables:
@@ -64,7 +74,9 @@ extra_rdoc_files:
64
74
  - Manifest.txt
65
75
  - README.txt
66
76
  files:
77
+ - .autotest
67
78
  - History.txt
79
+ - Hoe.pdf
68
80
  - Manifest.txt
69
81
  - README.txt
70
82
  - Rakefile
@@ -75,11 +87,14 @@ files:
75
87
  - lib/hoe/deps.rb
76
88
  - lib/hoe/flay.rb
77
89
  - lib/hoe/flog.rb
90
+ - lib/hoe/gemcutter.rb
78
91
  - lib/hoe/inline.rb
92
+ - lib/hoe/newb.rb
79
93
  - lib/hoe/package.rb
80
94
  - lib/hoe/publish.rb
81
95
  - lib/hoe/rake.rb
82
96
  - lib/hoe/rcov.rb
97
+ - lib/hoe/rubyforge.rb
83
98
  - lib/hoe/signing.rb
84
99
  - lib/hoe/test.rb
85
100
  - template/.autotest.erb
@@ -91,6 +106,7 @@ files:
91
106
  - template/lib/file_name.rb.erb
92
107
  - template/test/test_file_name.rb.erb
93
108
  - test/test_hoe.rb
109
+ - test/test_hoe_gemcutter.rb
94
110
  has_rdoc: true
95
111
  homepage: http://rubyforge.org/projects/seattlerb/
96
112
  licenses: []
@@ -122,3 +138,4 @@ specification_version: 3
122
138
  summary: Hoe is a rake/rubygems helper for project Rakefiles
123
139
  test_files:
124
140
  - test/test_hoe.rb
141
+ - test/test_hoe_gemcutter.rb
@@ -0,0 +1 @@
1
+ �:�F�Zh���,���ڎ(UW�\2<�����=� ��U�6�Uf� [Q�~+�㪠��-��#�#��S�������KB�s�I�g?_~ܖ�)���c%�[��át9&������ �]�G��1\<n�3���n��{U�e��7�K9�6E�ݽK�^~rt�12��"��h 5���3� ֋?�<k�Z�3:�[�y��\��sٟ�"?�|�f�I��S� ���ԡ&9vF�g"