Title: [40675] trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing: VIA William Whittle - Attached a patch to implement 'Block build when upstream project is building' and 'Block build when downstream project is building'.
Revision
40675
Author
jacob_robertson
Date
2012-07-22 10:03:52 -0400 (Sun, 22 Jul 2012)

Log Message

VIA William Whittle - Attached a patch to implement 'Block build when upstream project is building' and 'Block build when downstream project is building'.

Added Paths

Diff

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenDownstreamBuildingBoolSlicer.java (0 => 40675)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenDownstreamBuildingBoolSlicer.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenDownstreamBuildingBoolSlicer.java	2012-07-22 14:03:52 UTC (rev 40675)
@@ -0,0 +1,49 @@
+package configurationslicing.blockbuild;
+
+import java.io.IOException;
+import java.util.List;
+
+import configurationslicing.BooleanSlicer;
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import hudson.model.Hudson;
+
+@Extension
+public class BlockBuildWhenDownstreamBuildingBoolSlicer extends BooleanSlicer<AbstractProject<?,?>> {
+    public BlockBuildWhenDownstreamBuildingBoolSlicer() {
+        super(new BlockBuildWhenDownstreamBuildingSpec());
+    }
+    
+    public static class BlockBuildWhenDownstreamBuildingSpec implements BooleanSlicer.BooleanSlicerSpec<AbstractProject<?,?>>
+    {
+        public String getName() {
+            return "Block Build when Downstream Building Slicer (bool)";
+        }
+
+        public String getName(AbstractProject<?,?> item) {
+            return item.getName();
+        }
+
+        public String getUrl() {
+            return "blockBuildWhenDownstreamBuilding";
+        }
+
+        public boolean getValue(AbstractProject<?,?> item) {
+            return item.blockBuildWhenDownstreamBuilding();
+        }
+
+        public List<AbstractProject<?,?>> getWorkDomain() {
+            return (List)Hudson.getInstance().getItems(AbstractProject.class);
+        }
+
+        public boolean setValue(AbstractProject<?,?> item, boolean value) {
+            boolean oldval = item.blockBuildWhenDownstreamBuilding();
+            try {
+                item.setBlockBuildWhenDownstreamBuilding(value);
+            } catch (IOException e) {
+                return false;
+            }
+            return oldval != value;
+        }
+    }
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenDownstreamBuildingBoolSlicer.java
___________________________________________________________________

Added: svn:mime-type

Added: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenUpstreamBuildingBoolSlicer.java (0 => 40675)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenUpstreamBuildingBoolSlicer.java	                        (rev 0)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenUpstreamBuildingBoolSlicer.java	2012-07-22 14:03:52 UTC (rev 40675)
@@ -0,0 +1,49 @@
+package configurationslicing.blockbuild;
+
+import java.io.IOException;
+import java.util.List;
+
+import configurationslicing.BooleanSlicer;
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import hudson.model.Hudson;
+
+@Extension
+public class BlockBuildWhenUpstreamBuildingBoolSlicer extends BooleanSlicer<AbstractProject<?,?>> {
+    public BlockBuildWhenUpstreamBuildingBoolSlicer() {
+        super(new BlockBuildWhenUpstreamBuildingSpec());
+    }
+    
+    public static class BlockBuildWhenUpstreamBuildingSpec implements BooleanSlicer.BooleanSlicerSpec<AbstractProject<?,?>>
+    {
+        public String getName() {
+            return "Block Build when Upstream Building Slicer (bool)";
+        }
+
+        public String getName(AbstractProject<?,?> item) {
+            return item.getName();
+        }
+
+        public String getUrl() {
+            return "blockBuildWhenUpstreamBuilding";
+        }
+
+        public boolean getValue(AbstractProject<?,?> item) {
+            return item.blockBuildWhenUpstreamBuilding();
+        }
+
+        public List<AbstractProject<?,?>> getWorkDomain() {
+            return (List)Hudson.getInstance().getItems(AbstractProject.class);
+        }
+
+        public boolean setValue(AbstractProject<?,?> item, boolean value) {
+            boolean oldval = item.blockBuildWhenUpstreamBuilding();
+            try {
+                item.setBlockBuildWhenUpstreamBuilding(value);
+            } catch (IOException e) {
+                return false;
+            }
+            return oldval != value;
+        }
+    }
+}
Property changes on: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/blockbuild/BlockBuildWhenUpstreamBuildingBoolSlicer.java
___________________________________________________________________

Added: svn:mime-type

Reply via email to