Esempio n. 1
0
	def internal_clean(self, context):
		"""
			Calls the BaseTarget clean, not the target-specific clean
		"""
		try:
			deleteFile(self.__implicitInputsFile)
		except Exception:
			time.sleep(10.0)
			deleteFile(self.__implicitInputsFile)
		BaseTarget.clean(self.target, context)
Esempio n. 2
0
    def clean(self, context):
        BaseTarget.clean(self, context)
        args = [self.getOption('docker.path')]
        environs = {
            'DOCKER_HOST': self.getOption('docker.host')
        } if self.getOption('docker.host') else {}
        args.extend(['rmi', context.expandPropertyValues(self.imagename)])

        # Allow warning/info logs but do not let failure of RMI cleanup break the build
        rmiOptions = dict(self.options)
        rmiOptions[ProcessOutputHandler.Options.ignoreReturnCode] = True
        rmiOptions[
            ProcessOutputHandler.Options.downgradeErrorsToWarnings] = True

        call(args,
             outputHandler=self.getOption('docker.outputHandlerFactory')(
                 'docker-rmi', treatStdErrAsErrors=False, options=rmiOptions),
             timeout=self.getOption('process.timeout'),
             env=environs)
Esempio n. 3
0
 def clean(self, context):
     deleteFile(self._getMakeDependsFile(context))
     BaseTarget.clean(self, context)
Esempio n. 4
0
 def clean(self, context):
     if self.cleanfn: self.cleanfn(self.path, context)
     BaseTarget.clean(self, context)