darkfish-rdoc 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -105,10 +105,12 @@ begin
105
105
  desc "Re-publish the release with the current version number"
106
106
  task :rerelease => [ :publish, :announce, :project ]
107
107
 
108
+ desc "Re-run the publication tasks, but send notifications to debugging address"
108
109
  task :test do
110
+ trace "Will publish privately"
109
111
  $publish_privately = true
112
+ Rake::Task['release:rerelease'].invoke
110
113
  end
111
- task :test => [ :rerelease ]
112
114
 
113
115
 
114
116
  desc "Generate the release notes"
@@ -127,13 +129,14 @@ begin
127
129
 
128
130
  edit task.name
129
131
  end
130
- CLEAN.include( RELEASE_NOTES_FILE )
132
+ CLOBBER.include( RELEASE_NOTES_FILE )
131
133
 
132
134
 
135
+ desc "Publish the project documentation to #{PROJECT_HOST}"
133
136
  task :project => [ :rdoc ] do
134
137
  when_writing( "Publishing docs to #{PROJECT_SCPDOCURL}" ) do
135
- run 'ssh', PROJECT_HOST, "rm -rf #{PROJECT_SCPDOCURL}"
136
- run 'scp', '-qCr', 'docs/html', PROJECT_SCPDOCURL
138
+ run 'ssh', PROJECT_HOST, "rm -rf #{PROJECT_DOCDIR}"
139
+ run 'scp', '-qCr', RDOCDIR, PROJECT_SCPDOCURL
137
140
  end
138
141
  when_writing( "Uploading packages") do
139
142
  pkgs = Pathname.glob( PKGDIR + "#{PKG_FILE_NAME}.{gem,tar.gz,tar.bz2,zip}" )
@@ -180,7 +183,7 @@ begin
180
183
 
181
184
  edit task.name
182
185
  end
183
- CLEAN.include( RELEASE_ANNOUNCE_FILE )
186
+ CLOBBER.include( RELEASE_ANNOUNCE_FILE )
184
187
 
185
188
 
186
189
  desc 'Send out a release announcement'
@@ -188,12 +191,11 @@ begin
188
191
  email = TMail::Mail.new
189
192
  if $publish_privately
190
193
  trace "Sending private announce mail"
191
- email.to = 'rubymage@gmail.com'
194
+ email.to = 'rubymage@gmail.com'
192
195
  else
193
196
  trace "Sending public announce mail"
194
- email.to = 'rubymage@gmail.com'
195
- # email.to = 'Ruby-Talk List <ruby-talk@ruby-lang.org>'
196
- # email.bcc = 'rubymage@gmail.com'
197
+ email.to = 'Ruby-Talk List <ruby-talk@ruby-lang.org>'
198
+ email.bcc = 'rubymage@gmail.com'
197
199
  end
198
200
  email.from = GEMSPEC.email
199
201
  email.subject = "[ANN] #{PKG_NAME} #{PKG_VERSION}"
@@ -229,7 +231,7 @@ begin
229
231
 
230
232
 
231
233
  desc 'Publish the new release to RubyForge'
232
- task :publish => [:clobber, :package, :notes] do |task|
234
+ task :publish => [:clean, :package, :notes] do |task|
233
235
  project = GEMSPEC.rubyforge_project
234
236
 
235
237
  rf = RubyForge.new
@@ -299,5 +301,8 @@ rescue LoadError => err
299
301
  task "release:notes" => :no_release_tasks
300
302
  end
301
303
 
304
+ desc "Package up a release, publish it, and send out notifications"
302
305
  task :release => 'release:default'
306
+ task :rerelease => 'release:rerelease'
307
+ task :testrelease => 'release:test'
303
308
 
@@ -1,11 +1,15 @@
1
1
  #
2
2
  # RDoc Rake tasks for ThingFish
3
- # $Id: rdoc.rb 35 2008-08-19 01:10:27Z deveiant $
3
+ # $Id: rdoc.rb 40 2008-08-27 21:58:00Z deveiant $
4
4
  #
5
5
 
6
6
  require 'rake/rdoctask'
