sdoc_all 0.1.0 → 0.2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/Manifest +14 -4
- data/README.rdoc +130 -19
- data/Rakefile +7 -2
- data/VERSION.yml +1 -1
- data/bin/sdoc-all +1 -1
- data/lib/sdoc_all/base.rb +99 -56
- data/lib/sdoc_all/config_error.rb +4 -0
- data/lib/sdoc_all/gems.rb +39 -13
- data/lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb +1 -11
- data/lib/sdoc_all/generator/sdoc_all/templates/Rakefile +3 -1
- data/lib/sdoc_all/generator/sdoc_all/templates/config.yml +16 -0
- data/lib/sdoc_all/paths.rb +100 -0
- data/lib/sdoc_all/plugins.rb +45 -20
- data/lib/sdoc_all/rails.rb +54 -36
- data/lib/sdoc_all/ruby.rb +88 -39
- data/lib/sdoc_all/task.rb +28 -0
- data/lib/sdoc_all.rb +151 -55
- data/lib/tasks/sdoc_all_rake.rb +15 -0
- data/sdoc_all.gemspec +9 -12
- data/spec/sdoc_all/gems_spec.rb +66 -0
- data/spec/sdoc_all/paths_spec.rb +101 -0
- data/spec/sdoc_all/plugins_spec.rb +81 -0
- data/spec/sdoc_all/rails_spec.rb +57 -0
- data/spec/sdoc_all/ruby_spec.rb +199 -0
- data/spec/sdoc_all_spec.rb +80 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +24 -0
- metadata +27 -22
- data/lib/sdoc_all/generator/sdoc_all/templates/sdoc.config.yml.erb +0 -1
- data/lib/sdoc_all/rdoc_task.rb +0 -45
- data/lib/sdoc_all/rdoc_tasks.rb +0 -32
- data/lib/tasks/sdoc_all.rb +0 -10
data/lib/sdoc_all/plugins.rb
CHANGED
@@ -1,32 +1,57 @@
|
|
1
1
|
class SdocAll
|
2
2
|
class Plugins < Base
|
3
|
-
def
|
4
|
-
|
3
|
+
def initialize(config)
|
4
|
+
config ||= {}
|
5
|
+
config = {:path => config} unless config.is_a?(Hash)
|
6
|
+
|
7
|
+
config[:path] ||= sources_path
|
8
|
+
|
9
|
+
@config = {
|
10
|
+
:update => config.delete(:update) != false,
|
11
|
+
:path => Pathname.new(config.delete(:path)).expand_path,
|
12
|
+
:only => config_only_option(config),
|
13
|
+
:exclude => config_exclude_option(config),
|
14
|
+
}
|
15
|
+
|
16
|
+
unless @config[:path].directory?
|
17
|
+
raise ConfigError.new("path #{@config[:path]} is not a directory")
|
18
|
+
end
|
19
|
+
|
20
|
+
raise_unknown_options_if_not_blank!(config)
|
5
21
|
end
|
6
22
|
|
7
|
-
def
|
8
|
-
|
9
|
-
|
10
|
-
|
23
|
+
def add_tasks(options = {})
|
24
|
+
plugins = @config[:path].children.map do |path|
|
25
|
+
path if path.directory?
|
26
|
+
end.compact
|
27
|
+
|
28
|
+
plugins.delete_if{ |plugin| !config[:only].include?(plugin.basename.to_s.downcase) } if config[:only]
|
29
|
+
plugins.delete_if{ |plugin| config[:exclude].include?(plugin.basename.to_s.downcase) }
|
30
|
+
|
31
|
+
if config[:update] && options[:update]
|
32
|
+
plugins.each do |plugin|
|
33
|
+
if (plugin + '.git').directory?
|
34
|
+
Dir.chdir(plugin) do
|
35
|
+
Base.system('git fetch origin && git reset --hard origin')
|
36
|
+
end
|
37
|
+
end
|
11
38
|
end
|
12
39
|
end
|
13
|
-
end
|
14
40
|
|
15
|
-
|
16
|
-
|
41
|
+
plugins.each do |plugin|
|
42
|
+
paths = Rake::FileList.new
|
17
43
|
Dir.chdir(plugin) do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
plugin_name = File.basename(plugin)
|
23
|
-
add_rdoc_task(
|
24
|
-
:name_parts => [plugin_name],
|
25
|
-
:src_path => plugin,
|
26
|
-
:doc_path => "plugins/#{plugin_name}",
|
27
|
-
:pathes => pathes.resolve
|
28
|
-
)
|
44
|
+
paths.include('lib/**/*.rb')
|
45
|
+
paths.include('README*')
|
46
|
+
paths.include('CHANGELOG*')
|
47
|
+
paths.resolve
|
29
48
|
end
|
49
|
+
Base.add_task(
|
50
|
+
:src_path => plugin,
|
51
|
+
:doc_path => "plugins.#{plugin.basename}",
|
52
|
+
:paths => paths.to_a,
|
53
|
+
:title => "plugins: #{plugin.basename}"
|
54
|
+
)
|
30
55
|
end
|
31
56
|
end
|
32
57
|
end
|
data/lib/sdoc_all/rails.rb
CHANGED
@@ -1,51 +1,69 @@
|
|
1
1
|
class SdocAll
|
2
2
|
class Rails < Base
|
3
|
-
def
|
4
|
-
|
5
|
-
|
3
|
+
def initialize(config)
|
4
|
+
config ||= {}
|
5
|
+
config = {:version => config} unless config.is_a?(Hash)
|
6
|
+
|
7
|
+
if config[:version]
|
8
|
+
unless self.class.versions.include?(config[:version])
|
9
|
+
raise ConfigError.new("you don't have rails #{config[:version]} installed")
|
10
|
+
end
|
11
|
+
else
|
12
|
+
if self.class.versions.empty?
|
13
|
+
raise ConfigError.new("you don't have any rails versions installed")
|
14
|
+
end
|
6
15
|
end
|
16
|
+
|
17
|
+
@config = {
|
18
|
+
:version => config.delete(:version) || self.class.versions.last,
|
19
|
+
}
|
20
|
+
|
21
|
+
raise_unknown_options_if_not_blank!(config)
|
7
22
|
end
|
8
23
|
|
9
|
-
def
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
24
|
+
def add_tasks(options = {})
|
25
|
+
version = @config[:version]
|
26
|
+
path = sources_path + version
|
27
|
+
|
28
|
+
unless path.directory?
|
29
|
+
Base.remove_if_present(sources_path)
|
30
|
+
sources_path
|
31
|
+
Base.with_env 'VERSION', version do
|
32
|
+
Base.system('rails', path, '--freeze')
|
18
33
|
end
|
19
34
|
end
|
20
|
-
to_clear.each do |rails|
|
21
|
-
remove_if_present(rails)
|
22
|
-
end
|
23
|
-
end
|
24
35
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
pathes.include(line[/'(.*)'/, 1])
|
35
|
-
elsif line['rdoc.rdoc_files.exclude']
|
36
|
-
pathes.exclude(line[/'(.*)'/, 1])
|
37
|
-
end
|
38
|
-
end
|
36
|
+
paths = Rake::FileList.new
|
37
|
+
Dir.chdir(path) do
|
38
|
+
File.open('vendor/rails/railties/lib/tasks/documentation.rake') do |f|
|
39
|
+
true until f.readline['Rake::RDocTask.new("rails")']
|
40
|
+
until (line = f.readline.strip) == '}'
|
41
|
+
if line['rdoc.rdoc_files.include']
|
42
|
+
paths.include(line[/'(.*)'/, 1])
|
43
|
+
elsif line['rdoc.rdoc_files.exclude']
|
44
|
+
paths.exclude(line[/'(.*)'/, 1])
|
39
45
|
end
|
40
|
-
add_rdoc_task(
|
41
|
-
:name_parts => [version],
|
42
|
-
:src_path => rails,
|
43
|
-
:doc_path => rails,
|
44
|
-
:pathes => pathes.resolve
|
45
|
-
)
|
46
46
|
end
|
47
47
|
end
|
48
|
+
paths.resolve
|
49
|
+
end
|
50
|
+
Base.add_task(
|
51
|
+
:src_path => path,
|
52
|
+
:doc_path => "rails-#{version}",
|
53
|
+
:paths => paths.to_a,
|
54
|
+
:title => "rails-#{version}"
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
module ClassMethods
|
59
|
+
def versions
|
60
|
+
[].tap do |versions|
|
61
|
+
Gem.source_index.search(Gem::Dependency.new('rails', :all)).each do |spec|
|
62
|
+
versions << spec.version
|
63
|
+
end
|
64
|
+
end.sort.map(&:to_s)
|
48
65
|
end
|
49
66
|
end
|
67
|
+
extend ClassMethods
|
50
68
|
end
|
51
69
|
end
|
data/lib/sdoc_all/ruby.rb
CHANGED
@@ -2,58 +2,107 @@ require 'net/ftp'
|
|
2
2
|
|
3
3
|
class SdocAll
|
4
4
|
class Ruby < Base
|
5
|
-
def
|
6
|
-
|
5
|
+
def initialize(config)
|
6
|
+
config ||= {}
|
7
|
+
config = {:version => config} unless config.is_a?(Hash)
|
8
|
+
|
9
|
+
@config = {
|
10
|
+
:update => config.delete(:update) != false,
|
11
|
+
:version => config.delete(:version),
|
12
|
+
}
|
13
|
+
|
14
|
+
version = @config[:version]
|
15
|
+
unless version.present?
|
16
|
+
raise ConfigError.new("specify version of ruby (place archive to 'sources' directory or it will be download from ftp://ftp.ruby-lang.org/)")
|
17
|
+
end
|
18
|
+
self.class.find_or_download_matching_archive(version)
|
19
|
+
|
20
|
+
raise_unknown_options_if_not_blank!(config)
|
7
21
|
end
|
8
22
|
|
9
|
-
def
|
10
|
-
|
23
|
+
def add_tasks(options = {})
|
24
|
+
archive = self.class.find_or_download_matching_archive(config[:version], :update => config[:update] && options[:update])
|
25
|
+
version = archive.full_version
|
26
|
+
path = sources_path + version
|
27
|
+
|
28
|
+
unless path.directory?
|
29
|
+
Base.remove_if_present(sources_path)
|
30
|
+
case archive.extension
|
31
|
+
when 'tar.bz2'
|
32
|
+
Base.system('tar', '-xjf', archive.path, '-C', sources_path)
|
33
|
+
when 'tar.gz'
|
34
|
+
Base.system('tar', '-xzf', archive.path, '-C', sources_path)
|
35
|
+
when 'zip'
|
36
|
+
Base.system('unzip', '-q', archive.path, '-d', sources_path)
|
37
|
+
end
|
38
|
+
File.rename(sources_path + "ruby-#{version}", path)
|
39
|
+
end
|
40
|
+
|
41
|
+
Base.add_task(
|
42
|
+
:src_path => path,
|
43
|
+
:doc_path => "ruby-#{version}",
|
44
|
+
:title => "ruby-#{version}"
|
45
|
+
)
|
11
46
|
end
|
12
47
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
ftp.getbinaryfile(remote_path + tar_path + tar)
|
48
|
+
private
|
49
|
+
|
50
|
+
ArchiveInfo = Struct.new(:path, :name, :full_version, :extension, :version)
|
51
|
+
module ClassMethods
|
52
|
+
def match_ruby_archive(path)
|
53
|
+
name = File.basename(path)
|
54
|
+
if match = /^ruby-((\d+\.\d+\.\d+)-p(\d+))(?:\.(tar\.(?:gz|bz2)|zip))$/.match(name)
|
55
|
+
ArchiveInfo.new.tap do |i|
|
56
|
+
i.path = path
|
57
|
+
i.name = name
|
58
|
+
i.full_version = match[1]
|
59
|
+
i.extension = match[4]
|
60
|
+
i.version = match[2].split('.').map(&:to_i) << match[3].to_i
|
27
61
|
end
|
28
62
|
end
|
29
63
|
end
|
30
|
-
to_clear.each do |tar|
|
31
|
-
remove_if_present(tar)
|
32
|
-
end
|
33
64
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
unless File.directory?(ruby)
|
40
|
-
system('tar', '-xjf', tar)
|
65
|
+
def last_matching_ruby_archive(version, paths)
|
66
|
+
paths.map do |path|
|
67
|
+
match_ruby_archive(path)
|
68
|
+
end.compact.sort_by(&:version).reverse.find do |tar_info|
|
69
|
+
tar_info.full_version.starts_with?(version)
|
41
70
|
end
|
42
71
|
end
|
43
|
-
|
44
|
-
|
72
|
+
|
73
|
+
def find_matching_archive(version)
|
74
|
+
paths = sources_path.parent.children.select(&:file?)
|
75
|
+
last_matching_ruby_archive(version, paths)
|
45
76
|
end
|
46
|
-
end
|
47
77
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
78
|
+
def download_matching_archive(version)
|
79
|
+
Net::FTP.open('ftp.ruby-lang.org') do |ftp|
|
80
|
+
remote_path = '/pub/ruby'
|
81
|
+
ftp.debug_mode = true
|
82
|
+
ftp.passive = true
|
83
|
+
ftp.login
|
84
|
+
ftp.chdir(remote_path)
|
85
|
+
paths = ftp.list('ruby-*.tar.bz2').map{ |line| "#{remote_path}/#{line.split.last}" }
|
86
|
+
|
87
|
+
if tar = last_matching_ruby_archive(version, paths)
|
88
|
+
dest = sources_path.parent + tar.name
|
89
|
+
unless File.exist?(dest) && File.size(dest) == ftp.size(tar.path)
|
90
|
+
ftp.getbinaryfile(tar.path, dest)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def find_or_download_matching_archive(version, options = {})
|
97
|
+
if options[:update] || (archive = find_matching_archive(version)).nil?
|
98
|
+
download_matching_archive(version)
|
99
|
+
if (archive = find_matching_archive(version)).nil?
|
100
|
+
raise ConfigError.new("could not find version of ruby matching #{version.inspect}")
|
101
|
+
end
|
102
|
+
end
|
103
|
+
archive
|
56
104
|
end
|
57
105
|
end
|
106
|
+
extend ClassMethods
|
58
107
|
end
|
59
108
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class SdocAll
|
2
|
+
class Task
|
3
|
+
attr_reader :src_path, :doc_path, :paths, :main, :title
|
4
|
+
def initialize(options = {})
|
5
|
+
@src_path = Pathname.new(options[:src_path]).expand_path
|
6
|
+
@doc_path = options[:doc_path]
|
7
|
+
@paths = options[:paths]
|
8
|
+
@main = options[:main]
|
9
|
+
@title = options[:title]
|
10
|
+
end
|
11
|
+
|
12
|
+
def run(options = {})
|
13
|
+
cmd = %w(sdoc)
|
14
|
+
cmd << '-o' << Base.docs_path + doc_path
|
15
|
+
cmd << '-t' << title
|
16
|
+
cmd << '-T' << 'direct'
|
17
|
+
|
18
|
+
if src_path.directory?
|
19
|
+
Dir.chdir(src_path) do
|
20
|
+
cmd << '-m' << main if main
|
21
|
+
Base.system(*cmd + paths)
|
22
|
+
end
|
23
|
+
else
|
24
|
+
Base.system(*cmd + [src_path])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/sdoc_all.rb
CHANGED
@@ -11,77 +11,173 @@ require 'progress'
|
|
11
11
|
__DIR__ = File.dirname(__FILE__)
|
12
12
|
$:.unshift(__DIR__) unless $:.include?(__DIR__) || $:.include?(File.expand_path(__DIR__))
|
13
13
|
|
14
|
-
class
|
15
|
-
def
|
16
|
-
|
14
|
+
class Array
|
15
|
+
def sort_by!(&block)
|
16
|
+
replace(sort_by(&block))
|
17
|
+
end
|
18
|
+
end
|
17
19
|
|
18
|
-
|
20
|
+
class SdocAll
|
21
|
+
module ClassMethods
|
22
|
+
def update?
|
23
|
+
@update.nil? || @update
|
24
|
+
end
|
19
25
|
|
20
|
-
|
26
|
+
def last_build_sdoc_version_path
|
27
|
+
Base.base_path + 'sdoc.version'
|
28
|
+
end
|
21
29
|
|
22
|
-
|
23
|
-
|
24
|
-
selected_tasks << tasks.find_or_last_rails(options[:rails])
|
25
|
-
tasks.gems.group_by{ |task| task.name_parts[0] }.sort_by{ |name, versions| name.downcase }.each do |name, versions|
|
26
|
-
selected_tasks << versions.sort_by{ |version| version.name_parts[1] }.last
|
30
|
+
def last_build_sdoc_version
|
31
|
+
last_build_sdoc_version_path.read rescue nil
|
27
32
|
end
|
28
|
-
|
29
|
-
|
33
|
+
|
34
|
+
def current_sdoc_version
|
35
|
+
Gem.searcher.find('sdoc').version.to_s
|
30
36
|
end
|
31
37
|
|
32
|
-
|
33
|
-
|
34
|
-
|
38
|
+
def store_current_sdoc_version
|
39
|
+
last_build_sdoc_version_path.open('w') do |f|
|
40
|
+
f.write(current_sdoc_version)
|
35
41
|
end
|
36
42
|
end
|
37
43
|
|
38
|
-
|
39
|
-
|
40
|
-
|
44
|
+
def run(options = {})
|
45
|
+
begin
|
46
|
+
read_config
|
47
|
+
tasks = Base.tasks(:update => update? || options[:update])
|
48
|
+
|
49
|
+
if last_build_sdoc_version.nil? || last_build_sdoc_version != current_sdoc_version
|
50
|
+
Base.remove_if_present(Base.docs_path)
|
51
|
+
else
|
52
|
+
Dir.chdir(Base.docs_path) do
|
53
|
+
to_delete = Dir.glob('*')
|
54
|
+
tasks.each do |task|
|
55
|
+
to_delete.delete(task.doc_path)
|
56
|
+
end
|
57
|
+
to_delete.each do |path|
|
58
|
+
Base.remove_if_present(path)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
tasks.each do |task|
|
63
|
+
doc_path = Base.docs_path + task.doc_path
|
64
|
+
src_path = task.src_path
|
65
|
+
if doc_path.exist?
|
66
|
+
latest = [src_path.mtime, src_path.ctime].max
|
67
|
+
|
68
|
+
created = Time.parse(File.read(doc_path + 'created.rid')) rescue nil
|
69
|
+
if created && latest < created
|
70
|
+
src_path.find do |path|
|
71
|
+
Find.prune if path.directory? && path.basename.to_s[0] == ?.
|
72
|
+
latest = [latest, src_path.mtime, src_path.ctime].max
|
73
|
+
break unless latest < created
|
74
|
+
end
|
75
|
+
end
|
76
|
+
if created.nil? || latest >= created
|
77
|
+
Base.remove_if_present(doc_path)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
merge = false
|
84
|
+
tasks.each_with_progress('docs') do |task|
|
85
|
+
unless (Base.docs_path + task.doc_path).directory?
|
86
|
+
puts
|
87
|
+
merge = true
|
88
|
+
task.run(options)
|
89
|
+
end
|
90
|
+
end
|
41
91
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
92
|
+
if merge || !Base.public_path.exist?
|
93
|
+
Dir.chdir(Base.docs_path) do
|
94
|
+
paths = []
|
95
|
+
titles = []
|
96
|
+
urls = []
|
97
|
+
tasks.each do |task|
|
98
|
+
doc_path = Base.docs_path + task.doc_path
|
99
|
+
if File.file?(doc_path + 'index.html')
|
100
|
+
paths << task.doc_path
|
101
|
+
titles << task.title
|
102
|
+
urls << "/docs/#{task.doc_path}"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
if paths.present?
|
107
|
+
Base.remove_if_present(Base.public_path)
|
108
|
+
|
109
|
+
cmd = %w(sdoc-merge)
|
110
|
+
cmd << '-o' << Base.public_path
|
111
|
+
cmd << '-t' << 'all'
|
112
|
+
cmd << '-n' << titles.join(',')
|
113
|
+
cmd << '-u' << urls.join(' ')
|
114
|
+
Base.system(*cmd + paths)
|
115
|
+
|
116
|
+
File.symlink(Base.docs_path, Base.public_path + 'docs')
|
117
|
+
end
|
118
|
+
end
|
54
119
|
end
|
120
|
+
store_current_sdoc_version
|
121
|
+
rescue ConfigError => e
|
122
|
+
STDERR.puts e.to_s
|
55
123
|
end
|
124
|
+
end
|
56
125
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
126
|
+
def read_config
|
127
|
+
Base.clear
|
128
|
+
config = YAML.load_file('config.yml').symbolize_keys rescue {}
|
129
|
+
|
130
|
+
min_update_interval = if config[:min_update_interval].to_s[/(\d+)\s*(.*)/]
|
131
|
+
value = $1.to_i
|
132
|
+
case $2
|
133
|
+
when /^d/
|
134
|
+
value.days
|
135
|
+
when /^h/
|
136
|
+
value.hours
|
137
|
+
when /^m/
|
138
|
+
value.minutes
|
139
|
+
else
|
140
|
+
value.seconds
|
141
|
+
end
|
142
|
+
else
|
143
|
+
1.hour
|
144
|
+
end
|
63
145
|
|
64
|
-
|
146
|
+
created = last_build_sdoc_version_path.mtime rescue nil
|
147
|
+
@update = created.nil? || created < min_update_interval.ago
|
148
|
+
|
149
|
+
if config[:sdoc] && config[:sdoc].is_a?(Array) && config[:sdoc].length > 0
|
150
|
+
errors = []
|
151
|
+
config[:sdoc].each do |entry|
|
152
|
+
begin
|
153
|
+
if entry.is_a?(Hash)
|
154
|
+
if entry.length == 1
|
155
|
+
Base.to_document(*entry.shift)
|
156
|
+
else
|
157
|
+
raise ConfigError.new("config entry #{entry.inspect} can not be understood - watch ident")
|
158
|
+
end
|
159
|
+
else
|
160
|
+
Base.to_document(entry, {})
|
161
|
+
end
|
162
|
+
rescue ConfigError => e
|
163
|
+
errors << e
|
164
|
+
end
|
165
|
+
end
|
166
|
+
if errors.present?
|
167
|
+
raise ConfigError.new(errors)
|
168
|
+
end
|
169
|
+
else
|
170
|
+
raise ConfigError.new("config did not specify what to document")
|
171
|
+
end
|
65
172
|
end
|
66
173
|
end
|
174
|
+
extend ClassMethods
|
175
|
+
end
|
67
176
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
options[:base_path] = Pathname.new(Dir.pwd).freeze
|
72
|
-
options[:public_path] = Pathname.new(options[:base_path] + 'public').freeze
|
73
|
-
options[:docs_path] = Pathname.new(options[:base_path] + 'docs').freeze
|
74
|
-
options[:sources_path] = Pathname.new(options[:base_path] + 'sources').freeze
|
177
|
+
require 'sdoc_all/base.rb'
|
178
|
+
require 'sdoc_all/task.rb'
|
179
|
+
require 'sdoc_all/config_error.rb'
|
75
180
|
|
76
|
-
|
77
|
-
|
78
|
-
end
|
181
|
+
Dir.entries("#{__DIR__}/sdoc_all").grep(/\.rb$/).each do |file|
|
182
|
+
require "sdoc_all/#{file}"
|
79
183
|
end
|
80
|
-
|
81
|
-
require 'sdoc_all/base'
|
82
|
-
require 'sdoc_all/ruby'
|
83
|
-
require 'sdoc_all/gems'
|
84
|
-
require 'sdoc_all/rails'
|
85
|
-
require 'sdoc_all/plugins'
|
86
|
-
require 'sdoc_all/rdoc_task'
|
87
|
-
require 'sdoc_all/rdoc_tasks'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'sdoc_all'
|
2
|
+
|
3
|
+
task :default => :run
|
4
|
+
|
5
|
+
desc "Build/update documentation"
|
6
|
+
task :run do
|
7
|
+
SdocAll.run
|
8
|
+
end
|
9
|
+
|
10
|
+
namespace :run do
|
11
|
+
desc "Force update sources, before building/updating"
|
12
|
+
task :force do
|
13
|
+
SdocAll.run(:update => true)
|
14
|
+
end
|
15
|
+
end
|
data/sdoc_all.gemspec
CHANGED
@@ -2,44 +2,41 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{sdoc_all}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.2.0.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["toy"]
|
9
|
-
s.date = %q{2009-04-
|
9
|
+
s.date = %q{2009-04-27}
|
10
10
|
s.default_executable = %q{sdoc-all}
|
11
11
|
s.description = %q{Command line tool to get documentation for ruby, rails, gems and plugins in one place}
|
12
|
-
s.email = %q{}
|
12
|
+
s.email = %q{ivan@workisfun.ru}
|
13
13
|
s.executables = ["sdoc-all"]
|
14
|
-
s.extra_rdoc_files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/
|
15
|
-
s.files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/
|
14
|
+
s.extra_rdoc_files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/config_error.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/config.yml", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/paths.rb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all/task.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all_rake.rb", "LICENSE", "README.rdoc"]
|
15
|
+
s.files = ["bin/sdoc-all", "lib/sdoc_all/base.rb", "lib/sdoc_all/config_error.rb", "lib/sdoc_all/gems.rb", "lib/sdoc_all/generator/sdoc_all/sdoc_all_generator.rb", "lib/sdoc_all/generator/sdoc_all/templates/config.yml", "lib/sdoc_all/generator/sdoc_all/templates/Rakefile", "lib/sdoc_all/paths.rb", "lib/sdoc_all/plugins.rb", "lib/sdoc_all/rails.rb", "lib/sdoc_all/ruby.rb", "lib/sdoc_all/task.rb", "lib/sdoc_all.rb", "lib/tasks/sdoc_all_rake.rb", "LICENSE", "Manifest", "Rakefile", "README.rdoc", "spec/sdoc_all/gems_spec.rb", "spec/sdoc_all/paths_spec.rb", "spec/sdoc_all/plugins_spec.rb", "spec/sdoc_all/rails_spec.rb", "spec/sdoc_all/ruby_spec.rb", "spec/sdoc_all_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "VERSION.yml", "sdoc_all.gemspec"]
|
16
16
|
s.has_rdoc = true
|
17
17
|
s.homepage = %q{http://github.com/toy/sdoc_all}
|
18
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sdoc_all", "--main", "README.rdoc"]
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
s.rubyforge_project = %q{toytoy}
|
21
21
|
s.rubygems_version = %q{1.3.2}
|
22
|
-
s.summary = %q{
|
22
|
+
s.summary = %q{documentation for everything}
|
23
23
|
|
24
24
|
if s.respond_to? :specification_version then
|
25
25
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
26
26
|
s.specification_version = 3
|
27
27
|
|
28
28
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
29
|
-
s.add_runtime_dependency(%q<sdoc>, [">= 0"])
|
30
29
|
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
31
30
|
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
32
|
-
s.add_runtime_dependency(%q<progress>, [">= 0"])
|
31
|
+
s.add_runtime_dependency(%q<progress>, [">= 0", "= 0.0.8"])
|
33
32
|
else
|
34
|
-
s.add_dependency(%q<sdoc>, [">= 0"])
|
35
33
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
36
34
|
s.add_dependency(%q<rake>, [">= 0"])
|
37
|
-
s.add_dependency(%q<progress>, [">= 0"])
|
35
|
+
s.add_dependency(%q<progress>, [">= 0", "= 0.0.8"])
|
38
36
|
end
|
39
37
|
else
|
40
|
-
s.add_dependency(%q<sdoc>, [">= 0"])
|
41
38
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
42
39
|
s.add_dependency(%q<rake>, [">= 0"])
|
43
|
-
s.add_dependency(%q<progress>, [">= 0"])
|
40
|
+
s.add_dependency(%q<progress>, [">= 0", "= 0.0.8"])
|
44
41
|
end
|
45
42
|
end
|