flak 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardoc/checksums +1 -1
- data/Architecture.md +3 -3
- data/MayaModules.md +2 -0
- data/flak.gemspec +1 -4
- data/lib/flak.rb +2 -0
- data/lib/flak/rake/template.rb +16 -0
- data/lib/flak/rake/template_dsl.rb +147 -0
- data/lib/flak/rake/templates/doc.rb +0 -2
- data/lib/flak/rake/templates/maya.rb +2 -2
- data/lib/flak/rake/templates/maya_app.rb +6 -0
- data/lib/flak/thor/generate.rb +26 -2
- data/lib/flak/thor/templates/Rakefile.tt +7 -0
- data/lib/flak/thor/templates/plugin.rb.tt +219 -0
- data/lib/flak/thor/templates/plugin.yml.tt +12 -0
- data/lib/flak/version.rb +1 -1
- metadata +22 -18
data/.yardoc/checksums
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lib/flak.rb
|
1
|
+
lib/flak.rb ee76cae2b3d1e295f430233fef08dae83723cc9f
|
2
2
|
lib/flak/version.rb cd35ff13292bbc0b507250bda64b36af61a34f36
|
3
3
|
lib/flak/rake/os.rb c1b4e0d66a5df3aab590d76d5d1f37e04dd451c9
|
4
4
|
lib/flak/thor/cli.rb 115ee363faf9e37032ad28b120b2a7de1b9f1cc1
|
data/Architecture.md
CHANGED
@@ -7,7 +7,7 @@ Flak Architecture
|
|
7
7
|
When you type rake, the Rakefile is executed. It builds {Flak::Target} objects, one for the project, and one for each tool. The process is started by reading the contents of project.yml and any tool.yml file it finds. There is a project.yml at the project root and a tool.yml at the root of each tool. We call these files target files.
|
8
8
|
|
9
9
|
|
10
|
-
<img src=
|
10
|
+
<img src="http://flak.s3.amazonaws.com/target.jpg"/>
|
11
11
|
|
12
12
|
* The name of a target yml file is either tool.yml or project.yml. It is used to build a Target object.
|
13
13
|
* A Target extends itself with settings, methods, and tasks from templates specified in the target yml file.
|
@@ -62,11 +62,11 @@ Some settings keys are required for building other settings - for example `:prod
|
|
62
62
|
|
63
63
|
settings[:product_revision] is not a String. It is a NilClass. (environment.rb)
|
64
64
|
|
65
|
-
Other keys are not required until build time - for example `:include_flag` is used when rake tasks are run, in this case during compilation. If it is missing you will still get a red error, but you will also be able to run `rake -T` to view the entire settings hash. You might see there is a typo such as `:includ_flag`
|
65
|
+
Other keys are not required until build time - for example `:include_flag` is used when rake tasks are run, in this case during compilation. If it is missing you will still get a red error, but you will also be able to run `rake -T` to see available rake tasks, and `rake <target_name>:inspect` to view the entire settings hash. You might see there is a typo such as `:includ_flag`
|
66
66
|
|
67
67
|
##Methods##
|
68
68
|
|
69
|
-
A Target object also inherits instance methods from the templates it extends. These instance methods provide functionality to the tasks that could not be provided by settings values alone. An example is building a C compile command. As these extended instance methods are only used by tasks when they are run, all the settings will be in place and therefore these methods have access to the `@settings` instance variable.
|
69
|
+
A Target object also inherits instance methods from the templates it extends. These instance methods provide functionality to the tasks that could not be provided by settings values alone. An example is building a C compile command. As these extended instance methods are only used by tasks when they are run, all the settings will be in place and therefore these methods have access to the fully resolved settings via the `@settings` instance variable.
|
70
70
|
|
71
71
|
##Tasks##
|
72
72
|
|
data/MayaModules.md
CHANGED
data/flak.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Flak::VERSION
|
8
8
|
s.authors = ["Julian Mann"]
|
9
9
|
s.email = ["julian.mann@gmail.com"]
|
10
|
-
s.homepage = ""
|
10
|
+
s.homepage = "https://bitbucket.org/rmwcs/flak"
|
11
11
|
s.summary = %q{build system for VFX tools}
|
12
12
|
s.description = %q{VFX tool build and documentation framework based on rake with thor generators}
|
13
13
|
s.add_dependency('thor')
|
@@ -29,6 +29,3 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.has_rdoc = 'yard'
|
30
30
|
|
31
31
|
end
|
32
|
-
|
33
|
-
|
34
|
-
|
data/lib/flak.rb
CHANGED
@@ -0,0 +1,147 @@
|
|
1
|
+
|
2
|
+
######## FILE NOT IN USE
|
3
|
+
|
4
|
+
|
5
|
+
Template.new('MayaApp') do
|
6
|
+
|
7
|
+
settings do
|
8
|
+
|
9
|
+
maya_string =''
|
10
|
+
case settings[:os]
|
11
|
+
when /linux_64/
|
12
|
+
maya_string = "maya#{settings[:maya_version]}-x64"
|
13
|
+
when /darwin/
|
14
|
+
maya_string = "maya#{settings[:maya_version]}"
|
15
|
+
when /win_64/
|
16
|
+
maya_string = "Maya#{settings[:maya_version]}"
|
17
|
+
end
|
18
|
+
|
19
|
+
mods = Hash.new
|
20
|
+
|
21
|
+
bind = binding()
|
22
|
+
Flak::Errors.assert("settings[:autodesk_location]", "String", bind,__FILE__)
|
23
|
+
Flak::Errors.assert("settings[:path_to_revision]", "String", bind,__FILE__)
|
24
|
+
mods[:maya_location] = File.join( settings[:autodesk_location],maya_string )
|
25
|
+
|
26
|
+
|
27
|
+
mods[:maya_release_path] = File.join( settings[:path_to_revision],"maya" )
|
28
|
+
|
29
|
+
mods
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
methods do
|
36
|
+
|
37
|
+
def outliner_icon_build_filename(file)
|
38
|
+
icon_build_filename("out_#{file}")
|
39
|
+
end
|
40
|
+
|
41
|
+
def dg_icon_build_filename(file)
|
42
|
+
icon_build_filename(file)
|
43
|
+
end
|
44
|
+
|
45
|
+
def icon_build_filename(file)
|
46
|
+
bind = binding()
|
47
|
+
Flak::Errors.assert("@settings[:build_directory]", "String", bind,__FILE__)
|
48
|
+
File.join(@settings[:build_directory],'icons', file.pathmap('%f').ext('xpm') )
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
tasks do
|
56
|
+
|
57
|
+
def self.generate_node_icon_tasks target
|
58
|
+
settings = target.settings
|
59
|
+
|
60
|
+
|
61
|
+
source_files = settings[:maya_node_icon_files]
|
62
|
+
unless source_files.nil?
|
63
|
+
|
64
|
+
source_files.each do |f|
|
65
|
+
|
66
|
+
['outliner','dg'].each do |t|
|
67
|
+
|
68
|
+
build_file = target.send "#{t}_icon_build_filename", f
|
69
|
+
|
70
|
+
dest_file = destination_filepath( settings[:maya_icon_destination], build_file)
|
71
|
+
|
72
|
+
file build_file => f do |t|
|
73
|
+
target.make_directory_for(build_file)
|
74
|
+
cmd_key = "#{t}_icon_convert_cmd".to_sym
|
75
|
+
cmd = "#{settings[cmd_key]} #{f} #{build_file}"
|
76
|
+
sh cmd
|
77
|
+
end
|
78
|
+
|
79
|
+
file dest_file => build_file do |t|
|
80
|
+
target.make_directory_for(dest_file)
|
81
|
+
cp build_file, dest_file
|
82
|
+
end
|
83
|
+
|
84
|
+
task :release => dest_file
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
def self.generate_icon_tasks target
|
96
|
+
settings = target.settings
|
97
|
+
|
98
|
+
|
99
|
+
source_files = settings[:maya_icon_files]
|
100
|
+
unless source_files.nil?
|
101
|
+
|
102
|
+
source_files.each do |f|
|
103
|
+
|
104
|
+
build_file = target.icon_build_filename f
|
105
|
+
|
106
|
+
dest_file = destination_filepath( settings[:maya_icon_destination], build_file)
|
107
|
+
|
108
|
+
file build_file => f do |t|
|
109
|
+
target.make_directory_for(build_file)
|
110
|
+
cmd = "#{settings[:icon_convert_cmd]} #{f} #{build_file}"
|
111
|
+
sh cmd
|
112
|
+
end
|
113
|
+
|
114
|
+
file dest_file => build_file do |t|
|
115
|
+
target.make_directory_for(dest_file)
|
116
|
+
cp build_file, dest_file
|
117
|
+
end
|
118
|
+
|
119
|
+
task :release => dest_file
|
120
|
+
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
# generate tasks here
|
132
|
+
################################################################################
|
133
|
+
def self.task_factory target
|
134
|
+
settings = target.settings
|
135
|
+
self.generate_node_icon_tasks target
|
136
|
+
self.generate_icon_tasks target
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
end
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
end
|
@@ -93,7 +93,7 @@ module Flak::Template
|
|
93
93
|
|
94
94
|
build_file = target.send "#{t}_icon_build_filename", f
|
95
95
|
|
96
|
-
dest_file = destination_filepath( settings[:maya_icon_destination], build_file)
|
96
|
+
dest_file = target.destination_filepath( settings[:maya_icon_destination], build_file)
|
97
97
|
|
98
98
|
file build_file => f do |t|
|
99
99
|
target.make_directory_for(build_file)
|
@@ -129,7 +129,7 @@ module Flak::Template
|
|
129
129
|
|
130
130
|
build_file = target.icon_build_filename f
|
131
131
|
|
132
|
-
dest_file = destination_filepath( settings[:maya_icon_destination], build_file)
|
132
|
+
dest_file = target.destination_filepath( settings[:maya_icon_destination], build_file)
|
133
133
|
|
134
134
|
file build_file => f do |t|
|
135
135
|
target.make_directory_for(build_file)
|
data/lib/flak/thor/generate.rb
CHANGED
@@ -50,8 +50,9 @@ module Flak
|
|
50
50
|
self.name = name
|
51
51
|
empty_directory("build")
|
52
52
|
directory("doc")
|
53
|
+
empty_directory("plugins")
|
53
54
|
directory("config")
|
54
|
-
|
55
|
+
create_file "#{name}/LICENSE"
|
55
56
|
template( "product.mel.tt" , "script/maya/erb/#{name}.mel.erb" ) if opts[:maya_module]
|
56
57
|
template( "INSTALL.tt" , "script/shell/erb/INSTALL_#{name.upcase}.erb")
|
57
58
|
template( "product.sh.tt" , "script/shell/#{name}.sh" )
|
@@ -122,7 +123,7 @@ module Flak
|
|
122
123
|
def create_common_files
|
123
124
|
empty_directory("#{name}/examples")
|
124
125
|
create_file "#{name}/README"
|
125
|
-
create_file "#{name}/LICENSE"
|
126
|
+
# create_file "#{name}/LICENSE"
|
126
127
|
# create_file "INSTALL.md"
|
127
128
|
end
|
128
129
|
|
@@ -147,6 +148,29 @@ module Flak
|
|
147
148
|
end
|
148
149
|
end
|
149
150
|
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
desc "plugin [name]", "Create a plugin"
|
155
|
+
map "u" => :plugin
|
156
|
+
# The plugin subcommand. Called with: flak generate plugin <name>.
|
157
|
+
# Creates an example plugin with the given name inside a flak project.
|
158
|
+
def plugin(name)
|
159
|
+
self.name= name
|
160
|
+
template("plugin.yml.tt", "config/#{name}.yml")
|
161
|
+
template("plugin.rb.tt", "plugins/#{name}.rb")
|
162
|
+
|
163
|
+
say("The plugin was created in plugins/#{name}.rb and a config file was made in config/#{name}.yml")
|
164
|
+
say("To use this plugin, edit tool.yml")
|
165
|
+
say("Add '#{name}' to the templates section, and add files needed by this plugin to a file list")
|
166
|
+
say("See comments in plugins/#{name}.rb for more details")
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
150
174
|
# Format the help line so it reads flak generate something name,
|
151
175
|
# as opposed to flak generate:something name.
|
152
176
|
def self.banner(task, namespace = false, subcommand = true)
|
@@ -1,11 +1,18 @@
|
|
1
1
|
require 'flak'
|
2
2
|
|
3
|
+
# need this for rake > 0.8.7
|
3
4
|
include Rake::DSL
|
4
5
|
|
5
6
|
verbose(true)
|
6
7
|
|
7
8
|
root = File.dirname(__FILE__)
|
8
9
|
|
10
|
+
# load user plugins
|
11
|
+
dir = "plugins"
|
12
|
+
$LOAD_PATH.unshift(dir)
|
13
|
+
Dir[ File.join(dir, "*.rb") ].each {|file| require File.basename(file,".rb") }
|
14
|
+
|
15
|
+
# create targets
|
9
16
|
FileList.new('**/tool.yml','project.yml').each do |path|
|
10
17
|
Flak::Target.new(root, path).build
|
11
18
|
end
|
@@ -0,0 +1,219 @@
|
|
1
|
+
module Flak::Template
|
2
|
+
|
3
|
+
# This example illustrates how to make a plugin template for Flak.
|
4
|
+
# This is a rather complex example, intended to show all parts of the plugin.
|
5
|
+
# It has a 2 step build->release process. See other template modules in flak for
|
6
|
+
# more and less complex examples.
|
7
|
+
#
|
8
|
+
# The module <%=name.camelize%> contains 2 modules: Settings and Tasks
|
9
|
+
# The settings hash and any instance methods are managed in the Settings module
|
10
|
+
# Rake Tasks are built in the Tasks module.
|
11
|
+
# Both modules must exist in a plugin
|
12
|
+
#
|
13
|
+
# This plugin example relies on some settings to be declared in <%=name%>.yml and it needs files to work on.
|
14
|
+
# To test the plugin as is you'll need to add the following lines to tool.yml
|
15
|
+
# for the tool that will use this plugin. (without '#'s of course)
|
16
|
+
# <%=name%>_include_paths:
|
17
|
+
# - '<%=name%>_src/inc/*.*'
|
18
|
+
# <%=name%>_src_files:
|
19
|
+
# - '<%=name%>_src/geo/*.*'
|
20
|
+
# - '<%=name%>_src/light/*.*'
|
21
|
+
# - '<%=name%>_src/shader/*.*'
|
22
|
+
#
|
23
|
+
# - and make some files that fit the above file globs.
|
24
|
+
#
|
25
|
+
# Also, in the same file, add - '<%=name%>' to the list of templates
|
26
|
+
#
|
27
|
+
# You'll notice you also have <%=name%>.yml in the config directory now
|
28
|
+
module <%=name.camelize%>
|
29
|
+
|
30
|
+
|
31
|
+
module Settings
|
32
|
+
|
33
|
+
extend Flak::Template::MergeEngine
|
34
|
+
|
35
|
+
# At the time the Target object extends with this plugin's Settings module, we call {Flak::Template::MergeEngine#infuse}
|
36
|
+
# which takes care of reading the associated <%=name%>.yml if it exists, flattening it, merging it
|
37
|
+
# with the modifications made below, and finally merging the whole lot into the Target.
|
38
|
+
# @param target [Target] the object that will receive settings from this module
|
39
|
+
def self.extended target
|
40
|
+
infuse target
|
41
|
+
end
|
42
|
+
|
43
|
+
# Create new keys for the settings hash programatically.
|
44
|
+
# The target's settings hash is available to use to make new values. For example, building new paths from components.
|
45
|
+
# This method is called automatically by the infuse method above. You only need to be concerned with
|
46
|
+
# creating the new keys and values you want, and returning them. Merging into target's settings is taken care of.
|
47
|
+
# @param settings [Hash] the target's settings hash.
|
48
|
+
def self.settings_modifications settings
|
49
|
+
mods = Hash.new
|
50
|
+
|
51
|
+
bind = binding()
|
52
|
+
Flak::Errors.assert("settings[:<%=name%>_location]", "String", bind,__FILE__)
|
53
|
+
Flak::Errors.assert("settings[:<%=name%>_version]", "String", bind,__FILE__)
|
54
|
+
Flak::Errors.assert("settings[:build_directory]", "String", bind,__FILE__)
|
55
|
+
|
56
|
+
<%=name%>_version_location = File.join( "#{settings[:<%=name%>_location]}-#{settings[:<%=name%>_version]}" )
|
57
|
+
|
58
|
+
mods[:<%=name%>_compiler] = File.join( <%=name%>_version_location, "bin","fcompile")
|
59
|
+
|
60
|
+
mods[:<%=name%>_build_directory] = settings[:build_directory]
|
61
|
+
|
62
|
+
mods[:libs] = ["<%=name.camelize%>"]
|
63
|
+
|
64
|
+
mods[:<%=name%>_include_paths] = [ File.join( <%=name%>_version_location, "extra","finc") ]
|
65
|
+
|
66
|
+
mods
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
# Generate names for output build files from the list of source files
|
73
|
+
# @return [Array] filenames
|
74
|
+
def <%=name%>_out_files()
|
75
|
+
@settings[:<%=name%>_src_files].collect { |f| <%=name%>_out_file(f) }
|
76
|
+
end
|
77
|
+
|
78
|
+
# Generate a name for an output build file.
|
79
|
+
# As we need @settings[:<%=name%>_build_directory], we test its existence first.
|
80
|
+
# We pull the original filepath apart and rebuild the way we want. In this case
|
81
|
+
# we turn /toolname/geo/name.ext into geo/name_geo.flib
|
82
|
+
#
|
83
|
+
# @param source [String] source file
|
84
|
+
# @return [String] destination file
|
85
|
+
def <%=name%>_out_file(source)
|
86
|
+
bind = binding()
|
87
|
+
Flak::Errors.assert("@settings[:<%=name%>_build_directory]", "String", bind,__FILE__)
|
88
|
+
|
89
|
+
type = source.pathmap('%d').pathmap('%f')
|
90
|
+
dirname = source.pathmap('%d')
|
91
|
+
basename = source.pathmap('%f')
|
92
|
+
File.join(@settings[:<%=name%>_build_directory], dirname, "#{basename.pathmap('%X')}_#{type}.flib")
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
# As this is an example, there is no such thing as a <%=name%> compiler and we can't compile with it.
|
98
|
+
# So, to show how it would work, the fictitious compile command will be written into each file.
|
99
|
+
# The actual command we issue is echo with a redirect into the destination.
|
100
|
+
#
|
101
|
+
# @param src [String] the source filepath
|
102
|
+
# @param dest [String] the destination filepath
|
103
|
+
# @return [String] the full compile command
|
104
|
+
def <%=name%>_compile_cmd(src, dest)
|
105
|
+
bind = binding()
|
106
|
+
Flak::Errors.assert("@settings[:<%=name%>_compiler]", "String", bind,__FILE__)
|
107
|
+
|
108
|
+
include_path_string = (@settings[:<%=name%>_src_files].collect {|f| f.pathmap('%d')}.uniq | ( @settings[:<%=name%>_include_paths] || [] )).collect { |el| "-I#{el.to_s}" }.join(" ")
|
109
|
+
<%=name%>_type_string = "-DFOO_TYPE_#{src.pathmap('%d').pathmap('%f').upcase}"
|
110
|
+
"echo The compile cmd is: #{@settings[:<%=name%>_compiler]} #{<%=name%>_type_string} #{include_path_string} -d #{dest} #{src} > #{dest}"
|
111
|
+
end
|
112
|
+
|
113
|
+
# list of files to add to clean task
|
114
|
+
def <%=name%>_clean_cmd
|
115
|
+
"rm -f #{<%=name%>_out_files}"
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
module Tasks
|
127
|
+
|
128
|
+
# when the target is extended with the <%=name.camelize%> Tasks module, the task_factory is called and all tasks are made.
|
129
|
+
def self.extended target
|
130
|
+
task_factory target
|
131
|
+
end
|
132
|
+
|
133
|
+
# task_factory creates Rake tasks. These tasks are built dynamically based on the list of
|
134
|
+
# sources. There are 2 types of rake tasks. tasks, and file tasks.
|
135
|
+
# tasks start with the task keyword.
|
136
|
+
# file tasks start with the file keyword.
|
137
|
+
# see {http://martinfowler.com/articles/rake.html Martin Fowler's Rake page} for an explanation
|
138
|
+
# of Rake tasks.
|
139
|
+
def self.task_factory target
|
140
|
+
settings = target.settings
|
141
|
+
|
142
|
+
files = settings[:<%=name%>_src_files]
|
143
|
+
unless files.nil?
|
144
|
+
|
145
|
+
files.each do |f|
|
146
|
+
|
147
|
+
|
148
|
+
# create file tasks to compile out_files from sources
|
149
|
+
out_file = target.<%=name%>_out_file(f)
|
150
|
+
file out_file => f do |t|
|
151
|
+
target.make_directory_for(out_file)
|
152
|
+
sh target.<%=name%>_compile_cmd(f,out_file)
|
153
|
+
end
|
154
|
+
|
155
|
+
|
156
|
+
# add the out_file task to the ToolName:build named task
|
157
|
+
namespace settings[:name].to_sym do
|
158
|
+
task :build => out_file
|
159
|
+
end
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
# create file tasks to release out_files to release destination
|
165
|
+
release_file = target.destination_filepath(settings[:<%=name%>_destination],out_file)
|
166
|
+
file release_file => out_file do
|
167
|
+
target.make_directory_for(release_file)
|
168
|
+
cp out_file, release_file
|
169
|
+
end
|
170
|
+
|
171
|
+
|
172
|
+
# add the release_file task to the ToolName:release named task
|
173
|
+
namespace settings[:name].to_sym do
|
174
|
+
task :release => release_file
|
175
|
+
end
|
176
|
+
|
177
|
+
|
178
|
+
# add the ToolName:release named task to the top level :release named task
|
179
|
+
task :release => "#{settings[:name].to_sym}:release"
|
180
|
+
|
181
|
+
end
|
182
|
+
|
183
|
+
|
184
|
+
# task to clean the build files for ToolName
|
185
|
+
namespace settings[:name].to_sym do
|
186
|
+
desc "clean the #{settings[:name].to_sym} build files"
|
187
|
+
task :clean do
|
188
|
+
sh target.<%=name%>_clean_cmd
|
189
|
+
end
|
190
|
+
|
191
|
+
|
192
|
+
end
|
193
|
+
|
194
|
+
|
195
|
+
# add the ToolName:clean named task to the top level :clean named task
|
196
|
+
task :clean => "#{settings[:name].to_sym}:clean"
|
197
|
+
|
198
|
+
|
199
|
+
namespace settings[:name].to_sym do
|
200
|
+
desc "build the #{settings[:name].to_sym} <%=name%> resource"
|
201
|
+
task :build
|
202
|
+
end
|
203
|
+
|
204
|
+
|
205
|
+
# add the ToolName:build named task to the top level :build named task
|
206
|
+
task :build => "#{settings[:name].to_sym}:build"
|
207
|
+
|
208
|
+
end
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
215
|
+
|
216
|
+
end
|
217
|
+
|
218
|
+
end
|
219
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%=name%>_version: '10.0.0'
|
2
|
+
|
3
|
+
<%=name%>_destination: '<%=name%>/lib'
|
4
|
+
|
5
|
+
os_linux_64:
|
6
|
+
<%=name%>_location: '/usr/<%=name%>_co'
|
7
|
+
|
8
|
+
os_darwin:
|
9
|
+
<%=name%>_location: '/Applications/<%=name.camelize%>Co'
|
10
|
+
|
11
|
+
os_win_64:
|
12
|
+
<%=name%>_location: 'C:/Program Files/<%=name.camelize%> Co'
|
data/lib/flak/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70196421321380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70196421321380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: awesome_print
|
27
|
-
requirement: &
|
27
|
+
requirement: &70196421317620 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70196421317620
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nanoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &70196421317020 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70196421317020
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sass
|
49
|
-
requirement: &
|
49
|
+
requirement: &70196421316500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70196421316500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: RedCloth
|
60
|
-
requirement: &
|
60
|
+
requirement: &70196421316040 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70196421316040
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: yard
|
71
|
-
requirement: &
|
71
|
+
requirement: &70196421315480 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - =
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.7.2
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70196421315480
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: redcarpet
|
82
|
-
requirement: &
|
82
|
+
requirement: &70196421314960 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70196421314960
|
91
91
|
description: VFX tool build and documentation framework based on rake with thor generators
|
92
92
|
email:
|
93
93
|
- julian.mann@gmail.com
|
@@ -116,6 +116,8 @@ files:
|
|
116
116
|
- lib/flak/rake/file_actions.rb
|
117
117
|
- lib/flak/rake/os.rb
|
118
118
|
- lib/flak/rake/target.rb
|
119
|
+
- lib/flak/rake/template.rb
|
120
|
+
- lib/flak/rake/template_dsl.rb
|
119
121
|
- lib/flak/rake/templates/cpp.rb
|
120
122
|
- lib/flak/rake/templates/delight.rb
|
121
123
|
- lib/flak/rake/templates/doc.rb
|
@@ -190,12 +192,14 @@ files:
|
|
190
192
|
- lib/flak/thor/templates/maya_plugin_cpp.tt
|
191
193
|
- lib/flak/thor/templates/name_cpp.tt
|
192
194
|
- lib/flak/thor/templates/name_h.tt
|
195
|
+
- lib/flak/thor/templates/plugin.rb.tt
|
196
|
+
- lib/flak/thor/templates/plugin.yml.tt
|
193
197
|
- lib/flak/thor/templates/product.mel.tt
|
194
198
|
- lib/flak/thor/templates/product.sh.tt
|
195
199
|
- lib/flak/thor/wizard.rb
|
196
200
|
- lib/flak/version.rb
|
197
201
|
- target.jpg
|
198
|
-
homepage:
|
202
|
+
homepage: https://bitbucket.org/rmwcs/flak
|
199
203
|
licenses: []
|
200
204
|
post_install_message:
|
201
205
|
rdoc_options: []
|
@@ -215,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
219
|
version: '0'
|
216
220
|
requirements: []
|
217
221
|
rubyforge_project: flak
|
218
|
-
rubygems_version: 1.8.
|
222
|
+
rubygems_version: 1.8.17
|
219
223
|
signing_key:
|
220
224
|
specification_version: 3
|
221
225
|
summary: build system for VFX tools
|