diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index d85d38e58838e55a30b92f219dcb6bbda68448ec..03970330778141440c8d48b9fbafe1a428a1fdb2 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -171,6 +171,10 @@ public abstract class Computer extends AbstractModelObject { public List getTiedJobs() { return getNode().getSelfLabel().getTiedJobs(); } + + public RunList getBuilds() { + return new RunList(Hudson.getInstance().getAllItems(Job.class)).node(getNode()); + } /** * Called to notify {@link Computer} that its corresponding {@link Node} diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index 0581ceb26348a4133a728acde59c32ff8f7af52c..e4bac4b8d419af70ba39a9f3a26a2ef40b835848 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -247,6 +247,10 @@ public abstract class View extends AbstractModelObject { public void doRssFailed( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException { rss(req, rsp, " failed builds", new RunList(this).failureOnly()); } + + public RunList getBuilds() { + return new RunList(this); + } private void rss(StaplerRequest req, StaplerResponse rsp, String suffix, RunList runs) throws IOException, ServletException { RSS.forwardToRss(getDisplayName()+ suffix, getUrl(), diff --git a/core/src/main/java/hudson/util/RunList.java b/core/src/main/java/hudson/util/RunList.java index 67dc8199b1ada01910610824f231bb6df53814bb..7ea765a2949af3174f54c624449af0aba6f09e19 100644 --- a/core/src/main/java/hudson/util/RunList.java +++ b/core/src/main/java/hudson/util/RunList.java @@ -1,10 +1,12 @@ package hudson.util; +import hudson.model.AbstractBuild; +import hudson.model.Item; import hudson.model.Job; +import hudson.model.Node; import hudson.model.Result; import hudson.model.Run; import hudson.model.View; -import hudson.model.Item; import java.util.ArrayList; import java.util.Calendar; @@ -59,6 +61,21 @@ public class RunList extends ArrayList { return this; } + /** + * Filter the list to builds on a single node only + */ + public RunList node(Node node) { + for (Iterator itr = iterator(); itr.hasNext();) { + Run r = itr.next(); + if (r instanceof AbstractBuild) { + if (!((AbstractBuild) r).getBuiltOn().equals(node)) { + itr.remove(); + } + } + } + return this; + } + /** * Filter the list to regression builds only. */ diff --git a/core/src/main/resources/hudson/model/Computer/builds.jelly b/core/src/main/resources/hudson/model/Computer/builds.jelly new file mode 100644 index 0000000000000000000000000000000000000000..97346738ed1fafdbd9f04ab11d9b586c30cca3cc --- /dev/null +++ b/core/src/main/resources/hudson/model/Computer/builds.jelly @@ -0,0 +1,12 @@ + + + + +

+ + Build History on ${it.displayName} +

+ +
+
+
diff --git a/core/src/main/resources/hudson/model/Computer/sidepanel.jelly b/core/src/main/resources/hudson/model/Computer/sidepanel.jelly index d0e198c16b38a02564de5ad4aa8e2a0a24185d46..6b57c2ee0f93d2fd2de6aca799e7658460dc568a 100644 --- a/core/src/main/resources/hudson/model/Computer/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/Computer/sidepanel.jelly @@ -6,6 +6,7 @@ + \ No newline at end of file diff --git a/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly b/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly index e0cb9fa665eabbc06b77b31e88065805445d023d..bf4d3a6cb7f553f21fa214a49b9cea2d30611e89 100644 --- a/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/Slave/ComputerImpl/sidepanel.jelly @@ -7,6 +7,7 @@ + diff --git a/core/src/main/resources/hudson/model/User/builds.jelly b/core/src/main/resources/hudson/model/User/builds.jelly index 8aee85de02ef34eba1f953cb12d63d362ade9276..480e9b025f04cfe3e056529086902ffeda8e2ccb 100644 --- a/core/src/main/resources/hudson/model/User/builds.jelly +++ b/core/src/main/resources/hudson/model/User/builds.jelly @@ -6,45 +6,7 @@ Builds for ${it} - - - - - - - - - - - - - - - - - - - - -
{$%Build}${%Date}${%Status}
- - ${b.iconColor.description} - - - ${b.project.name} - - #${b.number} - - ${b.timestampString} - - - - - - -
- + \ No newline at end of file diff --git a/core/src/main/resources/hudson/model/View/builds.jelly b/core/src/main/resources/hudson/model/View/builds.jelly new file mode 100644 index 0000000000000000000000000000000000000000..6e6f1a10629a41bf888c8d44081e5ad5e94fa166 --- /dev/null +++ b/core/src/main/resources/hudson/model/View/builds.jelly @@ -0,0 +1,12 @@ + + + + +

+ + Build History of ${it.displayName} +

+ +
+
+
diff --git a/core/src/main/resources/hudson/model/View/sidepanel.jelly b/core/src/main/resources/hudson/model/View/sidepanel.jelly index cc259842dca28cec5d8794e4e096f4b13dba081d..e001314b7acbb48c426139a28fa8d3af4c821558 100644 --- a/core/src/main/resources/hudson/model/View/sidepanel.jelly +++ b/core/src/main/resources/hudson/model/View/sidepanel.jelly @@ -15,6 +15,7 @@ +
diff --git a/core/src/main/resources/lib/hudson/buildListTable.jelly b/core/src/main/resources/lib/hudson/buildListTable.jelly new file mode 100644 index 0000000000000000000000000000000000000000..9006fd70fc64cb8342ad1c91a3dd8d254ad974bc --- /dev/null +++ b/core/src/main/resources/lib/hudson/buildListTable.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + +
${%Build}${%Date}${%Status}
+ + ${b.iconColor.description} + + + ${b.project.name} + + #${b.number} + + ${b.timestampString} + + + + + + +
+ +
\ No newline at end of file diff --git a/core/src/main/resources/hudson/model/User/builds_de.properties b/core/src/main/resources/lib/hudson/buildListTable_de.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_de.properties rename to core/src/main/resources/lib/hudson/buildListTable_de.properties diff --git a/core/src/main/resources/hudson/model/User/builds_fr.properties b/core/src/main/resources/lib/hudson/buildListTable_fr.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_fr.properties rename to core/src/main/resources/lib/hudson/buildListTable_fr.properties diff --git a/core/src/main/resources/hudson/model/User/builds_ja.properties b/core/src/main/resources/lib/hudson/buildListTable_ja.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_ja.properties rename to core/src/main/resources/lib/hudson/buildListTable_ja.properties diff --git a/core/src/main/resources/hudson/model/User/builds_pt_BR.properties b/core/src/main/resources/lib/hudson/buildListTable_pt_BR.properties similarity index 100% rename from core/src/main/resources/hudson/model/User/builds_pt_BR.properties rename to core/src/main/resources/lib/hudson/buildListTable_pt_BR.properties