flak 0.0.1 → 0.0.2
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.
- data/README.textile +59 -0
- data/flak.gemspec +2 -2
- data/lib/flak.rb +16 -341
- data/lib/flak/rake/base.rb +312 -0
- data/lib/flak/{cpp.rb → rake/cpp.rb} +6 -4
- data/lib/flak/{delight.rb → rake/delight.rb} +3 -3
- data/lib/flak/rake/doc.rb +64 -0
- data/lib/flak/{gl.rb → rake/gl.rb} +1 -1
- data/lib/flak/{mac.rb → rake/mac.rb} +1 -1
- data/lib/flak/{max.rb → rake/max.rb} +1 -1
- data/lib/flak/{maya.rb → rake/maya.rb} +7 -7
- data/lib/flak/{maya_app.rb → rake/maya_app.rb} +1 -1
- data/lib/flak/{maya_plugin.rb → rake/maya_plugin.rb} +1 -1
- data/lib/flak/{nuke.rb → rake/nuke.rb} +1 -1
- data/lib/flak/{target.rb → rake/target.rb} +9 -19
- data/lib/flak/thor/generate.rb +108 -184
- data/lib/flak/thor/target_file.rb +62 -0
- data/lib/flak/thor/templates/INSTALL.tt +15 -13
- data/lib/flak/thor/templates/doc.tt +0 -0
- data/lib/flak/thor/templates/doc/Rules +77 -0
- data/lib/flak/thor/templates/doc/config.yaml +77 -0
- data/lib/flak/thor/templates/doc/content/assets/css/include.scss +14 -0
- data/lib/flak/thor/templates/doc/content/assets/css/page.scss +314 -0
- data/lib/flak/thor/templates/doc/content/assets/images/.empty_directory +1 -0
- data/lib/flak/thor/templates/doc/content/assets/images/screenshot.jpg +0 -0
- data/lib/flak/thor/templates/doc/content/assets/movies/.empty_directory +1 -0
- data/lib/flak/thor/templates/doc/content/assets/movies/sampleMovie.webm +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/array.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/connectable.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/create.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/edit.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/hidden.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/input.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/keyable.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/logo.jpg +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/maya.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/miro_logo_bw.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/multiuse.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/nanoc.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/nuke.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/output.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/prman.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/python.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/query.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/storable.gif +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/vfxoverflow_ribbon.png +0 -0
- data/lib/flak/thor/templates/doc/content/assets/site_images/vray.png +0 -0
- data/lib/flak/thor/templates/doc/content/index.txt.tt +31 -0
- data/lib/flak/thor/templates/doc/content/install_guide.txt.tt +64 -0
- data/lib/flak/thor/templates/doc/content/release_notes.txt.tt +44 -0
- data/lib/flak/thor/templates/doc/content/scenes/.empty_directory +1 -0
- data/lib/flak/thor/templates/doc/content/tutorial.txt.tt +81 -0
- data/lib/flak/thor/templates/doc/layouts/default.html +52 -0
- data/lib/flak/thor/templates/doc/lib/helpers.rb +147 -0
- data/lib/flak/thor/templates/env.tt +29 -1
- data/lib/flak/thor/templates/gitignore.tt +3 -0
- data/lib/flak/thor/templates/init.mel.tt +22 -0
- data/lib/flak/thor/templates/product.mel.tt +15 -10
- data/lib/flak/thor/wizard.rb +47 -0
- data/lib/flak/version.rb +1 -1
- metadata +120 -63
- data/lib/flak/doc.rb +0 -259
@@ -1,15 +1,43 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
# You can have any number of configurations with names you choose.
|
4
|
+
# Set the name here and then set up configuration specific blocks in
|
5
|
+
# any yaml config files.
|
1
6
|
configuration: "debug"
|
2
7
|
|
8
|
+
# The name of your product of course.
|
3
9
|
product_name: "<%= name %>"
|
4
10
|
|
11
|
+
# The revision number for your product. You can set it to any string
|
12
|
+
# but it is recommended to include the name of the product so it can
|
13
|
+
# be recognized when it is deployed.
|
5
14
|
product_revision: "<%= name %>-0.0.1"
|
6
15
|
|
7
|
-
|
16
|
+
# set to true if you dont want the os name appended to the release directory.
|
17
|
+
# For example, if the module contains only cross platform scripts, there is
|
18
|
+
# no need to build for every platform. In that case, set agnostic to true.
|
19
|
+
agnostic: false
|
8
20
|
|
21
|
+
# Your full name is used for documentation and also to set plugin vendor
|
22
|
+
# information. This is done by adding these fields as compiler options
|
23
|
+
# which are then picked up in the plugin code. In the case of a maya plugin
|
24
|
+
# this happens in the initialize_plugin function.
|
9
25
|
author_name: "<%= ENV['USER'] %>"
|
10
26
|
|
27
|
+
# Your email address is used for documentation.
|
11
28
|
author_email: "<%= ENV['USER'] %>@example.com"
|
12
29
|
|
30
|
+
# Set the root of the release location here. Notice how specific locations
|
31
|
+
# are set for different platforms and named configurations.
|
32
|
+
# This mechanism can be used to give os-specific and/or
|
33
|
+
# configuration-specific values to nearly any setting key. See the compiler
|
34
|
+
# options in the cpp.yml file for example.
|
35
|
+
# The exceptions are of course those keys themselves - i.e.
|
36
|
+
# :configuration and :os, which means you can't set the configuration based
|
37
|
+
# on the OS. For a full list of keys,
|
38
|
+
# type in a shell at the project root:
|
39
|
+
# rake -T | grep inspect
|
40
|
+
# and run one of the rake commands for a tool
|
13
41
|
os_darwin:
|
14
42
|
target_release_path: "/Users/<%= ENV['USER'] %>/tools"
|
15
43
|
os_linux_64:
|
@@ -0,0 +1,22 @@
|
|
1
|
+
global proc <%= name %>.init(string $moduleName) {
|
2
|
+
|
3
|
+
string $moduleMenu = module.menuName( $moduleName );
|
4
|
+
|
5
|
+
setParent -m $moduleMenu;
|
6
|
+
|
7
|
+
// make some menu items under the <%= name %> menu
|
8
|
+
menuItem -l "Create a menu item" -c "command" ;
|
9
|
+
menuItem -l "Create another menu item" -c "command" ;
|
10
|
+
|
11
|
+
// make some menu items under the menu: <%= name %>->Foo->Bar
|
12
|
+
module.subMenu($moduleMenu, "Foo|Bar");
|
13
|
+
|
14
|
+
menuItem -l "Create a deep menu item" -c "command" ;
|
15
|
+
menuItem -l "Create another deep menu item" -c "command" ;
|
16
|
+
|
17
|
+
|
18
|
+
setParent -m $moduleMenu;
|
19
|
+
|
20
|
+
|
21
|
+
}
|
22
|
+
|
@@ -1,13 +1,21 @@
|
|
1
|
-
global proc <%=
|
1
|
+
global proc <%= name %>(string $parentUI) {
|
2
2
|
|
3
3
|
|
4
|
-
// To build the <%=
|
5
|
-
//
|
6
|
-
//
|
4
|
+
// To build the <%= name %> menu automatically
|
5
|
+
// when Maya starts, you will need to add the following line to userSetup.mel
|
6
|
+
// <%= name %>(<parent>);
|
7
|
+
// where <parent> is the name of the UI under which to parent the <%= name %> menu.
|
8
|
+
// valid options for <parent> are:
|
9
|
+
// The global variable $gMainWindow to place the <%= name %> menu in the main menubar
|
10
|
+
// A string such as "RmwTools" to place the <%= name %> menu in a menu called "RmwTools"
|
11
|
+
// An empty string "" to ignore menu creation altogether
|
7
12
|
|
8
|
-
// This script relies on the jlib
|
13
|
+
// This script relies on the jlib module to initialize <%= name %> as a module
|
9
14
|
source "jlib_module";
|
10
15
|
|
16
|
+
|
17
|
+
|
18
|
+
|
11
19
|
// global proc module.initialize(
|
12
20
|
// string $initializer,
|
13
21
|
// string $parentUI,
|
@@ -19,16 +27,13 @@ global proc <%= @settings[:product_name] %>() {
|
|
19
27
|
|
20
28
|
// initializer:string The name of the tool/. e.g. solar
|
21
29
|
// parentUI:string The name of the parent menu.
|
22
|
-
// Use a string such as "RmwTools" to place it in a menu called "RmwTools"
|
23
|
-
// Use an empty string "" to ignore menu creation
|
24
|
-
// Use the global variable $gMainWindow to place the menu in the main menubar
|
25
30
|
// firstPlugins:string[] If any plugins should be loaded before others, put them in this array
|
26
31
|
// melSourceExcludes:string[] If any mel scripts should not be sourced, put them in this array
|
27
32
|
// docLocation:string Documentation index URL, can be a relative or absolute path, or a web URL
|
28
|
-
// If a relative path is used, it will be relative to
|
33
|
+
// If a relative path is used, it will be relative to the <%= name %> directory
|
29
34
|
// devMode:int Adds a menu that allows you to reload plugins
|
30
35
|
|
31
36
|
// global string $gMainWindow;
|
32
37
|
|
33
|
-
module.initialize("<%=
|
38
|
+
module.initialize("<%= name %>", $parentUI ,{},{},"<%%= self.settings[:product_revision] %>-doc/index.html", 0);
|
34
39
|
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Flak
|
2
|
+
module Wizard
|
3
|
+
|
4
|
+
|
5
|
+
# include Thor::Shell::Basic
|
6
|
+
|
7
|
+
def self.project_options
|
8
|
+
asker = Thor::Shell::Basic.new
|
9
|
+
opts = Hash.new
|
10
|
+
asker.say("In order to set up paths, I need to know what will be included in this project")
|
11
|
+
opts[:maya_module] = asker.yes?("Will this project contain a Maya module? (y/n)")
|
12
|
+
opts[:delight] = asker.yes?("Will this project contain 3delight tools? (y/n)")
|
13
|
+
opts[:nuke] = asker.yes?("Will this project contain nuke tools? (y/n)")
|
14
|
+
opts
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
def self.tool_options
|
20
|
+
asker = Thor::Shell::Basic.new
|
21
|
+
opts = Hash.new
|
22
|
+
|
23
|
+
# just determine what the compiled target is, if any:
|
24
|
+
|
25
|
+
opts[:maya_plugin_target] = false
|
26
|
+
opts[:maya_app_target] = false
|
27
|
+
opts[:delight_target] = false
|
28
|
+
opts[:nuke_target] = false
|
29
|
+
opts[:standalone_target] = false
|
30
|
+
|
31
|
+
finished = false
|
32
|
+
|
33
|
+
finished = opts[:maya_plugin_target] = asker.yes?("Is this tool a Maya plugin? (y/n)") unless finished
|
34
|
+
|
35
|
+
finished = opts[:maya_app_target] = asker.yes?("Is this tool a Maya standalone application? (y/n)") unless finished
|
36
|
+
|
37
|
+
finished = opts[:delight_target] = asker.yes?("Will this tool contain 3delight shaders filters or DSOs? (y/n)") unless finished
|
38
|
+
|
39
|
+
finished = opts[:nuke_target] = asker.yes?("Will this tool contain Nuke plugins? (y/n)") unless finished
|
40
|
+
|
41
|
+
finished = opts[:standalone_target] = asker.yes?("Will this tool contain a standalone application? (y/n)") unless finished
|
42
|
+
|
43
|
+
opts
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
data/lib/flak/version.rb
CHANGED
metadata
CHANGED
@@ -1,87 +1,147 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: flak
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
4
5
|
prerelease:
|
5
|
-
version: 0.0.1
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Julian Mann
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-02-27 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: thor
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70319437889160 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
24
22
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: awesome_print
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: *70319437889160
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: awesome_print
|
27
|
+
requirement: &70319437886500 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
35
33
|
type: :runtime
|
36
|
-
|
37
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70319437886500
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: nanoc
|
38
|
+
requirement: &70319437886080 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
39
45
|
prerelease: false
|
40
|
-
|
46
|
+
version_requirements: *70319437886080
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: RedCloth
|
49
|
+
requirement: &70319437885660 !ruby/object:Gem::Requirement
|
41
50
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
46
55
|
type: :runtime
|
47
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70319437885660
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: sass
|
60
|
+
requirement: &70319444337200 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70319444337200
|
48
69
|
description: VFX tool build and documentation framework based on rake with thor generators
|
49
|
-
email:
|
70
|
+
email:
|
50
71
|
- julian.mann@gmail.com
|
51
|
-
executables:
|
72
|
+
executables:
|
52
73
|
- flak
|
53
74
|
extensions: []
|
54
|
-
|
55
75
|
extra_rdoc_files: []
|
56
|
-
|
57
|
-
files:
|
76
|
+
files:
|
58
77
|
- .gitignore
|
59
78
|
- Gemfile
|
79
|
+
- README.textile
|
60
80
|
- Rakefile
|
61
81
|
- bin/flak
|
62
82
|
- flak.gemspec
|
63
83
|
- lib/core_ext/string.rb
|
64
84
|
- lib/flak.rb
|
65
|
-
- lib/flak/
|
66
|
-
- lib/flak/
|
67
|
-
- lib/flak/
|
68
|
-
- lib/flak/
|
69
|
-
- lib/flak/
|
70
|
-
- lib/flak/
|
71
|
-
- lib/flak/
|
72
|
-
- lib/flak/
|
73
|
-
- lib/flak/
|
74
|
-
- lib/flak/
|
75
|
-
- lib/flak/
|
85
|
+
- lib/flak/rake/base.rb
|
86
|
+
- lib/flak/rake/cpp.rb
|
87
|
+
- lib/flak/rake/delight.rb
|
88
|
+
- lib/flak/rake/doc.rb
|
89
|
+
- lib/flak/rake/gl.rb
|
90
|
+
- lib/flak/rake/mac.rb
|
91
|
+
- lib/flak/rake/max.rb
|
92
|
+
- lib/flak/rake/maya.rb
|
93
|
+
- lib/flak/rake/maya_app.rb
|
94
|
+
- lib/flak/rake/maya_plugin.rb
|
95
|
+
- lib/flak/rake/nuke.rb
|
96
|
+
- lib/flak/rake/target.rb
|
76
97
|
- lib/flak/thor/cli.rb
|
77
98
|
- lib/flak/thor/generate.rb
|
78
99
|
- lib/flak/thor/junk/junk.rb
|
100
|
+
- lib/flak/thor/target_file.rb
|
79
101
|
- lib/flak/thor/templates/INSTALL.tt
|
80
102
|
- lib/flak/thor/templates/Rakefile.tt
|
81
103
|
- lib/flak/thor/templates/cpp.tt
|
82
104
|
- lib/flak/thor/templates/delight.tt
|
105
|
+
- lib/flak/thor/templates/doc.tt
|
106
|
+
- lib/flak/thor/templates/doc/Rules
|
107
|
+
- lib/flak/thor/templates/doc/config.yaml
|
108
|
+
- lib/flak/thor/templates/doc/content/assets/css/include.scss
|
109
|
+
- lib/flak/thor/templates/doc/content/assets/css/page.scss
|
110
|
+
- lib/flak/thor/templates/doc/content/assets/images/.empty_directory
|
111
|
+
- lib/flak/thor/templates/doc/content/assets/images/screenshot.jpg
|
112
|
+
- lib/flak/thor/templates/doc/content/assets/movies/.empty_directory
|
113
|
+
- lib/flak/thor/templates/doc/content/assets/movies/sampleMovie.webm
|
114
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/array.gif
|
115
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/connectable.gif
|
116
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/create.gif
|
117
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/edit.gif
|
118
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/hidden.gif
|
119
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/input.gif
|
120
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/keyable.gif
|
121
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/logo.jpg
|
122
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/maya.png
|
123
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/miro_logo_bw.png
|
124
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/multiuse.gif
|
125
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/nanoc.png
|
126
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/nuke.png
|
127
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/output.gif
|
128
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/prman.png
|
129
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/python.png
|
130
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/query.gif
|
131
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/storable.gif
|
132
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/vfxoverflow_ribbon.png
|
133
|
+
- lib/flak/thor/templates/doc/content/assets/site_images/vray.png
|
134
|
+
- lib/flak/thor/templates/doc/content/index.txt.tt
|
135
|
+
- lib/flak/thor/templates/doc/content/install_guide.txt.tt
|
136
|
+
- lib/flak/thor/templates/doc/content/release_notes.txt.tt
|
137
|
+
- lib/flak/thor/templates/doc/content/scenes/.empty_directory
|
138
|
+
- lib/flak/thor/templates/doc/content/tutorial.txt.tt
|
139
|
+
- lib/flak/thor/templates/doc/layouts/default.html
|
140
|
+
- lib/flak/thor/templates/doc/lib/helpers.rb
|
83
141
|
- lib/flak/thor/templates/env.tt
|
142
|
+
- lib/flak/thor/templates/gitignore.tt
|
84
143
|
- lib/flak/thor/templates/gl.tt
|
144
|
+
- lib/flak/thor/templates/init.mel.tt
|
85
145
|
- lib/flak/thor/templates/mac.tt
|
86
146
|
- lib/flak/thor/templates/max.tt
|
87
147
|
- lib/flak/thor/templates/maya.tt
|
@@ -90,33 +150,30 @@ files:
|
|
90
150
|
- lib/flak/thor/templates/nuke.tt
|
91
151
|
- lib/flak/thor/templates/product.mel.tt
|
92
152
|
- lib/flak/thor/templates/product.sh.tt
|
153
|
+
- lib/flak/thor/wizard.rb
|
93
154
|
- lib/flak/version.rb
|
94
|
-
homepage:
|
155
|
+
homepage: ''
|
95
156
|
licenses: []
|
96
|
-
|
97
157
|
post_install_message:
|
98
158
|
rdoc_options: []
|
99
|
-
|
100
|
-
require_paths:
|
159
|
+
require_paths:
|
101
160
|
- lib
|
102
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
162
|
none: false
|
104
|
-
requirements:
|
105
|
-
- -
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version:
|
108
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
168
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version:
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
114
173
|
requirements: []
|
115
|
-
|
116
174
|
rubyforge_project: flak
|
117
|
-
rubygems_version: 1.8.
|
175
|
+
rubygems_version: 1.8.10
|
118
176
|
signing_key:
|
119
177
|
specification_version: 3
|
120
178
|
summary: build system for VFX tools
|
121
179
|
test_files: []
|
122
|
-
|
data/lib/flak/doc.rb
DELETED
@@ -1,259 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module Flak
|
4
|
-
|
5
|
-
module Doc
|
6
|
-
|
7
|
-
def self.resolve_settings( existing_settings )
|
8
|
-
f = existing_settings[:root] + '/config/doc.yml'
|
9
|
-
h =Flak.flatten_settings(f,existing_settings[:configuration], existing_settings[:os] )
|
10
|
-
|
11
|
-
h[:full_site_index_file] = File.join(existing_settings[:root],h[:site_index_file])
|
12
|
-
# puts "doc_release_root = #{existing_settings[:doc_release_root]}"
|
13
|
-
# puts "name = #{@settings[:name]}"
|
14
|
-
# h[:doc_release_path] = File.join( existing_settings[:doc_release_root] , existing_settings[:name])
|
15
|
-
h
|
16
|
-
end
|
17
|
-
|
18
|
-
def doc_dir
|
19
|
-
File.join( @settings[:target_root],"doc")
|
20
|
-
end
|
21
|
-
def output_dir()
|
22
|
-
File.join(doc_dir ,"output")
|
23
|
-
end
|
24
|
-
|
25
|
-
def content_dir()
|
26
|
-
File.join(doc_dir ,"content")
|
27
|
-
end
|
28
|
-
|
29
|
-
#h[:versioned_doc_release_path] = File.join( h[:release_root] , "#{h[:product_revision]}-#{h[:os]}" )
|
30
|
-
|
31
|
-
#def doc_release_path
|
32
|
-
# File.join( @settings[:doc_release_root] , @settings[:name])
|
33
|
-
## File.join(@settings[:release_root], "#{@settings[:product_revision]}-doc")
|
34
|
-
#end
|
35
|
-
|
36
|
-
def release_dir
|
37
|
-
File.join( @settings[:doc_release_root] , @settings[:name])
|
38
|
-
end
|
39
|
-
|
40
|
-
def copy_to_release_dir
|
41
|
-
r = release_dir
|
42
|
-
rm_rf r if File.exists? r
|
43
|
-
Flak.make_dir_for(r)
|
44
|
-
FileUtils.cp_r output_dir, r if File.exists? output_dir
|
45
|
-
end
|
46
|
-
|
47
|
-
|
48
|
-
# get the header information out of the index file so we can
|
49
|
-
# build its site index entry
|
50
|
-
#def index_hash
|
51
|
-
# h={}
|
52
|
-
# Dir.chdir(@root) do
|
53
|
-
# h = YAML::load_file( File.join(self.content_dir,'index.txt') )
|
54
|
-
# end
|
55
|
-
# h
|
56
|
-
#end
|
57
|
-
|
58
|
-
|
59
|
-
######################################################
|
60
|
-
def site_index_hash
|
61
|
-
h = {
|
62
|
-
'title' => "#{@settings[:product_revision]}",
|
63
|
-
'author' => @settings[:author],
|
64
|
-
'email' => @settings[:email],
|
65
|
-
'created_at' => "#{Date.today.day} #{Date::MONTHNAMES[Date.today.month]} #{Date.today.year}",
|
66
|
-
'description' => "#{@settings[:product_revision]} documentation",
|
67
|
-
'doc_type' => "Site Index",
|
68
|
-
'layout' => "tools_doc",
|
69
|
-
'filter' => ['erb', 'textile']
|
70
|
-
}
|
71
|
-
end
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
def write_site_index_header(f)
|
76
|
-
YAML.dump(site_index_hash, f)
|
77
|
-
f.puts '---'
|
78
|
-
f.puts "h3. Projects\n\n"
|
79
|
-
f.puts "table(d1)."
|
80
|
-
f.puts "|_(projname). Project Name |_(projauth). Author|_(projdate). Created|\n\n"
|
81
|
-
end
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
def write_header_to_site_index(f,hash)
|
86
|
-
unless hash.nil?
|
87
|
-
if hash.has_key?('description') && (!hash['description'].nil?)
|
88
|
-
|
89
|
-
doc_link = File.join(hash['title'],'index.html')
|
90
|
-
f.puts 'table(d1).'
|
91
|
-
f.puts "|(projname). \"#{hash['title']}\":#{doc_link} |(projauth). \"#{hash['author']}\":mailto:#{hash['email']} |(projdate). #{hash['created_at']}|"
|
92
|
-
f.puts '|\3(projdesc). '+ hash['description'] +'|'
|
93
|
-
f.puts "\n\n"
|
94
|
-
else
|
95
|
-
"WARNING: Problem with description for #{hash['title']}. Please check header in #{f}"
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
|
101
|
-
# List of documentation objects
|
102
|
-
##############################################
|
103
|
-
def doc_objects
|
104
|
-
arr = Array.new
|
105
|
-
FileList.new('**/target.yml').each do |path|
|
106
|
-
path = File.join(@settings[:root],path)
|
107
|
-
h = YAML::load_file(path)
|
108
|
-
if h.has_key?('templates')
|
109
|
-
if (h['templates']).kind_of?(Array)
|
110
|
-
if h['templates'].include?('doc')
|
111
|
-
index_file = File.join(File.dirname(path) , 'doc/content/index.txt')
|
112
|
-
if File.exists?(index_file)
|
113
|
-
arr << YAML::load_file(index_file )
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
arr.sort! {|x,y| x['title'] <=> y['title'] }
|
120
|
-
end
|
121
|
-
##############################################
|
122
|
-
|
123
|
-
def write_site_index
|
124
|
-
File.open(@settings[:full_site_index_file] , 'w') do |f|
|
125
|
-
self.write_site_index_header(f)
|
126
|
-
doc_objects.each do |hash|
|
127
|
-
write_header_to_site_index(f,hash)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
# if a command exists to do the conversion - make a file task for each of icon and out_icon
|
133
|
-
# that is - one for the hypershade and one for the outliner
|
134
|
-
def doc_instance_tasks
|
135
|
-
|
136
|
-
namespace @settings[:name].to_sym do
|
137
|
-
namespace :doc do
|
138
|
-
|
139
|
-
desc "build documentation for #{@settings[:name]}"
|
140
|
-
task :rebuild do
|
141
|
-
|
142
|
-
write_site_index if @settings[:name] == 'jRelease'
|
143
|
-
puts "doc_dir #{doc_dir}"
|
144
|
-
Dir.chdir(doc_dir) do |d|
|
145
|
-
sh "webby rebuild"
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
|
-
|
150
|
-
desc "release documentation for #{@settings[:name]}"
|
151
|
-
task :release => "#{@settings[:name].to_sym}:doc:rebuild" do
|
152
|
-
# release_doc
|
153
|
-
Dir.chdir(@settings[:target_dir]) do |d|
|
154
|
-
self.copy_to_release_dir
|
155
|
-
end
|
156
|
-
|
157
|
-
if (@settings[:name] == "jRelease" )
|
158
|
-
index = File.join( self.release_dir, 'site_index.html' )
|
159
|
-
# rel_notes = File.join(@settings[:versioned_os_release_path], 'doc',@settings[:name],'release_notes.html' )
|
160
|
-
css = File.join(self.release_dir,'css' )
|
161
|
-
images = File.join(self.release_dir,'images' )
|
162
|
-
dest = File.join(@settings[:doc_release_root],'' )
|
163
|
-
mv index , dest
|
164
|
-
# mv rel_notes , dest
|
165
|
-
cp_r css , dest
|
166
|
-
cp_r images , dest
|
167
|
-
end
|
168
|
-
|
169
|
-
end
|
170
|
-
|
171
|
-
desc "clobber documentation for #{@settings[:name]}"
|
172
|
-
task :clobber do
|
173
|
-
Dir.chdir(doc_dir) do |d|
|
174
|
-
sh "webby clobber"
|
175
|
-
end
|
176
|
-
# d = self.release_dir
|
177
|
-
rm_rf self.release_dir if File.exists? self.release_dir
|
178
|
-
end
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
desc "initialize a project for documenation"
|
186
|
-
task :init do
|
187
|
-
doc_dir = File.join(@settings[:target_dir],"doc")
|
188
|
-
flak_doc_dir = File.join(@settings[:root],"flak","doc")
|
189
|
-
index_erb_file = File.join(flak_doc_dir,"erb","index.txt.erb")
|
190
|
-
index_destination_file = File.join(content_dir,"index.txt")
|
191
|
-
|
192
|
-
|
193
|
-
FileUtils.mkdir_p doc_dir
|
194
|
-
|
195
|
-
Dir.chdir(doc_dir) do
|
196
|
-
Flak.copy_over File.join(flak_doc_dir,"Sitefile"), File.join(Dir.pwd, "Sitefile")
|
197
|
-
Flak.copy_over File.join(flak_doc_dir,"lib"), File.join(Dir.pwd, "lib")
|
198
|
-
Flak.copy_over File.join(flak_doc_dir,"tasks"), File.join(Dir.pwd, "tasks")
|
199
|
-
FileUtils.mkdir_p ["content","layouts","output","scenes"]
|
200
|
-
Dir.chdir("content") do
|
201
|
-
FileUtils.mkdir_p ["css","images","media"]
|
202
|
-
Dir.chdir("css") do
|
203
|
-
Flak.copy_over File.join(flak_doc_dir,"content/css/page.css"), File.join(Dir.pwd, "page.css")
|
204
|
-
end
|
205
|
-
Dir.chdir("images") do
|
206
|
-
[ "array.gif" , "connectable.gif" , "create.gif","edit.gif","forkme_right_red_aa0000.png","hidden.gif","input.gif","jToolsSnapon.jpg" ,"keyable.gif","logo.jpg","multiuse.gif","output.gif","query.gif","storable.gif","vfxoverflow_ribbon.png" ].each do |img|
|
207
|
-
#puts "******************"
|
208
|
-
#puts File.exists? File.join(flak_doc_dir,"content/images/",img)
|
209
|
-
# puts Dir.pwd
|
210
|
-
# puts File.exists? img
|
211
|
-
|
212
|
-
Flak.copy_over File.join(flak_doc_dir,"content/images/",img) , File.join(Dir.pwd, img)
|
213
|
-
end
|
214
|
-
end
|
215
|
-
end
|
216
|
-
Dir.chdir("layouts") do
|
217
|
-
Flak.copy_over File.join(flak_doc_dir,"layouts/tools_doc.html"), File.join(Dir.pwd, "tools_doc.html")
|
218
|
-
end
|
219
|
-
|
220
|
-
# make the index
|
221
|
-
|
222
|
-
write_erb_template(index_erb_file,index_destination_file, {:no_force => true})
|
223
|
-
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
# desc "create index.txt with common textile markup examples"
|
228
|
-
# task :create_skeleton_index => "#{@settings[:name].to_sym}:doc:create_doc_links" do
|
229
|
-
# write_erb_template(index_erb_file,index_destination_file)
|
230
|
-
# end
|
231
|
-
#
|
232
|
-
# desc "initialize a project for documenation"
|
233
|
-
# task :init => "#{@settings[:name].to_sym}:doc:create_skeleton_index"
|
234
|
-
|
235
|
-
|
236
|
-
end
|
237
|
-
end
|
238
|
-
|
239
|
-
|
240
|
-
task :doc => "#{@settings[:name].to_sym}:doc:release"
|
241
|
-
|
242
|
-
namespace :doc do
|
243
|
-
task :clobber => "#{@settings[:name].to_sym}:doc:clobber"
|
244
|
-
end
|
245
|
-
|
246
|
-
end
|
247
|
-
################################################################################
|
248
|
-
|
249
|
-
|
250
|
-
desc "release all documentation"
|
251
|
-
task :doc
|
252
|
-
|
253
|
-
desc "clobber all documentation"
|
254
|
-
namespace :doc do
|
255
|
-
task :clobber
|
256
|
-
end
|
257
|
-
end
|
258
|
-
end
|
259
|
-
|