From cbe19f0809f859674d40e1d52b3052c90933d353 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Thu, 31 Oct 2024 14:41:21 -0400
Subject: [PATCH 1/9] Extract JS in columnHeaders.jelly
---
.../PipelineHeaderExtension/columnHeader.jelly | 13 ++++++++-----
.../pipeline-column-headers.js | 13 +++++++++++++
2 files changed, 21 insertions(+), 5 deletions(-)
create mode 100644 src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
index 54399419..472c545c 100644
--- a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
@@ -27,11 +27,14 @@
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
new file mode 100644
index 00000000..7c8bfa65
--- /dev/null
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
@@ -0,0 +1,13 @@
+window.addEventListener("DOMContentLoaded", () => {
+ const projectDataHolders = document.querySelectorAll(".ch-project-data-holder");
+
+ projectDataHolders.forEach(dataHolder => {
+ const { projectId, proxyName, projectJson } = dataHolder.dataset;
+
+ buildPipeline.projectProxies[projectId] = window[proxyName];
+
+ const projectElement = document.getElementById("project-" + projectId);
+ const projectData = JSON.parse(projectJson);
+ projectElement.innerHTML = buildPipeline.projectCardTemplate(projectData);
+ });
+});
From ccdfa1dc1a77f5b838d987666be4d23ddd4a5293 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Thu, 31 Oct 2024 14:46:14 -0400
Subject: [PATCH 2/9] Extract JS in columnHeaders.jelly
---
.../extension/PipelineHeaderExtension/columnHeader.jelly | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
index 472c545c..a9b7209b 100644
--- a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
@@ -30,11 +30,6 @@
-
-
-
-
-
From f49351245247287b63685ad217bdb9f51cdbae41 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Tue, 5 Nov 2024 18:27:36 -0500
Subject: [PATCH 3/9] simplify proxy
---
.../extension/PipelineHeaderExtension/columnHeader.jelly | 2 +-
.../PipelineHeaderExtension/pipeline-column-headers.js | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
index a9b7209b..6140ccbc 100644
--- a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/columnHeader.jelly
@@ -29,7 +29,7 @@
-
+
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
index 7c8bfa65..2d024927 100644
--- a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
@@ -2,9 +2,9 @@ window.addEventListener("DOMContentLoaded", () => {
const projectDataHolders = document.querySelectorAll(".ch-project-data-holder");
projectDataHolders.forEach(dataHolder => {
- const { projectId, proxyName, projectJson } = dataHolder.dataset;
+ const { projectId, projectJson } = dataHolder.dataset;
- buildPipeline.projectProxies[projectId] = window[proxyName];
+ buildPipeline.projectProxies[projectId] = window["projectProxy" + projectId];
const projectElement = document.getElementById("project-" + projectId);
const projectData = JSON.parse(projectJson);
From 0a4c4fe01a7872b193fa3bb872240079f777b669 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Tue, 5 Nov 2024 20:22:15 -0500
Subject: [PATCH 4/9] return positive ids
---
.../hudson/plugin/buildpipeline/BuildForm.java | 7 ++++---
.../hudson/plugin/buildpipeline/ProjectForm.java | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
index 25a65a87..8faa0d72 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
@@ -129,11 +129,11 @@ public List getDependencyIds() {
*/
@JavaScriptMethod
public String asJSON() {
- return BuildJSONBuilder.asJSON(context, pipelineBuild, id, projectId, getDependencyIds(), getParameterList());
+ return BuildJSONBuilder.asJSON(context, pipelineBuild, getId(), getProjectId(), getDependencyIds(), getParameterList());
}
public int getId() {
- return id;
+ return Math.abs(id);
}
/**
@@ -171,7 +171,8 @@ public ArrayList getParameterList() {
}
public Integer getProjectId() {
- return projectId;
+
+ return Math.abs(projectId);
}
public AbstractBuild, ?> getCurrentBuild() {
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
index e8c8bb30..3cc7c30f 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
@@ -240,7 +240,7 @@ public boolean equals(final Object obj) {
}
public int getId() {
- return name.hashCode();
+ return Math.abs(name.hashCode());
}
/**
From dbbcc7dfee1de158910b77fa8fdce36f571e01c9 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Tue, 5 Nov 2024 20:22:51 -0500
Subject: [PATCH 5/9] return positive ids
---
.../centrumsystems/hudson/plugin/buildpipeline/BuildForm.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
index 8faa0d72..e5b04a4c 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
@@ -171,7 +171,6 @@ public ArrayList getParameterList() {
}
public Integer getProjectId() {
-
return Math.abs(projectId);
}
From 8fedd289dbf478dddce5851d457033a8eb0a86e0 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Wed, 6 Nov 2024 08:07:19 -0500
Subject: [PATCH 6/9] Bad attempt to compute absolute value of signed 32-bit
hashcode in
au.com.centrumsystems.hudson.plugin.buildpipeline.ProjectForm.getId()
---
.../hudson/plugin/buildpipeline/BuildForm.java | 6 +++---
.../hudson/plugin/buildpipeline/ProjectForm.java | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
index e5b04a4c..25a65a87 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
@@ -129,11 +129,11 @@ public List getDependencyIds() {
*/
@JavaScriptMethod
public String asJSON() {
- return BuildJSONBuilder.asJSON(context, pipelineBuild, getId(), getProjectId(), getDependencyIds(), getParameterList());
+ return BuildJSONBuilder.asJSON(context, pipelineBuild, id, projectId, getDependencyIds(), getParameterList());
}
public int getId() {
- return Math.abs(id);
+ return id;
}
/**
@@ -171,7 +171,7 @@ public ArrayList getParameterList() {
}
public Integer getProjectId() {
- return Math.abs(projectId);
+ return projectId;
}
public AbstractBuild, ?> getCurrentBuild() {
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
index 3cc7c30f..e8c8bb30 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
@@ -240,7 +240,7 @@ public boolean equals(final Object obj) {
}
public int getId() {
- return Math.abs(name.hashCode());
+ return name.hashCode();
}
/**
From 874f74e9817b41c7aa56105c00ac07fe72f20444 Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Wed, 6 Nov 2024 08:45:55 -0500
Subject: [PATCH 7/9] mask negative bit in project id
---
.../centrumsystems/hudson/plugin/buildpipeline/BuildForm.java | 2 +-
.../centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
index 25a65a87..32ee6882 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
@@ -94,7 +94,7 @@ private BuildForm(ItemGroup context, final PipelineBuild pipelineBuild, final Co
}
id = hashCode();
final AbstractProject, ?> project = pipelineBuild.getProject();
- projectId = project.getFullName().hashCode();
+ projectId = project.getFullName().hashCode() & 0x7FFFFFFF;
final ParametersDefinitionProperty params = project.getProperty(ParametersDefinitionProperty.class);
final ArrayList paramList = new ArrayList();
if (params != null && params.getParameterDefinitionNames() != null) {
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
index e8c8bb30..8fbda5f2 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
@@ -240,7 +240,7 @@ public boolean equals(final Object obj) {
}
public int getId() {
- return name.hashCode();
+ return name.hashCode() & 0x7FFFFFFF;
}
/**
From 52ad7b9e996ac9d5b97d62a278330871fdc244df Mon Sep 17 00:00:00 2001
From: shlomomdahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Fri, 8 Nov 2024 15:38:07 -0500
Subject: [PATCH 8/9] remove lines from separate bugfix. addressed in
https://github.com/jenkinsci/build-pipeline-plugin/pull/157
---
.../centrumsystems/hudson/plugin/buildpipeline/BuildForm.java | 2 +-
.../centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
index 32ee6882..25a65a87 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/BuildForm.java
@@ -94,7 +94,7 @@ private BuildForm(ItemGroup context, final PipelineBuild pipelineBuild, final Co
}
id = hashCode();
final AbstractProject, ?> project = pipelineBuild.getProject();
- projectId = project.getFullName().hashCode() & 0x7FFFFFFF;
+ projectId = project.getFullName().hashCode();
final ParametersDefinitionProperty params = project.getProperty(ParametersDefinitionProperty.class);
final ArrayList paramList = new ArrayList();
if (params != null && params.getParameterDefinitionNames() != null) {
diff --git a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
index 8fbda5f2..e8c8bb30 100644
--- a/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
+++ b/src/main/java/au/com/centrumsystems/hudson/plugin/buildpipeline/ProjectForm.java
@@ -240,7 +240,7 @@ public boolean equals(final Object obj) {
}
public int getId() {
- return name.hashCode() & 0x7FFFFFFF;
+ return name.hashCode();
}
/**
From dc72e87968979271e34a35da4aac4820cef3d784 Mon Sep 17 00:00:00 2001
From: Shlomo Dahan <64103471+shlomomdahan@users.noreply.github.com>
Date: Mon, 25 Nov 2024 09:21:38 -0500
Subject: [PATCH 9/9] Update pipeline-column-headers.js
---
.../PipelineHeaderExtension/pipeline-column-headers.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
index 2d024927..c7fe10a4 100644
--- a/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
+++ b/src/main/resources/au/com/centrumsystems/hudson/plugin/buildpipeline/extension/PipelineHeaderExtension/pipeline-column-headers.js
@@ -1,4 +1,4 @@
-window.addEventListener("DOMContentLoaded", () => {
+document.addEventListener("DOMContentLoaded", () => {
const projectDataHolders = document.querySelectorAll(".ch-project-data-holder");
projectDataHolders.forEach(dataHolder => {
| | |