lib/tasks/build.rb in dev-2.1.14 vs lib/tasks/build.rb in dev-2.1.15
- old
+ new
@@ -6,83 +6,103 @@
task :build do Tasks.execute_task :build;end
SLN_FILES=FileList.new('*.sln','*/*.sln','*/*/*.sln')
NUGET_FILES=FileList.new('**/*.nuspec')
WXS_FILES=FileList.new('**/*.wxs')
+SMARTASSEMBLY_FILES=FileList.new('**/*.saproj')
class Build < Array
def update
+ update_gemspec
+ update_sln if Environment.windows?
+ update_smartassembly if Environment.windows?
+ update_nuget if Environment.windows?
+ update_wix if Environment.windows?
+ update_xcode if Environment.mac?
+ end
- #changed = true
- #if(changed)
- puts "Build scanning for gemspec files" if Environment.default.debug?
- Dir.glob('*.gemspec'){|gemspec|
- add_quiet("gem build #{gemspec}") if !File.exist?(Gemspec.gemfile gemspec)
- }
-
- # Windows
- if(Environment.windows?)
- puts "Build scanning for sln files" if Environment.default.debug?
- SLN_FILES.each{|sln_file|
- puts " #{sln_file}" if Environment.default.debug?
- build_commands = MSBuild.get_build_commands sln_file
- if(!build_commands.nil?)
- build_commands.each{|c|
- puts " build command #{c} discovered." if Environment.default.debug?
- add_quiet(c)
- }
- else
- puts " no build command discovered." if Environment.default.debug?
- end
- }
+ def update_gemspec
+ puts "Build scanning for gemspec files" if Environment.default.debug?
+ Dir.glob('*.gemspec'){|gemspec|
+ add_quiet("gem build #{gemspec}") if !File.exist?(Gemspec.gemfile gemspec)
+ }
+ end
- puts "Build scanning for nuget files" if Environment.default.debug?
- NUGET_FILES.each{|nuget_file|
- build_commands = Nuget.get_build_commands nuget_file
- if(!build_commands.nil?)
- build_commands.each{|c|
- add_quiet(c)
- }
- end
- }
+ def update_sln
+ puts "Build scanning for sln files" if Environment.default.debug?
+ SLN_FILES.each{|sln_file|
+ puts " #{sln_file}" if Environment.default.debug?
+ build_commands = MSBuild.get_build_commands sln_file
+ if(!build_commands.nil?)
+ build_commands.each{|c|
+ puts " build command #{c} discovered." if Environment.default.debug?
+ add_quiet(c)
+ }
+ else
+ puts " no build command discovered." if Environment.default.debug?
+ end
+ }
+ end
- puts "Build scanning for wxs <Product> files" if Environment.default.debug?
- WXS_FILES.each{|wxs_file|
- if(IO.read(wxs_file).include?('<Product'))
- build_commands = Wix.get_build_commands wxs_file
- if(!build_commands.nil?)
- build_commands.each{|c|
- add_quiet(c)
- }
- end
- end
- }
+ def update_smartassembly
+ puts "Build scanning for sa (smart assembly) files" if Environment.default.debug?
+ sa = 'C:/Program Files/Red Gate/SmartAssembly 6/SmartAssembly.com'
+ SMARTASSEMBLY_FILES.each{|saproj_file|
+ puts " #{saproj_file}" if Environment.default.debug?
+ if(!File.exists?(sa))
+ puts "warning: #{sa} does not exist, skipping build command for #{saproj_file}"
+ else
+ add_quiet("#{sa} /build #{saproj_file}")
+ end
+ }
+ end
- puts "Build scanning for wxs <Bundle> files" if Environment.default.debug?
- WXS_FILES.each{|wxs_file|
- if(IO.read(wxs_file).include?('<Bundle'))
- build_commands = Wix.get_build_commands wxs_file
- if(!build_commands.nil?)
- build_commands.each{|c|
- add_quiet(c)
- }
- end
- end
- }
- end
+ def update_nuget
+ puts "Build scanning for nuget files" if Environment.default.debug?
+ NUGET_FILES.each{|nuget_file|
+ build_commands = Nuget.get_build_commands nuget_file
+ if(!build_commands.nil?)
+ build_commands.each{|c|
+ add_quiet(c)
+ }
+ end
+ }
+ end
- # Mac
- if(Environment.mac?)
- puts "Build scanning for xcodeproj folders" if Environment.default.debug?
- Dir.glob('**/*.xcodeproj').each{|dir|
- puts dir if Environment.default.debug?
- build_commands = XCodeBuild.get_build_commands dir
- if(!build_commands.nil?)
- build_commands.each{|c|
- build_commands << c
- }
- end
- }
- end
- #end
+ def update_wix
+ puts "Build scanning for wxs <Product> files" if Environment.default.debug?
+ WXS_FILES.each{|wxs_file|
+ if(IO.read(wxs_file).include?('<Product'))
+ build_commands = Wix.get_build_commands wxs_file
+ if(!build_commands.nil?)
+ build_commands.each{|c|
+ add_quiet(c)
+ }
+ end
+ end
+ }
+
+ puts "Build scanning for wxs <Bundle> files" if Environment.default.debug?
+ WXS_FILES.each{|wxs_file|
+ if(IO.read(wxs_file).include?('<Bundle'))
+ build_commands = Wix.get_build_commands wxs_file
+ if(!build_commands.nil?)
+ build_commands.each{|c|
+ add_quiet(c)
+ }
+ end
+ end
+ }
+ end
+ def update_xcode
+ puts "Build scanning for xcodeproj folders" if Environment.default.debug?
+ Dir.glob('**/*.xcodeproj').each{|dir|
+ puts dir if Environment.default.debug?
+ build_commands = XCodeBuild.get_build_commands dir
+ if(!build_commands.nil?)
+ build_commands.each{|c|
+ build_commands << c
+ }
+ end
+ }
end
end
\ No newline at end of file