hoe 2.3.3 → 2.4.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.
@@ -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"