- self.realpath = task.cmd
- path = os.environ.get('PATH', '').split(os.pathsep)
- absolutes = filter(lambda file: os.access(file, os.X_OK), map(lambda directory, file = task.cmd: os.path.join(directory, file), path))
- if len(absolutes) > 0:
- self.realpath = task.cmd[0]
- return True
+ if task.cmd[0]=='/':
+ self.realpath = task.cmd
+ print "[Task.py][ToolExistsPrecondition] WARNING: usage of absolute paths for tasks should be avoided!"
+ return os.access(self.realpath, os.X_OK)
+ else:
+ self.realpath = task.cmd
+ path = os.environ.get('PATH', '').split(os.pathsep)
+ path.append(task.cwd + '/')
+ absolutes = filter(lambda file: os.access(file, os.X_OK), map(lambda directory, file = task.cmd: os.path.join(directory, file), path))
+ if len(absolutes) > 0:
+ self.realpath = task.cmd[0]
+ return True