7
7
  $have_darkfish = false
8
8
 
9
+ # Append docs/lib to the load path if it exists for a locally-installed Darkfish
10
+ DOCSLIB = DOCSDIR + 'lib'
11
+ $LOAD_PATH.unshift( DOCSLIB.to_s ) if DOCSLIB.exist?
12
+
9
13
  begin
10
14
  require 'darkfish-rdoc'
11
15
  $have_darkfish = true
@@ -21,7 +25,7 @@ rescue LoadError => err
21
25
  end
22
26
 
23
27
  Rake::RDocTask.new do |rdoc|
24
- rdoc.rdoc_dir = 'docs/html'
28
+ rdoc.rdoc_dir = RDOCDIR.expand_path.relative_path_from( Pathname.pwd ).to_s
25
29
  rdoc.title = "#{PKG_NAME} - #{PKG_SUMMARY}"
26
30
  rdoc.options += RDOC_OPTIONS + [ '-f', 'darkfish' ] if $have_darkfish
27
31
 
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Subversion Rake Tasks
3
- # $Id: svn.rb 33 2008-08-14 05:39:37Z deveiant $
3
+ # $Id: svn.rb 45 2008-09-06 00:04:47Z deveiant $
4
4
  #
5
5
  # Authors:
6
6
  # * Michael Granger <ged@FaerieMUD.org>
@@ -10,6 +10,7 @@
10
10
  require 'pp'
11
11
  require 'yaml'
12
12
  require 'date'
13
+ require 'time'
13
14
 
14
15
  # Strftime format for tags/releases
15
16
  TAG_TIMESTAMP_FORMAT = '%Y%m%d-%H%M%S'
@@ -100,7 +101,10 @@ end
100
101
 
101
102
 
102
103
  ### Return the keywords for the specified array of +files+ as a Hash keyed by filename.
103
- def get_svn_keyword_map( files )
104
+ def get_svn_keyword_map( *files )
105
+ files.flatten!
106
+ files.push( '.' ) if files.empty?
107
+
104
108
  cmd = ['svn', 'pg', 'svn:keywords', *files]
105
109
 
106
110
  # trace "Executing: svn pg svn:keywords " + files.join(' ')
@@ -167,6 +171,22 @@ def get_svn_diff( *targets )
167
171
  end
168
172
 
169
173
 
174
+ ### Get a subversion status as an Array of tuples of the form:
175
+ ### [ <status>, <path> ]
176
+ def get_svn_status( *targets )
177
+ targets << BASEDIR if targets.empty?
178
+ trace "Getting svn status for targets: %p" % [targets]
179
+ status = IO.read( '|-' ) or exec 'svn', 'st', '--ignore-externals', *(targets.flatten)
180
+ entries = status.split( /\n/ ).
181
+ collect do |line|
182
+ flag, path = line.strip.split( /\s+/, 2 )
183
+ [ flag, Pathname.new(path) ]
184
+ end
185
+
186
+ return entries
187
+ end
188
+
189
+
170
190
  ### Return the URL of the latest timestamp in the tags directory.
171
191
  def get_latest_release_tag
172
192
  rooturl = get_svn_repo_root()
@@ -398,8 +418,40 @@ namespace :svn do
398
418
  end
399
419
 
400
420
 
421
+ desc "Add/ignore any files that are unknown in the working copy"
422
+ task :newfiles do
423
+ log "Checking for new files..."
424
+ entries = get_svn_status()
425
+
426
+ unless entries.empty?
427
+ files_to_add = []
428
+ files_to_ignore = []
429
+
430
+ entries.find_all {|entry| entry[0] == '?'}.each do |entry|
431
+ action = prompt_with_default( " #{entry[1]}: (a)dd, (i)gnore, (s)kip", 's' )
432
+ case action
433
+ when 'a'
434
+ files_to_add << entry[1]
435
+ when 'i'
436
+ files_to_ignore << entry[1]
437
+ end
438
+ end
439
+
440
+ unless files_to_add.empty?
441
+ run 'svn', 'add', *files_to_add
442
+ end
443
+
444
+ unless files_to_ignore.empty?
445
+ abort "Ignoring not yet implemented"
446
+ end
447
+
448
+ end
449
+ end
450
+ task :add => :newfiles
451
+
452
+
401
453
  desc "Check in all the changes in your current working copy"
