Ported InterpolateToNativePath and InterpolateToPosixPath.
diff --git a/zorg/buildbot/process/properties.py b/zorg/buildbot/process/properties.py
index 1be9498..50899b8 100644
--- a/zorg/buildbot/process/properties.py
+++ b/zorg/buildbot/process/properties.py
@@ -2,36 +2,33 @@
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+from zope.interface import implementer
+
from buildbot.interfaces import IRenderable
from buildbot.process.properties import WithProperties
-from zope.interface import implements
+
+@implementer(IRenderable)
class InterpolateToNativePath(WithProperties):
"""
This is a marker class, used to indicate that we
want to interpolate build properties as a paths with
- the correct buildslave path separator.
+ the correct worker path separator.
"""
- implements(IRenderable)
- compare_attrs = ('fmtstring', 'args')
-
- def __init__(self, fmtstring, *args, **lambda_subs):
- WithProperties.__init__(self, fmtstring, *args, **lambda_subs)
-
def getRenderingFor(self, build):
# Upcall the base class first.
- p = WithProperties.getRenderingFor(self, build)
+ p = super().getRenderingFor(build)
# Then we need to normalize the path for
- # watever is native on the buildslave.
+ # watever is native on that worker.
# Note: Do not call normpath here, as it could
- # change the path meaning if links used.
- slave = build.build.slavebuilder.slave
-
- return slave.path_module.normcase(p)
+ # change the path meaning if links are used.
+ worker = build.getBuild().workerforbuilder.worker
+ return worker.path_module.normcase(p)
+@implementer(IRenderable)
class InterpolateToPosixPath(WithProperties):
"""
This is a marker class, used to indicate that we
@@ -39,23 +36,17 @@
POSIX path separator.
"""
- implements(IRenderable)
- compare_attrs = ('fmtstring', 'args')
-
- def __init__(self, fmtstring, *args, **lambda_subs):
- WithProperties.__init__(self, fmtstring, *args, **lambda_subs)
-
def getRenderingFor(self, build):
# Upcall the base class first.
- p = WithProperties.getRenderingFor(self, build)
+ p = super().getRenderingFor(build)
# Then we need to figure out the buildslave OS:
- slave = build.build.slavebuilder.slave
- if slave.slave_system == 'posix':
+ worker = build.getBuild().workerforbuilder.worker
+ if worker.worker_system == 'posix':
# Note: Do not call normpath here, as it could
# change the path meaning if links used.
- p = slave.path_module.normcase(p)
- elif slave.slave_system in ('win32', 'nt'):
+ p = worker.path_module.normcase(p)
+ elif worker.worker_system in ('win32', 'nt'):
# Preserve the case, only replace
# the path separator to the POSIX one.
p = p.replace('\\','/')