class Build::Files::State
def dirty?(inputs)
def dirty?(inputs) if self.missing? return true end # If there are no inputs or no outputs, we are always clean: if inputs.empty? or self.empty? return false end oldest_output_time = self.oldest_time newest_input_time = inputs.newest_time if newest_input_time and oldest_output_time # We are dirty if any inputs are newer (bigger) than any outputs: if newest_input_time > oldest_output_time return true else return false end end return true end