[PATCH] D107193: [Zorg] Honor clean_obj in WebUI.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 13 07:45:53 PST 2022


Meinersbur updated this revision to Diff 399678.
Meinersbur edited the summary of this revision.
Meinersbur added a comment.

- Rebase


Repository:
  rZORG LLVM Github Zorg

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107193/new/

https://reviews.llvm.org/D107193

Files:
  zorg/buildbot/builders/OpenMPBuilder.py
  zorg/buildbot/builders/PollyBuilder.py


Index: zorg/buildbot/builders/PollyBuilder.py
===================================================================
--- zorg/buildbot/builders/PollyBuilder.py
+++ zorg/buildbot/builders/PollyBuilder.py
@@ -45,8 +45,12 @@
 
     depends_on_projects = ['llvm','clang','polly']
 
-    cleanBuildRequestedByProperty = lambda step: step.build.getProperty("clean", False)
-    cleanBuildRequested = lambda step: clean or step.build.getProperty("clean", default=step.build.getProperty("clean_obj"))
+    # If true, clean everything, including source dirs
+    def cleanBuildRequested(step):
+        return step.build.getProperty("clean")
+    # If true, clean build products; implied if cleanBuildRequested is true
+    def cleanObjRequested(step):
+        return cleanBuildRequested(step) or clean or step.build.getProperty("clean_obj")
 
     f = LLVMBuildFactory(
             depends_on_projects=depends_on_projects,
@@ -59,7 +63,7 @@
     f.addStep(steps.RemoveDirectory(name='clean-src-dir',
                            dir=f.monorepo_dir,
                            warnOnFailure=True,
-                           doStepIf=cleanBuildRequestedByProperty))
+                           doStepIf=cleanBuildRequested))
 
     # Get the source code.
     f.addGetSourcecodeSteps(**kwargs)
@@ -68,7 +72,7 @@
     f.addStep(steps.RemoveDirectory(name='clean-build-dir',
                            dir=llvm_objdir,
                            warnOnFailure=True,
-                           doStepIf=cleanBuildRequested))
+                           doStepIf=cleanObjRequested))
 
     # Create configuration files with cmake
     cmakeCommand = ["cmake", "../%s/llvm" % llvm_srcdir,
@@ -106,7 +110,7 @@
         f.addStep(steps.RemoveDirectory(name='clean-install-dir',
                                dir=llvm_instdir,
                                haltOnFailure=False,
-                               doStepIf=cleanBuildRequested))
+                               doStepIf=cleanObjRequested))
 
         f.addStep(ShellCommand(name="install",
                                command=install_cmd,
@@ -141,7 +145,7 @@
                            dir=testsuite_srcdir,
                            haltOnFailure=False,
                            warnOnFailure=True,
-                           doStepIf=cleanBuildRequestedByProperty))
+                           doStepIf=cleanBuildRequested))
 
         f.addGetSourcecodeForProject(
             project='test-suite',
Index: zorg/buildbot/builders/OpenMPBuilder.py
===================================================================
--- zorg/buildbot/builders/OpenMPBuilder.py
+++ zorg/buildbot/builders/OpenMPBuilder.py
@@ -38,8 +38,12 @@
     testsuite_builddir = "test-suite.build"
     sollvevv_srcdir = "sollvevv.src"
 
-    cleanBuildRequested = lambda step: clean or step.build.getProperty("clean", default=step.build.getProperty("clean_obj"))
-    cleanBuildRequestedByProperty = lambda step: step.build.getProperty("clean")
+    # If true, clean everything, including source dirs
+    def cleanBuildRequested(step):
+        return step.build.getProperty("clean")
+    # If true, clean build products; implied if cleanBuildRequested is true
+    def cleanObjRequested(step):
+        return cleanBuildRequested(step) or clean or step.build.getProperty("clean_obj")
 
     if depends_on_projects is None:
         # Monorepo configuration requires llvm and clang to get cmake work.
@@ -54,15 +58,10 @@
             env=merged_env,
             **kwargs) # Pass through all the extra arguments.
 
-    f.addStep(
-        ShellCommand(
-            name            = 'clean',
-            command         = ['rm', '-rf', f.obj_dir],
-            warnOnFailure   = True,
-            description     = ['clean'],
-            doStepIf        = cleanBuildRequested,
-            workdir         = '.',
-            env             = merged_env))
+    f.addStep(steps.RemoveDirectory(name='clean',
+                           dir=f.obj_dir,
+                           warnOnFailure=True,
+                           doStepIf=cleanObjRequested))
 
     # Configure LLVM and OpenMP (and Clang, if requested).
     cmake_args = ['-DCMAKE_BUILD_TYPE=Release', '-DLLVM_ENABLE_ASSERTIONS=ON']


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107193.399678.patch
Type: text/x-patch
Size: 4239 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220113/a5b1fc5c/attachment.bin>


More information about the llvm-commits mailing list