402
- task :checkin => ['svn:update', 'test', 'svn:fix_keywords', COMMIT_MSG_FILE] do
454
+ task :checkin => ['svn:update', 'svn:newfiles', 'test', 'svn:fix_keywords', COMMIT_MSG_FILE] do
403
455
  targets = get_target_args()
404
456
  $deferr.puts '---', File.read( COMMIT_MSG_FILE ), '---'
405
457
  ask_for_confirmation( "Continue with checkin?" ) do
@@ -449,13 +501,19 @@ namespace :svn do
449
501
 
450
502
  task :debug_helpers do
451
503
  methods = [
452
- :make_new_tag,
504
+ :get_last_changed_rev,
505
+ :get_latest_release_tag,
506
+ :get_latest_svn_timestamp_tag,
507
+ :get_svn_diff,
508
+ :get_svn_filelist,
453
509
  :get_svn_info,
510
+ :get_svn_keyword_map,
511
+ :get_svn_path,
454
512
  :get_svn_repo_root,
513
+ :get_svn_rev,
514
+ :get_svn_status,
455
515
  :get_svn_url,
456
- :get_svn_path,
457
516
  :svn_ls,
458
- :get_latest_svn_timestamp_tag,
459
517
  ]
460
518
  maxlen = methods.collect {|sym| sym.to_s.length }.max
461
519
 
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Rake tasklib for testing tasks
3
- # $Id: testing.rb 14 2008-07-23 23:16:30Z deveiant $
3
+ # $Id: testing.rb 39 2008-08-22 01:27:56Z deveiant $
4
4
  #
5
5
  # Authors:
6
6
  # * Michael Granger <ged@FaerieMUD.org>
@@ -150,7 +150,8 @@ begin
150
150
  desc "Show differences in coverage from last run"
151
151
  Spec::Rake::SpecTask.new( :diff ) do |task|
152
152
  task.spec_files = SPEC_FILES
153
- task.rcov_opts = ['--text-coverage-diff']
153
+ task.spec_opts = ['-f', 'p', '-b']
154
+ task.rcov_opts = RCOV_OPTS - ['--save'] + ['--text-coverage-diff']
154
155
  task.rcov = true
155
156
  end
156
157
 
@@ -32,7 +32,9 @@ describe RDoc::Generator::Darkfish do
32
32
  describe "an instance" do
33
33
 
34
34
  before( :each ) do
35
- @generator = RDoc::Generator::Darkfish.for( 'darkfish' )
35
+ $dryrun = true
36
+ @options = RDoc::Options.new( RDoc::RDoc::GENERATORS )
37
+ @generator = RDoc::Generator::Darkfish.for( @options )
36
38
  end
37
39
 
38
40
 
@@ -44,11 +46,20 @@ describe RDoc::Generator::Darkfish do
44
46
 
45
47
  it "copies static files over during #write_style_sheet" do
46
48
  FileUtils.should_receive( :cp_r ).
47
- with( an_instance_of(Pathname), '.', :verbose => $DEBUG ).
49
+ with( an_instance_of(Pathname), '.', :verbose => $DEBUG, :noop => $dryrun ).
48
50
  exactly( 3 ).times
49
51
  @generator.write_style_sheet
50
52
  end
51
53
 
54
+ it "adjusts to changes in RDoc 2.2.0 (::build_indices vs. ::build_indicies)" do
55
+ RDoc::Generator::Context.should_receive( :respond_to? ).with( :build_indicies ).
56
+ and_return( false )
57
+ RDoc::Generator::Context.should_receive( :build_indices ).with( :toplevels, @options ).
58
+ and_return([ {}, {} ])
59
+
60
+ @generator.generate( :toplevels )
61
+ end
62
+
52
63
  end
53
64
  end
54
65
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darkfish-rdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-19 00:00:00 -07:00
12
+ date: 2008-09-25 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency