From ec32c159e2117bda2bd550ec4c2eb7eed2e2b4a5 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sat, 12 Aug 2023 19:54:39 -0700 Subject: [PATCH 01/42] Add Java 21 to supported Java versions (#8365) --- war/src/main/java/executable/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/src/main/java/executable/Main.java b/war/src/main/java/executable/Main.java index 0922f88a9446..1a537e46825e 100644 --- a/war/src/main/java/executable/Main.java +++ b/war/src/main/java/executable/Main.java @@ -73,7 +73,7 @@ public class Main { private static final NavigableSet SUPPORTED_JAVA_VERSIONS = - new TreeSet<>(Arrays.asList(11, 17)); + new TreeSet<>(Arrays.asList(11, 17, 21)); /** * Sets custom session cookie name. From c5b3204ce684aea661a9557d2a716a4d3d0082b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 13 Aug 2023 08:38:03 +0100 Subject: [PATCH 02/42] Update dependency sass to v1.65.1 (#8366) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 8e8b4d451ebe..33d4fe84079e 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.1.1", "postcss-scss": "4.0.6", "prettier": "3.0.1", - "sass": "1.64.2", + "sass": "1.65.1", "sass-loader": "13.3.2", "style-loader": "3.3.3", "stylelint": "15.10.2", diff --git a/war/yarn.lock b/war/yarn.lock index df621ad6ddce..5868ec9abbb3 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4369,7 +4369,7 @@ __metadata: postcss-preset-env: 9.1.1 postcss-scss: 4.0.6 prettier: 3.0.1 - sass: 1.64.2 + sass: 1.65.1 sass-loader: 13.3.2 sortablejs: 1.15.0 style-loader: 3.3.3 @@ -6412,16 +6412,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.64.2": - version: 1.64.2 - resolution: "sass@npm:1.64.2" +"sass@npm:1.65.1": + version: 1.65.1 + resolution: "sass@npm:1.65.1" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 43a5c9b9b3b6ba27feb5c45eba90edc437b15a30fd443f5d2623bbd59fe4a922f2a6a9990296c6a6c2b5bce7f401922c5049357415f50b745952c2d478bc5526 + checksum: 33e325fc80cd07489992e0814cd4929496f87493ffe78c423c2dbafa5746a574e6f3bde20c2a3e4ea47b16ee3d6bc5afcf1d36b405227b829d6c4c9ddcc7f8e2 languageName: node linkType: hard From 6eee0bf6dcff892512b7c2c130ac6c6eb84af079 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 19:12:21 +0100 Subject: [PATCH 03/42] Update dependency eslint to v8.47.0 (#8373) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/war/package.json b/war/package.json index 33d4fe84079e..363ea601b452 100644 --- a/war/package.json +++ b/war/package.json @@ -30,7 +30,7 @@ "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", "css-minimizer-webpack-plugin": "5.0.1", - "eslint": "8.46.0", + "eslint": "8.47.0", "eslint-config-prettier": "9.0.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", diff --git a/war/yarn.lock b/war/yarn.lock index 5868ec9abbb3..57535318721c 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1734,9 +1734,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.1": - version: 2.1.1 - resolution: "@eslint/eslintrc@npm:2.1.1" +"@eslint/eslintrc@npm:^2.1.2": + version: 2.1.2 + resolution: "@eslint/eslintrc@npm:2.1.2" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -1747,14 +1747,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: bf909ea183d27238c257a82d4ffdec38ca94b906b4b8dfae02ecbe7ecc9e5a8182ef5e469c808bb8cb4fea4750f43ac4ca7c4b4a167b6cd7e3aaacd386b2bd25 + checksum: bc742a1e3b361f06fedb4afb6bf32cbd27171292ef7924f61c62f2aed73048367bcc7ac68f98c06d4245cd3fabc43270f844e3c1699936d4734b3ac5398814a7 languageName: node linkType: hard -"@eslint/js@npm:^8.46.0": - version: 8.46.0 - resolution: "@eslint/js@npm:8.46.0" - checksum: 7aed479832302882faf5bec37e9d068f270f84c19b3fb529646a7c1b031e73a312f730569c78806492bc09cfce3d7651dfab4ce09a56cbb06bc6469449e56377 +"@eslint/js@npm:^8.47.0": + version: 8.47.0 + resolution: "@eslint/js@npm:8.47.0" + checksum: 0ef57fe27b6d4c305b33f3b2d2fee1ab397a619006f1d6f4ce5ee4746b8f03d11a4e098805a7d78601ca534cf72917d37f0ac19896c992a32e26299ecb9f9de1 languageName: node linkType: hard @@ -3490,21 +3490,21 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.2": - version: 3.4.2 - resolution: "eslint-visitor-keys@npm:3.4.2" - checksum: 9e0e7e4aaea705c097ae37c97410e5f167d4d2193be2edcb1f0760762ede3df01545e4820ae314f42dcec687745f2c6dcaf6d83575c4a2a241eb0c8517d724f2 +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 languageName: node linkType: hard -"eslint@npm:8.46.0": - version: 8.46.0 - resolution: "eslint@npm:8.46.0" +"eslint@npm:8.47.0": + version: 8.47.0 + resolution: "eslint@npm:8.47.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.1 - "@eslint/js": ^8.46.0 + "@eslint/eslintrc": ^2.1.2 + "@eslint/js": ^8.47.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -3515,7 +3515,7 @@ __metadata: doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 eslint-scope: ^7.2.2 - eslint-visitor-keys: ^3.4.2 + eslint-visitor-keys: ^3.4.3 espree: ^9.6.1 esquery: ^1.4.2 esutils: ^2.0.2 @@ -3540,7 +3540,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 7a7d36b1a3bbc12e08fbb5bc36fd482a7a5a1797e62e762499dd45601b9e45aaa53a129f31ce0b4444551a9639b8b681ad535f379893dd1e3ae37b31dccd82aa + checksum: 1988617f703eadc5c7540468d54dc8e5171cf2bb9483f6172799cd1ff54a9a5e4470f003784e8cef92687eaa14de37172732787040e67817581a20bcb9c15970 languageName: node linkType: hard @@ -4356,7 +4356,7 @@ __metadata: clean-webpack-plugin: 4.0.0 css-loader: 6.8.1 css-minimizer-webpack-plugin: 5.0.1 - eslint: 8.46.0 + eslint: 8.47.0 eslint-config-prettier: 9.0.0 handlebars: 4.7.8 handlebars-loader: 1.7.3 From ac31b400ee42c639183ab9b047221ba8a8465094 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 14:07:52 -0700 Subject: [PATCH 04/42] Bump org.jenkins-ci.plugins:matrix-project from 802.v8013b_40c7edc to 808.v5a_b_5f56d6966 (#8374) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index ecf8f7ecbbaf..7b732486561a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -215,7 +215,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-project - 802.v8013b_40c7edc + 808.v5a_b_5f56d6966 test From 8ef741e10a9e511ff716b0a9726680e514653327 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Aug 2023 14:08:46 -0700 Subject: [PATCH 05/42] Update jenkins/ath Docker tag to v5695 (#8369) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- ath.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ath.sh b/ath.sh index 7cea1919f4ae..d4d0c0e3f85a 100644 --- a/ath.sh +++ b/ath.sh @@ -6,7 +6,7 @@ set -o xtrace cd "$(dirname "$0")" # https://github.com/jenkinsci/acceptance-test-harness/releases -export ATH_VERSION=5691.v64cd2e005b_8b_ +export ATH_VERSION=5695.ve1f0439c5a_51 if [[ $# -eq 0 ]]; then export JDK=17 From 23139f7b1be9e20b1bcaa76416327163a3ea591a Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 15 Aug 2023 12:57:57 +0000 Subject: [PATCH 06/42] [maven-release-plugin] prepare release jenkins-2.419 --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 4 ++-- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 537d08f11a36..9e163a4c80b5 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 56560342e5f4..1875ba6a3d67 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 cli diff --git a/core/pom.xml b/core/pom.xml index 26f9a102c81e..8f17cced7958 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..eb05804382b9 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 jenkins-coverage diff --git a/pom.xml b/pom.xml index bb4fefcbc318..f81770ea5da2 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - ${scmTag} + jenkins-2.419 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index 7b732486561a..1bf7c9bc957d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 963a3b0d50fc..e6467348e195 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..516deca58f73 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..04d62fa6e6d0 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.419 ../.. From ecac913d5ce023fcda7c4cb79d101ae9489bbe08 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 15 Aug 2023 12:58:08 +0000 Subject: [PATCH 07/42] [maven-release-plugin] prepare for next development iteration --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 6 +++--- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 9e163a4c80b5..537d08f11a36 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 1875ba6a3d67..56560342e5f4 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 8f17cced7958..26f9a102c81e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index eb05804382b9..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index f81770ea5da2..078ae5d1a9de 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - jenkins-2.419 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.419 + 2.420 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 1bf7c9bc957d..7b732486561a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index e6467348e195..963a3b0d50fc 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 516deca58f73..eb4a169a59d1 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 04d62fa6e6d0..77abcc3b7248 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.419 + ${revision}${changelist} ../.. From dfb83f6d158638ba64282cbd57d5d5decbeeee15 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:37:55 +0100 Subject: [PATCH 08/42] Deprecate `findAncestor` and `findAncestorClass` (#8357) --- .../main/resources/lib/form/apply/apply.js | 2 +- .../lib/form/radioBlock/radioBlock.js | 2 +- .../lib/form/repeatable/repeatable.js | 2 +- .../main/webapp/scripts/hudson-behavior.js | 20 +++++++++++++------ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/core/src/main/resources/lib/form/apply/apply.js b/core/src/main/resources/lib/form/apply/apply.js index d67d9306173d..c79c9ce7dbcf 100644 --- a/core/src/main/resources/lib/form/apply/apply.js +++ b/core/src/main/resources/lib/form/apply/apply.js @@ -29,7 +29,7 @@ Behaviour.specify( } e.addEventListener("click", function (e) { - var f = findAncestor(e.target, "FORM"); + var f = e.target.closest("FORM"); // create a throw-away IFRAME to avoid back button from loading the POST result back id = "iframe" + iota++; diff --git a/core/src/main/resources/lib/form/radioBlock/radioBlock.js b/core/src/main/resources/lib/form/radioBlock/radioBlock.js index b504ddeb0d54..4620e5b3bc05 100644 --- a/core/src/main/resources/lib/form/radioBlock/radioBlock.js +++ b/core/src/main/resources/lib/form/radioBlock/radioBlock.js @@ -55,7 +55,7 @@ Behaviour.specify( g.buttons = []; } - var s = findAncestorClass(r, "radio-block-start"); + var s = r.closest(".radio-block-start"); s.setAttribute("ref", r.id); // find the end node diff --git a/core/src/main/resources/lib/form/repeatable/repeatable.js b/core/src/main/resources/lib/form/repeatable/repeatable.js index b72ef304a037..89f2d57b12d6 100644 --- a/core/src/main/resources/lib/form/repeatable/repeatable.js +++ b/core/src/main/resources/lib/form/repeatable/repeatable.js @@ -125,7 +125,7 @@ var repeatableSupport = { // called when 'delete' button is clicked onDelete: function (n) { - n = findAncestorClass(n, "repeated-chunk"); + n = n.closest(".repeated-chunk"); var a = new YAHOO.util.Anim( n, { diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index dc9c0a5605fe..e3ecebc5c934 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -438,12 +438,21 @@ function qs(owner) { }; } -// find the nearest ancestor node that has the given tag name +// @deprecated Use standard javascript method `e.closest(tagName)` instead +// eslint-disable-next-line no-unused-vars function findAncestor(e, tagName) { + console.warn( + "Deprecated call to findAncestor - use standard javascript method `e.closest(tagName)` instead", + ); return e.closest(tagName); } +// @deprecated Use standard javascript method `e.closest(className)` instead +// eslint-disable-next-line no-unused-vars function findAncestorClass(e, cssClass) { + console.warn( + "Deprecated call to findAncestorClass - use standard javascript method `e.closest(className)` instead", + ); return e.closest("." + cssClass); } @@ -2023,10 +2032,9 @@ function updateOptionalBlock(c) { // Hack to hide tool home when "Install automatically" is checked. var homeField = findPreviousFormItem(c, "home"); if (homeField != null && homeField.value == "") { - var tr = - findAncestor(homeField, "TR") || findAncestorClass(homeField, "tr"); - if (tr != null) { - tr.style.display = c.checked ? "none" : ""; + const formItem = homeField.closest(".jenkins-form-item"); + if (formItem != null) { + formItem.style.display = c.checked ? "none" : ""; layoutUpdateCallback.call(); } } @@ -2443,7 +2451,7 @@ function findFormParent(e, form, isStatic) { if (form == null) { // caller can pass in null to have this method compute the owning form - form = findAncestor(e, "FORM"); + form = e.closest("FORM"); } while (e != form) { From 6e3b742ce8222099510ca3f472b4e162828c179a Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:38:09 +0100 Subject: [PATCH 09/42] Remove the addition of the 'has-help' class from `hudson-behaviour.js` (#8355) --- war/src/main/webapp/scripts/hudson-behavior.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index e3ecebc5c934..258dfbdf395a 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -1381,7 +1381,6 @@ function rowvgStartEachRow(recursive, f) { function (e) { e.onclick = helpButtonOnClick; e.tabIndex = 9999; // make help link unnavigable from keyboard - e.parentNode.parentNode.classList.add("has-help"); }, ); @@ -1389,7 +1388,6 @@ function rowvgStartEachRow(recursive, f) { Behaviour.specify("A.help-button", "a-help-button", ++p, function (e) { e.onclick = helpButtonOnClick; e.tabIndex = 9999; // make help link unnavigable from keyboard - e.parentNode.parentNode.classList.add("has-help"); }); // Script Console : settings and shortcut key From a8a144d72a1b71fbc4646eae547b44adeabe84b4 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:38:20 +0100 Subject: [PATCH 10/42] Update the design of the content blocks (#8363) Co-authored-by: Tim Jacomb Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- .../hudson/model/AllView/noJob.groovy | 22 ++---- .../resources/hudson/model/View/main.groovy | 2 +- .../jenkins/agents/CloudSet/index.jelly | 8 +- war/src/main/scss/abstracts/mixins.scss | 4 + war/src/main/scss/modules/content-blocks.scss | 77 ++++++------------- 5 files changed, 38 insertions(+), 75 deletions(-) diff --git a/core/src/main/resources/hudson/model/AllView/noJob.groovy b/core/src/main/resources/hudson/model/AllView/noJob.groovy index 6f5a7adeab68..6daf221b403e 100644 --- a/core/src/main/resources/hudson/model/AllView/noJob.groovy +++ b/core/src/main/resources/hudson/model/AllView/noJob.groovy @@ -31,9 +31,7 @@ div { a(href: "newJob", class: "content-block__link") { span(_("createJob")) span(class: "trailing-icon") { - l.icon( - class: "icon-md", - src: "symbol-arrow-right") + l.icon(src: "symbol-add") } } } @@ -48,9 +46,7 @@ div { a(href: "computer/new", class: "content-block__link") { span(_("setUpAgent")) span(class: "trailing-icon") { - l.icon( - class: "icon-md", - src: "symbol-arrow-right") + l.icon(src: "symbol-computer") } } } @@ -60,9 +56,7 @@ div { a(href: "cloud/", class: "content-block__link") { span(_("setUpCloud")) span(class: "trailing-icon") { - l.icon( - class: "icon-md", - src: "symbol-arrow-right") + l.icon(src: "symbol-cloud") } } } @@ -71,12 +65,10 @@ div { li(class: "content-block") { a(href: "https://www.jenkins.io/redirect/distributed-builds", target: "_blank", - class: "content-block__link content-block__help-link") { + class: "content-block__link") { span(_("learnMoreDistributedBuilds")) span(class: "trailing-icon") { - l.icon( - class: "icon-md", - src: "symbol-link") + l.icon(src: "symbol-help-circle") } } } @@ -96,9 +88,7 @@ div { a(href: "newJob", class: "content-block__link") { span(_("createJob")) span(class: "trailing-icon") { - l.icon( - class: "icon-md", - src: "symbol-arrow-right") + l.icon(src: "symbol-add") } } } diff --git a/core/src/main/resources/hudson/model/View/main.groovy b/core/src/main/resources/hudson/model/View/main.groovy index d01d2c734190..58a9ec86d864 100644 --- a/core/src/main/resources/hudson/model/View/main.groovy +++ b/core/src/main/resources/hudson/model/View/main.groovy @@ -22,4 +22,4 @@ if (items == null) { include(my.owner.viewsTabBar,"viewTabs") } } -} \ No newline at end of file +} diff --git a/core/src/main/resources/jenkins/agents/CloudSet/index.jelly b/core/src/main/resources/jenkins/agents/CloudSet/index.jelly index 7678b5251326..3062c25ad01d 100644 --- a/core/src/main/resources/jenkins/agents/CloudSet/index.jelly +++ b/core/src/main/resources/jenkins/agents/CloudSet/index.jelly @@ -90,7 +90,7 @@ THE SOFTWARE. class="content-block__link"> ${%newCloud} - + @@ -100,17 +100,17 @@ THE SOFTWARE. class="content-block__link"> ${%installCloudPlugin} - +
  • ${%learnMoreDistributedBuilds} - +
  • diff --git a/war/src/main/scss/abstracts/mixins.scss b/war/src/main/scss/abstracts/mixins.scss index 3ad87b9163b1..37060d09d19e 100644 --- a/war/src/main/scss/abstracts/mixins.scss +++ b/war/src/main/scss/abstracts/mixins.scss @@ -70,6 +70,10 @@ box-shadow: 0 0 0 0.66rem transparent; } + &:focus-visible { + outline: none; + } + &:not(:disabled) { &:hover, &:focus-visible { diff --git a/war/src/main/scss/modules/content-blocks.scss b/war/src/main/scss/modules/content-blocks.scss index 1832f1499f0c..a82722a7a2d2 100644 --- a/war/src/main/scss/modules/content-blocks.scss +++ b/war/src/main/scss/modules/content-blocks.scss @@ -1,81 +1,50 @@ @use "../abstracts/mixins"; -.content-block { - border-radius: 4px; - border: 2px solid var(--light-grey); -} - -.content-block__body { - padding: 1.5rem; -} - -.content-block__body > *:first-child { - margin-top: 0; -} - -.content-block__body > *:last-child { - margin-bottom: 0; -} - -.content-block__footer { - background-color: var(--light-grey); - padding: 0.5rem 1.5rem; -} - -.content-block__link-list { - padding: 0; -} - -.content-block__link-list li { - list-style: none; - width: 100%; - - &:not(:last-child) { - margin-bottom: 0.75rem; - } -} - .content-block__link { - padding: 0.5rem 1rem; + @include mixins.item; + display: flex; justify-content: space-between; - background-color: var(--light-grey); - - @include mixins.link-dark; - - &:focus { - outline-color: var(--focus); + align-items: center; + padding: 0.75rem 1.1rem; + color: var(--text-color) !important; + font-weight: 500; + text-decoration: none !important; + + &::before { + background: var(--button-background); } - .trailing-icon .svg-icon { - &.icon-sm { - height: 1.25rem; + .trailing-icon { + display: flex; + justify-content: center; + align-items: center; + width: 1.25rem; + height: 1.25rem; + + svg { width: 1.25rem; + height: 1.25rem; } } } -.content-block__help-link { - background-color: var(--white); -} - -// Empty state specific blocks - .empty-state-block { max-width: 600px; margin: 0 auto; - margin-top: 1.5rem; } .empty-state-section { - margin-top: 2rem; + margin-top: var(--section-padding); } .empty-state-section-list { + display: flex; + flex-direction: column; + gap: 0.625rem; padding: 0; li { list-style: none; - margin-bottom: 1rem; } } From 83085bac0081f7366abf9c74616b1b1a9ad62bb3 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:38:32 +0100 Subject: [PATCH 11/42] Display a notice when there are plugins installed or updates available (#8208) Co-authored-by: Alexander Brandes Co-authored-by: Alexander Brandes Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- .../hudson/PluginManager/_installed.js | 4 +- .../hudson/PluginManager/installed.jelly | 47 ++- .../hudson/PluginManager/updates.jelly | 341 +++++++++--------- .../jenkins/model/Jenkins/systemInfo.jelly | 37 +- .../resources/lib/layout/search-bar.jelly | 8 +- .../resources/images/symbols/up-to-date.svg | 1 + war/src/main/scss/form/search-bar.scss | 45 ++- 7 files changed, 244 insertions(+), 239 deletions(-) create mode 100644 war/src/main/resources/images/symbols/up-to-date.svg diff --git a/core/src/main/resources/hudson/PluginManager/_installed.js b/core/src/main/resources/hudson/PluginManager/_installed.js index e3712b850818..4b1018a24ce5 100644 --- a/core/src/main/resources/hudson/PluginManager/_installed.js +++ b/core/src/main/resources/hudson/PluginManager/_installed.js @@ -36,9 +36,7 @@ function updateMsg() { // has anything changed since its original state? let e = Array.from( - document - .getElementById("plugins") - .querySelectorAll("input[type='checkbox']"), + document.querySelectorAll("#plugins input[type='checkbox']"), ).find(function (e) { return String(e.checked) !== e.getAttribute("original"); }); diff --git a/core/src/main/resources/hudson/PluginManager/installed.jelly b/core/src/main/resources/hudson/PluginManager/installed.jelly index 9319b7acbe2e..b312e0f680f1 100644 --- a/core/src/main/resources/hudson/PluginManager/installed.jelly +++ b/core/src/main/resources/hudson/PluginManager/installed.jelly @@ -36,13 +36,17 @@ THE SOFTWARE. + +
    + value="${request.getParameter('filter')}" + enabled="${!noPlugins}" />
    @@ -67,29 +71,20 @@ THE SOFTWARE. data-detached-possible-dependents="${%detached-possible-dependents}" data-uninstall-description="${%uninstall-description}" /> - - - - - - - - - - - - - - - + + + + + +
    ${%Installed plugins}
    ${%No plugins installed.}
    - - - - - + + + + + @@ -274,9 +269,9 @@ THE SOFTWARE. - - -
    ${%Name}${%Enabled} - -
    ${%Name}${%Enabled} + +
    + + +
    @@ -63,183 +64,177 @@ THE SOFTWARE. - - - - - - - - - - - - - - - - - + + +
    - - - - - - ${%Name}${%Released}${%Installed}
    + + - + - + + + + + + + + + + + + - - - - - - - - - - - -
    - - - - + + + + + + - - - - - -
    - -
    -
    - -
    ${%compatWarning} - -
    ${%parentCompatWarning} -
    ${%Name}${%Released}${%Installed}
    + + + + + + + - - - -
    ${%coreWarning(p.requiredCore)}
    -
    - -
    - ${%Applying this update will address security vulnerabilities in the currently installed version.} -
    -
    - -
    ${%depCompatWarning} -
    ${%parentDepCompatWarning} - -
    -
    - -
    - ${%depCoreWarning(p.getNeededDependenciesRequiredCore().toString())} -
    -
    - -
    ${%securityWarning} - -
    -
    - -
    - ${%deprecationWarning(p.getDeprecation().url)} -
    -
    - -
    - ${%adoptThisPlugin} -
    -
    -
    - - - - - - - - - - - () - - - -
    -
    - ${%No updates} -
    -
    + +
    + +
    +
    + +
    ${%compatWarning} + +
    ${%parentCompatWarning} + +
    +
    +
    + +
    ${%coreWarning(p.requiredCore)}
    +
    + +
    + ${%Applying this update will address security vulnerabilities in the currently installed version.} +
    +
    + +
    ${%depCompatWarning} +
    ${%parentDepCompatWarning} + +
    +
    + +
    + ${%depCoreWarning(p.getNeededDependenciesRequiredCore().toString())} +
    +
    + +
    ${%securityWarning} + +
    +
    + +
    + ${%deprecationWarning(p.getDeprecation().url)} +
    +
    + +
    + ${%adoptThisPlugin} +
    +
    + + + + + + + + + + + + + + () + + + + + + + + + + + + diff --git a/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly b/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly index f9b6d5547b9e..554215da00c3 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly +++ b/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly @@ -50,24 +50,21 @@ THE SOFTWARE. - - - - - - - - - - - + + + + + + +
    ${%Name}${%Version}${%Enabled}
    + - + + + - - + + @@ -84,10 +81,10 @@ THE SOFTWARE. - - - -
    - ${%No plugins installed.} - ${%Name}${%Version}${%Enabled}
    + + + +
    diff --git a/core/src/main/resources/lib/layout/search-bar.jelly b/core/src/main/resources/lib/layout/search-bar.jelly index ac66f88a20a9..b86a15fef0d6 100644 --- a/core/src/main/resources/lib/layout/search-bar.jelly +++ b/core/src/main/resources/lib/layout/search-bar.jelly @@ -33,13 +33,16 @@ THE SOFTWARE. If false the default keyboard shortcut for the input is disabled. Defaults to true. + + Defaults to true. Sets whether the search bar is enabled or not. + Creates a search input @since 2.369
    -