lib/dev_tasks.rb in dev_tasks-0.0.67 vs lib/dev_tasks.rb in dev_tasks-0.0.68
- old
+ new
@@ -20,14 +20,15 @@
def initialize
@timer = Timer.new
#hash = JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
#self[:dev_tasks_gem]=JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
-
self[:name]=pwd.split('/').last#Rake.application.original_dir.split('/').last
self[:scm]=Environment.scm
self[:branch]=Environment.branch
+ self[:src_glob]="**/{*.{rb,feature,spec,cs,c,m,cpp,cxx,h,hpp,i,jam,csproj,vcproj,snk,vcxproj,xcodeproj,plist,xib,sln,filters,xaml,xml,resx,settings,txt,png,bmp,ico,config},Jamfile,.semver,Gemfile,README,LICENSE}"
+ self[:newest_src_file]=Dir.glob(self[:src_glob]).max_by {|f| File.mtime(f)}
self[:command_order]=['pull','upgrade','add','build','test','commit','publish','push']
self[:relative_directory]=Environment.relative_directory
self[:working_directory]=Environment.working_directory
self[:context]=Environment.context
self[:machine]=Environment.machine
@@ -44,11 +45,21 @@
end
def update
self[:dependencies]=Dependencies.new if !has_key?(:dependencies)
self[:artifacts]=Artifacts.new if !has_key?(:artifacts)
+ allartifactsexist = true
+ self[:artifacts].each{|f| allartifactsexist=false if !File.exists?(f)}
+ self[:oldest_artifact]=self[:artifacts].min_by { |f| File.mtime(f) } if allartifactsexist
+
self[:commands]=Commands.new if !has_key?(:commands)
self[:commands].update
+
+ self[:up_to_date] = false
+ if(allartifactsexist && !self[:oldest_artifact].nil? && !self[:newest_src_file].nil? && File.exists?(self[:oldest_artifact]) && File.exists?(self[:newest_src_file]))
+ self[:command_order]=['pull','upgrade'] if(File.mtime(self[:oldest_artifact]) > File.mtime(self[:newest_src_file]))
+ self[:up_to_date]=true
+ end
update_tasks
end
def execute cmd
self[:commands].execute_command cmd