lib/build.rb in dev_commands-0.0.41 vs lib/build.rb in dev_commands-0.0.42
- old
+ new
@@ -1,22 +1,28 @@
require_relative('msbuild.rb')
-
+require_relative('gemspec.rb')
class Build < Array
def update
- Dir.glob('*.gemspec'){|gemspec|
- add "gem build #{gemspec}"
- }
- Dir.glob('**/*.sln'){|sln_file|
- vs_version=MSBuild.get_vs_version(sln_file)
- if(MSBuild.has_version?(vs_version))
- MSBuild.get_configurations(sln_file).each{ |configuration|
- MSBuild.get_platforms(sln_file).each{|platform|
- #Console.debug "configuration='#{configuration}', platform='#{platform}'"
- self.add "\"#{MSBuild.get_version(vs_version)}\" \"#{sln_file}\" /nologo /p:Configuration=#{configuration} /p:Platform=\"#{platform}\""
- }
- }
- else
- "puts version #{vs_version} not found for MsBuild"
- end
- }
+
+ changed = true
+ changed = Git.has_changes? if(File.exists?('.git') && defined?(Git))
+ changed = Svn.has_changes? if(File.exists?('.svn') && defined?(Svn))
+ if(changed)
+ Dir.glob('*.gemspec'){|gemspec|
+ add "gem build #{gemspec}" if !File.exist?(Gemspec.gemfile gemspec)
+ }
+ Dir.glob('*.sln'){|sln_file|
+ vs_version=MSBuild.get_vs_version(sln_file)
+ if(MSBuild.has_version?(vs_version))
+ MSBuild.get_configurations(sln_file).each{ |configuration|
+ MSBuild.get_platforms(sln_file).each{|platform|
+ #Console.debug "configuration='#{configuration}', platform='#{platform}'"
+ self.add "\"#{MSBuild.get_version(vs_version)}\" \"#{sln_file}\" /nologo /p:Configuration=#{configuration} /p:Platform=\"#{platform}\""
+ }
+ }
+ else
+ "puts version #{vs_version} not found for MsBuild"
+ end
+ }
+ end
end
end
\ No newline at end of file