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