fuburake 0.9.0.26 → 0.9.5.29
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.
- checksums.yaml +8 -8
- data/lib/fubudocs.rb +143 -4
- data/lib/fuburake.rb +27 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTMzZGE3MTBlNDg2YTNhZDliZWRiYzJjYWUzZWNlNTA5MmZhYzNmNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjY0ZDE1MzdmYzU0ODkzZTAzYWY1OTExMjNjOTQzZWVhNWZmYzZkYw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDRjYTU3Y2ExNjY5YzU1MjIyMWQ2YjM0MjhkYjQ5ZjU0YjQzNTE4NjQxNjk2
|
10
|
+
MjJjNDA1MjU3MjQzZjU5YWU1NDYwZDUzMTY4MjIyODhjNzIzZTBkOWY1YTFh
|
11
|
+
YzgzNWRjMzQ5ZjZmNDNkYzNmMjU2MGZlZjhmMjA3N2RhYTZkMjc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzZiYzE4ZmE2NDYzZjQzZThlN2M2ODljOTdkZmUzYzZkYTBmMWIzZmNiMTkx
|
14
|
+
M2E0ZDkwYTdmMmQzYjViOGVkNWNkNjZhNjRmYTY4MGQ5MDk3NDE4ZGE2YjRm
|
15
|
+
ZDg3NzJiODFjYzI3ZmU5YzIxM2MyZTcyNWNhM2EzYjNkYzhjYTM=
|
data/lib/fubudocs.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
namespace :docs do
|
2
|
-
desc "
|
2
|
+
desc "Runs a documentation project hosted in FubuWorld"
|
3
3
|
task :run do
|
4
4
|
sh "fubudocs run -o"
|
5
5
|
end
|
6
6
|
|
7
|
-
desc "
|
7
|
+
desc "Runs the documentation projects in this solution in a 'watched' mode in Firefox"
|
8
8
|
task :run_firefox do
|
9
9
|
sh "fubudocs run --watched --browser Firefox"
|
10
10
|
end
|
11
11
|
|
12
|
-
desc "
|
12
|
+
desc "Runs the documentation projects in this solution in a 'watched' mode in Firefox"
|
13
13
|
task :run_chrome do
|
14
14
|
sh "fubudocs run --watched --browser Chrome"
|
15
15
|
end
|
@@ -23,4 +23,143 @@ namespace :docs do
|
|
23
23
|
task :snippets do
|
24
24
|
sh "fubudocs snippets"
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
class FubuDocs
|
31
|
+
attr_accessor :prefix, :branch, :export_dir
|
32
|
+
|
33
|
+
def initialize(options)
|
34
|
+
# :host, :include, :nested, :dump
|
35
|
+
@branch = options.fetch(:branch, 'gh-pages')
|
36
|
+
@repository = options[:repository]
|
37
|
+
@prefix = options.fetch(:prefix, 'docs')
|
38
|
+
@export_dir = options.fetch(:dir, 'fubudocs-export')
|
39
|
+
@options = options
|
40
|
+
end
|
41
|
+
|
42
|
+
def export
|
43
|
+
cmd = "fubudocs export #{@export_dir}"
|
44
|
+
if (@options[:host] != nil)
|
45
|
+
cmd += " --host #{@options[:host]}"
|
46
|
+
end
|
47
|
+
|
48
|
+
if (@options[:include] != nil)
|
49
|
+
cmd += " -i #{@options[:include]}"
|
50
|
+
end
|
51
|
+
|
52
|
+
if (@options[:nested] == true)
|
53
|
+
cmd += " -m GhPagesChildFolder"
|
54
|
+
elsif (@options[:dump] == true)
|
55
|
+
cmd += " -m HtmlDump"
|
56
|
+
else
|
57
|
+
cmd += ' -m GhPagesRooted'
|
58
|
+
end
|
59
|
+
|
60
|
+
sh cmd
|
61
|
+
end
|
62
|
+
|
63
|
+
def clean
|
64
|
+
cleanDirectory @export_dir
|
65
|
+
Dir.delete @export_dir
|
66
|
+
end
|
67
|
+
|
68
|
+
def create_branch
|
69
|
+
sh "ripple gitignore #{@export_dir}"
|
70
|
+
|
71
|
+
sh "git clone #{@repository} #{@export_dir}"
|
72
|
+
|
73
|
+
Dir.chdir @export_dir
|
74
|
+
|
75
|
+
sh "git checkout --orphan #{@branch}"
|
76
|
+
sh "git rm -rf ."
|
77
|
+
|
78
|
+
writeNoJekyll
|
79
|
+
|
80
|
+
sh "git add ."
|
81
|
+
sh 'git commit -a -m "initial clean slate"'
|
82
|
+
sh 'git push origin #{@branch}'
|
83
|
+
|
84
|
+
Dir.chdir '..'
|
85
|
+
end
|
86
|
+
|
87
|
+
def writeNoJekyll
|
88
|
+
output = File.new( ".nojekyll", "w+" )
|
89
|
+
output << "Just a marker"
|
90
|
+
output.close
|
91
|
+
end
|
92
|
+
|
93
|
+
def fetch_existing
|
94
|
+
Dir.mkdir @export_dir
|
95
|
+
|
96
|
+
# fetch the gh-pages branch from the server
|
97
|
+
Dir.chdir @export_dir
|
98
|
+
sh 'git init'
|
99
|
+
sh "git remote add -t #{@branch} -f origin #{@repository}"
|
100
|
+
sh "git checkout #{@branch}"
|
101
|
+
|
102
|
+
# clean the existing content
|
103
|
+
sleep 0.5 # let the file system try to relax its locks
|
104
|
+
content_files = FileList['*.*'].exclude('.nojekyll').exclude('CNAME')
|
105
|
+
content_files.each do |f|
|
106
|
+
FileUtils.rm_r f
|
107
|
+
end
|
108
|
+
|
109
|
+
# do the actual export
|
110
|
+
Dir.chdir '..'
|
111
|
+
end
|
112
|
+
|
113
|
+
def commit_new
|
114
|
+
# commit and push the generated docs
|
115
|
+
Dir.chdir @export_dir
|
116
|
+
|
117
|
+
if !File.exists?('.nojekyll')
|
118
|
+
writeNoJekyll
|
119
|
+
end
|
120
|
+
|
121
|
+
sh "git add ."
|
122
|
+
sh 'git commit -a -m "Doc generation version ' + @options[:version] + '"' do |ok, res|
|
123
|
+
if ok
|
124
|
+
sh "git push origin #{@branch}"
|
125
|
+
puts "Documentation generation and push to #{@repository}/#{@branch} is successful"
|
126
|
+
else
|
127
|
+
puts "commit failed, might be because there are no differences in the content"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
Dir.chdir '..'
|
132
|
+
end
|
133
|
+
|
134
|
+
def export_tasks
|
135
|
+
initTask = Rake::Task.define_task "#{@prefix}:init_branch" do
|
136
|
+
clean
|
137
|
+
create_branch
|
138
|
+
end
|
139
|
+
|
140
|
+
initTask.add_description "Initializes the #{@branch} branch in git repository #{@repository}"
|
141
|
+
|
142
|
+
exportTaskName = "#{@prefix}:export"
|
143
|
+
exportTask = Rake::Task.define_task exportTaskName do
|
144
|
+
clean
|
145
|
+
fetch_existing
|
146
|
+
export
|
147
|
+
commit_new
|
148
|
+
end
|
149
|
+
exportTask.add_description "Export the generated documentation to #{@repository}/#{@branch}"
|
150
|
+
#exportTask.enhance [:compile]
|
151
|
+
|
152
|
+
|
153
|
+
return exportTaskName
|
154
|
+
end
|
155
|
+
|
156
|
+
def dump_task
|
157
|
+
dumpTask = Rake::Task.define_task "#{@prefix}:dump" do
|
158
|
+
clean
|
159
|
+
@options[:dump] = true
|
160
|
+
export
|
161
|
+
end
|
162
|
+
dumpTask.add_description "Export the generated documentation to #{@export_dir} for local usage"
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
data/lib/fuburake.rb
CHANGED
@@ -25,7 +25,8 @@ module FubuRake
|
|
25
25
|
:integration_test,
|
26
26
|
:compilations,
|
27
27
|
:bottles,
|
28
|
-
:bottles_enabled
|
28
|
+
:bottles_enabled,
|
29
|
+
:doc_exports
|
29
30
|
|
30
31
|
def initialize
|
31
32
|
@options = {}
|
@@ -51,6 +52,12 @@ module FubuRake
|
|
51
52
|
|
52
53
|
@bottles << FubuRake::AssemblyBottle.new(project)
|
53
54
|
end
|
55
|
+
|
56
|
+
def export_docs(options)
|
57
|
+
@doc_exports ||= []
|
58
|
+
|
59
|
+
@doc_exports << options
|
60
|
+
end
|
54
61
|
end
|
55
62
|
|
56
63
|
class Solution
|
@@ -92,6 +99,7 @@ module FubuRake
|
|
92
99
|
tasks.defaults ||= []
|
93
100
|
tasks.ci_steps ||= []
|
94
101
|
tasks.precompile ||= []
|
102
|
+
tasks.doc_exports ||= []
|
95
103
|
|
96
104
|
|
97
105
|
enable_docs tasks
|
@@ -138,6 +146,18 @@ module FubuRake
|
|
138
146
|
c.create @options
|
139
147
|
end
|
140
148
|
end
|
149
|
+
|
150
|
+
tasks.doc_exports.each do |opts|
|
151
|
+
opts[:version] = @build_number
|
152
|
+
|
153
|
+
docs = FubuDocs.new(opts)
|
154
|
+
|
155
|
+
doc_task_name = docs.export_tasks
|
156
|
+
if opts[:include_in_ci]
|
157
|
+
add_dependency :ci, doc_task_name
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
141
161
|
end
|
142
162
|
|
143
163
|
def add_dependency(from, to)
|
@@ -193,6 +213,12 @@ module FubuRake
|
|
193
213
|
|
194
214
|
end
|
195
215
|
end
|
216
|
+
|
217
|
+
def dump_html(options)
|
218
|
+
options[:version] = @build_number
|
219
|
+
docs = FubuDocs.new(options)
|
220
|
+
docs.dump_task
|
221
|
+
end
|
196
222
|
end
|
197
223
|
|
198
224
|
class MvcApp
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fuburake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy D. Miller
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-09-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ripple-cli
|