From 0d8e1a2eca754f5025d7fc3c91df745a8d997178 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed, 23 Aug 2023 21:35:06 +0100 Subject: [PATCH 0001/1330] Init --- core/src/main/java/hudson/Functions.java | 12 ++++ .../lib/layout/keyboard-shortcut.jelly | 56 +++++++++++++++++ .../resources/lib/layout/search-bar.jelly | 7 ++- war/src/main/scss/components/_tooltips.scss | 60 +++++++++++++++++++ 4 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 core/src/main/resources/lib/layout/keyboard-shortcut.jelly diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 7f3411406780..8e6ac5683c48 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -2455,4 +2455,16 @@ static String guessIcon(String iconGuess, String rootURL) { public static String generateItemId() { return String.valueOf(Math.floor(Math.random() * 3000)); } + + @Restricted(NoExternalUse.class) + public static String translateModifierKeysForUsersPlatform(String keyboardShortcut) { + StaplerRequest currentRequest = Stapler.getCurrentRequest(); + currentRequest.getWebApp().getDispatchValidator().allowDispatch(currentRequest, Stapler.getCurrentResponse()); + String userAgent = currentRequest.getHeader("User-Agent"); + + List platformsThatUseCommand = List.of("MAC", "IPHONE", "IPAD"); + boolean useCmdKey = platformsThatUseCommand.stream().anyMatch(e -> userAgent.toUpperCase().contains(e)); + + return keyboardShortcut.replace("CMD", useCmdKey ? "⌘" : "CTRL"); + } } diff --git a/core/src/main/resources/lib/layout/keyboard-shortcut.jelly b/core/src/main/resources/lib/layout/keyboard-shortcut.jelly new file mode 100644 index 000000000000..92bbf4a59470 --- /dev/null +++ b/core/src/main/resources/lib/layout/keyboard-shortcut.jelly @@ -0,0 +1,56 @@ + + + + + + + Optional prefix to the shortcut + + + Optional suffix to the shortcut + + Displays a keyboard shortcut chip based on the component's body. + CMD/CTRL will automatically be translated to the user's operating system's appropriate variant. + + +
+ + + ${attrs.prefix} + + +
+ + + + +
+ + + ${attrs.suffix} + + +
+
diff --git a/core/src/main/resources/lib/layout/search-bar.jelly b/core/src/main/resources/lib/layout/search-bar.jelly index b86a15fef0d6..8dbe681fef93 100644 --- a/core/src/main/resources/lib/layout/search-bar.jelly +++ b/core/src/main/resources/lib/layout/search-bar.jelly @@ -58,7 +58,12 @@ THE SOFTWARE. spellcheck="false" disabled="${attrs.enabled == false ? true : null}" /> -
+ + + + + +
diff --git a/war/src/main/scss/components/_tooltips.scss b/war/src/main/scss/components/_tooltips.scss index 80a030b8c9c3..566093bb98fd 100644 --- a/war/src/main/scss/components/_tooltips.scss +++ b/war/src/main/scss/components/_tooltips.scss @@ -51,3 +51,63 @@ .jenkins-table .healthReportDetails { display: none !important; } + +.jenkins-tooltip__keyboard-shortcut { + display: flex; + align-items: center; + justify-content: center; + gap: 0.6ch; + + &__symbol { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 1.7em; + height: 1.7em; + padding-inline: 0.5ch; + + &::before, + &::after { + content: ""; + position: absolute; + inset: 0; + border-radius: 0.375rem; + border: 0.1rem solid var(--text-color-secondary); + opacity: 0.3; + } + + &::after { + mask-image: linear-gradient( + -45deg, + transparent 40%, + white, + transparent 60% + ); + mask-size: 200% 200%; + mask-position: center; + animation: shortcut-glow-animation 1.25s forwards linear; + } + + svg { + width: 1em; + height: 1em; + } + + @keyframes shortcut-glow-animation { + 0% { + opacity: 0; + mask-position: 100% 100%; + } + + 50% { + opacity: 1; + } + + 100% { + opacity: 0; + mask-position: 0; + } + } + } +} From 1783029921aa722b37fd59f58e027fd84fc0ec09 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Fri, 25 Aug 2023 22:03:11 +0100 Subject: [PATCH 0002/1330] yarn lint:fix --- war/src/main/scss/components/_tooltips.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/war/src/main/scss/components/_tooltips.scss b/war/src/main/scss/components/_tooltips.scss index 566093bb98fd..972db7310a36 100644 --- a/war/src/main/scss/components/_tooltips.scss +++ b/war/src/main/scss/components/_tooltips.scss @@ -79,10 +79,10 @@ &::after { mask-image: linear-gradient( - -45deg, - transparent 40%, - white, - transparent 60% + -45deg, + transparent 40%, + white, + transparent 60% ); mask-size: 200% 200%; mask-position: center; From 3996dc06fb0238b4eee2d71d8f67a8f10b320067 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 20 Nov 2023 15:26:36 +0000 Subject: [PATCH 0003/1330] Address comments --- core/src/main/java/hudson/Functions.java | 4 ++++ core/src/main/resources/lib/layout/keyboard-shortcut.jelly | 6 +++--- war/src/main/scss/components/_tooltips.scss | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index c12d1846181e..86d9e9c55d29 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -2475,6 +2475,10 @@ public static String generateItemId() { return String.valueOf(Math.floor(Math.random() * 3000)); } + /** + * @param keyboardShortcut the shortcut to be translated + * @return the translated shortcut, e.g. CMD+K -> ⌘+K for macOS, CTRL+K for Windows + */ @Restricted(NoExternalUse.class) public static String translateModifierKeysForUsersPlatform(String keyboardShortcut) { StaplerRequest currentRequest = Stapler.getCurrentRequest(); diff --git a/core/src/main/resources/lib/layout/keyboard-shortcut.jelly b/core/src/main/resources/lib/layout/keyboard-shortcut.jelly index 92bbf4a59470..56dfa40c128e 100644 --- a/core/src/main/resources/lib/layout/keyboard-shortcut.jelly +++ b/core/src/main/resources/lib/layout/keyboard-shortcut.jelly @@ -32,11 +32,11 @@ THE SOFTWARE. Optional suffix to the shortcut Displays a keyboard shortcut chip based on the component's body. - CMD/CTRL will automatically be translated to the user's operating system's appropriate variant. + CMD will automatically be translated to the user's operating system's appropriate variant.
- + ${attrs.prefix} @@ -47,7 +47,7 @@ THE SOFTWARE.
- + ${attrs.suffix} diff --git a/war/src/main/scss/components/_tooltips.scss b/war/src/main/scss/components/_tooltips.scss index 972db7310a36..6743f6c88180 100644 --- a/war/src/main/scss/components/_tooltips.scss +++ b/war/src/main/scss/components/_tooltips.scss @@ -85,7 +85,6 @@ transparent 60% ); mask-size: 200% 200%; - mask-position: center; animation: shortcut-glow-animation 1.25s forwards linear; } From 8c2ef1a2aafd7f258128e503c3323253ce65b659 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Sat, 16 Dec 2023 21:48:24 +0000 Subject: [PATCH 0004/1330] Update localisation --- core/src/main/resources/lib/layout/search-bar_pl.properties | 3 ++- core/src/main/resources/lib/layout/search-bar_pt_BR.properties | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/lib/layout/search-bar_pl.properties b/core/src/main/resources/lib/layout/search-bar_pl.properties index 1404a046d112..981d1139e20b 100644 --- a/core/src/main/resources/lib/layout/search-bar_pl.properties +++ b/core/src/main/resources/lib/layout/search-bar_pl.properties @@ -20,4 +20,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -Press\ /\ on\ your\ keyboard\ to\ focus=Naciśnij / na klawiaturze, aby przesunąć tutaj kursor +Press=Naciśnij +on\ your\ keyboard\ to\ focus=na klawiaturze, aby przesunąć tutaj kursor diff --git a/core/src/main/resources/lib/layout/search-bar_pt_BR.properties b/core/src/main/resources/lib/layout/search-bar_pt_BR.properties index b676df91ce65..3f18e2c77e31 100644 --- a/core/src/main/resources/lib/layout/search-bar_pt_BR.properties +++ b/core/src/main/resources/lib/layout/search-bar_pt_BR.properties @@ -21,4 +21,5 @@ # THE SOFTWARE. Search=Busca -Press\ /\ on\ your\ keyboard\ to\ focus=Digite /\ no seu teclado para realçar +Press=Digite +on\ your\ keyboard\ to\ focus=no seu teclado para realçar From ce09ad88d41086e7ebaed94c7397ac9aa669e695 Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Sun, 17 Dec 2023 08:07:48 +0000 Subject: [PATCH 0005/1330] Update core/src/main/java/hudson/Functions.java --- core/src/main/java/hudson/Functions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index b22f32c2a8d7..a923ada89c9e 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -2481,7 +2481,7 @@ public static String generateItemId() { /** * @param keyboardShortcut the shortcut to be translated - * @return the translated shortcut, e.g. CMD+K -> ⌘+K for macOS, CTRL+K for Windows + * @return the translated shortcut, e.g. CMD+K to ⌘+K for macOS, CTRL+K for Windows */ @Restricted(NoExternalUse.class) public static String translateModifierKeysForUsersPlatform(String keyboardShortcut) { From 7a2e389f0d8d1e0f2b894f5fdfba1568bc153305 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 17 Dec 2023 10:48:55 -0800 Subject: [PATCH 0006/1330] Update jenkins/ath Docker tag to v5770 (#8786) 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 db84a79fff2a..a084a1cc7b58 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=5740.vd30f30408987 +export ATH_VERSION=5770.v81b_784f28b_d7 if [[ $# -eq 0 ]]; then export JDK=17 From 7258cad41408a35590ab85ab28cad9e9ffe4aeda Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Mon, 18 Dec 2023 18:21:48 +0100 Subject: [PATCH 0007/1330] [JENKINS-72371] rework node monitor configuration (#8719) * [JENKINS-72371] rework node monitor configuration This PR reworks the way node monitors are configured. It ensures that also monitors which are set to ignored, can be configured. Previously, there was a checkbox before each monitor, where the behaviour was not totally clear. It meant that the monitor is ignored but still collecting data and not disabled as one might think. But when the monitor was disabled any configuration was lost and default values were used. * improve description * fix formatting * add since --- .../main/java/hudson/model/ComputerSet.java | 24 ++++++++++++++++--- .../AbstractNodeMonitorDescriptor.java | 19 +++++++++++++++ .../node_monitors/ArchitectureMonitor.java | 6 ++--- .../hudson/node_monitors/ClockMonitor.java | 12 ++++------ .../hudson/node_monitors/NodeMonitor.java | 2 ++ .../node_monitors/ResponseTimeMonitor.java | 7 ------ .../node_monitors/SwapSpaceMonitor.java | 12 ++++------ .../hudson/model/ComputerSet/configure.jelly | 3 ++- .../model/ComputerSet/configure.properties | 3 ++- .../ArchitectureMonitor/help.html | 2 +- .../node_monitors/ClockMonitor/help.html | 2 ++ .../node_monitors/NodeMonitor/configure.jelly | 24 +++++++++++++++++++ .../NodeMonitor/help-ignored.html | 7 ++++++ .../ResponseTimeMonitor/help.html | 3 +-- .../node_monitors/SwapSpaceMonitor/help.html | 22 +++++++++++++++++ 15 files changed, 115 insertions(+), 33 deletions(-) create mode 100644 core/src/main/resources/hudson/node_monitors/NodeMonitor/configure.jelly create mode 100644 core/src/main/resources/hudson/node_monitors/NodeMonitor/help-ignored.html create mode 100644 core/src/main/resources/hudson/node_monitors/SwapSpaceMonitor/help.html diff --git a/core/src/main/java/hudson/model/ComputerSet.java b/core/src/main/java/hudson/model/ComputerSet.java index cad9089b776f..5cb798978dea 100644 --- a/core/src/main/java/hudson/model/ComputerSet.java +++ b/core/src/main/java/hudson/model/ComputerSet.java @@ -352,15 +352,33 @@ public synchronized HttpResponse doConfigSubmit(StaplerRequest req) throws IOExc BulkChange bc = new BulkChange(MONITORS_OWNER); try { Jenkins.get().checkPermission(Jenkins.MANAGE); - monitors.rebuild(req, req.getSubmittedForm(), getNodeMonitorDescriptors()); + JSONObject json = req.getSubmittedForm(); + monitors.rebuild(req, json, getNodeMonitorDescriptors()); // add in the rest of instances are ignored instances - for (Descriptor d : NodeMonitor.all()) - if (monitors.get(d) == null) { + for (Descriptor d : NodeMonitor.all()) { + NodeMonitor monitor = monitors.get(d); + if (monitor == null) { NodeMonitor i = createDefaultInstance(d, true); if (i != null) monitors.add(i); + } else { + /* + * Some monitors in plugins do not have a DataBoundConstructor + * but a Descriptor that overrides newInstance. For those the ignored + * field is not set, so we have to explicitly set it. + */ + String name = d.getJsonSafeClassName(); + JSONObject o = json.optJSONObject(name); + boolean ignored = true; + if (o != null) { + if (o.containsKey("ignored")) { + ignored = o.getBoolean("ignored"); + } + } + monitor.setIgnored(ignored); } + } // recompute the data for (NodeMonitor nm : monitors) { diff --git a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java index 4a2386c2a1b1..927e826ece67 100644 --- a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java +++ b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java @@ -65,6 +65,25 @@ protected AbstractNodeMonitorDescriptor() { this(PERIOD); } + /** + * Indicates if this monitor is capable to take agents offline in case it detects a problem. + * If true, this will enable the configuration option to ignore the monitor. + * Defaults to {@code true} so plugins that do not override this method behave as before. + * Plugins that do implement a monitor that will not take agents offline should override this + * method and return false. + * + * @return true if this monitor might take agents offline + * @since TODO + */ + public boolean canTakeOffline() { + return true; + } + + @Override + public String getConfigPage() { + return getViewPage(clazz, "configure.jelly"); + } + /** * @deprecated as of 1.522 * Extend from {@link AbstractAsyncNodeMonitorDescriptor} diff --git a/core/src/main/java/hudson/node_monitors/ArchitectureMonitor.java b/core/src/main/java/hudson/node_monitors/ArchitectureMonitor.java index d2c60a2544d0..e9c63ab74433 100644 --- a/core/src/main/java/hudson/node_monitors/ArchitectureMonitor.java +++ b/core/src/main/java/hudson/node_monitors/ArchitectureMonitor.java @@ -30,10 +30,8 @@ import hudson.remoting.Callable; import java.io.IOException; import jenkins.security.MasterToSlaveCallable; -import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; /** * Discovers the architecture of the system to display in the agent list page. @@ -60,8 +58,8 @@ public String getDisplayName() { } @Override - public NodeMonitor newInstance(StaplerRequest req, JSONObject formData) throws FormException { - return new ArchitectureMonitor(); + public boolean canTakeOffline() { + return false; } } diff --git a/core/src/main/java/hudson/node_monitors/ClockMonitor.java b/core/src/main/java/hudson/node_monitors/ClockMonitor.java index b958df61d776..b9c0f77b5c99 100644 --- a/core/src/main/java/hudson/node_monitors/ClockMonitor.java +++ b/core/src/main/java/hudson/node_monitors/ClockMonitor.java @@ -32,12 +32,10 @@ import hudson.remoting.Callable; import hudson.util.ClockDifference; import java.io.IOException; -import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; /** * {@link NodeMonitor} that checks clock of {@link Node} to @@ -72,6 +70,11 @@ public DescriptorImpl() { DESCRIPTOR = this; } + @Override + public boolean canTakeOffline() { + return false; + } + @Override protected Callable createCallable(Computer c) { Node n = c.getNode(); @@ -84,10 +87,5 @@ protected Callable createCallable(Computer c) { public String getDisplayName() { return Messages.ClockMonitor_DisplayName(); } - - @Override - public NodeMonitor newInstance(StaplerRequest req, JSONObject formData) throws FormException { - return new ClockMonitor(); - } } } diff --git a/core/src/main/java/hudson/node_monitors/NodeMonitor.java b/core/src/main/java/hudson/node_monitors/NodeMonitor.java index 0fb737a7677a..61ac5d67b7d4 100644 --- a/core/src/main/java/hudson/node_monitors/NodeMonitor.java +++ b/core/src/main/java/hudson/node_monitors/NodeMonitor.java @@ -37,6 +37,7 @@ import hudson.util.DescriptorList; import java.util.List; import jenkins.model.Jenkins; +import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -133,6 +134,7 @@ public boolean isIgnored() { return ignored; } + @DataBoundSetter public void setIgnored(boolean ignored) { this.ignored = ignored; } diff --git a/core/src/main/java/hudson/node_monitors/ResponseTimeMonitor.java b/core/src/main/java/hudson/node_monitors/ResponseTimeMonitor.java index 5a7223039696..a2bf84ea817f 100644 --- a/core/src/main/java/hudson/node_monitors/ResponseTimeMonitor.java +++ b/core/src/main/java/hudson/node_monitors/ResponseTimeMonitor.java @@ -34,10 +34,8 @@ import java.util.Map; import java.util.logging.Logger; import jenkins.security.MasterToSlaveCallable; -import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -103,11 +101,6 @@ protected Map monitor() throws InterruptedException { public String getDisplayName() { return Messages.ResponseTimeMonitor_DisplayName(); } - - @Override - public NodeMonitor newInstance(StaplerRequest req, JSONObject formData) throws FormException { - return new ResponseTimeMonitor(); - } } private static final class Step1 extends MasterToSlaveCallable { diff --git a/core/src/main/java/hudson/node_monitors/SwapSpaceMonitor.java b/core/src/main/java/hudson/node_monitors/SwapSpaceMonitor.java index 09064ccb4a82..fa7f53eab70b 100644 --- a/core/src/main/java/hudson/node_monitors/SwapSpaceMonitor.java +++ b/core/src/main/java/hudson/node_monitors/SwapSpaceMonitor.java @@ -33,12 +33,10 @@ import java.io.IOException; import jenkins.model.Jenkins; import jenkins.security.MasterToSlaveCallable; -import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.jvnet.hudson.MemoryMonitor; import org.jvnet.hudson.MemoryUsage; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -103,6 +101,11 @@ public DescriptorImpl() { DESCRIPTOR = this; } + @Override + public boolean canTakeOffline() { + return false; + } + @Override protected MonitorTask createCallable(Computer c) { return new MonitorTask(); @@ -113,11 +116,6 @@ protected MonitorTask createCallable(Computer c) { public String getDisplayName() { return Messages.SwapSpaceMonitor_DisplayName(); } - - @Override - public NodeMonitor newInstance(StaplerRequest req, JSONObject formData) throws FormException { - return new SwapSpaceMonitor(); - } } /** diff --git a/core/src/main/resources/hudson/model/ComputerSet/configure.jelly b/core/src/main/resources/hudson/model/ComputerSet/configure.jelly index 4bbd52b4c4dc..9e58aeda59e6 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/configure.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/configure.jelly @@ -42,7 +42,8 @@ THE SOFTWARE. + instances="${it.monitors}" + forceRowSet="true"/> diff --git a/core/src/main/resources/hudson/model/ComputerSet/configure.properties b/core/src/main/resources/hudson/model/ComputerSet/configure.properties index e2e74cba5ece..1df5cc610747 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/configure.properties +++ b/core/src/main/resources/hudson/model/ComputerSet/configure.properties @@ -1 +1,2 @@ -description=Jenkins monitors each attached node for disk space, free temp space, free swap, clock time/sync, and response time. Nodes will be taken offline if any of these values go outside of the configured threshold. +description=Jenkins monitors each attached node for various metrics like free disk space, free temp space, free swap, clock time/sync, response time and others provided by plugins. \ + Some of these monitors are able to mark nodes temporarily offline, when the values go outside the configured thresholds. diff --git a/core/src/main/resources/hudson/node_monitors/ArchitectureMonitor/help.html b/core/src/main/resources/hudson/node_monitors/ArchitectureMonitor/help.html index 23efe3bdeff0..a67b11024f35 100644 --- a/core/src/main/resources/hudson/node_monitors/ArchitectureMonitor/help.html +++ b/core/src/main/resources/hudson/node_monitors/ArchitectureMonitor/help.html @@ -1,4 +1,4 @@
This monitor just shows the architecture of the agent for your information. It - never marks the agent offline. + never marks an agent offline.
diff --git a/core/src/main/resources/hudson/node_monitors/ClockMonitor/help.html b/core/src/main/resources/hudson/node_monitors/ClockMonitor/help.html index f9a1a868b1ab..ee5e795f2ce7 100644 --- a/core/src/main/resources/hudson/node_monitors/ClockMonitor/help.html +++ b/core/src/main/resources/hudson/node_monitors/ClockMonitor/help.html @@ -4,6 +4,8 @@ systems, version control activities and distributed file access (such as NFS, Windows file shares) tend to have strange problems when systems involved have different clocks. +
+ It never marks an agent offline.

To keep clocks in sync, refer to NTP.

diff --git a/core/src/main/resources/hudson/node_monitors/NodeMonitor/configure.jelly b/core/src/main/resources/hudson/node_monitors/NodeMonitor/configure.jelly new file mode 100644 index 000000000000..a2016d12307f --- /dev/null +++ b/core/src/main/resources/hudson/node_monitors/NodeMonitor/configure.jelly @@ -0,0 +1,24 @@ + + + +
+ ${descriptor.displayName} + +
+ +
+
+ + + + + + + + + + + +
+
+
\ No newline at end of file diff --git a/core/src/main/resources/hudson/node_monitors/NodeMonitor/help-ignored.html b/core/src/main/resources/hudson/node_monitors/NodeMonitor/help-ignored.html new file mode 100644 index 000000000000..7dfe9ac4071a --- /dev/null +++ b/core/src/main/resources/hudson/node_monitors/NodeMonitor/help-ignored.html @@ -0,0 +1,7 @@ +
+ When checked the agent will + not + be marked temporarily offline in case the monitor detects a problem. But the + monitor will still run to collect data and the corresponding field will be + highlighted in case of a problem. +
diff --git a/core/src/main/resources/hudson/node_monitors/ResponseTimeMonitor/help.html b/core/src/main/resources/hudson/node_monitors/ResponseTimeMonitor/help.html index ed324b07d50c..978d0a28dfb9 100644 --- a/core/src/main/resources/hudson/node_monitors/ResponseTimeMonitor/help.html +++ b/core/src/main/resources/hudson/node_monitors/ResponseTimeMonitor/help.html @@ -1,7 +1,6 @@
This monitors the round trip network response time from the controller to the - agent, and if it goes above a threshold repeatedly, it marks the agent - offline. + agent, and if it goes above a threshold repeatedly, it disconnects the agent.

This is useful for detecting unresponsive agents, or other network problems diff --git a/core/src/main/resources/hudson/node_monitors/SwapSpaceMonitor/help.html b/core/src/main/resources/hudson/node_monitors/SwapSpaceMonitor/help.html new file mode 100644 index 000000000000..f1827bdccbbe --- /dev/null +++ b/core/src/main/resources/hudson/node_monitors/SwapSpaceMonitor/help.html @@ -0,0 +1,22 @@ +

+ This monitors the available virtual memory (also known as + swap space + ). +

The exact definition of swap space is platform dependent.

+
    +
  • + On Windows this is the available space of the page file. As Windows can + automatically increase the page file size, this value doesn't mean much. +
  • +
  • + On Linux this value is retrieved from + /proc/meminfo + . +
  • +
  • + For other Unix systems, the value is obtained from the + top + command. +
  • +
+
From cf81b9cf935896615ff244f6d349a244f875dbff Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 19 Dec 2023 07:38:43 +0000 Subject: [PATCH 0008/1330] Restyle widget panes (#8761) * Init * Update _style.scss * Remove more bold weights * Lower weight * Tweak widths * Fix spacing --------- Co-authored-by: Alexander Brandes Co-authored-by: Tim Jacomb --- war/src/main/scss/abstracts/_theme.scss | 2 +- war/src/main/scss/base/_style.scss | 4 +- .../scss/components/_panes-and-bigtable.scss | 3 -- .../scss/components/_side-panel-widgets.scss | 42 ++++++------------- 4 files changed, 16 insertions(+), 35 deletions(-) diff --git a/war/src/main/scss/abstracts/_theme.scss b/war/src/main/scss/abstracts/_theme.scss index 2ea8f434481d..fa97f23d6b66 100644 --- a/war/src/main/scss/abstracts/_theme.scss +++ b/war/src/main/scss/abstracts/_theme.scss @@ -200,7 +200,7 @@ $semantics: ( --link-dark-text-decoration: none; --link-dark-text-decoration--hover: underline; --link-dark-text-decoration--active: underline; - --link-dark-font-weight: 600; + --link-dark-font-weight: 500; // Pane --pane-border-width: 1px; diff --git a/war/src/main/scss/base/_style.scss b/war/src/main/scss/base/_style.scss index 2abd6d4ef10a..5d1762b54891 100644 --- a/war/src/main/scss/base/_style.scss +++ b/war/src/main/scss/base/_style.scss @@ -498,7 +498,7 @@ div.listview-jobs { } td { - padding: 8px; + padding: 0 8px 8px; } } @@ -593,7 +593,7 @@ div.listview-jobs { .build-row-cell .pane.build-name { width: 25%; - font-weight: bold; + font-weight: 500; vertical-align: top; } diff --git a/war/src/main/scss/components/_panes-and-bigtable.scss b/war/src/main/scss/components/_panes-and-bigtable.scss index 435622edcbc9..245d25cdfa5e 100644 --- a/war/src/main/scss/components/_panes-and-bigtable.scss +++ b/war/src/main/scss/components/_panes-and-bigtable.scss @@ -10,9 +10,6 @@ padding: 8px 0; color: var(--pane-header-text-color); background: var(--pane-header-bg); - border: var(--pane-border-width) solid var(--pane-header-border-color); - border-left: none; - border-right: none; } .pane { diff --git a/war/src/main/scss/components/_side-panel-widgets.scss b/war/src/main/scss/components/_side-panel-widgets.scss index 037674f61b88..bd6715cdc586 100644 --- a/war/src/main/scss/components/_side-panel-widgets.scss +++ b/war/src/main/scss/components/_side-panel-widgets.scss @@ -1,11 +1,12 @@ @use "../abstracts/mixins"; #side-panel .pane-frame { - border-radius: 0; - border-left: none; - border-right: none; - border-color: var(--panel-border-color); - border-width: 1px; + border-radius: 1rem; + background: var(--card-background); + border: var(--card-border-width) solid var(--card-border-color); + margin-left: 10px; + margin-bottom: calc(var(--section-padding) / 2); + overflow: hidden; } #side-panel .pane-header { @@ -20,16 +21,14 @@ #side-panel .pane-header, #side-panel .pane-footer { color: var(--link-dark-color); - background-color: var(--panel-header-bg-color); - border-radius: 0; - border-width: 1px; - padding: 0.5rem 1.25rem; + background: transparent; + padding: 0.65rem 1rem; } #side-panel .pane-header-title { display: inline-block; flex: 1; - font-weight: bold; + font-weight: 500; & > div { font-weight: normal; @@ -85,21 +84,6 @@ text-decoration: underline; } -#side-panel .pane-header a { - font-weight: bold; -} - -#side-panel .pane-content a { - font-weight: 600; -} - -/** - * Build Queue - */ -#buildQueue { - margin-bottom: var(--section-padding); -} - /** * Executors */ @@ -123,8 +107,8 @@ } .build-row-cell .pane.build-name { - width: 30%; - font-weight: bold; + width: 32%; + font-weight: 500; vertical-align: top; } @@ -133,7 +117,7 @@ } .build-row-cell .pane.build-controls { - width: 20%; + width: 18%; text-align: right; } @@ -257,7 +241,7 @@ .jenkins-pane__header--build-history { display: grid; grid-template-columns: auto 1fr auto; - font-weight: bold !important; + font-weight: 500 !important; .jenkins-table__cell--tight { width: auto; From b0cec677280708bbfafd3eb5eaa2bc98b241fc07 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Tue, 19 Dec 2023 09:42:55 +0100 Subject: [PATCH 0009/1330] Add telemetry for basic Java system properties (#8787) --- .../telemetry/impl/JavaSystemProperties.java | 92 +++++++++++++++++++ .../help-usageStatisticsCollected.jelly | 2 +- .../JavaSystemProperties/description.jelly | 24 +++++ .../description.properties | 5 + 4 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 core/src/main/java/jenkins/telemetry/impl/JavaSystemProperties.java create mode 100644 core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.jelly create mode 100644 core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.properties diff --git a/core/src/main/java/jenkins/telemetry/impl/JavaSystemProperties.java b/core/src/main/java/jenkins/telemetry/impl/JavaSystemProperties.java new file mode 100644 index 000000000000..90b66fd6f5bd --- /dev/null +++ b/core/src/main/java/jenkins/telemetry/impl/JavaSystemProperties.java @@ -0,0 +1,92 @@ +/* + * The MIT License + * + * Copyright (c) 2023, Daniel Beck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +package jenkins.telemetry.impl; + +import edu.umd.cs.findbugs.annotations.NonNull; +import hudson.Extension; +import java.time.LocalDate; +import java.util.Map; +import java.util.TreeMap; +import jenkins.telemetry.Telemetry; +import net.sf.json.JSONObject; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; + +/** + * Collect the value of various Java system properties describing the environment. + */ +@Extension +@Restricted(NoExternalUse.class) +public class JavaSystemProperties extends Telemetry { + private static final String[] PROPERTIES = new String[] { + "file.encoding", + "file.separator", + "java.vm.name", + "java.vm.vendor", + "java.vm.version", + "os.arch", + "os.name", + "os.version", + "user.language", + }; + + public Map getProperties() { + Map properties = new TreeMap<>(); + for (String property : PROPERTIES) { + final String value = System.getProperty(property); + properties.put(property, value); + } + return properties; + } + + @NonNull + @Override + public String getDisplayName() { + return "System Properties"; + } + + @NonNull + @Override + public LocalDate getStart() { + return LocalDate.of(2023, 12, 17); + } + + @NonNull + @Override + public LocalDate getEnd() { + return LocalDate.of(2024, 4, 1); + } + + @Override + public JSONObject createContent() { + JSONObject o = new JSONObject(); + for (Map.Entry entry : getProperties().entrySet()) { + final String value = entry.getValue(); + o = o.element(entry.getKey(), value == null ? "(undefined)" : value); + } + o.put("components", buildComponentInformation()); + return o; + } +} diff --git a/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly b/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly index 80237768112a..a1bef14d4e22 100644 --- a/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly +++ b/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly @@ -48,7 +48,7 @@
${collector.displayName}
- +

Start date: ${collector.start}
End date: ${collector.end} diff --git a/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.jelly b/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.jelly new file mode 100644 index 000000000000..02a39a039f16 --- /dev/null +++ b/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.jelly @@ -0,0 +1,24 @@ + + +

+ ${%blurb} +

+
    + +
  • + ${e.key} + + + (current value: undefined) + + + (current value: ${e.value}) + + +
  • +
    +
+

+ ${%blurb2} +

+ diff --git a/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.properties b/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.properties new file mode 100644 index 000000000000..8bdedbf8399e --- /dev/null +++ b/core/src/main/resources/jenkins/telemetry/impl/JavaSystemProperties/description.properties @@ -0,0 +1,5 @@ +blurb = This trial collects the values of some basic Java system properties, that provide information about basic system configuration \ + (OS, Java runtime, default language and character set). \ + The collected system properties and their values are listed below. +blurb2 = Additionally, this trial collects the list of installed plugins, their version, and the version of Jenkins. \ + This data will be used to understand the environments that Jenkins is running in. From a82293567f965c793dbef71be6e4522c1903cd0e Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Tue, 19 Dec 2023 09:43:31 +0100 Subject: [PATCH 0010/1330] [JENKINS-71578] allow making sidepanel sticky (#8269) --- .../hudson/PluginManager/sidepanel.jelly | 2 +- .../resources/hudson/model/Job/configure.jelly | 2 +- core/src/main/resources/lib/layout/layout.jelly | 12 ++---------- .../main/resources/lib/layout/side-panel.jelly | 16 ++++++++++++++-- war/src/main/js/section-to-sidebar-items.js | 4 ---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/core/src/main/resources/hudson/PluginManager/sidepanel.jelly b/core/src/main/resources/hudson/PluginManager/sidepanel.jelly index 21755b32072d..0d3fc3fb43d3 100644 --- a/core/src/main/resources/hudson/PluginManager/sidepanel.jelly +++ b/core/src/main/resources/hudson/PluginManager/sidepanel.jelly @@ -27,7 +27,7 @@ THE SOFTWARE. --> - + diff --git a/core/src/main/resources/hudson/model/Job/configure.jelly b/core/src/main/resources/hudson/model/Job/configure.jelly index 040a54159041..d226a966558d 100644 --- a/core/src/main/resources/hudson/model/Job/configure.jelly +++ b/core/src/main/resources/hudson/model/Job/configure.jelly @@ -36,7 +36,7 @@ THE SOFTWARE. - +
diff --git a/core/src/main/resources/lib/layout/layout.jelly b/core/src/main/resources/lib/layout/layout.jelly index 877a4463356a..371c14ab1633 100644 --- a/core/src/main/resources/lib/layout/layout.jelly +++ b/core/src/main/resources/lib/layout/layout.jelly @@ -192,16 +192,8 @@ THE SOFTWARE.
-
- - - - - - -
- -
+ +
diff --git a/core/src/main/resources/lib/layout/side-panel.jelly b/core/src/main/resources/lib/layout/side-panel.jelly index 26b8afa3b647..01595ee8c881 100644 --- a/core/src/main/resources/lib/layout/side-panel.jelly +++ b/core/src/main/resources/lib/layout/side-panel.jelly @@ -26,10 +26,22 @@ THE SOFTWARE. Generates a left side content as part of a Jenkins page. Typically known as two-column or left-side + main-content layouts + + Make the side panel sticky. Should not be used on pages that include widgets in the sidepanel and when plugins can + add their own tasks, so the number of tasks is not fixed. + + - +
+ + + + +
+ +
- \ No newline at end of file + diff --git a/war/src/main/js/section-to-sidebar-items.js b/war/src/main/js/section-to-sidebar-items.js index 282198ed26ff..38683e995f5b 100644 --- a/war/src/main/js/section-to-sidebar-items.js +++ b/war/src/main/js/section-to-sidebar-items.js @@ -5,13 +5,9 @@ const HEADER_SELECTOR = const DEFAULT_ICON = ``; window.addEventListener("load", function () { - const sidebar = document.querySelector("#side-panel"); const sidebarItems = document.querySelector("#tasks"); const sectionHeaders = document.querySelectorAll(HEADER_SELECTOR); - // Ensure sidebar is sticky - sidebar.classList.add("app-page-body__sidebar--sticky"); - // Create the sidebar items sectionHeaders.forEach(function (header, i) { const headerId = toId(header.textContent); From 018bd8e4d9bf36e3267a2b84548e0bc7b1c42999 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 19 Dec 2023 13:10:58 +0000 Subject: [PATCH 0011/1330] [maven-release-plugin] prepare release jenkins-2.437 --- 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 28a945e2321e..c4b3aa742b99 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 21aabc88e649..24237f60051a 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 cli diff --git a/core/pom.xml b/core/pom.xml index 45539865962a..3126dbbb2d3e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..846759673e70 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 jenkins-coverage diff --git a/pom.xml b/pom.xml index 03014fa4fb2e..e344cc603a73 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 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.437 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index bb493bb4a975..ed3742558c26 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 2808d786b3d4..b4826812f139 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.437 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..179d034795a0 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.437 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..a720f4db3dff 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.437 ../.. From 2ece2ccc9db5295413d1fd7772673ac1aa5bc55f Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 19 Dec 2023 13:41:53 +0000 Subject: [PATCH 0012/1330] [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 c4b3aa742b99..28a945e2321e 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 24237f60051a..21aabc88e649 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 3126dbbb2d3e..45539865962a 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 846759673e70..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index e344cc603a73..b1386c7b1330 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.437 + ${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.437 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.437 + 2.438 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index ed3742558c26..bb493bb4a975 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index b4826812f139..2808d786b3d4 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.437 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 179d034795a0..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.437 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a720f4db3dff..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.437 + ${revision}${changelist} ../.. From 3a1ac2cb44fd806ab92a01f6674fbe46e24d4a0c Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:44:51 +0000 Subject: [PATCH 0013/1330] Use Jenkins modal for 'Apply' button failures (#8394) * Init * Linting * Test fixes * Switch to dialog for simple error case --------- Co-authored-by: Tim Jacomb --- .../jenkins/model/Jenkins/oops.properties | 2 +- .../main/resources/lib/form/apply/apply.js | 113 ++++++------------ test/src/test/java/hudson/model/ViewTest.java | 4 +- .../security/StackTraceSuppressionTest.java | 2 +- 4 files changed, 38 insertions(+), 83 deletions(-) diff --git a/core/src/main/resources/jenkins/model/Jenkins/oops.properties b/core/src/main/resources/jenkins/model/Jenkins/oops.properties index d7060ef24991..2d7f460ca626 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/oops.properties +++ b/core/src/main/resources/jenkins/model/Jenkins/oops.properties @@ -1,4 +1,4 @@ -problemHappened=A problem occurred while processing the request. +problemHappened=A problem occurred while processing the request checkJIRA=Please check our bug tracker to see if a similar problem has already been reported. vote=If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. pleaseReport=If you think this is a new issue, please file a new issue. diff --git a/core/src/main/resources/lib/form/apply/apply.js b/core/src/main/resources/lib/form/apply/apply.js index c79c9ce7dbcf..c9752497d7a8 100644 --- a/core/src/main/resources/lib/form/apply/apply.js +++ b/core/src/main/resources/lib/form/apply/apply.js @@ -3,104 +3,59 @@ Behaviour.specify( "apply", 0, function (e) { - var id; - var containerId = "container" + iota++; - - var responseDialog = new YAHOO.widget.Panel("wait" + iota++, { - fixedcenter: true, - close: true, - draggable: true, - zindex: 4, - modal: true, - visible: false, - }); - - responseDialog.setHeader("Error"); - responseDialog.setBody("
"); - responseDialog.render(document.body); - var target; // iframe - - function attachIframeOnload(target, f) { - if (target.attachEvent) { - target.attachEvent("onload", f); - } else { - target.onload = f; - } - } - e.addEventListener("click", function (e) { - var f = e.target.closest("FORM"); + const f = e.target.closest("FORM"); // create a throw-away IFRAME to avoid back button from loading the POST result back - id = "iframe" + iota++; - target = document.createElement("iframe"); + const id = "iframe" + iota++; + const target = document.createElement("iframe"); target.setAttribute("id", id); target.setAttribute("name", id); target.style.height = "100%"; target.style.width = "100%"; - document.getElementById(containerId).appendChild(target); + document.querySelector("body").appendChild(target); - attachIframeOnload(target, function () { + f.target = target.id; + f.elements["core:apply"].value = "true"; + f.dispatchEvent(new Event("jenkins:apply")); // give everyone a chance to write back to DOM + + try { + buildFormTree(f); + f.submit(); + } finally { + f.elements["core:apply"].value = null; + f.target = "_self"; + } + + target.addEventListener("load", () => { if ( target.contentWindow && target.contentWindow.applyCompletionHandler ) { // apply-aware server is expected to set this handler target.contentWindow.applyCompletionHandler(window); - } else { - // otherwise this is possibly an error from the server, so we need to render the whole content. - var doc = target.contentDocument || target.contentWindow.document; - var error = doc.getElementById("error-description"); - var r = YAHOO.util.Dom.getClientRegion(); - var contentHeight = r.height / 5; - var contentWidth = r.width / 2; - if (!error) { - // fallback if it's not a regular error dialog from oops.jelly: use the entire body - error = document.createElement("div"); - error.setAttribute("id", "error-description"); - error.appendChild(doc.getElementsByTagName("body")[0]); - contentHeight = (r.height * 3) / 4; - contentWidth = (r.width * 3) / 4; - } - - let oldError = document.getElementById("error-description"); - if (oldError) { - // Remove old error if there is any - document.getElementById(containerId).removeChild(oldError); - } + // Remove the iframe from the DOM + target.remove(); + return; + } - document.getElementById(containerId).appendChild(error); + // otherwise this is possibly an error from the server, so we need to render the whole content. + const doc = target.contentDocument || target.contentWindow.document; + let error = doc.getElementById("error-description"); - var dialogStyleHeight = contentHeight + 40; - var dialogStyleWidth = contentWidth + 20; + if (!error) { + // Fallback if it's not a regular error dialog from oops.jelly: use the entire body + error = document.createElement("div"); + error.appendChild(doc.querySelector("#page-body")); + } - document.getElementById(containerId).style.height = - contentHeight + "px"; - document.getElementById(containerId).style.width = - contentWidth + "px"; - document.getElementById(containerId).style.overflow = "scroll"; + dialog.modal(error, { + minWidth: "850px", + }); - responseDialog.cfg.setProperty("width", dialogStyleWidth + "px"); - responseDialog.cfg.setProperty("height", dialogStyleHeight + "px"); - responseDialog.center(); - responseDialog.show(); - } - window.setTimeout(function () { - // otherwise Firefox will fail to leave the "connecting" state - document.getElementById(id).remove(); - }, 0); + // Remove the iframe from the DOM + target.remove(); }); - - f.target = target.id; - f.elements["core:apply"].value = "true"; - f.dispatchEvent(new Event("jenkins:apply")); // give everyone a chance to write back to DOM - try { - buildFormTree(f); - f.submit(); - } finally { - f.elements["core:apply"].value = null; - f.target = "_self"; - } }); }, ); diff --git a/test/src/test/java/hudson/model/ViewTest.java b/test/src/test/java/hudson/model/ViewTest.java index 3ea19e1ee59c..1c32f3ed314a 100644 --- a/test/src/test/java/hudson/model/ViewTest.java +++ b/test/src/test/java/hudson/model/ViewTest.java @@ -700,7 +700,7 @@ public void simplifiedOriginalDescription() throws Exception { assertThat(e.getStatusCode(), equalTo(500)); // This should have a different message, but this is the current behavior demonstrating the problem. - assertThat(e.getResponse().getContentAsString(), containsString("A problem occurred while processing the request.")); + assertThat(e.getResponse().getContentAsString(), containsString("A problem occurred while processing the request")); OldDataMonitor odm = ExtensionList.lookupSingleton(OldDataMonitor.class); Map data = odm.getData(); @@ -744,7 +744,7 @@ public void simplifiedWithValidXmlAndBadField() throws Exception { assertThat(e.getStatusCode(), equalTo(500)); // This should have a different message, but this is the current behavior demonstrating the problem. - assertThat(e.getResponse().getContentAsString(), containsString("A problem occurred while processing the request.")); + assertThat(e.getResponse().getContentAsString(), containsString("A problem occurred while processing the request")); OldDataMonitor odm = ExtensionList.lookupSingleton(OldDataMonitor.class); Map data = odm.getData(); diff --git a/test/src/test/java/jenkins/security/StackTraceSuppressionTest.java b/test/src/test/java/jenkins/security/StackTraceSuppressionTest.java index 9e9b58777a52..b13a5d11c4d5 100644 --- a/test/src/test/java/jenkins/security/StackTraceSuppressionTest.java +++ b/test/src/test/java/jenkins/security/StackTraceSuppressionTest.java @@ -161,7 +161,7 @@ public void save() { } private void checBaseResponseContent(String content) { - assertThat(content, containsString("A problem occurred while processing the request.")); + assertThat(content, containsString("A problem occurred while processing the request")); assertThat(content, containsString("Logging ID=")); assertThat(content, containsString("Oops!")); } From 01c42a3dca39592e20f728ea8f19c67484004d07 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:45:22 +0000 Subject: [PATCH 0014/1330] Update the appearance of the stop button (#8780) * Init * Fixes * Update executors.jelly * Update _buttons.scss * Fix i18n * Tidy up * Fix test * Temporary fast build CI build is too unreliable and I just want an incrementals... * Revert "Temporary fast build" This reverts commit 28df8398f3e1a0a82adae7db692b8946a2e281b7. --------- Co-authored-by: Tim Jacomb Co-authored-by: Alexander Brandes --- .../hudson/widgets/HistoryWidget/entry.jelly | 2 +- .../resources/lib/hudson/buildCaption.jelly | 2 +- .../lib/hudson/buildCaption.properties | 1 + .../resources/lib/hudson/executors.properties | 1 + .../resources/lib/layout/stopButton.jelly | 8 ++--- .../jenkins/security/Security2278Test.java | 4 +-- war/src/main/scss/components/_buttons.scss | 30 +++++++++++++++++++ 7 files changed, 40 insertions(+), 8 deletions(-) diff --git a/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly b/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly index d203b8a98344..a77474476625 100644 --- a/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly +++ b/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly @@ -71,7 +71,7 @@ THE SOFTWARE.
- +
diff --git a/core/src/main/resources/lib/hudson/buildCaption.jelly b/core/src/main/resources/lib/hudson/buildCaption.jelly index 2f29e2808f4b..6ae79d3b836e 100644 --- a/core/src/main/resources/lib/hudson/buildCaption.jelly +++ b/core/src/main/resources/lib/hudson/buildCaption.jelly @@ -49,7 +49,7 @@ THE SOFTWARE. + alt="${%cancel}"/> diff --git a/core/src/main/resources/lib/hudson/buildCaption.properties b/core/src/main/resources/lib/hudson/buildCaption.properties index 6aa3af4cc19b..435f11915242 100644 --- a/core/src/main/resources/lib/hudson/buildCaption.properties +++ b/core/src/main/resources/lib/hudson/buildCaption.properties @@ -1 +1,2 @@ confirm=Are you sure you want to abort {0}? +cancel=Cancel diff --git a/core/src/main/resources/lib/hudson/executors.properties b/core/src/main/resources/lib/hudson/executors.properties index 951d07ec26c1..8438e6602a32 100644 --- a/core/src/main/resources/lib/hudson/executors.properties +++ b/core/src/main/resources/lib/hudson/executors.properties @@ -2,3 +2,4 @@ Computers=built-in node{0,choice,0# ({1} of {2} executors busy)|1# + {0,number} agent ({1} of {2} executors busy)|1< + {0,number} agents ({1} of {2} executors busy)} confirm=Are you sure you want to abort {0}? launching=launching... +terminate\ this\ build=Cancel diff --git a/core/src/main/resources/lib/layout/stopButton.jelly b/core/src/main/resources/lib/layout/stopButton.jelly index 29f4ebcb6815..336184090622 100644 --- a/core/src/main/resources/lib/layout/stopButton.jelly +++ b/core/src/main/resources/lib/layout/stopButton.jelly @@ -39,13 +39,13 @@ THE SOFTWARE. - - + + - - + + diff --git a/test/src/test/java/jenkins/security/Security2278Test.java b/test/src/test/java/jenkins/security/Security2278Test.java index c556d5d079bf..7811c2afa884 100644 --- a/test/src/test/java/jenkins/security/Security2278Test.java +++ b/test/src/test/java/jenkins/security/Security2278Test.java @@ -70,7 +70,7 @@ public void testUi() throws Exception { assertThat(contentAsString, containsString("Build Executor Status")); assertThat(contentAsString, containsString("Unknown Task")); assertThat(contentAsString, not(containsString("job/foo/job/bar"))); - assertThat(contentAsString, not(containsString("icon-stop"))); + assertThat(contentAsString, not(containsString("stop-button-link"))); } @Test @@ -81,7 +81,7 @@ public void testUiWithPermission() throws Exception { assertThat(contentAsString, containsString("Build Executor Status")); assertThat(contentAsString, not(containsString("Unknown Task"))); assertThat(contentAsString, containsString("job/foo/job/bar")); - assertThat(contentAsString, containsString("icon-stop")); + assertThat(contentAsString, containsString("stop-button-link")); } @Test diff --git a/war/src/main/scss/components/_buttons.scss b/war/src/main/scss/components/_buttons.scss index 0368549deb7d..5108aca2c6eb 100644 --- a/war/src/main/scss/components/_buttons.scss +++ b/war/src/main/scss/components/_buttons.scss @@ -299,3 +299,33 @@ $jenkins-split-button-border-radius: 0.2rem; } } } + +.stop-button-link { + --item-background--hover: color-mix(in sRGB, var(--red) 20%, transparent); + --item-background--active: color-mix(in sRGB, var(--red) 25%, transparent); + --item-box-shadow--focus: transparent; + + @include mixins.item; + + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + width: 1rem; + height: 1rem; + border-radius: 0.25rem; + + &::before { + background: color-mix(in sRGB, var(--red) 15%, transparent); + } + + svg { + width: 87.5%; + height: 87.5%; + color: var(--red); + + * { + stroke-width: 40px; + } + } +} From 044c071235f0a64fb8390e784c7e1abb52aecb05 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:37:09 +0100 Subject: [PATCH 0015/1330] Fix import used for Javadoc (#8790) Co-authored-by: Daniel Beck --- core/src/main/java/hudson/cli/declarative/CLIMethod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/cli/declarative/CLIMethod.java b/core/src/main/java/hudson/cli/declarative/CLIMethod.java index 7b9c35202bb9..3a6bc3c7f2c9 100644 --- a/core/src/main/java/hudson/cli/declarative/CLIMethod.java +++ b/core/src/main/java/hudson/cli/declarative/CLIMethod.java @@ -28,12 +28,12 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import hudson.cli.CLICommand; -import hudson.util.ListBoxModel.Option; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import org.jvnet.hudson.annotation_indexer.Indexed; import org.kohsuke.args4j.Argument; +import org.kohsuke.args4j.Option; /** * Annotates methods on model objects to expose them as CLI commands. From 3e04c2ac3d20207279ec246ce6385a0d3652ac3f Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Thu, 21 Dec 2023 19:37:23 +0100 Subject: [PATCH 0016/1330] Update Freestyle project description (#8795) * Update Freestyle project description * Fix typo * Fix another typo --------- Co-authored-by: Daniel Beck --- core/src/main/resources/hudson/model/Messages.properties | 4 ++-- core/src/main/resources/hudson/model/Messages_bg.properties | 5 ----- core/src/main/resources/hudson/model/Messages_ca.properties | 1 - core/src/main/resources/hudson/model/Messages_cs.properties | 1 - core/src/main/resources/hudson/model/Messages_da.properties | 1 - core/src/main/resources/hudson/model/Messages_de.properties | 4 +++- core/src/main/resources/hudson/model/Messages_es.properties | 1 - core/src/main/resources/hudson/model/Messages_et.properties | 1 - core/src/main/resources/hudson/model/Messages_fi.properties | 1 - core/src/main/resources/hudson/model/Messages_fr.properties | 1 - core/src/main/resources/hudson/model/Messages_it.properties | 5 ----- core/src/main/resources/hudson/model/Messages_ja.properties | 4 ---- core/src/main/resources/hudson/model/Messages_ko.properties | 1 - core/src/main/resources/hudson/model/Messages_lt.properties | 3 --- .../main/resources/hudson/model/Messages_nb_NO.properties | 1 - core/src/main/resources/hudson/model/Messages_nl.properties | 1 - core/src/main/resources/hudson/model/Messages_pl.properties | 1 - .../main/resources/hudson/model/Messages_pt_BR.properties | 3 --- .../main/resources/hudson/model/Messages_pt_PT.properties | 1 - core/src/main/resources/hudson/model/Messages_ro.properties | 1 - core/src/main/resources/hudson/model/Messages_ru.properties | 4 ---- .../main/resources/hudson/model/Messages_sv_SE.properties | 1 - core/src/main/resources/hudson/model/Messages_tr.properties | 3 --- core/src/main/resources/hudson/model/Messages_uk.properties | 1 - .../main/resources/hudson/model/Messages_zh_TW.properties | 4 ---- 25 files changed, 5 insertions(+), 49 deletions(-) diff --git a/core/src/main/resources/hudson/model/Messages.properties b/core/src/main/resources/hudson/model/Messages.properties index e0721b8fd0af..96950428fee4 100644 --- a/core/src/main/resources/hudson/model/Messages.properties +++ b/core/src/main/resources/hudson/model/Messages.properties @@ -119,8 +119,8 @@ Executor.NotAvailable=N/A FreeStyleProject.DisplayName=Freestyle project FreeStyleProject.Description=\ - This is the central feature of Jenkins. Jenkins will build your project, combining any SCM with any build system, \ - and this can be even used for something other than software build. + Classic, general-purpose job type that checks out from up to one SCM, executes build steps serially, \ + followed by post-build steps like archiving artifacts and sending email notifications. HealthReport.EmptyString= diff --git a/core/src/main/resources/hudson/model/Messages_bg.properties b/core/src/main/resources/hudson/model/Messages_bg.properties index b6468b07f70e..8117419f0a71 100644 --- a/core/src/main/resources/hudson/model/Messages_bg.properties +++ b/core/src/main/resources/hudson/model/Messages_bg.properties @@ -163,11 +163,6 @@ Executor.NotAvailable=\ FreeStyleProject.DisplayName=\ Потребителска задача -FreeStyleProject.Description=\ - Това е основна функционалност в Jenkins. Jenkins може да изгради проект като\ - комбинира произволна система за управление на версиите с произволна система за\ - изграждане на проект. Това ви позволява да ползвате Jenkins и за различни от\ - основната му цели. Hudson.BadPortNumber=\ diff --git a/core/src/main/resources/hudson/model/Messages_ca.properties b/core/src/main/resources/hudson/model/Messages_ca.properties index c92afa092c78..c952bcda1e90 100644 --- a/core/src/main/resources/hudson/model/Messages_ca.properties +++ b/core/src/main/resources/hudson/model/Messages_ca.properties @@ -1,3 +1,2 @@ ManageJenkinsAction.DisplayName=Configuració de Jenkins -FreeStyleProject.Description=Aquesta és la funcionalitat principal de Jenkins. Jenkins farà un build del vostre projecte combinant qualsevol SCM amb qualsevol sistema de build. Això també es pot usar per tasques que no siguin un build de software diff --git a/core/src/main/resources/hudson/model/Messages_cs.properties b/core/src/main/resources/hudson/model/Messages_cs.properties index 7ae3f033c417..6efe7371a14d 100644 --- a/core/src/main/resources/hudson/model/Messages_cs.properties +++ b/core/src/main/resources/hudson/model/Messages_cs.properties @@ -1,3 +1,2 @@ ManageJenkinsAction.DisplayName=Administrace -FreeStyleProject.Description=Toto je hlavní funkce Jenkins. Jenkins sestaví váš projekt, spojí jakýkoli systém pro správu verzí se systémem pro sestavení. Nemusí být použit jen pro sestavení softwaru. diff --git a/core/src/main/resources/hudson/model/Messages_da.properties b/core/src/main/resources/hudson/model/Messages_da.properties index c4818f58b170..9047645c5c27 100644 --- a/core/src/main/resources/hudson/model/Messages_da.properties +++ b/core/src/main/resources/hudson/model/Messages_da.properties @@ -59,7 +59,6 @@ Run.Summary.BrokenForALongTime=fejlet længe CLI.safe-restart.shortDescription=Sikker genstart af Jenkins FreeStyleProject.DisplayName=Byg et free-style projekt -FreeStyleProject.Description=Dette er den centrale feature i Jenkins. Jenkins vil bygge dit projekt i enhver kombination af kildekodestyring (SCM) med ethvert byggesystem og dette kan bruges til meget andet end at bygge software. ProxyView.DisplayName=Inkluder en global visning Run.Permissions.Title=Kør diff --git a/core/src/main/resources/hudson/model/Messages_de.properties b/core/src/main/resources/hudson/model/Messages_de.properties index 917c6238b57e..e03f38f6403b 100644 --- a/core/src/main/resources/hudson/model/Messages_de.properties +++ b/core/src/main/resources/hudson/model/Messages_de.properties @@ -114,7 +114,9 @@ Executor.NotAvailable=nicht verfügbar FreeStyleProject.DisplayName="Free Style"-Softwareprojekt bauen -FreeStyleProject.Description=Dieses Profil ist das meistgenutzte in Jenkins. Jenkins baut Ihr Projekt, wobei Sie universell jedes SCM System mit jedem Build-Verfahren kombinieren können. Dieses Profil ist nicht nur auf das Bauen von Software beschränkt, sondern kann darüber hinaus auch für weitere Anwendungsgebiete verwendet werden. +FreeStyleProject.Description=Der klassische, generische Projekt-Typ in Jenkins. Ein Build kann ein SCM auschecken, \ + verschiedene Buildschritte nacheinander ausführen und anschließend Post-Build-Aktionen, wie E-Mailversand oder \ + Archivierung von Artefakten, durchführen. HealthReport.EmptyString= diff --git a/core/src/main/resources/hudson/model/Messages_es.properties b/core/src/main/resources/hudson/model/Messages_es.properties index d57de3106e8e..f725a5070e39 100644 --- a/core/src/main/resources/hudson/model/Messages_es.properties +++ b/core/src/main/resources/hudson/model/Messages_es.properties @@ -72,7 +72,6 @@ Executor.NotAvailable=N/D FreeStyleProject.DisplayName=Crear un proyecto de estilo libre -FreeStyleProject.Description=Esta es la característica principal de Jenkins, la de ejecutar el proyecto combinando cualquier tipo de repositorio de software (SCM) con cualquier modo de construcción o ejecución (make, ant, mvn, rake, script ...). Por tanto se podrá tanto compilar y empaquetar software, como ejecutar cualquier proceso que requiera monitorización. Hudson.BadPortNumber=Número erróneo de puerto {0} Hudson.Computer.Caption=Principal diff --git a/core/src/main/resources/hudson/model/Messages_et.properties b/core/src/main/resources/hudson/model/Messages_et.properties index 72f77a12ac0c..67e791fe6163 100644 --- a/core/src/main/resources/hudson/model/Messages_et.properties +++ b/core/src/main/resources/hudson/model/Messages_et.properties @@ -1,2 +1 @@ -FreeStyleProject.Description=See on Jenkinsi põhifunktsioon! Jenkins ehitab su projekti, kombineerides sinu versioonihalduse mistahes ehitusprotsessiga. Sa võid seda kasutada ka muudeks asjadeks kui tarkvara ehitamine. ParametersDefinitionProperty.BuildButtonText=Bild diff --git a/core/src/main/resources/hudson/model/Messages_fi.properties b/core/src/main/resources/hudson/model/Messages_fi.properties index 3b101c72919e..b059ff22aac8 100644 --- a/core/src/main/resources/hudson/model/Messages_fi.properties +++ b/core/src/main/resources/hudson/model/Messages_fi.properties @@ -1,3 +1,2 @@ ManageJenkinsAction.DisplayName=Hallitse Jenkinsia -FreeStyleProject.Description=Tämä on Jenkins tärkein ominaisuus. Jenkins rakentaa projektisi käyttäen versionhallintaa ja buildijärjestelmiä. Voit käyttää tätä myös muuhun kuin ohjelmien kääntämiseen. diff --git a/core/src/main/resources/hudson/model/Messages_fr.properties b/core/src/main/resources/hudson/model/Messages_fr.properties index 073805ad5139..f2a938f9c9e4 100644 --- a/core/src/main/resources/hudson/model/Messages_fr.properties +++ b/core/src/main/resources/hudson/model/Messages_fr.properties @@ -113,7 +113,6 @@ Descriptor.From=(de {0}< Executor.NotAvailable=N/A FreeStyleProject.DisplayName=Construire un projet free-style -FreeStyleProject.Description=Ceci est la fonction principale de Jenkins qui sert à builder (construire) votre projet. Vous pouvez intégrer tous les outils de gestion de version avec tous les systèmes de build. Il est même possible d''utiliser Jenkins pour toute autre chose qu''un build logiciel. HealthReport.EmptyString= diff --git a/core/src/main/resources/hudson/model/Messages_it.properties b/core/src/main/resources/hudson/model/Messages_it.properties index 23938f9ea828..b61b7fe92c18 100644 --- a/core/src/main/resources/hudson/model/Messages_it.properties +++ b/core/src/main/resources/hudson/model/Messages_it.properties @@ -160,11 +160,6 @@ Descriptor.From=(da {0}) Executor.NotAvailable=N/D FileParameterDefinition.DisplayName=Parametro file FileParameterValue.IndexTitle=Parametri file -FreeStyleProject.Description=Questa è la funzionalità principale di Jenkins. \ - Jenkins eseguirà la compilazione del progetto, combinando qualunque sistema \ - di gestione del codice sorgente con qualunque sistema di compilazione, e \ - questo progetto può essere anche utilizzato per compiti diversi dalla \ - compilazione di software. FreeStyleProject.DisplayName=Progetto libero HealthReport.EmptyString= Hudson.AdministerPermission.Description=Questo permesso concede la capacità \ diff --git a/core/src/main/resources/hudson/model/Messages_ja.properties b/core/src/main/resources/hudson/model/Messages_ja.properties index 475606108217..155fed39f632 100644 --- a/core/src/main/resources/hudson/model/Messages_ja.properties +++ b/core/src/main/resources/hudson/model/Messages_ja.properties @@ -85,10 +85,6 @@ Executor.NotAvailable=N/A FreeStyleProject.DisplayName=フリースタイル・プロジェクトのビルド -FreeStyleProject.Description=\ - もっとも汎用性の高いJenkinsの中核機能です。任意のSCMからソースコードをチェックアウトし、\ - 任意のビルドシステムでプロジェクトがビルドできます。往々にして、ソフトウェアのビルド以外にも\ - 様々な仕事の自動化に利用することができます。 HealthReport.EmptyString= diff --git a/core/src/main/resources/hudson/model/Messages_ko.properties b/core/src/main/resources/hudson/model/Messages_ko.properties index 1b1194608e72..53667c659a42 100644 --- a/core/src/main/resources/hudson/model/Messages_ko.properties +++ b/core/src/main/resources/hudson/model/Messages_ko.properties @@ -1,5 +1,4 @@ ManageJenkinsAction.DisplayName=Jenkins 관리 ParametersDefinitionProperty.DisplayName=이 빌드는 매개변수가 있습니다 -FreeStyleProject.Description=이것은 Jenkins의 주요 기능입니다. Jenkins은 어느 빌드 시스템과 어떤 SCM(형상관리)으로 묶인 당신의 프로젝트를 빌드할 것이고, 소프트웨어 빌드보다 다른 어떤 것에 자주 사용될 수 있습니다. ParametersDefinitionProperty.BuildButtonText=매개변수가 필요한 빌드입니다. diff --git a/core/src/main/resources/hudson/model/Messages_lt.properties b/core/src/main/resources/hudson/model/Messages_lt.properties index 3248fdb97d67..dc319685ad2a 100644 --- a/core/src/main/resources/hudson/model/Messages_lt.properties +++ b/core/src/main/resources/hudson/model/Messages_lt.properties @@ -85,9 +85,6 @@ Descriptor.From=(iš {0}) Executor.NotAvailable=Nėra FreeStyleProject.DisplayName=Laisvo stiliaus projektas -FreeStyleProject.Description=\ - Pagrindinė Jenkinso funkcija. Jenkinsas sukurs jūsų projektą, kombinuojant bet kokią SCM su bet kokia kūrimo sistema, \ - ir visa tai galima naudoti nebūtinai programų kūrimui. HealthReport.EmptyString= diff --git a/core/src/main/resources/hudson/model/Messages_nb_NO.properties b/core/src/main/resources/hudson/model/Messages_nb_NO.properties index fa756d519fe5..99ac81854dbe 100644 --- a/core/src/main/resources/hudson/model/Messages_nb_NO.properties +++ b/core/src/main/resources/hudson/model/Messages_nb_NO.properties @@ -1,4 +1,3 @@ ManageJenkinsAction.DisplayName=Konfigurer Jenkins ParametersDefinitionProperty.DisplayName=Denne build har parametre -FreeStyleProject.Description=Dette er en sentral egenskap ved Jenkins. Jenkins bygger dine prosjekter, kombinerer SCM (Source Control Management - Kildekodekontrollsystem ) med forskjellige byggsystemer og denne kan også brukes til mer enn bare å bygge applikasjoner. diff --git a/core/src/main/resources/hudson/model/Messages_nl.properties b/core/src/main/resources/hudson/model/Messages_nl.properties index 2e81c05617b4..1ce8a56458d4 100644 --- a/core/src/main/resources/hudson/model/Messages_nl.properties +++ b/core/src/main/resources/hudson/model/Messages_nl.properties @@ -49,7 +49,6 @@ Executor.NotAvailable=Niet beschikbaar FreeStyleProject.DisplayName=Bouw een vrije stijl type software project -FreeStyleProject.Description=Dit is de basisfunctionaliteit van Jenkins. Bij dit type project kun je gebruik maken van een willekeurige combinatie van versiebeheer- en bouwsysteem. Je zou Jenkins zelfs kunnen gebruiken voor andere zaken dan het bouwen van software. Hudson.BadPortNumber=Verkeerd poortnummer {0} Hudson.Computer.Caption=Hoofdnode diff --git a/core/src/main/resources/hudson/model/Messages_pl.properties b/core/src/main/resources/hudson/model/Messages_pl.properties index a9d2c94080d5..4da9a364a8da 100644 --- a/core/src/main/resources/hudson/model/Messages_pl.properties +++ b/core/src/main/resources/hudson/model/Messages_pl.properties @@ -68,7 +68,6 @@ UpdateCenter.Status.CheckingJavaNet=Sprawdzanie połączenia z centrum aktualiza UpdateCenter.Status.Success=Zakończono MyViewsProperty.DisplayName=Moje widoki MyViewsProperty.GlobalAction.DisplayName=Moje widoki -FreeStyleProject.Description=To jest podstawowa funkcja Jenkinsa. Jenkins stworzy projekt łączący dowolny SCM z dowolnym systemem budującym, może to być również wykorzystane do czegoś innego niż budowanie oprogramowania. FreeStyleProject.DisplayName=Ogólny projekt Node.Mode.NORMAL=Wykorzystuj ten węzeł tak bardzo, jak to tylko możliwe ComputerSet.DisplayName=Węzły diff --git a/core/src/main/resources/hudson/model/Messages_pt_BR.properties b/core/src/main/resources/hudson/model/Messages_pt_BR.properties index 9643b131f2a9..f07c6fc49da0 100644 --- a/core/src/main/resources/hudson/model/Messages_pt_BR.properties +++ b/core/src/main/resources/hudson/model/Messages_pt_BR.properties @@ -45,9 +45,6 @@ BallColor.Success=Sucesso BallColor.Unstable=Instável Executor.NotAvailable=N/D FreeStyleProject.DisplayName=Construir um projeto de software de estilo livre. -FreeStyleProject.Description=Esta é a central de funcionalidades do Jenkins. Ela construirá seu projeto e você pode \ - combinar qualquer SCM com qualquer sistema de construção, e ele até mesmo pode ser usado para outras tarefas \ - diferentes de construções de software. Hudson.BadPortNumber=Número de porta ruim {0} Hudson.Computer.Caption=Mestre Hudson.Computer.DisplayName=mestre diff --git a/core/src/main/resources/hudson/model/Messages_pt_PT.properties b/core/src/main/resources/hudson/model/Messages_pt_PT.properties index 6978146ab722..585168602775 100644 --- a/core/src/main/resources/hudson/model/Messages_pt_PT.properties +++ b/core/src/main/resources/hudson/model/Messages_pt_PT.properties @@ -1,3 +1,2 @@ ManageJenkinsAction.DisplayName=Gerir o Jenkins -FreeStyleProject.Description=Isto é uma característica central do Jenkins. Jenkins vai construir o seu projecto, combinando qualquer SCM com qualquer sistema de compilação e isto pode ser usado mesmo em qualquer outra compilação de software. diff --git a/core/src/main/resources/hudson/model/Messages_ro.properties b/core/src/main/resources/hudson/model/Messages_ro.properties index c0a2697b2e0e..2911c11d5d8c 100644 --- a/core/src/main/resources/hudson/model/Messages_ro.properties +++ b/core/src/main/resources/hudson/model/Messages_ro.properties @@ -1,3 +1,2 @@ ParametersDefinitionProperty.DisplayName=Acest build este parametrizat -FreeStyleProject.Description=Aceasta este funcționalitatea principală a lui Jenkins. Jenkins va construi proiectul dvs, combinând orice SCM cu orice sistem de build-uri, și aceasta poate fi folosită chiar și la altceva decât build-uri de aplicații. diff --git a/core/src/main/resources/hudson/model/Messages_ru.properties b/core/src/main/resources/hudson/model/Messages_ru.properties index 2217b2289be5..2ce7869ed999 100644 --- a/core/src/main/resources/hudson/model/Messages_ru.properties +++ b/core/src/main/resources/hudson/model/Messages_ru.properties @@ -56,10 +56,6 @@ Executor.NotAvailable=Неизвестно FreeStyleProject.DisplayName=Создать задачу со свободной конфигурацией -FreeStyleProject.Description=\ - Это - основной и наиболее универсальный тип задач в Jenkins. \ - Jenkins будет собирать ваш проект, комбинируя любую SCM с любой сборочной системой. \ - Данный тип проектов может использоваться для задач, отличных от сборки ПО. Hudson.BadPortNumber=Некорректный номер порта: {0} Hudson.Computer.Caption=Мастер diff --git a/core/src/main/resources/hudson/model/Messages_sv_SE.properties b/core/src/main/resources/hudson/model/Messages_sv_SE.properties index eae53e2bafe4..e5dc7d4759a4 100644 --- a/core/src/main/resources/hudson/model/Messages_sv_SE.properties +++ b/core/src/main/resources/hudson/model/Messages_sv_SE.properties @@ -6,5 +6,4 @@ Job.Pronoun=Projekt ManageJenkinsAction.DisplayName=Hantera Jenkins ParametersDefinitionProperty.DisplayName=Detta bygge är parametriserat -FreeStyleProject.Description=Detta är en central del i Jenkins. Jenkins kommer att bygga ditt projekt med valfri versionshanterare och med vilket byggsystem som helst, och detta kan även användas för något annat än mjukvarubyggen. ParametersDefinitionProperty.BuildButtonText=Bygg diff --git a/core/src/main/resources/hudson/model/Messages_tr.properties b/core/src/main/resources/hudson/model/Messages_tr.properties index 9a199011159d..5df1c7a3b5b9 100644 --- a/core/src/main/resources/hudson/model/Messages_tr.properties +++ b/core/src/main/resources/hudson/model/Messages_tr.properties @@ -52,9 +52,6 @@ BallColor.Unstable=Dengesiz Executor.NotAvailable=Mevcut Değil FreeStyleProject.DisplayName=Serbest stil proje -FreeStyleProject.Description=\ - Bu Jenkins''in en temel kullanım alanıdır. Jenkins, herhangi bir SCM''yi herhangi bir yapılandırma sistemiyle birleştirerek projenizi yapılandırır, \ - ve hatta yazılım yapılandırması dışında başka işler için bile kullanılabilir. Hudson.BadPortNumber=Yanlış Port Numarası {0} Hudson.Computer.Caption=Master diff --git a/core/src/main/resources/hudson/model/Messages_uk.properties b/core/src/main/resources/hudson/model/Messages_uk.properties index 0e17bda155e3..ed5b6dadb9b7 100644 --- a/core/src/main/resources/hudson/model/Messages_uk.properties +++ b/core/src/main/resources/hudson/model/Messages_uk.properties @@ -1,3 +1,2 @@ ParametersDefinitionProperty.DisplayName=Ця будова має параметри -FreeStyleProject.Description=Це - основна відмінність Jenkins. Jenkins побудує ваш проект, комбінуючи будь-які системи управління кодом з будь-якими системами збірки, що може бути використано навіть для цілей відмінних від збірки програмного забезпечення. diff --git a/core/src/main/resources/hudson/model/Messages_zh_TW.properties b/core/src/main/resources/hudson/model/Messages_zh_TW.properties index b0a151aced77..94d7c8f1a342 100644 --- a/core/src/main/resources/hudson/model/Messages_zh_TW.properties +++ b/core/src/main/resources/hudson/model/Messages_zh_TW.properties @@ -84,10 +84,6 @@ Descriptor.From=(from {0}) Executor.NotAvailable=N/A FreeStyleProject.DisplayName=建置 Free-Style 軟體專案 -FreeStyleProject.Description=\ - 這是 Jenkins 的主要功能。\ - Jenkins 能搭配各式程式碼管理、建置系統來建置您的專案,\ - 甚至還能做軟體建置以外的其他事情。 Hudson.BadPortNumber=連接埠號 {0} 無效 Hudson.Computer.Caption=Master From 184c79a02a57f80d3d76fb0cc9ebe9b6be04c0db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Dec 2023 11:37:58 -0700 Subject: [PATCH 0017/1330] Bump org.springframework.security:spring-security-bom from 5.8.8 to 5.8.9 (#8788) Bump org.springframework.security:spring-security-bom Bumps [org.springframework.security:spring-security-bom](https://github.com/spring-projects/spring-security) from 5.8.8 to 5.8.9. - [Release notes](https://github.com/spring-projects/spring-security/releases) - [Changelog](https://github.com/spring-projects/spring-security/blob/main/RELEASE.adoc) - [Commits](https://github.com/spring-projects/spring-security/compare/5.8.8...5.8.9) --- updated-dependencies: - dependency-name: org.springframework.security:spring-security-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 28a945e2321e..c56deb98438b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -64,7 +64,7 @@ THE SOFTWARE. org.springframework.security spring-security-bom - 5.8.8 + 5.8.9 pom import From b8ee997fccbe11a2dcbdb3402bcaf6be97022e49 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Thu, 21 Dec 2023 10:38:14 -0800 Subject: [PATCH 0018/1330] [JENKINS-64356] Add test for missing `legacyIds` when creating jobs via REST API or CLI (#8758) --- .../java/jenkins/model/RunIdMigratorTest.java | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 test/src/test/java/jenkins/model/RunIdMigratorTest.java diff --git a/test/src/test/java/jenkins/model/RunIdMigratorTest.java b/test/src/test/java/jenkins/model/RunIdMigratorTest.java new file mode 100644 index 000000000000..4ade1afc84e1 --- /dev/null +++ b/test/src/test/java/jenkins/model/RunIdMigratorTest.java @@ -0,0 +1,100 @@ +/* + * The MIT License + * + * Copyright 2023 CloudBees, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +package jenkins.model; + +import static hudson.cli.CLICommandInvoker.Matcher.succeededSilently; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import hudson.cli.CLICommandInvoker; +import hudson.cli.CreateJobCommand; +import hudson.model.FreeStyleProject; +import hudson.model.Item; +import hudson.model.User; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.nio.charset.StandardCharsets; +import org.htmlunit.HttpMethod; +import org.htmlunit.WebRequest; +import org.junit.Ignore; +import org.junit.Rule; +import org.junit.Test; +import org.jvnet.hudson.test.Issue; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.MockAuthorizationStrategy; + +public class RunIdMigratorTest { + + @Rule + public JenkinsRule j = new JenkinsRule(); + + @Test + public void legacyIdsPresent() throws Exception { + FreeStyleProject p = j.createFreeStyleProject(); + File legacyIds = new File(p.getBuildDir(), "legacyIds"); + assertTrue(legacyIds.exists()); + } + + @Ignore("TODO Item#onCreatedFromScratch is not called") + @Issue("JENKINS-64356") + @Test + public void legacyIdsPresentViaRestApi() throws Exception { + User user = User.getById("user", true); + j.jenkins.setSecurityRealm(j.createDummySecurityRealm()); + j.jenkins.setAuthorizationStrategy(new MockAuthorizationStrategy() + .grant(Jenkins.READ, Item.CREATE) + .everywhere() + .to(user.getId())); + String jobName = "test" + j.jenkins.getItems().size(); + try (JenkinsRule.WebClient wc = j.createWebClient()) { + wc.login(user.getId()); + WebRequest req = new WebRequest(wc.createCrumbedUrl("createItem?name=" + jobName), HttpMethod.POST); + req.setAdditionalHeader("Content-Type", "application/xml"); + req.setRequestBody(""); + wc.getPage(req); + } + FreeStyleProject p = j.jenkins.getItemByFullName(jobName, FreeStyleProject.class); + assertNotNull(p); + File legacyIds = new File(p.getBuildDir(), "legacyIds"); + assertTrue(legacyIds.exists()); + } + + @Ignore("TODO Item#onCreatedFromScratch is not called") + @Issue("JENKINS-64356") + @Test + public void legacyIdsPresentViaCli() { + String jobName = "test" + j.jenkins.getItems().size(); + CLICommandInvoker invoker = new CLICommandInvoker(j, new CreateJobCommand()); + CLICommandInvoker.Result result = invoker.withStdin( + new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8))) + .invokeWithArgs(jobName); + assertThat(result, succeededSilently()); + FreeStyleProject p = j.jenkins.getItemByFullName(jobName, FreeStyleProject.class); + assertNotNull(p); + File legacyIds = new File(p.getBuildDir(), "legacyIds"); + assertTrue(legacyIds.exists()); + } +} From 7018b14cc3f23c9415f1397ea6da22a7be280255 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Dec 2023 14:20:36 -0800 Subject: [PATCH 0019/1330] Bump org.jenkins-ci.plugins:matrix-project from 818.v7eb_e657db_924 to 822.v01b_8c85d16d2 (#8796) 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 bb493bb4a975..bbc83d780ea9 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -230,7 +230,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-project - 818.v7eb_e657db_924 + 822.v01b_8c85d16d2 test From 8115f23fffac6ac4beda0b58572421b6485c7725 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 21 Dec 2023 14:21:51 -0800 Subject: [PATCH 0020/1330] Bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre (#8792) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index c56deb98438b..36c3542fad35 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -82,7 +82,7 @@ THE SOFTWARE. com.google.guava guava - 32.1.3-jre + 33.0.0-jre From 43ecf083657d0a8fc85a14f85fc70a4555eb9277 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Dec 2023 14:22:54 -0800 Subject: [PATCH 0021/1330] Update dependency eslint to v8.56.0 (#8789) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/war/package.json b/war/package.json index 5fd76f8acc31..55779ca60538 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.55.0", + "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", diff --git a/war/yarn.lock b/war/yarn.lock index 26c631d7d84a..3ff87095816c 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1803,10 +1803,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.55.0": - version: 8.55.0 - resolution: "@eslint/js@npm:8.55.0" - checksum: 88ab9fc57a651becd2b32ec40a3958db27fae133b1ae77bebd733aa5bbd00a92f325bb02f20ad680d31c731fa49b22f060a4777dd52eb3e27da013d940bd978d +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a languageName: node linkType: hard @@ -3514,14 +3514,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8.55.0": - version: 8.55.0 - resolution: "eslint@npm:8.55.0" +"eslint@npm:8.56.0": + version: 8.56.0 + resolution: "eslint@npm:8.56.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.55.0" + "@eslint/js": "npm:8.56.0" "@humanwhocodes/config-array": "npm:^0.11.13" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" @@ -3558,7 +3558,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: d28c0b60f19bb7d355cb8393e77b018c8f548dba3f820b799c89bb2e0c436ee26084e700c5e57e1e97e7972ec93065277849141b82e7b0c0d02c2dc1e553a2a1 + checksum: 2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb languageName: node linkType: hard @@ -4347,7 +4347,7 @@ __metadata: clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:6.8.1" css-minimizer-webpack-plugin: "npm:5.0.1" - eslint: "npm:8.55.0" + eslint: "npm:8.56.0" eslint-config-prettier: "npm:9.1.0" handlebars: "npm:4.7.8" handlebars-loader: "npm:1.7.3" From 400d5e4ce4440e159436828d7fe45dd51269592a Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri, 22 Dec 2023 20:50:51 +0000 Subject: [PATCH 0022/1330] Remove last usages of .bigtable (#8797) --- .../SCMTrigger/DescriptorImpl/index.jelly | 32 ++++++----- .../diagnosis/HsErrPidList/index.jelly | 54 ++++++++++--------- 2 files changed, 47 insertions(+), 39 deletions(-) diff --git a/core/src/main/resources/hudson/triggers/SCMTrigger/DescriptorImpl/index.jelly b/core/src/main/resources/hudson/triggers/SCMTrigger/DescriptorImpl/index.jelly index 6495f391e85c..482473f16d43 100644 --- a/core/src/main/resources/hudson/triggers/SCMTrigger/DescriptorImpl/index.jelly +++ b/core/src/main/resources/hudson/triggers/SCMTrigger/DescriptorImpl/index.jelly @@ -46,24 +46,28 @@ THE SOFTWARE.

${%The following polling activities are currently in progress:}

- - - - - - +
${%Project}${%Running for}
+ - - + + - + + + + + + + + +
- ${r.target.asItem().fullDisplayName} - - ${r.duration} - ${%Project}${%Running for}
+ ${r.target.asItem().fullDisplayName} + + ${r.duration} +
- \ No newline at end of file + diff --git a/core/src/main/resources/jenkins/diagnosis/HsErrPidList/index.jelly b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/index.jelly index c78c973137c6..cc1db0886eda 100644 --- a/core/src/main/resources/jenkins/diagnosis/HsErrPidList/index.jelly +++ b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/index.jelly @@ -31,33 +31,37 @@ THE SOFTWARE.

${%blurb}

- - - - - - +
${%Name}${%Date} -
+ - - - + + + - + + + + + + + + + +
- - - ${f.path} - - - - - (${%ago(f.timeSpanString)}) - -
- - -
${%Name}${%Date}
+ + + ${f.path} + + + + + (${%ago(f.timeSpanString)}) + +
+ + +
- \ No newline at end of file + From f60c1b4872b2e7a2dfa186fdff0c87464bf8c725 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Dec 2023 21:51:23 +0100 Subject: [PATCH 0023/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2137.vb_4eb_49f51c4b_ to 2140.ve736dc2b_b_d2c (#8799) Bump org.jenkins-ci.main:jenkins-test-harness Bumps [org.jenkins-ci.main:jenkins-test-harness](https://github.com/jenkinsci/jenkins-test-harness) from 2137.vb_4eb_49f51c4b_ to 2140.ve736dc2b_b_d2c. - [Release notes](https://github.com/jenkinsci/jenkins-test-harness/releases) - [Changelog](https://github.com/jenkinsci/jenkins-test-harness/blob/master/docs/CHANGELOG-OLD.md) - [Commits](https://github.com/jenkinsci/jenkins-test-harness/commits) --- updated-dependencies: - dependency-name: org.jenkins-ci.main:jenkins-test-harness dependency-type: direct:development ... 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 bbc83d780ea9..23af17400807 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2137.vb_4eb_49f51c4b_ + 2140.ve736dc2b_b_d2c test From df03159afe15788eb74bced96ce7b44dfc70788c Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 23 Dec 2023 18:49:49 -0500 Subject: [PATCH 0024/1330] Restore JCasC compatibility for `JNLPLauncher.tunnel` (#8793) * Restore JCasC compatibility for `JNLPLauncher.tunnel` * Also removing `@Deprecated` on fields & getters --- .../main/java/hudson/slaves/JNLPLauncher.java | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/hudson/slaves/JNLPLauncher.java b/core/src/main/java/hudson/slaves/JNLPLauncher.java index 3e11407ef6ba..4645f3ffbeeb 100644 --- a/core/src/main/java/hudson/slaves/JNLPLauncher.java +++ b/core/src/main/java/hudson/slaves/JNLPLauncher.java @@ -53,11 +53,11 @@ * @author Stephen Connolly * @author Kohsuke Kawaguchi */ +@SuppressWarnings("deprecation") // see comments about CasC public class JNLPLauncher extends ComputerLauncher { /** * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC. */ - @DataBoundSetter @CheckForNull public String tunnel; @@ -67,11 +67,9 @@ public class JNLPLauncher extends ComputerLauncher { @Deprecated public final transient String vmargs = null; - @Deprecated @NonNull private RemotingWorkDirSettings workDirSettings = RemotingWorkDirSettings.getEnabledDefaults(); - @Deprecated private boolean webSocket; /** @@ -131,7 +129,9 @@ protected Object readResolve() { return this; } - @Deprecated + /** + * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC. + */ public RemotingWorkDirSettings getWorkDirSettings() { return workDirSettings; } @@ -149,7 +149,9 @@ public boolean isLaunchSupported() { return false; } - @Deprecated + /** + * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC. + */ public boolean isWebSocket() { return webSocket; } @@ -162,6 +164,21 @@ public void setWebSocket(boolean webSocket) { this.webSocket = webSocket; } + /** + * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC. + */ + public String getTunnel() { + return tunnel; + } + + /** + * Deprecated (only used with deprecated {@code -jnlpUrl} mode), but cannot mark it as such without breaking CasC. + */ + @DataBoundSetter + public void setTunnel(String tunnel) { + this.tunnel = tunnel; + } + @Override public void launch(SlaveComputer computer, TaskListener listener) { // do nothing as we cannot self start From 48da635be22e4e01d71d62a957f3b4c0803a64de Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Mon, 25 Dec 2023 15:21:53 +0100 Subject: [PATCH 0025/1330] [JENKINS-71965] fix timezone in build history (#8800) * [JENKINS-71965] fix timezone in build history the timezone shown was always the daylight saving time when the users selected timezone has daylight saving. The change will now consider the actual timestamp of the build to determine if it was in daylight saving time to properly calculate the timezone to show. * make locale aware --- core/src/main/java/hudson/Functions.java | 4 ++-- .../main/resources/hudson/widgets/HistoryWidget/entry.jelly | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 0d5786815ed0..9cc4659ef33b 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -692,13 +692,13 @@ public static String getUserTimeZone() { } @Restricted(NoExternalUse.class) - public static String getUserTimeZonePostfix() { + public static String getUserTimeZonePostfix(Date date) { if (!isUserTimeZoneOverride()) { return ""; } TimeZone tz = TimeZone.getTimeZone(getUserTimeZone()); - return tz.getDisplayName(tz.observesDaylightTime(), TimeZone.SHORT); + return tz.getDisplayName(tz.inDaylightTime(date), TimeZone.SHORT, getCurrentLocale()); } @Restricted(NoExternalUse.class) diff --git a/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly b/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly index a77474476625..31dbb322fbd0 100644 --- a/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly +++ b/core/src/main/resources/hudson/widgets/HistoryWidget/entry.jelly @@ -50,7 +50,7 @@ THE SOFTWARE. ${%Took} ${build.durationString} - ${h.getUserTimeZonePostfix()} + ${h.getUserTimeZonePostfix(build.timestamp.time)} From 5ab5ad07e9847ec89bc708fff64cb6391144268f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Dec 2023 10:04:14 -0800 Subject: [PATCH 0026/1330] Bump io.jenkins.plugins:plugin-util-api from 3.6.0 to 3.8.0 (#8801) 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 23af17400807..014299562104 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -88,7 +88,7 @@ THE SOFTWARE. io.jenkins.plugins plugin-util-api - 3.6.0 + 3.8.0 org.jenkins-ci.plugins From 49c305dfb7a07b54eff2baee5b8c87c1b6278303 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 26 Dec 2023 13:04:44 +0000 Subject: [PATCH 0027/1330] [maven-release-plugin] prepare release jenkins-2.438 --- 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 36c3542fad35..4d5d823bdb26 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 21aabc88e649..eac275a0060d 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 cli diff --git a/core/pom.xml b/core/pom.xml index 45539865962a..d693da33f498 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..1d7732c0d124 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 jenkins-coverage diff --git a/pom.xml b/pom.xml index b1386c7b1330..422600e25695 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 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.438 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index 014299562104..834131422073 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 2808d786b3d4..34b46dd2b3ef 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.438 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..61f4d998c945 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.438 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..823c105e64bf 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.438 ../.. From 111b3f28be852584b1a1e9e78a05ba9827012798 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 26 Dec 2023 13:05:08 +0000 Subject: [PATCH 0028/1330] [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 4d5d823bdb26..36c3542fad35 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index eac275a0060d..21aabc88e649 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index d693da33f498..45539865962a 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 1d7732c0d124..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 422600e25695..6541831b2a10 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.438 + ${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.438 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.438 + 2.439 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 834131422073..014299562104 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 34b46dd2b3ef..2808d786b3d4 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.438 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 61f4d998c945..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.438 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 823c105e64bf..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.438 + ${revision}${changelist} ../.. From 3a92445c2bc80a4c9e7c6fdf87731be109851405 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Thu, 28 Dec 2023 10:59:43 +0100 Subject: [PATCH 0029/1330] [JENKINS-72370][JENKINS-11889] fix SimpleScheduledRetentionStrategy with inbound agents (#8717) by implementing `isAcceptingTasks` the availability strategy ensures that no builds can start when the agent should not do anything. The current behaviour with an inbound agent is that the strategy disconnects the agent, just to get connected again by the agents java process followed by a disconnection a minute later and so on. After it is connected, the agent is actually accepting tasks. Additionally the change will only disconnect the agent when the controller the controller can itself launch the agent, this means inbound agents are not connected, to avoid playing jojo. The agent will just not accept new tasks for execution. The change also avoids the problem in [JENKINS-11889] for outbound agents where the accepting tasks of an agents seems to be not reset when changing the availability strategy to always on. --- .../SimpleScheduledRetentionStrategy.java | 77 ++++++++++--------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java b/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java index 6f09e8109973..ef6e3d0c8658 100644 --- a/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java +++ b/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java @@ -169,6 +169,11 @@ public boolean isManualLaunchAllowed(final SlaveComputer c) { return isOnlineScheduled(); } + @Override + public boolean isAcceptingTasks(SlaveComputer c) { + return isOnlineScheduled(); + } + @Override @GuardedBy("hudson.model.Queue.lock") public synchronized long check(final SlaveComputer c) { @@ -191,7 +196,6 @@ public void run() { LOGGER.log(INFO, "Enabling new jobs for computer {0} as it has started its scheduled uptime", new Object[]{c.getName()}); - c.setAcceptingTasks(true); } } catch (InterruptedException | ExecutionException e) { } @@ -199,45 +203,44 @@ public void run() { }); } } else if (!shouldBeOnline && c.isOnline()) { - if (keepUpWhenActive) { - if (!c.isIdle() && c.isAcceptingTasks()) { - c.setAcceptingTasks(false); - LOGGER.log(INFO, - "Disabling new jobs for computer {0} as it has finished its scheduled uptime", - new Object[]{c.getName()}); - return 1; - } else if (c.isIdle() && c.isAcceptingTasks()) { - Queue.withLock(new Runnable() { - @Override - public void run() { - if (c.isIdle()) { - LOGGER.log(INFO, "Disconnecting computer {0} as it has finished its scheduled uptime", - new Object[]{c.getName()}); - c.disconnect(OfflineCause - .create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); - } else { - c.setAcceptingTasks(false); + if (c.isLaunchSupported()) { + if (keepUpWhenActive) { + if (!c.isIdle() && c.isAcceptingTasks()) { + LOGGER.log(INFO, + "Disabling new jobs for computer {0} as it has finished its scheduled uptime", + new Object[]{c.getName()}); + return 1; + } else if (c.isIdle() && c.isAcceptingTasks()) { + Queue.withLock(new Runnable() { + @Override + public void run() { + if (c.isIdle()) { + LOGGER.log(INFO, "Disconnecting computer {0} as it has finished its scheduled uptime", + new Object[]{c.getName()}); + c.disconnect(OfflineCause + .create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); + } } - } - }); - } else if (c.isIdle() && !c.isAcceptingTasks()) { - Queue.withLock(new Runnable() { - @Override - public void run() { - if (c.isIdle()) { - LOGGER.log(INFO, "Disconnecting computer {0} as it has finished all jobs running when " - + "it completed its scheduled uptime", new Object[]{c.getName()}); - c.disconnect(OfflineCause - .create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); + }); + } else if (c.isIdle() && !c.isAcceptingTasks()) { + Queue.withLock(new Runnable() { + @Override + public void run() { + if (c.isIdle()) { + LOGGER.log(INFO, "Disconnecting computer {0} as it has finished all jobs running when " + + "it completed its scheduled uptime", new Object[]{c.getName()}); + c.disconnect(OfflineCause + .create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); + } } - } - }); + }); + } + } else { + // no need to get the queue lock as the user has selected the break builds option! + LOGGER.log(INFO, "Disconnecting computer {0} as it has finished its scheduled uptime", + new Object[]{c.getName()}); + c.disconnect(OfflineCause.create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); } - } else { - // no need to get the queue lock as the user has selected the break builds option! - LOGGER.log(INFO, "Disconnecting computer {0} as it has finished its scheduled uptime", - new Object[]{c.getName()}); - c.disconnect(OfflineCause.create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); } } return 1; From ee7ec9f430f778a9a0447e55c2119f6a961d8170 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Dec 2023 01:21:45 +0100 Subject: [PATCH 0030/1330] Update dependency sass-loader to v13.3.3 (#8808) 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 55779ca60538..b374e39b3b00 100644 --- a/war/package.json +++ b/war/package.json @@ -40,7 +40,7 @@ "postcss-scss": "4.0.9", "prettier": "3.1.1", "sass": "1.69.5", - "sass-loader": "13.3.2", + "sass-loader": "13.3.3", "style-loader": "3.3.3", "stylelint": "16.0.2", "stylelint-checkstyle-reporter": "0.2.0", diff --git a/war/yarn.lock b/war/yarn.lock index 3ff87095816c..6d8a87b199cc 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4361,7 +4361,7 @@ __metadata: postcss-scss: "npm:4.0.9" prettier: "npm:3.1.1" sass: "npm:1.69.5" - sass-loader: "npm:13.3.2" + sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.3" stylelint: "npm:16.0.2" @@ -6285,9 +6285,9 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:13.3.2": - version: 13.3.2 - resolution: "sass-loader@npm:13.3.2" +"sass-loader@npm:13.3.3": + version: 13.3.3 + resolution: "sass-loader@npm:13.3.3" dependencies: neo-async: "npm:^2.6.2" peerDependencies: @@ -6305,7 +6305,7 @@ __metadata: optional: true sass-embedded: optional: true - checksum: 7db8132101ed663f3cf936ce765b9b960a48b14f13f17d367a4e0c2ae259e91b6c401e33ab0f27ee88c98c8b5893c778848fc8366f1f387ac788ebef244e000a + checksum: 5e955a4ffce35ee0a46fce677ce51eaa69587fb5371978588c83af00f49e7edc36dcf3bb559cbae27681c5e24a71284463ebe03a1fb65e6ecafa1db0620e3fc8 languageName: node linkType: hard From 69e20dbbaf70c92c8daabf0327144483a936a667 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Dec 2023 01:23:31 +0100 Subject: [PATCH 0031/1330] Update dependency stylelint to v16.1.0 (#8804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 259 +++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 219 insertions(+), 42 deletions(-) diff --git a/war/package.json b/war/package.json index b374e39b3b00..2c91ee9ba42a 100644 --- a/war/package.json +++ b/war/package.json @@ -42,7 +42,7 @@ "sass": "1.69.5", "sass-loader": "13.3.3", "style-loader": "3.3.3", - "stylelint": "16.0.2", + "stylelint": "16.1.0", "stylelint-checkstyle-reporter": "0.2.0", "stylelint-config-standard": "33.0.0", "webpack": "5.89.0", diff --git a/war/yarn.lock b/war/yarn.lock index 6d8a87b199cc..7aa8317d793e 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1394,7 +1394,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:2.3.2, @csstools/css-parser-algorithms@npm:^2.3.2": +"@csstools/css-parser-algorithms@npm:2.3.2": version: 2.3.2 resolution: "@csstools/css-parser-algorithms@npm:2.3.2" peerDependencies: @@ -1403,20 +1403,29 @@ __metadata: languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^2.2.1": - version: 2.2.1 - resolution: "@csstools/css-tokenizer@npm:2.2.1" - checksum: 0c6901d291e99c567893846a47068057c2a28b3edc4219b6da589a530f55f51ddd4675f906f707b393bfe7a508ab2604bf3f75708f064db857bb277636bd5a44 +"@csstools/css-parser-algorithms@npm:^2.3.2, @csstools/css-parser-algorithms@npm:^2.4.0": + version: 2.4.0 + resolution: "@csstools/css-parser-algorithms@npm:2.4.0" + peerDependencies: + "@csstools/css-tokenizer": ^2.2.2 + checksum: bcfc067b9d1bd5e0bc6044bfbf6450a4a6837d88c5ffd081e2159d4e442c28f018b58c7c2b3ce176ba0bf76cbbce0fd3c65468a40b9867ad9b3e3ef90b9b2655 languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^2.1.5": - version: 2.1.5 - resolution: "@csstools/media-query-list-parser@npm:2.1.5" +"@csstools/css-tokenizer@npm:^2.2.1, @csstools/css-tokenizer@npm:^2.2.2": + version: 2.2.2 + resolution: "@csstools/css-tokenizer@npm:2.2.2" + checksum: 9e7374aab06a811f868a85127af1ff07ad7a56e22e8c46930e789a907098bdd4e6eec82e0cb0d4b8ac1cd5cd054c1f0e329ec50d8548f57d660aeee7cf9b3167 + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^2.1.5, @csstools/media-query-list-parser@npm:^2.1.6": + version: 2.1.6 + resolution: "@csstools/media-query-list-parser@npm:2.1.6" peerDependencies: - "@csstools/css-parser-algorithms": ^2.3.2 - "@csstools/css-tokenizer": ^2.2.1 - checksum: ae0692c6f92cdc82053291c7a50028b692094dfed795f0259571c5eb40f4b3fa580182ac3701e56c2834e40a62a122ea6639299e43ae88b3a835ae4c869a1a12 + "@csstools/css-parser-algorithms": ^2.4.0 + "@csstools/css-tokenizer": ^2.2.2 + checksum: 06da3e5c01e4785963b821ee2eb31f4fcec622f3b0e4e0748113f287c876f241be211ba11d435d0cc1f0e9f2e26baf5fbf6f8563dc88a49709c3d49e79490b76 languageName: node linkType: hard @@ -1752,12 +1761,12 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-specificity@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/selector-specificity@npm:3.0.0" +"@csstools/selector-specificity@npm:^3.0.0, @csstools/selector-specificity@npm:^3.0.1": + version: 3.0.1 + resolution: "@csstools/selector-specificity@npm:3.0.1" peerDependencies: postcss-selector-parser: ^6.0.13 - checksum: 6f0e2fa9a3c5dcbc7a446fd827d3eb85ca775cc884f73f0bbb119ab49b4f5f0af8763dd23a37d423f4e7989069c09bb977e7e5f017db296e1417abb1fba75c30 + checksum: 4280f494726d5e38de74e28dee2ff74ec86244560dff4edeec3ddff3ac73c774c19535bd1bb70cad77949bfb359cf87e977d0ec3264591e3b7260342a20dd84f languageName: node linkType: hard @@ -1842,6 +1851,20 @@ __metadata: languageName: node linkType: hard +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + "@jest/schemas@npm:^29.4.3": version: 29.4.3 resolution: "@jest/schemas@npm:29.4.3" @@ -2018,6 +2041,13 @@ __metadata: languageName: node linkType: hard +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + "@popperjs/core@npm:^2.9.0": version: 2.11.6 resolution: "@popperjs/core@npm:2.11.6" @@ -2504,6 +2534,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + "ansis@npm:1.5.2": version: 1.5.2 resolution: "ansis@npm:1.5.2" @@ -3033,7 +3070,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -3369,6 +3406,13 @@ __metadata: languageName: node linkType: hard +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.4.601": version: 1.4.612 resolution: "electron-to-chromium@npm:1.4.612" @@ -3383,6 +3427,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -3695,12 +3746,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^7.0.2": - version: 7.0.2 - resolution: "file-entry-cache@npm:7.0.2" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.2.0" - checksum: 822664e35c3e295e6a8ca7ec490d8d8077017607f41f94b29922f1f49c6dd07025048e3ed528e2909a1439eba66d60f802c0774aa612cf6ee053ee4ecc16c8c5 + flat-cache: "npm:^4.0.0" + checksum: 9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -3753,7 +3804,7 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4, flat-cache@npm:^3.2.0": +"flat-cache@npm:^3.0.4": version: 3.2.0 resolution: "flat-cache@npm:3.2.0" dependencies: @@ -3764,6 +3815,17 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^4.0.0": + version: 4.0.0 + resolution: "flat-cache@npm:4.0.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + rimraf: "npm:^5.0.5" + checksum: 8f99e27bb3de94e91e7b4ca5120488cdc2b7f8cd952a538f1a566101963057eb42ca318e9fac0d36987dcca34316ff04b61c1dc3dcc8084f6f5e801a52a8e547 + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.2.9 resolution: "flatted@npm:3.2.9" @@ -3771,6 +3833,16 @@ __metadata: languageName: node linkType: hard +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + languageName: node + linkType: hard + "fraction.js@npm:^4.3.6": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" @@ -3875,6 +3947,21 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.7": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d + languageName: node + linkType: hard + "glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -4336,6 +4423,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + languageName: node + linkType: hard + "jenkins-ui@workspace:.": version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." @@ -4364,7 +4464,7 @@ __metadata: sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.3" - stylelint: "npm:16.0.2" + stylelint: "npm:16.1.0" stylelint-checkstyle-reporter: "npm:0.2.0" stylelint-config-standard: "npm:33.0.0" tippy.js: "npm:6.3.7" @@ -4531,7 +4631,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -4690,6 +4790,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + languageName: node + linkType: hard + "make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -4745,10 +4852,10 @@ __metadata: languageName: node linkType: hard -"meow@npm:^12.1.1": - version: 12.1.1 - resolution: "meow@npm:12.1.1" - checksum: a125ca99a32e2306e2f4cbe651a0d27f6eb67918d43a075f6e80b35e9bf372ebf0fc3a9fbc201cbbc9516444b6265fb3c9f80c5b7ebd32f548aa93eb7c28e088 +"meow@npm:^13.0.0": + version: 13.0.0 + resolution: "meow@npm:13.0.0" + checksum: fab0f91578154c048e792a81704f3f28099ffff900f364df8a85f6e770a57e1c124859a25e186186e149dad30692c7893af0dfd71517bea343bfe5d749b1fa04 languageName: node linkType: hard @@ -4821,6 +4928,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + "minimist@npm:^1.2.0, minimist@npm:^1.2.5": version: 1.2.7 resolution: "minimist@npm:1.2.7" @@ -4888,6 +5004,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -5194,6 +5317,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: "npm:^9.1.1 || ^10.0.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -6262,6 +6395,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.5 + resolution: "rimraf@npm:5.0.5" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -6529,7 +6673,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -6540,6 +6684,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -6549,7 +6704,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -6558,7 +6713,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.1.0": +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -6624,14 +6779,14 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:16.0.2": - version: 16.0.2 - resolution: "stylelint@npm:16.0.2" +"stylelint@npm:16.1.0": + version: 16.1.0 + resolution: "stylelint@npm:16.1.0" dependencies: - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/media-query-list-parser": "npm:^2.1.5" - "@csstools/selector-specificity": "npm:^3.0.0" + "@csstools/css-parser-algorithms": "npm:^2.4.0" + "@csstools/css-tokenizer": "npm:^2.2.2" + "@csstools/media-query-list-parser": "npm:^2.1.6" + "@csstools/selector-specificity": "npm:^3.0.1" balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" @@ -6640,7 +6795,7 @@ __metadata: debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^7.0.2" + file-entry-cache: "npm:^8.0.0" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" @@ -6650,7 +6805,7 @@ __metadata: is-plain-object: "npm:^5.0.0" known-css-properties: "npm:^0.29.0" mathml-tag-names: "npm:^2.1.3" - meow: "npm:^12.1.1" + meow: "npm:^13.0.0" micromatch: "npm:^4.0.5" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.0.0" @@ -6668,7 +6823,7 @@ __metadata: write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 5ec755e209beb1877ff40d50f18c1ebb05bf251925da1f98f28fb3911e4031195eb86adaf641ac5cdb01ba973f4c999bc0c6b0270d08c1d5c070adbdd9e734cf + checksum: 765eea0b07319d1e7989502c07b8b5794938e5a8542bec00990b09ec10c3f7006891689930099e948d06c9ef9982066edb98b1ea64a435138a6b0f0905eb2b87 languageName: node linkType: hard @@ -7104,6 +7259,28 @@ __metadata: languageName: node linkType: hard +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" From 2e267453eb7530848df3a4b75774136446e280b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Dec 2023 12:24:56 +0100 Subject: [PATCH 0032/1330] Update dependency postcss-loader to v7.3.4 (#8812) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 51 ++++++++++++++++++++++++++---------------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/war/package.json b/war/package.json index 2c91ee9ba42a..307f28d71172 100644 --- a/war/package.json +++ b/war/package.json @@ -35,7 +35,7 @@ "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", "postcss": "8.4.32", - "postcss-loader": "7.3.3", + "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", "prettier": "3.1.1", diff --git a/war/yarn.lock b/war/yarn.lock index 7aa8317d793e..3781e65b0635 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3041,15 +3041,20 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.2.0": - version: 8.2.0 - resolution: "cosmiconfig@npm:8.2.0" +"cosmiconfig@npm:^8.3.5": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" dependencies: - import-fresh: "npm:^3.2.1" + import-fresh: "npm:^3.3.0" js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.0.0" + parse-json: "npm:^5.2.0" path-type: "npm:^4.0.0" - checksum: 4180aa6d1881b75ba591b2fc04b022741a3a4b67e9e243c0eb8d169b6e1efbd3cdf7e8ca19243c0f2e53a9d59ac3eccd5cad5f95f487fcbf4e740f9e86745747 + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a languageName: node linkType: hard @@ -4456,7 +4461,7 @@ __metadata: lodash: "npm:4.17.21" mini-css-extract-plugin: "npm:2.7.6" postcss: "npm:8.4.32" - postcss-loader: "npm:7.3.3" + postcss-loader: "npm:7.3.4" postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.1.1" @@ -4512,12 +4517,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.18.2": - version: 1.18.2 - resolution: "jiti@npm:1.18.2" +"jiti@npm:^1.20.0": + version: 1.21.0 + resolution: "jiti@npm:1.21.0" bin: jiti: bin/jiti.js - checksum: 578343e883838a5d6775350925d9e1a647e00132ade9c8cc318c163b692988612472f0af3cd9d92b8d8ca61e623092e86ab89563cbf6394900a5a39962e3c4e8 + checksum: 7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f languageName: node linkType: hard @@ -5263,7 +5268,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -5656,17 +5661,17 @@ __metadata: languageName: node linkType: hard -"postcss-loader@npm:7.3.3": - version: 7.3.3 - resolution: "postcss-loader@npm:7.3.3" +"postcss-loader@npm:7.3.4": + version: 7.3.4 + resolution: "postcss-loader@npm:7.3.4" dependencies: - cosmiconfig: "npm:^8.2.0" - jiti: "npm:^1.18.2" - semver: "npm:^7.3.8" + cosmiconfig: "npm:^8.3.5" + jiti: "npm:^1.20.0" + semver: "npm:^7.5.4" peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 - checksum: d039654273f858be1f75dfdf8b550869d88905b73a7684b3e48a2937a6087619e84fd1a3551cdef78685a965a2573e985b29a532c3878d834071ecd2da0eb304 + checksum: 1bf7614aeea9ad1f8ee6be3a5451576c059391688ea67f825aedc2674056369597faeae4e4a81fe10843884c9904a71403d9a54197e1f560e8fbb9e61f2a2680 languageName: node linkType: hard @@ -6507,14 +6512,14 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.8": - version: 7.3.8 - resolution: "semver@npm:7.3.8" +"semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" dependencies: lru-cache: "npm:^6.0.0" bin: semver: bin/semver.js - checksum: 7e581d679530db31757301c2117721577a2bb36a301a443aac833b8efad372cda58e7f2a464fe4412ae1041cc1f63a6c1fe0ced8c57ce5aca1e0b57bb0d627b9 + checksum: 5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e languageName: node linkType: hard From f4095698966cd901681241e994e872846429211d Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Mon, 1 Jan 2024 08:17:56 +0100 Subject: [PATCH 0033/1330] Run GH actions release artifact uploader with JDK 17 (#8813) --- .github/workflows/publish-release-artifact.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-release-artifact.yml b/.github/workflows/publish-release-artifact.yml index 86d55282ebba..3bb991579de8 100644 --- a/.github/workflows/publish-release-artifact.yml +++ b/.github/workflows/publish-release-artifact.yml @@ -16,11 +16,11 @@ jobs: is-rc: ${{ steps.set-version.outputs.is-rc }} steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: 11 + java-version: 17 cache: "maven" - name: Set version id: set-version From a82e94b05b56193066d85a17065440084fd62552 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 00:18:46 -0700 Subject: [PATCH 0034/1330] Update dependency sass to v1.69.6 (#8816) 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 307f28d71172..9f3bb4c4978c 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", "prettier": "3.1.1", - "sass": "1.69.5", + "sass": "1.69.6", "sass-loader": "13.3.3", "style-loader": "3.3.3", "stylelint": "16.1.0", diff --git a/war/yarn.lock b/war/yarn.lock index 3781e65b0635..0a5ddcde88fb 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4465,7 +4465,7 @@ __metadata: postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.1.1" - sass: "npm:1.69.5" + sass: "npm:1.69.6" sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.3" @@ -6458,16 +6458,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.69.5": - version: 1.69.5 - resolution: "sass@npm:1.69.5" +"sass@npm:1.69.6": + version: 1.69.6 + resolution: "sass@npm:1.69.6" dependencies: chokidar: "npm:>=3.0.0 <4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: a9003a9482f2e467fc412cfe58ba4fa14fb78bef7e1283ce5d64a065f8a31114ec3bbf5d4e724f94eb8512c32c768a6f91f228c7f16a26a300bbf4db293b5608 + checksum: 8153db8e51e74a9007bb54332e14d122c34288c7d21a5f2eaefef753a1b7bb13f35e042dc6247253dab5b1550b05cea27970371e7548286b4f50f23dd1147d89 languageName: node linkType: hard From 2ac59590a6a5021228936a239154300b425a6d8d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 00:19:11 -0700 Subject: [PATCH 0035/1330] Bump slf4jVersion from 2.0.9 to 2.0.10 (#8809) Bumps `slf4jVersion` from 2.0.9 to 2.0.10. Updates `org.slf4j:jcl-over-slf4j` from 2.0.9 to 2.0.10 Updates `org.slf4j:log4j-over-slf4j` from 2.0.9 to 2.0.10 Updates `org.slf4j:slf4j-api` from 2.0.9 to 2.0.10 Updates `org.slf4j:slf4j-jdk14` from 2.0.9 to 2.0.10 --- updated-dependencies: - dependency-name: org.slf4j:jcl-over-slf4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:log4j-over-slf4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-jdk14 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 36c3542fad35..a4c8690015ca 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 9.6 - 2.0.9 + 2.0.10 1822.v120278426e1c 2.4.21 From b5030b74ace4bde13d44b62078596b8634a12e57 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Mon, 1 Jan 2024 14:31:01 +0100 Subject: [PATCH 0036/1330] Update JDK recommendations for contributors (#8818) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e6dbffdda9d..77c012b44c68 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,7 +9,7 @@ This page provides information about contributing code to the Jenkins core codeb 1. Fork the repository on GitHub 2. Clone the forked repository to your machine 3. Install the necessary development tools. In order to develop Jenkins, you need the following: - - Java Development Kit (JDK) 11 or 17. + - Java Development Kit (JDK) 11, 17 or 21. In the Jenkins project we usually use [Eclipse Temurin](https://adoptium.net/) or [OpenJDK](https://openjdk.java.net/), but you can use other JDKs as well. - Apache Maven 3.8.1 or above. You can [download Maven here](https://maven.apache.org/download.cgi). In the Jenkins project we usually use the most recent Maven release. From c878487461f1e535e39766893636f2bbf88becc0 Mon Sep 17 00:00:00 2001 From: Debayan Ghosh <66942246+debayangg@users.noreply.github.com> Date: Tue, 2 Jan 2024 08:38:59 +0530 Subject: [PATCH 0037/1330] [JENKINS-71666] Adapt to Popper deprecation in Jenkins core (#8810) Removed deprecated popper2-api from war/pom.xml --- war/pom.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/war/pom.xml b/war/pom.xml index 2808d786b3d4..eaacd13349e3 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -403,14 +403,6 @@ THE SOFTWARE. hpi - - - io.jenkins.plugins - popper2-api - 2.11.6-4 - hpi - - io.jenkins.plugins From 3597db8e13f8fd5ef5309b31ef55eb8121663a6b Mon Sep 17 00:00:00 2001 From: Anders Hammar Date: Tue, 2 Jan 2024 04:09:22 +0100 Subject: [PATCH 0038/1330] [JENKINS-72466] Upgrade jbcrypt dependency (#8811) JENKINS-72466: Upgrades jbcrypt dependency --- bom/pom.xml | 4 ++-- core/pom.xml | 2 +- .../security/HudsonPrivateSecurityRealmTest.java | 10 +++++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index a4c8690015ca..53ac85bdaa4c 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -196,9 +196,9 @@ THE SOFTWARE. ${groovy.version} - org.connectbot.jbcrypt + org.connectbot jbcrypt - 1.0.0 + 1.0.2 diff --git a/core/pom.xml b/core/pom.xml index 45539865962a..82d3b76bbb21 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -282,7 +282,7 @@ THE SOFTWARE. groovy-all - org.connectbot.jbcrypt + org.connectbot jbcrypt diff --git a/core/src/test/java/hudson/security/HudsonPrivateSecurityRealmTest.java b/core/src/test/java/hudson/security/HudsonPrivateSecurityRealmTest.java index 9d7e2b7b5980..09aab39cb0e3 100644 --- a/core/src/test/java/hudson/security/HudsonPrivateSecurityRealmTest.java +++ b/core/src/test/java/hudson/security/HudsonPrivateSecurityRealmTest.java @@ -55,7 +55,7 @@ public void timingPBKDF2() { * or slow hardware, so this is commented out but left for ease of running locally when desired. */ //@Test - public void timingBcrypt() { + public void timingJBCrypt() { // ignore the salt generation - check just matching.... JBCryptEncoder encoder = new JBCryptEncoder(); String encoded = encoder.encode("thisIsMyPassword1"); @@ -143,4 +143,12 @@ public void passwordPBKDF2HashWithInvalidKeySpec() throws Exception { assertThrows(RuntimeException.class, () -> pbkdf2PasswordEncoder.matches("MySecurePassword", PBKDF2_HMAC_SHA512_ENCODED_PASSWORD)); } } + + @Test + public void testJBCryptPasswordMatching() { + JBCryptEncoder encoder = new JBCryptEncoder(); + String encoded = encoder.encode("thisIsMyPassword"); + assertTrue(encoder.matches("thisIsMyPassword", encoded)); + assertFalse(encoder.matches("thisIsNotMyPassword", encoded)); + } } From c8156d41f2e6abf52b41669287e9ab771080b8e4 Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Mon, 1 Jan 2024 20:09:42 -0700 Subject: [PATCH 0039/1330] [JENKINS-72469] Avoid repeated tool downloads from misconfigured HTTP servers (#8814) * [JENKINS-72469] Avoid repeated tool downloads from misconfigured HTTP servers The Azul Systems content delivery network stopped providing the last-modified header in their URL responses. They only provide the ETag header. Add ETag support to the Jenkins FilePath URL download method so that if ETag is provided, we use the ETag value. If last-modified is provided and matches, we continue to honor it as well. https://issues.jenkins.io/browse/JENKINS-72469 has more details. https://community.jenkins.io/t/job-stuck-on-unpacking-global-jdk-tool/11272 also includes more details. Testing done * Automated test added to FilePathTest for code changes on the controller. The automated test confirms that even without a last-modified value, the later downloads are skipped if a matching ETag is received. The automated test also confirms that download is skipped if OK is received with a matching ETag. No automated test was added to confirm download on the agent because that path is not tested by any of the other test automation of this class. * Interactive test with the Azul Systems JDK installer on the controller. I created a tool installer for the Azul JDK. I verified that before this change it was downloaded each time the job was run. I verified that after the change it was downloaded only once. * Interactive test with the Azul Systems JDK installer on an agent. I created a tool installer for the Azul JDK. I verified that before this change it was downloaded each time the job was run. I verified that after the change it was downloaded only once. * Interactive test on the controller with a file download from an NGINX web server confirmed that the tool is downloaded once and then later runs of the job did not download the file again. * Use equals instead of contains to check ETag Don't risk that a substring of an earlier ETag might cause a later ETag to incorrectly assume it does not need to download a modified installer. * Use weak comparison for ETag values https://httpwg.org/specs/rfc9110.html#field.etag describes weak comparison cases and notes that content providers may provide weak or strong entity tags. Updated code to correctly compare weak and strong entity tags. Also improves the null checks based on the suggestions from @mawinter69 in https://github.com/jenkinsci/jenkins/pull/8814#discussion_r1438909824 * Test comparison of weak and strong validators * Do not duplicate test args, more readable * Use better variable names in test Cover more branches in the equalEtags method as well * Fix variable declaration order --- core/src/main/java/hudson/FilePath.java | 42 +++++++++++- core/src/test/java/hudson/FilePathTest.java | 71 +++++++++++++++++++++ 2 files changed, 111 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index cdc057ef9c54..1da338d6e549 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -28,6 +28,7 @@ import static hudson.Util.fileToPath; import static hudson.Util.fixEmpty; +import static hudson.Util.fixEmptyAndTrim; import com.google.common.annotations.VisibleForTesting; import com.jcraft.jzlib.GZIPInputStream; @@ -962,7 +963,7 @@ public Void invoke(File dir, VirtualChannel channel) throws IOException { * * * @param archive - * The resource that represents the tgz/zip file. This URL must support the {@code Last-Modified} header. + * The resource that represents the tgz/zip file. This URL must support the {@code Last-Modified} header or the {@code ETag} header. * (For example, you could use {@link ClassLoader#getResource}.) * @param listener * If non-null, a message will be printed to this listener once this method decides to @@ -984,12 +985,18 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen try { FilePath timestamp = this.child(".timestamp"); long lastModified = timestamp.lastModified(); + // https://httpwg.org/specs/rfc9110.html#field.etag is the ETag specification + // Read previously stored ETag if timestamp is available + String etag = timestamp.exists() ? fixEmptyAndTrim(timestamp.readToString()) : null; URLConnection con; try { con = ProxyConfiguration.open(archive); if (lastModified != 0) { con.setIfModifiedSince(lastModified); } + if (etag != null) { + con.setRequestProperty("If-None-Match", etag); + } con.connect(); } catch (IOException x) { if (this.exists()) { @@ -1016,7 +1023,7 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen return false; } } - if (lastModified != 0) { + if (lastModified != 0 || etag != null) { if (responseCode == HttpURLConnection.HTTP_NOT_MODIFIED) { return false; } else if (responseCode != HttpURLConnection.HTTP_OK) { @@ -1027,8 +1034,12 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen } long sourceTimestamp = con.getLastModified(); + String resultEtag = fixEmptyAndTrim(con.getHeaderField("ETag")); if (this.exists()) { + if (equalETags(etag, resultEtag)) { + return false; // already up to date + } if (lastModified != 0 && sourceTimestamp == lastModified) return false; // already up to date this.deleteContents(); @@ -1042,6 +1053,10 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen // First try to download from the agent machine. try { act(new Unpack(archive)); + if (resultEtag != null && !equalETags(etag, resultEtag)) { + /* Store the ETag value in the timestamp file for later use */ + timestamp.write(resultEtag, "UTF-8"); + } timestamp.touch(sourceTimestamp); return true; } catch (IOException x) { @@ -1061,6 +1076,10 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen throw new IOException(String.format("Failed to unpack %s (%d bytes read of total %d)", archive, cis.getByteCount(), con.getContentLength()), e); } + if (resultEtag != null && !equalETags(etag, resultEtag)) { + /* Store the ETag value in the timestamp file for later use */ + timestamp.write(resultEtag, "UTF-8"); + } timestamp.touch(sourceTimestamp); return true; } catch (IOException e) { @@ -1068,6 +1087,25 @@ private boolean installIfNecessaryFrom(@NonNull URL archive, @NonNull TaskListen } } + /* Return true if etag1 equals etag2 as defined by the etag specification + https://httpwg.org/specs/rfc9110.html#field.etag + */ + private boolean equalETags(String etag1, String etag2) { + if (etag1 == null || etag2 == null) { + return false; + } + if (etag1.equals(etag2)) { + return true; + } + /* Weak tags are identified by leading characters "W/" as a marker */ + /* Weak tag marker must not be considered in tag comparison. + This implements the weak comparison in the specification at + https://httpwg.org/specs/rfc9110.html#field.etag */ + String opaqueTag1 = etag1.startsWith("W/") ? etag1.substring(2) : etag1; + String opaqueTag2 = etag2.startsWith("W/") ? etag2.substring(2) : etag2; + return opaqueTag1.equals(opaqueTag2); + } + // this reads from arbitrary URL private static final class Unpack extends MasterToSlaveFileCallable { private final URL archive; diff --git a/core/src/test/java/hudson/FilePathTest.java b/core/src/test/java/hudson/FilePathTest.java index fe152a25ba49..54d37c2b3dcd 100644 --- a/core/src/test/java/hudson/FilePathTest.java +++ b/core/src/test/java/hudson/FilePathTest.java @@ -670,6 +670,77 @@ private static void assertValidateAntFileMask(String expected, FilePath d, Strin assertTrue(d.installIfNecessaryFrom(url, null, message)); } + @Issue("JENKINS-72469") + @Test public void installIfNecessaryWithoutLastModifiedStrongValidator() throws Exception { + String strongValidator = "\"An-ETag-strong-validator\""; + installIfNecessaryWithoutLastModified(strongValidator); + } + + @Issue("JENKINS-72469") + @Test public void installIfNecessaryWithoutLastModifiedStrongValidatorNoQuotes() throws Exception { + // This ETag is a violation of the spec at https://httpwg.org/specs/rfc9110.html#field.etag + // However, better safe to handle without quotes as well, just in case + String strongValidator = "An-ETag-strong-validator-without-quotes"; + installIfNecessaryWithoutLastModified(strongValidator); + } + + @Issue("JENKINS-72469") + @Test public void installIfNecessaryWithoutLastModifiedWeakValidator() throws Exception { + String weakValidator = "W/\"An-ETag-weak-validator\""; + installIfNecessaryWithoutLastModified(weakValidator); + } + + @Issue("JENKINS-72469") + @Test public void installIfNecessaryWithoutLastModifiedStrongAndWeakValidators() throws Exception { + String strongValidator = "\"An-ETag-validator\""; + String weakValidator = "W/" + strongValidator; + installIfNecessaryWithoutLastModified(strongValidator, weakValidator); + } + + @Issue("JENKINS-72469") + @Test public void installIfNecessaryWithoutLastModifiedWeakAndStrongValidators() throws Exception { + String strongValidator = "\"An-ETag-validator\""; + String weakValidator = "W/" + strongValidator; + installIfNecessaryWithoutLastModified(weakValidator, strongValidator); + } + + private void installIfNecessaryWithoutLastModified(String validator) throws Exception { + installIfNecessaryWithoutLastModified(validator, validator); + } + + private void installIfNecessaryWithoutLastModified(String validator, String alternateValidator) throws Exception { + final HttpURLConnection con = mock(HttpURLConnection.class); + // getLastModified == 0 when last-modified header is not returned + when(con.getLastModified()).thenReturn(0L); + // An Etag is provided by Azul CDN without last-modified header + when(con.getHeaderField("ETag")).thenReturn(validator); + when(con.getInputStream()).thenReturn(someZippedContent()); + + final URL url = someUrlToZipFile(con); + + File tmp = temp.getRoot(); + final FilePath d = new FilePath(tmp); + + /* Initial download expected to occur */ + assertTrue(d.installIfNecessaryFrom(url, null, "message if failed first download")); + + /* Timestamp last modified == 0 means the header was not provided */ + assertThat(d.child(".timestamp").lastModified(), is(0L)); + + /* Second download should not occur if JENKINS-72469 is fixed and NOT_MODIFIED is returned */ + when(con.getResponseCode()).thenReturn(HttpURLConnection.HTTP_NOT_MODIFIED); + when(con.getInputStream()).thenReturn(someZippedContent()); + when(con.getHeaderField("ETag")).thenReturn(alternateValidator); + assertFalse(d.installIfNecessaryFrom(url, null, "message if failed second download")); + + /* Third download should not occur if JENKINS-72469 is fixed and OK is returned with matching ETag */ + /* Unexpected to receive an OK and a matching ETag from a real web server, but check for safety */ + when(con.getResponseCode()).thenReturn(HttpURLConnection.HTTP_OK); + when(con.getInputStream()).thenReturn(someZippedContent()); + when(con.getHeaderField("ETag")).thenReturn(alternateValidator); + assertFalse(d.installIfNecessaryFrom(url, null, "message if failed third download")); + } + private URL someUrlToZipFile(final URLConnection con) throws IOException { final URLStreamHandler urlHandler = new URLStreamHandler() { From 8118d8862eaaa90d8e850fb23eab4d93d7cfa15d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 20:13:39 -0700 Subject: [PATCH 0040/1330] Bump com.puppycrawl.tools:checkstyle from 10.12.6 to 10.12.7 (#8819) Bumps [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) from 10.12.6 to 10.12.7. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-10.12.6...checkstyle-10.12.7) --- updated-dependencies: - dependency-name: com.puppycrawl.tools:checkstyle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6541831b2a10..9de262dcd31d 100644 --- a/pom.xml +++ b/pom.xml @@ -332,7 +332,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.12.6 + 10.12.7 From 45586a4d28cf1853a3e20fbdff7c6eb6c254d0aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 20:15:13 -0700 Subject: [PATCH 0041/1330] Update babel monorepo to v7.23.7 (#8820) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 4 +- war/yarn.lock | 118 +++++++++++++++++++++++------------------------ 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/war/package.json b/war/package.json index 9f3bb4c4978c..90c31887382d 100644 --- a/war/package.json +++ b/war/package.json @@ -24,8 +24,8 @@ }, "devDependencies": { "@babel/cli": "7.23.4", - "@babel/core": "7.23.6", - "@babel/preset-env": "7.23.6", + "@babel/core": "7.23.7", + "@babel/preset-env": "7.23.7", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", diff --git a/war/yarn.lock b/war/yarn.lock index 0a5ddcde88fb..a4fe98ca0023 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -66,26 +66,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.23.6": - version: 7.23.6 - resolution: "@babel/core@npm:7.23.6" +"@babel/core@npm:7.23.7": + version: 7.23.7 + resolution: "@babel/core@npm:7.23.7" dependencies: "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.23.5" "@babel/generator": "npm:^7.23.6" "@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.6" + "@babel/helpers": "npm:^7.23.7" "@babel/parser": "npm:^7.23.6" "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.6" + "@babel/traverse": "npm:^7.23.7" "@babel/types": "npm:^7.23.6" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: a02bae7d916029b70706dc301535e1b31e5d216f55d4ee6f64a15825c6b69ee2c14c52a213d1497ec414e925ed4e9d897d41fb0d75df9fea28ed2c0008790e31 + checksum: 38c9934973d384ed83369712978453eac91dc3f22167404dbdb272b64f602e74728a6f37012c53ee57e521b8ae2da60097f050497d9b6a212d28b59cdfb2cd1d languageName: node linkType: hard @@ -164,9 +164,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.4.3": - version: 0.4.3 - resolution: "@babel/helper-define-polyfill-provider@npm:0.4.3" +"@babel/helper-define-polyfill-provider@npm:^0.4.4": + version: 0.4.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.4.4" dependencies: "@babel/helper-compilation-targets": "npm:^7.22.6" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -175,7 +175,7 @@ __metadata: resolve: "npm:^1.14.2" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 0007035157e0d32ee9cb4ca319b89d6f3705523383efe52a59eb3d4dfa2ed08c5147e49c10a6e6d69c15221d89c76c8e5875475d6710fb44a5c37b8e69388e40 + checksum: 60126f5f719b9e2114df62e3bf3ac0797b71d8dc733db60192eb169b004fde72ee309fa5848c5fdfe98b8e8863c46f55e16da5aa8a4e420b4d2670cd0c5dd708 languageName: node linkType: hard @@ -339,14 +339,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helpers@npm:7.23.6" +"@babel/helpers@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/helpers@npm:7.23.7" dependencies: "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.6" + "@babel/traverse": "npm:^7.23.7" "@babel/types": "npm:^7.23.6" - checksum: df1cf6607676ad36f52f652ec03536f2732d70aef5e76dba5c964e34d49f3c2d3dcf9fb3740db359f53071d74b64606a833d5ba156f79f437f71bfe06e2e7e19 + checksum: f74a61ad28a1bc1fdd9133ad571c07787b66d6db017c707b87c203b0cd06879cea8b33e9c6a8585765a4949efa5df3cc9e19b710fe867f11be38ee29fd4a0488 languageName: node linkType: hard @@ -394,15 +394,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.3" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.7" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 0f43b74741d50e637ba4dcef2786621126fe4da6ccf4ee2e94423ee23f6a04ecd91d458e59764c43e4968be139e5197ee43be8a2fea2c09f0b202a3391e548cc + checksum: 355746e21ad7f43e4f4daef54cfe2ef461ecd19446b2afedd53c39df1bf9aa2eeeeaabee2279b1321de89a97c9360e4f76e9ba950fee50ff1676c25f6929d625 languageName: node linkType: hard @@ -625,9 +625,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.4" +"@babel/plugin-transform-async-generator-functions@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.7" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -635,7 +635,7 @@ __metadata: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f2eef4de609975a3f7da7832576b5ffc93e43c80f87e1a99e886b0f8591096cfc4c37e2d5f52fdeaa2a9c09a25a59f3e621159abaca75d3193922a5c0e4cbe0c + checksum: 63d314edc9fbeaf2700745ca0e19bf9840e87f2d7d1f6c5638e06d2aec3e7418d0d7493ed09087e2fe369cc15e9d96c113fb2cd367cb5e3ff922e3712c27b7d4 languageName: node linkType: hard @@ -1195,9 +1195,9 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.23.6": - version: 7.23.6 - resolution: "@babel/preset-env@npm:7.23.6" +"@babel/preset-env@npm:7.23.7": + version: 7.23.7 + resolution: "@babel/preset-env@npm:7.23.7" dependencies: "@babel/compat-data": "npm:^7.23.5" "@babel/helper-compilation-targets": "npm:^7.23.6" @@ -1205,7 +1205,7 @@ __metadata: "@babel/helper-validator-option": "npm:^7.23.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-class-properties": "npm:^7.12.13" @@ -1226,7 +1226,7 @@ __metadata: "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.23.4" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.7" "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" "@babel/plugin-transform-block-scoping": "npm:^7.23.4" @@ -1274,14 +1274,14 @@ __metadata: "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.6" - babel-plugin-polyfill-corejs3: "npm:^0.8.5" - babel-plugin-polyfill-regenerator: "npm:^0.5.3" + babel-plugin-polyfill-corejs2: "npm:^0.4.7" + babel-plugin-polyfill-corejs3: "npm:^0.8.7" + babel-plugin-polyfill-regenerator: "npm:^0.5.4" core-js-compat: "npm:^3.31.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5b24d179af52f082d04b9b98cc4777e37bf31a97cef5a91d8917e996dbd75f2f743c88c40f80744cb8529355bb674619d150c0260c32d834aa4067e21d0c8962 + checksum: ac9def873cec52ee02a550bde6e22eced16d1ae331bb8ebc82c03e4c91c12ac17e3e4027647e61612937bcc25ac46e71370aaf99dc2e85dbd11f7777ffeed54e languageName: node linkType: hard @@ -1325,9 +1325,9 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/traverse@npm:7.23.6" +"@babel/traverse@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/traverse@npm:7.23.7" dependencies: "@babel/code-frame": "npm:^7.23.5" "@babel/generator": "npm:^7.23.6" @@ -1339,7 +1339,7 @@ __metadata: "@babel/types": "npm:^7.23.6" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 5b4ebb94a00a7e1daf111e4b0b45a7998d5b7598637a14e75e855e88cc1b702789e09a958726b5d599a003be1e9032dbdfde4b88ea6061332228738950d5582d + checksum: e32fceb4249beec2bde83968ddffe17444221c1ee5cd18c543a2feaf94e3ca83f2a4dfbc2dcca87cf226e0105973e0fe3717063a21e982a9de9945615ab3f3f5 languageName: node linkType: hard @@ -2659,39 +2659,39 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.6": - version: 0.4.6 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.6" +"babel-plugin-polyfill-corejs2@npm:^0.4.7": + version: 0.4.7 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.7" dependencies: "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.4.3" + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 64a98811f343492aa6970ab253760194e389c0417e5b830522f944009c1f0c78e1251975fd1b9869cd48cc4623111b20a3389cf6732a1d10ba0d19de6fa5114f + checksum: f80f7284ec72c63e7dd751e0bdf25e9978df195a79e0887470603bfdea13ee518d62573cf360bb1bc01b80819e54915dd5edce9cff14c52d0af5f984aa3d36a3 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.8.5": - version: 0.8.5 - resolution: "babel-plugin-polyfill-corejs3@npm:0.8.5" +"babel-plugin-polyfill-corejs3@npm:^0.8.7": + version: 0.8.7 + resolution: "babel-plugin-polyfill-corejs3@npm:0.8.7" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.4.3" - core-js-compat: "npm:^3.32.2" + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + core-js-compat: "npm:^3.33.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 577a072971bda2929a87655c816ad14b6a8f7276e6914851b98a6465bdb56f7f2e3db6136c8b8607bd6ba4cde3cd9cbde21f0078250cd93aee3df977c0a731d0 + checksum: 094e40f4ab9f131408202063964d63740609fd4fdb70a5b6332b371761921b540ffbcee7a434c0199b8317dfb2ba4675eef674867215fd3b85e24054607c1501 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.5.3": - version: 0.5.3 - resolution: "babel-plugin-polyfill-regenerator@npm:0.5.3" +"babel-plugin-polyfill-regenerator@npm:^0.5.4": + version: 0.5.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.4" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.4.3" + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: cc32313b9ebbf1d7bedc33524a861136b9e5d3b6e9be317ac360a1c2a59ae5ed1b465a6c68b2715cdefb089780ddfb0c11f4a148e49827a947beee76e43da598 + checksum: 0b903f5fe2f8c487b4260935dfe60bd9a95bcaee7ae63958f063045093b16d4e8288c232199d411261300aa21f6b106a3cb83c42cc996de013b337f5825a79fe languageName: node linkType: hard @@ -3032,12 +3032,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.32.2": - version: 3.33.0 - resolution: "core-js-compat@npm:3.33.0" +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": + version: 3.35.0 + resolution: "core-js-compat@npm:3.35.0" dependencies: - browserslist: "npm:^4.22.1" - checksum: 1db27222420548c65fdb92574192aa1ab434e8e3b80a347fc9c20004e459cc146e719dee8a8c3a3c0773190834e865542d3745ada27a160937fc312a14f66d5c + browserslist: "npm:^4.22.2" + checksum: 8c4379240b8decb94b21e81d5ba6f768418721061923b28c9dfc97574680c35d778d39c010207402fc7c8308a68a4cf6d5e02bcbcb96e931c52e6e0dce29a68c languageName: node linkType: hard @@ -4446,8 +4446,8 @@ __metadata: resolution: "jenkins-ui@workspace:." dependencies: "@babel/cli": "npm:7.23.4" - "@babel/core": "npm:7.23.6" - "@babel/preset-env": "npm:7.23.6" + "@babel/core": "npm:7.23.7" + "@babel/preset-env": "npm:7.23.7" babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:6.8.1" From 81c3249ca0e6bcc69e1caa2e6828ec6c8c0884cd Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Tue, 2 Jan 2024 01:11:15 -0700 Subject: [PATCH 0042/1330] Use spotbugs 4.8.2 with more exclusions (#8803) --- core/src/spotbugs/excludesFilter.xml | 123 +++++++++++++++++++++++++++ pom.xml | 4 + 2 files changed, 127 insertions(+) diff --git a/core/src/spotbugs/excludesFilter.xml b/core/src/spotbugs/excludesFilter.xml index af99fff5055f..7d36952fc372 100644 --- a/core/src/spotbugs/excludesFilter.xml +++ b/core/src/spotbugs/excludesFilter.xml @@ -53,6 +53,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4.13 + + + 4.8.2.0 Max + FindReturnRef,ConstructorThrow Medium 1.33 From 4c423d484267cef3bff602a2e58ae7d7634b1a77 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Tue, 2 Jan 2024 09:11:38 +0100 Subject: [PATCH 0043/1330] Update XML namespace schemaLocation (#8817) --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 2 +- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 53ac85bdaa4c..4ecb6251acea 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/cli/pom.xml b/cli/pom.xml index 21aabc88e649..50588e3e692b 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -1,5 +1,5 @@ - + 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index 82d3b76bbb21..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -23,7 +23,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -1,5 +1,5 @@ - + 4.0.0 diff --git a/pom.xml b/pom.xml index cd28d0f7b0ff..4bc1be3f9b55 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/test/pom.xml b/test/pom.xml index 014299562104..c91796e0c567 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/war/pom.xml b/war/pom.xml index eaacd13349e3..8d6d579e5919 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -22,7 +22,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + 4.0.0 From 7dc5d1fecc2588a07ad47e3bae294f59f8de6ab8 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 2 Jan 2024 13:11:25 +0000 Subject: [PATCH 0044/1330] [maven-release-plugin] prepare release jenkins-2.439 --- 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 4ecb6251acea..89515189e048 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 50588e3e692b..4746696841eb 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 cli diff --git a/core/pom.xml b/core/pom.xml index 4280e9075da9..da4e3bee979e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..110dd068c918 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 jenkins-coverage diff --git a/pom.xml b/pom.xml index 4bc1be3f9b55..dece4a5f8817 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 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.439 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index c91796e0c567..580cce79bf43 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 8d6d579e5919..02f7e82a89ff 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.439 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index c91e1583c039..4978868a3a29 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.439 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a99aada6a446..b3520239828d 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.439 ../.. From 95bff130c32c5c1fb049792d6419517748658633 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 2 Jan 2024 13:11:47 +0000 Subject: [PATCH 0045/1330] [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 89515189e048..4ecb6251acea 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 4746696841eb..50588e3e692b 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index da4e3bee979e..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 110dd068c918..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index dece4a5f8817..8ce605075697 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${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.439 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.439 + 2.440 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 580cce79bf43..c91796e0c567 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 02f7e82a89ff..8d6d579e5919 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 4978868a3a29..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index b3520239828d..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.439 + ${revision}${changelist} ../.. From f06a954ea4ef114ff30612f6d4c21be53364aeaf Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Wed, 3 Jan 2024 01:24:22 +0100 Subject: [PATCH 0046/1330] allow to change the icon size of the node overview table (#8802) make icon size of node overview page changeable similar to the list of projects on the start page of Jenkins the icon size of the overview page of nodes can now be changed. --- core/src/main/resources/hudson/model/ComputerSet/index.jelly | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/hudson/model/ComputerSet/index.jelly b/core/src/main/resources/hudson/model/ComputerSet/index.jelly index ec4d2ab97883..1725b24b6fbc 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/index.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/index.jelly @@ -56,8 +56,8 @@ THE SOFTWARE. - - + +
@@ -123,6 +123,7 @@ THE SOFTWARE.
S
+ From d75833e5e0e1983cb1c9efec28cf6746e547cab0 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed, 3 Jan 2024 09:27:14 +0000 Subject: [PATCH 0047/1330] Update appearance of controls in header (#8791) * Init * Tidy up * Update resources.css * Update resources.css * Tidy up * Update resources.css --- .../loginLink.jelly | 3 +- .../security/SecurityRealm/loginLink.jelly | 2 +- .../resources.css | 75 +++++-------------- .../main/scss/components/_page-header.scss | 40 +++------- 4 files changed, 34 insertions(+), 86 deletions(-) diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/loginLink.jelly b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/loginLink.jelly index ba75e740a89e..cd989c23f030 100644 --- a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/loginLink.jelly +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/loginLink.jelly @@ -26,7 +26,6 @@ THE SOFTWARE. - | - ${%sign up} + ${%sign up} diff --git a/core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly b/core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly index 8b065c318b2c..8fb92ed3dd1c 100644 --- a/core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly +++ b/core/src/main/resources/hudson/security/SecurityRealm/loginLink.jelly @@ -25,5 +25,5 @@ THE SOFTWARE. - ${%login} + ${%login} diff --git a/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.css b/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.css index 5960ecd93193..d5d817c6a223 100644 --- a/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.css +++ b/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.css @@ -1,5 +1,5 @@ .am-container { - height: 100%; + display: contents; } .am-button { @@ -14,89 +14,62 @@ border-radius: 50%; width: 0.65rem; height: 0.65rem; - background-color: #ff9800; + background-color: var(--warning-color); } .security-am .am-monitor__indicator-mobile { - background-color: #dc3545; + background-color: var(--error-color); } .am-button .am-monitor__count { - display: inline-block; display: inline-flex; justify-content: center; align-items: center; - height: 20px; - min-width: 20px; + height: 18px; + min-width: 18px; color: #fff; - background-color: #ff9800; - font-weight: bold; + background-color: var(--warning-color); + font-weight: 500; + font-size: var(--font-size-xs); - border-radius: 4px; + border-radius: 16px; } .am-button.security-am .am-monitor__count { color: #fff; - background-color: #dc3545; + background-color: var(--error-color); } .am-container div.am-list { position: absolute; top: 48px; right: 2%; height: auto; - z-index: 0; - padding: 2em; + padding: var(--section-padding); text-align: left; display: block; - background-color: #fff; background-color: var(--background); - border-radius: 5px; - - /* Darken the box shadow to make the popup visible over the search box */ - box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.3); - - transition: all 0.15s cubic-bezier(0.84, 0.03, 0.21, 0.96); + box-shadow: var(--dropdown-box-shadow); + transition: var(--standard-transition); + border-radius: 15px; opacity: 0; - transform: scale(0); + transform: translateY(-10px) scale(0.975); + z-index: 1000; } .am-container.visible div.am-list { opacity: 1; transform: scale(1); - z-index: 1000; -} -.am-container.visible .am-button { - background-color: #404040; - background-color: var(--header-link-bg-classic-active); - text-decoration: none; -} -.am-container .am-button:after { - content: ""; - display: inline-block; - position: absolute; - bottom: 0; - left: 32%; - width: 0; - height: 0; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #fff; - opacity: 0; - transition-property: all; - transition-delay: 0s; - z-index: 1001; -} -.am-container.visible .am-button:after { - opacity: 1; - transition-property: all; - transition-delay: 0.15s; } .am-container .am-message { display: block; line-height: 1.4em; margin-bottom: 1.4em; } +.am-container.visible .am-button:after { + background: var(--button-background--hover); +} .am-message-list { padding: 0; + margin: 0; } .am-container .am-message .alert form { @@ -123,22 +96,18 @@ /* Restore hyperlink style overriden by the page header */ .am-container .am-list a:link { display: inline-block; - color: #204a87; color: var(--link-color); text-decoration: underline; margin-right: 0; padding: 0; - font-weight: 600; font-weight: var(--link-font-weight); } .am-container .am-list a:visited { - color: #5c3566; color: var(--link-color); } .am-container .am-list a:hover, .am-container .am-list a:focus, .am-container .am-list a:active { - color: #5c3566; color: var(--link-color); background-color: transparent; text-decoration: underline; @@ -146,22 +115,18 @@ } .am-container .am-list .alert-success a { - color: #155724; color: var(--alert-success-text-color); } .am-container .am-list .alert-info a { - color: #31708f; color: var(--alert-info-text-color); } .am-container .am-list .alert-warning a { - color: #8a6d3b; color: var(--alert-warning-text-color); } .am-container .am-list .alert-danger a { - color: #a94442; color: var(--alert-danger-text-color); } diff --git a/war/src/main/scss/components/_page-header.scss b/war/src/main/scss/components/_page-header.scss index 13e63d91a771..e1b34ea09c71 100644 --- a/war/src/main/scss/components/_page-header.scss +++ b/war/src/main/scss/components/_page-header.scss @@ -1,3 +1,5 @@ +@use "../abstracts/mixins"; + .page-header { display: flex; align-items: center; @@ -36,8 +38,7 @@ a.page-header__brand-link { } .page-header__am-wrapper { - height: 100%; - padding: 0.5rem 0; + display: contents; } .page-header__hyperlinks { @@ -45,37 +46,22 @@ a.page-header__brand-link { align-items: center; } -.page-header__hyperlinks a { +.page-header__hyperlinks > a, +.am-container > a { + @include mixins.item; + --text-color: var(--header-link-color); display: inline-flex; align-items: center; - - // need to override an existing rule - /* stylelint-disable declaration-block-no-shorthand-property-overrides */ - padding-right: 0.5rem; + color: var(--text-color); + text-decoration: none; padding: 0.5rem; margin-right: 0 !important; - font-weight: bold; - - &:link, - &:visited { - color: var(--header-link-color); - border-radius: var(--header-item-border-radius); - text-decoration: none; - } - &:hover, - &:focus, - &.mouseIsOverMenuSelector { - color: var(--header-link-color-active); - background-color: var(--header-link-bg-classic-hover); - text-decoration: underline; - text-decoration-color: var(--header-link-color-active); - } - - &:active { - background-color: var(--header-link-bg-classic-active); + &::before, + &::after { + inset: 0 !important; } .jenkins-menu-dropdown-chevron { @@ -91,8 +77,6 @@ a.page-header__brand-link { } .page-header__hyperlinks a span { - font-weight: bold; - &:not(:first-child) { margin-left: 0.25rem; } From 444f2de993786310f998b4432e2550b35e1d7a45 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Wed, 3 Jan 2024 01:27:32 -0800 Subject: [PATCH 0048/1330] Improve crash consistency on Linux (#8815) * Improve crash consistency * `fsync` the correct parent directory * More flexibility * Add reference to man page * fix formatting --------- Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- .../main/java/hudson/util/AtomicFileWriter.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/src/main/java/hudson/util/AtomicFileWriter.java b/core/src/main/java/hudson/util/AtomicFileWriter.java index 4e871b3262f0..fabe15c5a6b6 100644 --- a/core/src/main/java/hudson/util/AtomicFileWriter.java +++ b/core/src/main/java/hudson/util/AtomicFileWriter.java @@ -26,11 +26,13 @@ import edu.umd.cs.findbugs.annotations.NonNull; import edu.umd.cs.findbugs.annotations.Nullable; +import hudson.Functions; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.lang.ref.Cleaner; +import java.nio.channels.FileChannel; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.AtomicMoveNotSupportedException; @@ -62,6 +64,9 @@ public class AtomicFileWriter extends Writer { private static /* final */ boolean DISABLE_FORCED_FLUSH = SystemProperties.getBoolean( AtomicFileWriter.class.getName() + ".DISABLE_FORCED_FLUSH"); + private static /* final */ boolean REQUIRES_DIR_FSYNC = SystemProperties.getBoolean( + AtomicFileWriter.class.getName() + ".REQUIRES_DIR_FSYNC", !Functions.isWindows()); + static { if (DISABLE_FORCED_FLUSH) { LOGGER.log(Level.WARNING, "DISABLE_FORCED_FLUSH flag used, this could result in dataloss if failures happen in your storage subsystem."); @@ -234,6 +239,18 @@ public void commit() throws IOException { throw replaceFailed; } } + + /* + * From fsync(2) on Linux: + * + * Calling fsync() does not necessarily ensure that the entry in the directory containing the file has also + * reached disk. For that an explicit fsync() on a file descriptor for the directory is also needed. + */ + if (!DISABLE_FORCED_FLUSH && REQUIRES_DIR_FSYNC) { + try (FileChannel parentChannel = FileChannel.open(destPath.getParent())) { + parentChannel.force(true); + } + } } private static final class CleanupChecker implements Runnable { From e7ed28f7b4d198ddbff0bebd115bdc0f63e134ce Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Wed, 3 Jan 2024 22:56:53 +0100 Subject: [PATCH 0049/1330] Uppercase build cancellation message in build queue (#8824) --- .../jenkins/widgets/HistoryPageFilter/queue-items.jelly | 2 +- core/src/main/resources/lib/hudson/queue.jelly | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/jenkins/widgets/HistoryPageFilter/queue-items.jelly b/core/src/main/resources/jenkins/widgets/HistoryPageFilter/queue-items.jelly index 498bc31767ff..9233148ead27 100644 --- a/core/src/main/resources/jenkins/widgets/HistoryPageFilter/queue-items.jelly +++ b/core/src/main/resources/jenkins/widgets/HistoryPageFilter/queue-items.jelly @@ -65,7 +65,7 @@ THE SOFTWARE.
- +
diff --git a/core/src/main/resources/lib/hudson/queue.jelly b/core/src/main/resources/lib/hudson/queue.jelly index 33d3ba9109ac..f36c84a59d65 100644 --- a/core/src/main/resources/lib/hudson/queue.jelly +++ b/core/src/main/resources/lib/hudson/queue.jelly @@ -93,7 +93,7 @@ THE SOFTWARE. - + From 78cdaa9f29df4a407b12973b9db04ff322e49db8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 15:50:43 -0800 Subject: [PATCH 0050/1330] Bump org.jenkins-ci.plugins:script-security from 1294.v99333c047434 to 1305.v487433146192 (#8826) 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 c91796e0c567..489e08dac486 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -105,7 +105,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1294.v99333c047434 + 1305.v487433146192
org.jenkins-ci.plugins.workflow From e859e9cd9c87a34153bc02c02cdfc174daa5c0e3 Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Fri, 5 Jan 2024 20:40:12 +0000 Subject: [PATCH 0051/1330] Allow plugins to override boot failure view (#8442) --- core/src/main/java/hudson/WebAppMain.java | 26 ++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/WebAppMain.java b/core/src/main/java/hudson/WebAppMain.java index 99603ac1e411..9f328328c710 100644 --- a/core/src/main/java/hudson/WebAppMain.java +++ b/core/src/main/java/hudson/WebAppMain.java @@ -48,6 +48,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.net.URLClassLoader; import java.nio.charset.Charset; @@ -261,13 +262,36 @@ public void run() { new HudsonFailedToLoad(e).publish(context, _home); throw e; } catch (Exception e) { - new HudsonFailedToLoad(e).publish(context, _home); + // Allow plugins to override error page on boot with custom BootFailure subclass thrown + Throwable error = unwrapException(e); + if (error instanceof InvocationTargetException) { + Throwable targetException = ((InvocationTargetException) error).getTargetException(); + + if (targetException instanceof BootFailure) { + ((BootFailure) targetException).publish(context, _home); + } else { + new HudsonFailedToLoad(e).publish(context, _home); + } + } else { + new HudsonFailedToLoad(e).publish(context, _home); + } } finally { Jenkins instance = Jenkins.getInstanceOrNull(); if (!success && instance != null) instance.cleanUp(); } } + + private Throwable unwrapException(Exception e) { + Throwable error = e; + while (error.getCause() != null) { + if (error.getCause() instanceof InvocationTargetException) { + return error.getCause(); + } + error = error.getCause(); + } + return error; + } }; initThread.start(); } catch (BootFailure e) { From 90b8ed957cfb0d455d00ed36b74e77c59ac9cb5b Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Fri, 5 Jan 2024 21:40:40 +0100 Subject: [PATCH 0052/1330] Add an 'Appearance' category to the wizard (#8822) --- core/src/main/resources/jenkins/install/platform-plugins.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/main/resources/jenkins/install/platform-plugins.json b/core/src/main/resources/jenkins/install/platform-plugins.json index 15dd708447c7..62885083fbdd 100644 --- a/core/src/main/resources/jenkins/install/platform-plugins.json +++ b/core/src/main/resources/jenkins/install/platform-plugins.json @@ -94,6 +94,10 @@ { "name": "mailer", "suggested": true } ] }, + { + "category": "Appearance", + "plugins": [{ "name": "dark-theme", "suggested": true }] + }, { "category": "Languages", "plugins": [{ "name": "locale" }, { "name": "localization-zh-cn" }] From 425df13fcdcc79ccbee68c92aac439e4515a1e76 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Sat, 6 Jan 2024 12:54:51 +0100 Subject: [PATCH 0053/1330] Update XML namespace schemaLocation for incrementals (#8828) --- .mvn/extensions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index 1f36364094f1..a64ab6f242ca 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -1,4 +1,4 @@ - + io.jenkins.tools.incrementals git-changelist-maven-extension From 040cb89113404b9d338bc482850811c60c7f6a1f Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Sat, 6 Jan 2024 18:05:12 +0100 Subject: [PATCH 0054/1330] Increase test timeout of MavenTest#sensitiveParameters() (#8837) --- test/src/test/java/hudson/tasks/MavenTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/src/test/java/hudson/tasks/MavenTest.java b/test/src/test/java/hudson/tasks/MavenTest.java index bd366adce71d..58aefa2292fb 100644 --- a/test/src/test/java/hudson/tasks/MavenTest.java +++ b/test/src/test/java/hudson/tasks/MavenTest.java @@ -66,6 +66,7 @@ import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.ToolInstallations; +import org.jvnet.hudson.test.recipes.WithTimeout; import org.kohsuke.stapler.jelly.JellyFacet; /** @@ -190,7 +191,7 @@ private void verify() throws Exception { assertNotNull(isp.installers.get(MavenInstaller.class)); } - @Test public void sensitiveParameters() throws Exception { + @Test @WithTimeout(300) public void sensitiveParameters() throws Exception { FreeStyleProject project = j.createFreeStyleProject(); ParametersDefinitionProperty pdb = new ParametersDefinitionProperty( new StringParameterDefinition("string", "defaultValue", "string description"), From 7392571c65a2431832856fca941e0f1d035b228b Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sat, 6 Jan 2024 09:07:08 -0800 Subject: [PATCH 0055/1330] Replace deprecated `-jnlpUrl` in `JNLPLauncherTest` (#8833) --- .../test/java/hudson/slaves/JNLPLauncherTest.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/test/src/test/java/hudson/slaves/JNLPLauncherTest.java b/test/src/test/java/hudson/slaves/JNLPLauncherTest.java index 813c72364558..e71b2fbcce9c 100644 --- a/test/src/test/java/hudson/slaves/JNLPLauncherTest.java +++ b/test/src/test/java/hudson/slaves/JNLPLauncherTest.java @@ -157,12 +157,21 @@ private ArgumentListBuilder buildJnlpArgs(Computer c) throws Exception { ArgumentListBuilder args = new ArgumentListBuilder(); args.add(new File(new File(System.getProperty("java.home")), "bin/java").getPath(), "-jar"); args.add(Which.jarFile(Launcher.class).getAbsolutePath()); - // TODO deprecated mode - args.add("-jnlpUrl", j.getURL() + "computer/" + c.getName() + "/jenkins-agent.jnlp"); + args.add("-url"); + args.add(j.getURL()); + args.add("-name"); + args.add(c.getName()); if (c instanceof SlaveComputer) { SlaveComputer sc = (SlaveComputer) c; + args.add("-secret"); + args.add(sc.getJnlpMac()); ComputerLauncher launcher = sc.getLauncher(); + if (launcher instanceof ComputerLauncherFilter) { + launcher = ((ComputerLauncherFilter) launcher).getCore(); + } else if (launcher instanceof DelegatingComputerLauncher) { + launcher = ((DelegatingComputerLauncher) launcher).getLauncher(); + } if (launcher instanceof JNLPLauncher) { args.add(((JNLPLauncher) launcher).getWorkDirSettings().toCommandLineArgs(sc)); } From 3dbbf2689489c620ef2adeb82af8deaf6fd41cf2 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Sun, 7 Jan 2024 13:42:29 +0100 Subject: [PATCH 0056/1330] Increase MavenTest#sensitiveParameters() timeout to 500s (#8840) --- test/src/test/java/hudson/tasks/MavenTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/src/test/java/hudson/tasks/MavenTest.java b/test/src/test/java/hudson/tasks/MavenTest.java index 58aefa2292fb..dbf745b672d9 100644 --- a/test/src/test/java/hudson/tasks/MavenTest.java +++ b/test/src/test/java/hudson/tasks/MavenTest.java @@ -191,7 +191,7 @@ private void verify() throws Exception { assertNotNull(isp.installers.get(MavenInstaller.class)); } - @Test @WithTimeout(300) public void sensitiveParameters() throws Exception { + @Test @WithTimeout(500) public void sensitiveParameters() throws Exception { FreeStyleProject project = j.createFreeStyleProject(); ParametersDefinitionProperty pdb = new ParametersDefinitionProperty( new StringParameterDefinition("string", "defaultValue", "string description"), From 29f3853cb50f4df58f9dcd9af0911a1c621db217 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 09:40:51 +0000 Subject: [PATCH 0057/1330] Update dependency sass to v1.69.7 (#8835) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mark Waite --- 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 90c31887382d..a80238545ce3 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", "prettier": "3.1.1", - "sass": "1.69.6", + "sass": "1.69.7", "sass-loader": "13.3.3", "style-loader": "3.3.3", "stylelint": "16.1.0", diff --git a/war/yarn.lock b/war/yarn.lock index a4fe98ca0023..9565b31ec987 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4465,7 +4465,7 @@ __metadata: postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.1.1" - sass: "npm:1.69.6" + sass: "npm:1.69.7" sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.3" @@ -6458,16 +6458,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.69.6": - version: 1.69.6 - resolution: "sass@npm:1.69.6" +"sass@npm:1.69.7": + version: 1.69.7 + resolution: "sass@npm:1.69.7" dependencies: chokidar: "npm:>=3.0.0 <4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 8153db8e51e74a9007bb54332e14d122c34288c7d21a5f2eaefef753a1b7bb13f35e042dc6247253dab5b1550b05cea27970371e7548286b4f50f23dd1147d89 + checksum: 773d0938e7d4ff3972d3fda3132f34fe98a2f712e028a58e28fecd615434795eff3266eddc38d5e13f03b90c0d6360d0e737b30bff2949a47280c64a18e0fb18 languageName: node linkType: hard From 50bc384abde662cf395dc6580f94c7e85303377e Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Mon, 8 Jan 2024 10:42:13 +0100 Subject: [PATCH 0058/1330] Fill in since todo (#8839) --- core/src/main/java/hudson/ExtensionList.java | 2 +- core/src/main/java/hudson/Functions.java | 2 +- .../main/java/hudson/model/BuildTimelineWidget.java | 4 ++-- core/src/main/java/hudson/model/View.java | 4 ++-- .../node_monitors/AbstractNodeMonitorDescriptor.java | 2 +- .../node_monitors/DiskSpaceMonitorDescriptor.java | 4 ++-- .../node_monitors/DiskSpaceMonitorNodeProperty.java | 2 +- .../java/jenkins/console/ConsoleUrlProvider.java | 2 +- .../ConsoleUrlProviderGlobalConfiguration.java | 2 +- .../console/ConsoleUrlProviderUserProperty.java | 2 +- .../jenkins/console/DefaultConsoleUrlProvider.java | 2 +- core/src/main/java/jenkins/model/Loadable.java | 2 +- .../main/java/jenkins/model/PeepholePermalink.java | 12 ++++++------ core/src/main/java/jenkins/security/FIPS140.java | 2 +- .../java/jenkins/util/DefaultScriptListener.java | 2 +- core/src/main/java/jenkins/util/ScriptListener.java | 2 +- 16 files changed, 24 insertions(+), 24 deletions(-) diff --git a/core/src/main/java/hudson/ExtensionList.java b/core/src/main/java/hudson/ExtensionList.java index 202a76732bc2..c333b2de9ff2 100644 --- a/core/src/main/java/hudson/ExtensionList.java +++ b/core/src/main/java/hudson/ExtensionList.java @@ -468,7 +468,7 @@ public static ExtensionList create(Jenkins jenkins, Class type) { * @return the singleton instance of the given type in its list. * @throws IllegalStateException if there are no instances * - * @since TODO + * @since 2.435 */ public static @NonNull U lookupFirst(Class type) { var all = lookup(type); diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 9cc4659ef33b..d27160aaa8a2 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -1909,7 +1909,7 @@ public static String joinPath(String... components) { * Computes the link to the console for the run for the specified executable, taking {@link ConsoleUrlProvider} into account. * @param executable the executable (normally a {@link Run}) * @return the absolute URL for accessing the build console for the executable, or null if there is no build associated with the executable - * @since TODO + * @since 2.433 */ public static @CheckForNull String getConsoleUrl(Queue.Executable executable) { if (executable == null) { diff --git a/core/src/main/java/hudson/model/BuildTimelineWidget.java b/core/src/main/java/hudson/model/BuildTimelineWidget.java index 8849e95555dc..23a372b659c7 100644 --- a/core/src/main/java/hudson/model/BuildTimelineWidget.java +++ b/core/src/main/java/hudson/model/BuildTimelineWidget.java @@ -40,9 +40,9 @@ * * @author Kohsuke Kawaguchi * @since 1.372 - * @deprecated since TODO + * @deprecated since 2.431 */ -@Deprecated +@Deprecated(since = "2.431") public class BuildTimelineWidget { protected final RunList builds; diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index c752adc24247..6bd923cd0268 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -406,7 +406,7 @@ public boolean isFilterExecutors() { } /** - * @since TODO + * @since 2.426 */ @DataBoundSetter public void setFilterExecutors(boolean filterExecutors) { @@ -421,7 +421,7 @@ public boolean isFilterQueue() { } /** - * @since TODO + * @since 2.426 */ @DataBoundSetter public void setFilterQueue(boolean filterQueue) { diff --git a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java index 927e826ece67..7cd1c75abc8d 100644 --- a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java +++ b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java @@ -73,7 +73,7 @@ protected AbstractNodeMonitorDescriptor() { * method and return false. * * @return true if this monitor might take agents offline - * @since TODO + * @since 2.437 */ public boolean canTakeOffline() { return true; diff --git a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorDescriptor.java b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorDescriptor.java index 18bc935e3689..03038c054cdb 100644 --- a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorDescriptor.java +++ b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorDescriptor.java @@ -183,11 +183,11 @@ public long getFreeSize() { /** * Gets GB left. * - * @deprecated since TODO + * @deprecated * Directly use the size field or to get a human-readable value with units use * {@link Functions#humanReadableByteSize(long)} */ - @Deprecated + @Deprecated(since = "2.434") public String getGbLeft() { long space = size; space /= 1024L; // convert to KB diff --git a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorNodeProperty.java b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorNodeProperty.java index 37cb8a56f683..3ac836f3238c 100644 --- a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorNodeProperty.java +++ b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitorNodeProperty.java @@ -11,7 +11,7 @@ /** * {@link NodeProperty} that allows users to set agent specific disk space thresholds. * - * @since TODO + * @since 2.434 */ public class DiskSpaceMonitorNodeProperty extends NodeProperty { private final String freeDiskSpaceThreshold; diff --git a/core/src/main/java/jenkins/console/ConsoleUrlProvider.java b/core/src/main/java/jenkins/console/ConsoleUrlProvider.java index ba4e5a000cbc..0b9e70c3db53 100644 --- a/core/src/main/java/jenkins/console/ConsoleUrlProvider.java +++ b/core/src/main/java/jenkins/console/ConsoleUrlProvider.java @@ -52,7 +52,7 @@ * Pipeline flow graph, there may be various edge cases where your visualization does not work at all, but the classic * console view is unaffected. * @see Functions#getConsoleUrl - * @since TODO + * @since 2.433 */ public interface ConsoleUrlProvider extends Describable { @Restricted(NoExternalUse.class) diff --git a/core/src/main/java/jenkins/console/ConsoleUrlProviderGlobalConfiguration.java b/core/src/main/java/jenkins/console/ConsoleUrlProviderGlobalConfiguration.java index 260321b009eb..a63fe679f200 100644 --- a/core/src/main/java/jenkins/console/ConsoleUrlProviderGlobalConfiguration.java +++ b/core/src/main/java/jenkins/console/ConsoleUrlProviderGlobalConfiguration.java @@ -48,7 +48,7 @@ /** * Allows administrators to activate and sort {@link ConsoleUrlProvider} extensions to set defaults for all users. * @see ConsoleUrlProviderUserProperty - * @since TODO + * @since 2.433 */ @Extension @Symbol("consoleUrlProvider") diff --git a/core/src/main/java/jenkins/console/ConsoleUrlProviderUserProperty.java b/core/src/main/java/jenkins/console/ConsoleUrlProviderUserProperty.java index d741a0f16fd4..3763036b9686 100644 --- a/core/src/main/java/jenkins/console/ConsoleUrlProviderUserProperty.java +++ b/core/src/main/java/jenkins/console/ConsoleUrlProviderUserProperty.java @@ -39,7 +39,7 @@ /** * Allows users to activate and sort {@link ConsoleUrlProvider} extensions based on their preferences. * @see ConsoleUrlProviderGlobalConfiguration - * @since TODO + * @since 2.433 */ @Restricted(NoExternalUse.class) public class ConsoleUrlProviderUserProperty extends UserProperty { diff --git a/core/src/main/java/jenkins/console/DefaultConsoleUrlProvider.java b/core/src/main/java/jenkins/console/DefaultConsoleUrlProvider.java index 34722301529d..59b2e8f64be3 100644 --- a/core/src/main/java/jenkins/console/DefaultConsoleUrlProvider.java +++ b/core/src/main/java/jenkins/console/DefaultConsoleUrlProvider.java @@ -36,7 +36,7 @@ * Default implementation of {@link ConsoleUrlProvider} that uses the standard Jenkins console view. *

Exists so that users have a way to override {@link ConsoleUrlProviderGlobalConfiguration} and specify the default * console view if desired via {@link ConsoleUrlProviderUserProperty}. - * @since TODO + * @since 2.433 */ @Restricted(value = NoExternalUse.class) public class DefaultConsoleUrlProvider implements ConsoleUrlProvider { diff --git a/core/src/main/java/jenkins/model/Loadable.java b/core/src/main/java/jenkins/model/Loadable.java index a8fd2eca4c56..76350cc2f4ef 100644 --- a/core/src/main/java/jenkins/model/Loadable.java +++ b/core/src/main/java/jenkins/model/Loadable.java @@ -6,7 +6,7 @@ /** * Object whose state can be loaded from disk. In general, also implements {@link Saveable}. * - * @since TODO + * @since 2.428 */ public interface Loadable { diff --git a/core/src/main/java/jenkins/model/PeepholePermalink.java b/core/src/main/java/jenkins/model/PeepholePermalink.java index 40297b6e406c..62185f39f1ae 100644 --- a/core/src/main/java/jenkins/model/PeepholePermalink.java +++ b/core/src/main/java/jenkins/model/PeepholePermalink.java @@ -242,7 +242,7 @@ public void onCompleted(Run run, @NonNull TaskListener listener) { } /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_STABLE_BUILD = new PeepholePermalink() { @Override @@ -262,7 +262,7 @@ public boolean apply(Run run) { }; /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_SUCCESSFUL_BUILD = new PeepholePermalink() { @Override @@ -283,7 +283,7 @@ public boolean apply(Run run) { }; /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_FAILED_BUILD = new PeepholePermalink() { @Override @@ -303,7 +303,7 @@ public boolean apply(Run run) { }; /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_UNSTABLE_BUILD = new PeepholePermalink() { @Override @@ -323,7 +323,7 @@ public boolean apply(Run run) { }; /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_UNSUCCESSFUL_BUILD = new PeepholePermalink() { @Override @@ -343,7 +343,7 @@ public boolean apply(Run run) { }; /** - * @since TODO + * @since 2.436 */ public static final Permalink LAST_COMPLETED_BUILD = new PeepholePermalink() { @Override diff --git a/core/src/main/java/jenkins/security/FIPS140.java b/core/src/main/java/jenkins/security/FIPS140.java index 527c90085996..8901f8932168 100644 --- a/core/src/main/java/jenkins/security/FIPS140.java +++ b/core/src/main/java/jenkins/security/FIPS140.java @@ -32,7 +32,7 @@ * The environment (host, JVM and servlet container), must be suitably configured which is outside the scope of the Jenkins project. * @see FIPS-140-2 * @see JEP-237 - * @since TODO + * @since 2.426 */ public class FIPS140 { diff --git a/core/src/main/java/jenkins/util/DefaultScriptListener.java b/core/src/main/java/jenkins/util/DefaultScriptListener.java index 3f3c966a8fd6..24957bbf68af 100644 --- a/core/src/main/java/jenkins/util/DefaultScriptListener.java +++ b/core/src/main/java/jenkins/util/DefaultScriptListener.java @@ -37,7 +37,7 @@ /** * Basic default implementation of {@link jenkins.util.ScriptListener} that just logs. * - * @since TODO + * @since 2.427 */ @Extension @Restricted(NoExternalUse.class) diff --git a/core/src/main/java/jenkins/util/ScriptListener.java b/core/src/main/java/jenkins/util/ScriptListener.java index e1f642e9d9e9..b07603c17f2a 100644 --- a/core/src/main/java/jenkins/util/ScriptListener.java +++ b/core/src/main/java/jenkins/util/ScriptListener.java @@ -49,7 +49,7 @@ * @see hudson.cli.GroovyshCommand * @see jenkins.util.groovy.GroovyHookScript * - * @since TODO + * @since 2.427 */ public interface ScriptListener extends ExtensionPoint { From 1eb29a879216fa7418724d08d5e9ed212ecd0709 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 10:45:30 -0800 Subject: [PATCH 0059/1330] Bump org.jenkins-ci.main:remoting from 3198.v03a_401881f3e to 3203.v94ce994fdb_31 (#8836) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8ce605075697..2bd70b413a36 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3198.v03a_401881f3e + 3203.v94ce994fdb_31 4.13 From 004e72746a2732be97263c9a6099bc870f3dbe6c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 09:04:51 +0000 Subject: [PATCH 0060/1330] Update dependency postcss to v8.4.33 (#8841) 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 a80238545ce3..c82e10b81e83 100644 --- a/war/package.json +++ b/war/package.json @@ -34,7 +34,7 @@ "eslint-config-prettier": "9.1.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", - "postcss": "8.4.32", + "postcss": "8.4.33", "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", diff --git a/war/yarn.lock b/war/yarn.lock index 9565b31ec987..3954e1c5a242 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4460,7 +4460,7 @@ __metadata: jquery: "npm:3.7.1" lodash: "npm:4.17.21" mini-css-extract-plugin: "npm:2.7.6" - postcss: "npm:8.4.32" + postcss: "npm:8.4.33" postcss-loader: "npm:7.3.4" postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" @@ -6155,14 +6155,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.32, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.32": - version: 8.4.32 - resolution: "postcss@npm:8.4.32" +"postcss@npm:8.4.33, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.32": + version: 8.4.33 + resolution: "postcss@npm:8.4.33" dependencies: nanoid: "npm:^3.3.7" picocolors: "npm:^1.0.0" source-map-js: "npm:^1.0.2" - checksum: 39308a9195fa34d4dbdd7b58a896cff0c7809f84f7a4ac1b95b68ca86c9138a395addff33075668ed3983d41b90aac05754c445237a9365eb1c3a5602ebd03ad + checksum: 16eda83458fcd8a91bece287b5920c7f57164c3ea293e6c80d0ea71ce7843007bcd8592260a5160b9a7f02693e6ac93e2495b02d8c7596d3f3f72c1447e3ba79 languageName: node linkType: hard From 9865a3580b82f465280a83c777400c3ec3c060a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:42:52 -0800 Subject: [PATCH 0061/1330] Bump org.jenkins-ci.main:remoting from 3203.v94ce994fdb_31 to 3206.vb_15dcf73f6a_9 (#8847) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2bd70b413a36..c7adda05664e 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3203.v94ce994fdb_31 + 3206.vb_15dcf73f6a_9 4.13 From cdffa21e96db44cbe14c3fb0993d4c5e39c195db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:43:13 -0800 Subject: [PATCH 0062/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2140.ve736dc2b_b_d2c to 2146.v6b_f8b_1cb_d12d (#8845) 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 489e08dac486..1cf4016bdbb9 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2140.ve736dc2b_b_d2c + 2146.v6b_f8b_1cb_d12d test From 773e0c692a274182af1f7b41dcf2a0842c728076 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:43:53 -0800 Subject: [PATCH 0063/1330] Bump org.jenkins-ci:jenkins from 1.108 to 1.109 (#8834) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c7adda05664e..76cafbf7cefc 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci jenkins - 1.108 + 1.109 From 0ebd1a066bb9a1d6295100cbf7371a9e33eb38f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:44:11 -0800 Subject: [PATCH 0064/1330] Bump org.jenkins-ci.plugins:script-security from 1305.v487433146192 to 1313.v7a_6067dc7087 (#8844) 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 1cf4016bdbb9..cb905433472a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -105,7 +105,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1305.v487433146192 + 1313.v7a_6067dc7087 org.jenkins-ci.plugins.workflow From 5da5ac7e62568908fa29ff8265c696cc6e4c7032 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:44:35 -0800 Subject: [PATCH 0065/1330] Bump SLF4J from 2.0.10 to 2.0.11 (#8846) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 4ecb6251acea..29f77e1f7202 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 9.6 - 2.0.10 + 2.0.11 1822.v120278426e1c 2.4.21 From f1e9bbc410604bd2f82c65df3d92d02826312a84 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Wed, 10 Jan 2024 04:35:17 +0000 Subject: [PATCH 0066/1330] [maven-release-plugin] prepare release jenkins-2.440 --- 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 29f77e1f7202..ce1a6c0f8f8e 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 50588e3e692b..5d79df41defd 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 cli diff --git a/core/pom.xml b/core/pom.xml index 4280e9075da9..1235dd64b2e8 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..b5987bf2bd3e 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 jenkins-coverage diff --git a/pom.xml b/pom.xml index 76cafbf7cefc..fb5036e59ee0 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 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.440 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index cb905433472a..356998ab5434 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 8d6d579e5919..5dbf13a86a39 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.440 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index c91e1583c039..cb1e573448bf 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.440 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a99aada6a446..9354ba25f64a 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.440 ../.. From 2923a7785ea735b0b90a8cfb2cbf67bbf864356e Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Wed, 10 Jan 2024 04:35:41 +0000 Subject: [PATCH 0067/1330] [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 ce1a6c0f8f8e..29f77e1f7202 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 5d79df41defd..50588e3e692b 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 1235dd64b2e8..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index b5987bf2bd3e..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index fb5036e59ee0..40678b5f2953 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${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.440 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.440 + 2.441 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 356998ab5434..cb905433472a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 5dbf13a86a39..8d6d579e5919 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index cb1e573448bf..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 9354ba25f64a..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.440 + ${revision}${changelist} ../.. From 7ed8c33d04c732c623fc0309db10442c7f2a83f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 11:41:34 +0100 Subject: [PATCH 0068/1330] Update dependency @babel/preset-env to v7.23.8 (#8859) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/war/package.json b/war/package.json index c82e10b81e83..04b97d7bd559 100644 --- a/war/package.json +++ b/war/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@babel/cli": "7.23.4", "@babel/core": "7.23.7", - "@babel/preset-env": "7.23.7", + "@babel/preset-env": "7.23.8", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", diff --git a/war/yarn.lock b/war/yarn.lock index 3954e1c5a242..a668180a47e3 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -699,22 +699,21 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/plugin-transform-classes@npm:7.23.5" +"@babel/plugin-transform-classes@npm:^7.23.8": + version: 7.23.8 + resolution: "@babel/plugin-transform-classes@npm:7.23.8" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-optimise-call-expression": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-replace-supers": "npm:^7.22.20" "@babel/helper-split-export-declaration": "npm:^7.22.6" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 07988f52b4893151887d1ea6ff79e5fe834078c5731bd09babd5659edbbae21ea4e2de326a02443a63fd776b4c945da6177f07875b56fe66e0b7899e830a9e92 + checksum: 227ac5166501e04d9e7fbd5eda6869b084ffa4af6830ac12544ac6ea14953ca00eb1762b0df9349c0f6c8d2a799385910f558066cd0fb85b9ca437b1131a6043 languageName: node linkType: hard @@ -1195,9 +1194,9 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.23.7": - version: 7.23.7 - resolution: "@babel/preset-env@npm:7.23.7" +"@babel/preset-env@npm:7.23.8": + version: 7.23.8 + resolution: "@babel/preset-env@npm:7.23.8" dependencies: "@babel/compat-data": "npm:^7.23.5" "@babel/helper-compilation-targets": "npm:^7.23.6" @@ -1232,7 +1231,7 @@ __metadata: "@babel/plugin-transform-block-scoping": "npm:^7.23.4" "@babel/plugin-transform-class-properties": "npm:^7.23.3" "@babel/plugin-transform-class-static-block": "npm:^7.23.4" - "@babel/plugin-transform-classes": "npm:^7.23.5" + "@babel/plugin-transform-classes": "npm:^7.23.8" "@babel/plugin-transform-computed-properties": "npm:^7.23.3" "@babel/plugin-transform-destructuring": "npm:^7.23.3" "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" @@ -1281,7 +1280,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ac9def873cec52ee02a550bde6e22eced16d1ae331bb8ebc82c03e4c91c12ac17e3e4027647e61612937bcc25ac46e71370aaf99dc2e85dbd11f7777ffeed54e + checksum: e602ad954645f1a509644e3d2c72b3c63bdc2273c377e7a83b78f076eca215887ea3624ffc36aaad03deb9ac8acd89e247fd4562b96e0f2b679485e20d8ff25f languageName: node linkType: hard @@ -4447,7 +4446,7 @@ __metadata: dependencies: "@babel/cli": "npm:7.23.4" "@babel/core": "npm:7.23.7" - "@babel/preset-env": "npm:7.23.7" + "@babel/preset-env": "npm:7.23.8" babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:6.8.1" From 9dd9a51a4462a3cee9c008830f2dbd6ad9657718 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 11:42:40 +0100 Subject: [PATCH 0069/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2146.v6b_f8b_1cb_d12d to 2148.v80482520b_d2c (#8857) Bump org.jenkins-ci.main:jenkins-test-harness Bumps [org.jenkins-ci.main:jenkins-test-harness](https://github.com/jenkinsci/jenkins-test-harness) from 2146.v6b_f8b_1cb_d12d to 2148.v80482520b_d2c. - [Release notes](https://github.com/jenkinsci/jenkins-test-harness/releases) - [Changelog](https://github.com/jenkinsci/jenkins-test-harness/blob/master/docs/CHANGELOG-OLD.md) - [Commits](https://github.com/jenkinsci/jenkins-test-harness/commits) --- updated-dependencies: - dependency-name: org.jenkins-ci.main:jenkins-test-harness dependency-type: direct:development ... 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 cb905433472a..d0c3f586df8d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2146.v6b_f8b_1cb_d12d + 2148.v80482520b_d2c test From 214f042834a0cd3888037c791cec4783767bd931 Mon Sep 17 00:00:00 2001 From: dsrink Date: Fri, 12 Jan 2024 11:45:35 +0100 Subject: [PATCH 0070/1330] [JENKINS-66530] Change focus in the 'new item' page only if 'from' has a valid job name (#8807) * JENKINS-66530: setTimeout/focus switch to 'name' only if field 'from' points to a valid job name * yarn prettier for add-item.js --- war/src/main/js/add-item.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/war/src/main/js/add-item.js b/war/src/main/js/add-item.js index 99b251d690c3..62244731adde 100644 --- a/war/src/main/js/add-item.js +++ b/war/src/main/js/add-item.js @@ -334,7 +334,15 @@ $.when(getItems()).done(function (data) { if (!getFieldValidationStatus("name")) { activateValidationMessage("#itemname-required", ".add-item-name"); setTimeout(function () { - $('input[name="name"][type="text"]', "#createItem").focus(); + var parentName = $('input[name="from"]', "#createItem").val(); + $.get("job/" + parentName + "/api/json?tree=name").done( + function (data) { + if (data.name === parentName) { + //if "name" is invalid, but "from" is a valid job, then switch focus to "name" + $('input[name="name"][type="text"]', "#createItem").focus(); + } + }, + ); }, 400); } else { if (getFormValidationStatus()) { From dd7488bc9062afe514254652ec8e4a29843fb125 Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:15:41 +0000 Subject: [PATCH 0071/1330] Increase memory for war assembly (#8856) --- .mvn/jvm.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mvn/jvm.config b/.mvn/jvm.config index f0106d148540..1d72cb7d8d93 100644 --- a/.mvn/jvm.config +++ b/.mvn/jvm.config @@ -1 +1 @@ --Xmx1100m +-Xmx1400m From 53f7e40b198aa34b0089a325eca372aa1e216131 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Sat, 13 Jan 2024 04:00:05 +0100 Subject: [PATCH 0072/1330] do not generate td when outside table for buildbutton (#8854) projectView renders a buildButton twice once inside a table for wide screens and once outside a table for narrow or mobile screens with one always hidden. But the buildButton always wraps everything in a `td`. When projectView is now itself wrapped somewhere in a table (was done in dashboard-view plugin) then the brwoser will move the `td` to the outer table and it gets always shown and breaks the UI. --- .../views/BuildButtonColumn/column.jelly | 53 ++++++++++--------- .../resources/lib/hudson/projectView.jelly | 3 +- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly b/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly index df10b841083c..14740e7cddf9 100644 --- a/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly +++ b/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly @@ -23,29 +23,32 @@ THE SOFTWARE. --> - - - - - -

- - - - - - - - - - - - - - - - -
-
- + + + + jenkins-table__cell--tight + + + + +
+ + + + + + + + + + + + + + + + +
+
+
diff --git a/core/src/main/resources/lib/hudson/projectView.jelly b/core/src/main/resources/lib/hudson/projectView.jelly index c7fdba3a542f..de8d4a9316b1 100644 --- a/core/src/main/resources/lib/hudson/projectView.jelly +++ b/core/src/main/resources/lib/hudson/projectView.jelly @@ -88,6 +88,7 @@ THE SOFTWARE.
+ @@ -121,7 +122,7 @@ THE SOFTWARE.
- +
From e7e673d691bb0897db211ea4cdf4a22ab0f3f711 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:00:18 -0700 Subject: [PATCH 0073/1330] Update dependency style-loader to v3.3.4 (#8861) 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 04b97d7bd559..4fbf7246093b 100644 --- a/war/package.json +++ b/war/package.json @@ -41,7 +41,7 @@ "prettier": "3.1.1", "sass": "1.69.7", "sass-loader": "13.3.3", - "style-loader": "3.3.3", + "style-loader": "3.3.4", "stylelint": "16.1.0", "stylelint-checkstyle-reporter": "0.2.0", "stylelint-config-standard": "33.0.0", diff --git a/war/yarn.lock b/war/yarn.lock index a668180a47e3..b714a8f3c717 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4467,7 +4467,7 @@ __metadata: sass: "npm:1.69.7" sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" - style-loader: "npm:3.3.3" + style-loader: "npm:3.3.4" stylelint: "npm:16.1.0" stylelint-checkstyle-reporter: "npm:0.2.0" stylelint-config-standard: "npm:33.0.0" @@ -6733,12 +6733,12 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:3.3.3": - version: 3.3.3 - resolution: "style-loader@npm:3.3.3" +"style-loader@npm:3.3.4": + version: 3.3.4 + resolution: "style-loader@npm:3.3.4" peerDependencies: webpack: ^5.0.0 - checksum: 104bae8abd0627579dc14f3917cf65f1117e8098e3529872f09c26b5eee07933567b7be5c8ebf94d16e322b6e726dc569c5787111bf3786915850db4e351ef33 + checksum: 8f8027fc5c6e91400cbb60066e7db3315810f8eaa0d19b2a254936eb0bec399ba8a7043b1789da9d05ab7c3ba50faf9267765ae0bf3571e48aa34ecdc774be37 languageName: node linkType: hard From 7540c95767604c1d1ae0226bc8f086aa733fa2eb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:00:29 -0700 Subject: [PATCH 0074/1330] Update dependency css-loader to v6.9.0 (#8862) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/war/package.json b/war/package.json index 4fbf7246093b..f0afba81ba0a 100644 --- a/war/package.json +++ b/war/package.json @@ -28,7 +28,7 @@ "@babel/preset-env": "7.23.8", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", - "css-loader": "6.8.1", + "css-loader": "6.9.0", "css-minimizer-webpack-plugin": "5.0.1", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", diff --git a/war/yarn.lock b/war/yarn.lock index b714a8f3c717..e354e8bdc364 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3125,21 +3125,21 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:6.8.1": - version: 6.8.1 - resolution: "css-loader@npm:6.8.1" +"css-loader@npm:6.9.0": + version: 6.9.0 + resolution: "css-loader@npm:6.9.0" dependencies: icss-utils: "npm:^5.1.0" - postcss: "npm:^8.4.21" + postcss: "npm:^8.4.31" postcss-modules-extract-imports: "npm:^3.0.0" postcss-modules-local-by-default: "npm:^4.0.3" - postcss-modules-scope: "npm:^3.0.0" + postcss-modules-scope: "npm:^3.1.0" postcss-modules-values: "npm:^4.0.0" postcss-value-parser: "npm:^4.2.0" - semver: "npm:^7.3.8" + semver: "npm:^7.5.4" peerDependencies: webpack: ^5.0.0 - checksum: a6e23de4ec1d2832f10b8ca3cfec6b6097a97ca3c73f64338ae5cd110ac270f1b218ff0273d39f677a7a561f1a9d9b0d332274664d0991bcfafaae162c2669c4 + checksum: dded9ddbf3d7d2befe6a6c8fc861a46790626219a732ada3e52d02833dd2731d81b5f9ac7be51d3871b48d1a4b840668598e033f5f82790e892c6942139dbf9c languageName: node linkType: hard @@ -4449,7 +4449,7 @@ __metadata: "@babel/preset-env": "npm:7.23.8" babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" - css-loader: "npm:6.8.1" + css-loader: "npm:6.9.0" css-minimizer-webpack-plugin: "npm:5.0.1" eslint: "npm:8.56.0" eslint-config-prettier: "npm:9.1.0" @@ -5781,14 +5781,14 @@ __metadata: languageName: node linkType: hard -"postcss-modules-scope@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-scope@npm:3.0.0" +"postcss-modules-scope@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-scope@npm:3.1.0" dependencies: postcss-selector-parser: "npm:^6.0.4" peerDependencies: postcss: ^8.1.0 - checksum: 60af503910363689568c2c3701cb019a61b58b3d739391145185eec211bea5d50ccb6ecbe6955b39d856088072fd50ea002e40a52b50e33b181ff5c41da0308a + checksum: bc8e12e9312d7070f34ccef2929f65154102e2b2984a385eaf2ef25b6d4e22234de71116c240a05b541a79946b717d6fa8c5d314f6697bf05f295261693050fe languageName: node linkType: hard @@ -6154,7 +6154,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.33, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.32": +"postcss@npm:8.4.33, postcss@npm:^8.4.24, postcss@npm:^8.4.31, postcss@npm:^8.4.32": version: 8.4.33 resolution: "postcss@npm:8.4.33" dependencies: @@ -6511,7 +6511,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.4": +"semver@npm:^7.3.5, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: From d36cf82d91b7a58fa6e1150ad5da90791beed339 Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Fri, 12 Jan 2024 20:00:55 -0700 Subject: [PATCH 0075/1330] Rely on parent pom spotbugs configuration (#8855) Rely on spotbugs configuration from parent pom Removes the 81c3249ca0e6bcc69e1caa2e6828ec6c8c0884cd workaround that was added in pull request https://github.com/jenkinsci/jenkins/pull/8803 --- pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pom.xml b/pom.xml index 40678b5f2953..979c049535ce 100644 --- a/pom.xml +++ b/pom.xml @@ -90,11 +90,7 @@ THE SOFTWARE. 4.13 - - - 4.8.2.0 Max - FindReturnRef,ConstructorThrow Medium 1.33 From 6f6d99af8426c1c5878a210eb38836c7b41c3363 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:36:35 -0700 Subject: [PATCH 0076/1330] Update dependency lit to v3.1.1 (#8863) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- core/src/site/site.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/site/site.xml b/core/src/site/site.xml index 76faf2e946cc..b8bbef941204 100644 --- a/core/src/site/site.xml +++ b/core/src/site/site.xml @@ -6,7 +6,7 @@ + From faf22cdb401bea57f48c45f2e62239c41e068c37 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Sat, 13 Jan 2024 16:09:22 +0100 Subject: [PATCH 0077/1330] Remove unused material-icons (#8831) * Update the icon path in SvgIconTest * Remove unused material-icons --- .../lib/layout/SvgIconTest/TestRootAction/index.jelly | 2 +- war/src/main/webapp/images/material-icons/computer-24px.svg | 1 - war/src/main/webapp/images/material-icons/edit.svg | 6 ------ war/src/main/webapp/images/material-icons/feed.svg | 6 ------ war/src/main/webapp/images/material-icons/rss_feed-24px.svg | 6 ------ .../images/material-icons/svg-sprite-action-symbol.svg | 1 - .../images/material-icons/svg-sprite-content-symbol.svg | 1 - .../images/material-icons/svg-sprite-navigation-symbol.svg | 1 - .../images/material-icons/svg-sprite-social-symbol.svg | 1 - .../webapp/images/material-icons/view_headline-24px.svg | 1 - 10 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 war/src/main/webapp/images/material-icons/computer-24px.svg delete mode 100644 war/src/main/webapp/images/material-icons/edit.svg delete mode 100644 war/src/main/webapp/images/material-icons/feed.svg delete mode 100644 war/src/main/webapp/images/material-icons/rss_feed-24px.svg delete mode 100644 war/src/main/webapp/images/material-icons/svg-sprite-action-symbol.svg delete mode 100644 war/src/main/webapp/images/material-icons/svg-sprite-content-symbol.svg delete mode 100644 war/src/main/webapp/images/material-icons/svg-sprite-navigation-symbol.svg delete mode 100644 war/src/main/webapp/images/material-icons/svg-sprite-social-symbol.svg delete mode 100644 war/src/main/webapp/images/material-icons/view_headline-24px.svg diff --git a/test/src/test/resources/lib/layout/SvgIconTest/TestRootAction/index.jelly b/test/src/test/resources/lib/layout/SvgIconTest/TestRootAction/index.jelly index 40d7b5b19c1e..163a2059b285 100644 --- a/test/src/test/resources/lib/layout/SvgIconTest/TestRootAction/index.jelly +++ b/test/src/test/resources/lib/layout/SvgIconTest/TestRootAction/index.jelly @@ -26,7 +26,7 @@ THE SOFTWARE.
- +
diff --git a/war/src/main/webapp/images/material-icons/computer-24px.svg b/war/src/main/webapp/images/material-icons/computer-24px.svg deleted file mode 100644 index ea9e5a0b7706..000000000000 --- a/war/src/main/webapp/images/material-icons/computer-24px.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/war/src/main/webapp/images/material-icons/edit.svg b/war/src/main/webapp/images/material-icons/edit.svg deleted file mode 100644 index 62889329055d..000000000000 --- a/war/src/main/webapp/images/material-icons/edit.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/war/src/main/webapp/images/material-icons/feed.svg b/war/src/main/webapp/images/material-icons/feed.svg deleted file mode 100644 index 42d72645a1d9..000000000000 --- a/war/src/main/webapp/images/material-icons/feed.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/war/src/main/webapp/images/material-icons/rss_feed-24px.svg b/war/src/main/webapp/images/material-icons/rss_feed-24px.svg deleted file mode 100644 index ab35422ed1e3..000000000000 --- a/war/src/main/webapp/images/material-icons/rss_feed-24px.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/war/src/main/webapp/images/material-icons/svg-sprite-action-symbol.svg b/war/src/main/webapp/images/material-icons/svg-sprite-action-symbol.svg deleted file mode 100644 index 84951eec8da6..000000000000 --- a/war/src/main/webapp/images/material-icons/svg-sprite-action-symbol.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/war/src/main/webapp/images/material-icons/svg-sprite-content-symbol.svg b/war/src/main/webapp/images/material-icons/svg-sprite-content-symbol.svg deleted file mode 100644 index 17bb4c67f8f8..000000000000 --- a/war/src/main/webapp/images/material-icons/svg-sprite-content-symbol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/war/src/main/webapp/images/material-icons/svg-sprite-navigation-symbol.svg b/war/src/main/webapp/images/material-icons/svg-sprite-navigation-symbol.svg deleted file mode 100644 index 5e3fbefe1059..000000000000 --- a/war/src/main/webapp/images/material-icons/svg-sprite-navigation-symbol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/war/src/main/webapp/images/material-icons/svg-sprite-social-symbol.svg b/war/src/main/webapp/images/material-icons/svg-sprite-social-symbol.svg deleted file mode 100644 index d9f371db0de7..000000000000 --- a/war/src/main/webapp/images/material-icons/svg-sprite-social-symbol.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/war/src/main/webapp/images/material-icons/view_headline-24px.svg b/war/src/main/webapp/images/material-icons/view_headline-24px.svg deleted file mode 100644 index 4d753fa0b345..000000000000 --- a/war/src/main/webapp/images/material-icons/view_headline-24px.svg +++ /dev/null @@ -1 +0,0 @@ - From 48661db9d1dad55af5300d3783b2834a7b15c41f Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Sat, 13 Jan 2024 16:09:33 +0100 Subject: [PATCH 0078/1330] [JENKINS-72543] Fix permission check in script console view (#8858) Co-authored-by: Daniel Beck Co-authored-by: Alexander Brandes --- core/src/main/resources/lib/hudson/scriptConsole.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/lib/hudson/scriptConsole.jelly b/core/src/main/resources/lib/hudson/scriptConsole.jelly index f6d21d6fcda9..89998ca88001 100644 --- a/core/src/main/resources/lib/hudson/scriptConsole.jelly +++ b/core/src/main/resources/lib/hudson/scriptConsole.jelly @@ -27,7 +27,7 @@ THE SOFTWARE. --> - + From 72eb26a63b6af8d99c26194608f7bae809c398ff Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Sun, 14 Jan 2024 07:17:49 -0700 Subject: [PATCH 0079/1330] Update operating system end of life data (#8864) Add end of life data for several more Linux releases Adds data for: * Alpine Linux 3.19 * Amazon Linux 2 (already end of life for Jenkins) * Amazon Linux 2023 * Fedora 39 Includes test data for more Linux operating systems that were already included in the end of life data. --- .../OperatingSystemEndOfLifeAdminMonitor.java | 6 +- .../end-of-life-data.json | 74 +++++++++++------- ...ratingSystemEndOfLifeAdminMonitorTest.java | 77 ++++++++++++------- .../jenkins/monitor/os-release-alma-9 | 18 +++++ .../jenkins/monitor/os-release-alpine-3.19 | 6 ++ .../jenkins/monitor/os-release-amazon-linux-2 | 10 +++ .../monitor/os-release-amazon-linux-2023 | 12 +++ .../jenkins/monitor/os-release-centos-8 | 13 ++++ .../jenkins/monitor/os-release-debian-11 | 9 +++ .../jenkins/monitor/os-release-debian-12 | 9 +++ .../jenkins/monitor/os-release-fedora-38 | 22 ++++++ .../jenkins/monitor/os-release-fedora-39 | 22 ++++++ .../jenkins/monitor/os-release-ubuntu-20.04 | 12 +++ .../jenkins/monitor/os-release-ubuntu-22.04 | 12 +++ 14 files changed, 245 insertions(+), 57 deletions(-) create mode 100644 core/src/test/resources/jenkins/monitor/os-release-alma-9 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-centos-8 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-debian-11 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-debian-12 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-fedora-38 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-fedora-39 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-ubuntu-20.04 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 diff --git a/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java b/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java index df93685debcd..0ff40d018225 100644 --- a/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java +++ b/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java @@ -184,7 +184,7 @@ String readOperatingSystemName(File dataFile, @NonNull String patternStr) { if (dataFile == null || !dataFile.exists()) { return ""; } - Pattern pattern = Pattern.compile("^PRETTY_NAME=[\"](" + patternStr + ".*)[\"]"); + Pattern pattern = Pattern.compile("^PRETTY_NAME=[\"](" + patternStr + ")[\"]"); String name = ""; try { List lines = dataFile.equals(lastDataFile) ? lastLines : Files.readAllLines(dataFile.toPath()); @@ -229,8 +229,8 @@ String readDocumentationUrl(File dataFile, @NonNull String patternStr) { if (dataFile == null || !dataFile.exists()) { return ""; } - String operatingSystemName = readOperatingSystemName(dataFile, patternStr); - return buildDocumentationUrl(operatingSystemName); + String name = readOperatingSystemName(dataFile, patternStr); + return buildDocumentationUrl(name); } private String buildDocumentationUrl(String operatingSystemName) { diff --git a/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json b/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json index 3cbdde6bc8bd..e3df71741554 100644 --- a/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json +++ b/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json @@ -1,10 +1,10 @@ [ { - "pattern": "AlmaLinux.* 8", + "pattern": "AlmaLinux.* 8.*", "endOfLife": "2029-03-31" }, { - "pattern": "AlmaLinux.* 9", + "pattern": "AlmaLinux.* 9.*", "endOfLife": "2032-05-31" }, { @@ -28,111 +28,129 @@ "endOfLife": "2025-05-01" }, { - "pattern": "CentOS Linux.* 7", + "pattern": "Alpine Linux v3.19", + "endOfLife": "2025-11-01" + }, + { + "pattern": "Amazon Linux 2", + "start": "2023-05-01", + "endOfLife": "2023-11-16" + }, + { + "pattern": "Amazon Linux 2023", + "start": "2027-09-15", + "endOfLife": "2028-03-15" + }, + { + "pattern": "CentOS Linux.* 7.*", "start": "2023-05-01", "endOfLife": "2023-11-16" }, { - "pattern": "CentOS Linux.* 8", + "pattern": "CentOS Linux.* 8.*", "endOfLife": "2029-03-31" }, { - "pattern": "Debian.* 10", + "pattern": "Debian.* 10.*", "endOfLife": "2024-06-30" }, { - "pattern": "Debian.* 11", + "pattern": "Debian.* 11.*", "endOfLife": "2026-06-30" }, { - "pattern": "Debian.* 12", + "pattern": "Debian.* 12.*", "endOfLife": "2028-06-30" }, { - "pattern": "Fedora.* 36", + "pattern": "Fedora.* 36.*", "endOfLife": "2023-05-18" }, { - "pattern": "Fedora.* 37", + "pattern": "Fedora.* 37.*", "endOfLife": "2023-12-15" }, { - "pattern": "Fedora.* 38", + "pattern": "Fedora.* 38.*", "endOfLife": "2024-05-18" }, { - "pattern": "Oracle Linux.* 7", + "pattern": "Fedora.* 39.*", + "endOfLife": "2024-12-07" + }, + { + "pattern": "Oracle Linux.* 7.*", "start": "2023-05-01", "endOfLife": "2023-11-16" }, { - "pattern": "Oracle Linux.* 8", + "pattern": "Oracle Linux.* 8.*", "endOfLife": "2029-03-31" }, { - "pattern": "Oracle Linux.* 9", + "pattern": "Oracle Linux.* 9.*", "endOfLife": "2034-06-30" }, { - "pattern": "Red Hat Enterprise Linux.* 7", + "pattern": "Red Hat Enterprise Linux.* 7.*", "start": "2023-05-01", "endOfLife": "2023-11-16" }, { - "pattern": "Red Hat Enterprise Linux.* 8", + "pattern": "Red Hat Enterprise Linux.* 8.*", "endOfLife": "2029-03-31" }, { - "pattern": "Red Hat Enterprise Linux.* 9", + "pattern": "Red Hat Enterprise Linux.* 9.*", "endOfLife": "2032-05-31" }, { - "pattern": "Rocky Linux.* 8", + "pattern": "Rocky Linux.* 8.*", "endOfLife": "2029-03-31" }, { - "pattern": "Rocky Linux.* 9", + "pattern": "Rocky Linux.* 9.*", "endOfLife": "2032-05-31" }, { - "pattern": "Scientific Linux.* 7", + "pattern": "Scientific Linux.* 7.*", "start": "2023-05-01", "endOfLife": "2023-11-16" }, { - "pattern": "Ubuntu.* 16.04", + "pattern": "Ubuntu.* 16.04.*", "endOfLife": "2021-04-02" }, { - "pattern": "Ubuntu.* 18.04", + "pattern": "Ubuntu.* 18.04.*", "endOfLife": "2023-05-31" }, { - "pattern": "Ubuntu.* 20.04", + "pattern": "Ubuntu.* 20.04.*", "endOfLife": "2025-04-02" }, { - "pattern": "Ubuntu.* 20.10", + "pattern": "Ubuntu.* 20.10.*", "endOfLife": "2021-07-22" }, { - "pattern": "Ubuntu.* 21.04", + "pattern": "Ubuntu.* 21.04.*", "endOfLife": "2022-01-20" }, { - "pattern": "Ubuntu.* 21.10", + "pattern": "Ubuntu.* 21.10.*", "endOfLife": "2022-07-14" }, { - "pattern": "Ubuntu.* 22.04", + "pattern": "Ubuntu.* 22.04.*", "endOfLife": "2027-04-01" }, { - "pattern": "Ubuntu.* 22.10", + "pattern": "Ubuntu.* 22.10.*", "endOfLife": "2023-07-20" }, { - "pattern": "Ubuntu.* 23.04", + "pattern": "Ubuntu.* 23.04.*", "endOfLife": "2024-01-20" } ] diff --git a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java index 2977254c5717..5cd09790cdd9 100644 --- a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java +++ b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java @@ -30,9 +30,11 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; +import java.net.URL; import java.util.Random; import java.util.stream.Stream; import org.junit.Test; @@ -111,30 +113,43 @@ private String docsUrl(String component) { private static Stream testReadDocumentationUrls() { return Stream.of( - Arguments.of("os-release-alma-8", "AlmaLinux.* 8", "AlmaLinux-8.7-Stone-Smilodon"), + Arguments.of("os-release-alma-8", "AlmaLinux.* 8.*", "AlmaLinux-8.7-Stone-Smilodon"), + Arguments.of("os-release-alma-9", "AlmaLinux.* 9.*", "AlmaLinux-9.3-Shamrock-Pampas-Cat"), Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine-Linux-v3.14"), Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine-Linux-v3.15"), Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine-Linux-v3.16"), Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine-Linux-v3.17"), Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine-Linux-v3.18"), - Arguments.of("os-release-centos-7", "CentOS Linux.* 7", "CentOS-Linux-7-Core"), - Arguments.of("os-release-debian-10", "Debian.* 10", "Debian-GNU-Linux-10-buster"), - Arguments.of("os-release-fedora-36", "Fedora.* 36", "Fedora-Linux-36-Container-Image"), - Arguments.of("os-release-fedora-37", "Fedora.* 37", "Fedora-Linux-37-Container-Image"), - Arguments.of("os-release-oracle-7", "Oracle Linux.* 7", "Oracle-Linux-Server-7.9"), - Arguments.of("os-release-oracle-8", "Oracle Linux.* 8", "Oracle-Linux-Server-8.7"), - Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7", "Red-Hat-Enterprise-Linux-Server-7.9-Maipo"), - Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8", "Red-Hat-Enterprise-Linux-8.8-Ootpa"), - Arguments.of("os-release-rocky-8", "Rocky Linux.* 8", "Rocky-Linux-8.7-Green-Obsidian"), - Arguments.of("os-release-scientific-7", "Scientific Linux.* 7", "Scientific-Linux-7.9-Nitrogen"), - Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18", "Ubuntu-18.04.6-LTS") + Arguments.of("os-release-alpine-3.19", "Alpine Linux v3.19", "Alpine-Linux-v3.19"), + Arguments.of("os-release-amazon-linux-2", "Amazon Linux 2", "Amazon-Linux-2"), + Arguments.of("os-release-amazon-linux-2023", "Amazon Linux 2023", "Amazon-Linux-2023"), + Arguments.of("os-release-centos-7", "CentOS Linux.* 7.*", "CentOS-Linux-7-Core"), + Arguments.of("os-release-centos-8", "CentOS Linux.* 8.*", "CentOS-Linux-8"), + Arguments.of("os-release-debian-10", "Debian.* 10.*", "Debian-GNU-Linux-10-buster"), + Arguments.of("os-release-debian-11", "Debian.* 11.*", "Debian-GNU-Linux-11-bullseye"), + Arguments.of("os-release-debian-12", "Debian.* 12.*", "Debian-GNU-Linux-12-bookworm"), + Arguments.of("os-release-fedora-36", "Fedora.* 36.*", "Fedora-Linux-36-Container-Image"), + Arguments.of("os-release-fedora-37", "Fedora.* 37.*", "Fedora-Linux-37-Container-Image"), + Arguments.of("os-release-fedora-38", "Fedora.* 38.*", "Fedora-Linux-38-Container-Image"), + Arguments.of("os-release-fedora-39", "Fedora.* 39.*", "Fedora-Linux-39-Container-Image"), + Arguments.of("os-release-oracle-7", "Oracle Linux.* 7.*", "Oracle-Linux-Server-7.9"), + Arguments.of("os-release-oracle-8", "Oracle Linux.* 8.*", "Oracle-Linux-Server-8.7"), + Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7.*", "Red-Hat-Enterprise-Linux-Server-7.9-Maipo"), + Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8.*", "Red-Hat-Enterprise-Linux-8.8-Ootpa"), + Arguments.of("os-release-rocky-8", "Rocky Linux.* 8.*", "Rocky-Linux-8.7-Green-Obsidian"), + Arguments.of("os-release-scientific-7", "Scientific Linux.* 7.*", "Scientific-Linux-7.9-Nitrogen"), + Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18.*", "Ubuntu-18.04.6-LTS"), + Arguments.of("os-release-ubuntu-20.04", "Ubuntu.* 20.*", "Ubuntu-20.04.6-LTS"), + Arguments.of("os-release-ubuntu-22.04", "Ubuntu.* 22.*", "Ubuntu-22.04.3-LTS") ); } @ParameterizedTest @MethodSource public void testReadDocumentationUrls(String fileName, String pattern, String component) throws Exception { - File releaseFile = new File(this.getClass().getResource(fileName).toURI()); + URL fileUrl = this.getClass().getResource(fileName); + assertTrue("Resource file '" + fileName + "' not found", fileUrl != null); + File releaseFile = new File(fileUrl.toURI()); assertThat(monitor.readDocumentationUrl(releaseFile, pattern), is(docsUrl(component))); } @@ -158,30 +173,40 @@ public void testReadOperatingSystemListNoPattern() { private static Stream testReadOperatingSystemNames() { return Stream.of( - Arguments.of("os-release-alma-8", "AlmaLinux.* 8", "AlmaLinux 8.7 (Stone Smilodon)"), + Arguments.of("os-release-alma-8", "AlmaLinux.* 8.*", "AlmaLinux 8.7 (Stone Smilodon)"), + Arguments.of("os-release-alma-9", "AlmaLinux.* 9.*", "AlmaLinux 9.3 (Shamrock Pampas Cat)"), Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine Linux v3.14"), Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine Linux v3.15"), Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine Linux v3.16"), Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine Linux v3.17"), Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine Linux v3.18"), - Arguments.of("os-release-centos-7", "CentOS Linux.* 7", "CentOS Linux 7 (Core)"), - Arguments.of("os-release-debian-10", "Debian.* 10", "Debian GNU/Linux 10 (buster)"), - Arguments.of("os-release-fedora-36", "Fedora.* 36", "Fedora Linux 36 (Container Image)"), - Arguments.of("os-release-fedora-37", "Fedora.* 37", "Fedora Linux 37 (Container Image)"), - Arguments.of("os-release-oracle-7", "Oracle Linux.* 7", "Oracle Linux Server 7.9"), - Arguments.of("os-release-oracle-8", "Oracle Linux.* 8", "Oracle Linux Server 8.7"), - Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7", "Red Hat Enterprise Linux Server 7.9 (Maipo)"), - Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8", "Red Hat Enterprise Linux 8.8 (Ootpa)"), - Arguments.of("os-release-rocky-8", "Rocky Linux.* 8", "Rocky Linux 8.7 (Green Obsidian)"), - Arguments.of("os-release-scientific-7", "Scientific Linux.* 7", "Scientific Linux 7.9 (Nitrogen)"), - Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18", "Ubuntu 18.04.6 LTS") + Arguments.of("os-release-alpine-3.19", "Alpine Linux v3.19", "Alpine Linux v3.19"), + Arguments.of("os-release-amazon-linux-2", "Amazon Linux 2", "Amazon Linux 2"), + Arguments.of("os-release-amazon-linux-2023", "Amazon Linux 2023", "Amazon Linux 2023"), + Arguments.of("os-release-centos-7", "CentOS Linux.* 7.*", "CentOS Linux 7 (Core)"), + Arguments.of("os-release-debian-10", "Debian.* 10.*", "Debian GNU/Linux 10 (buster)"), + Arguments.of("os-release-debian-11", "Debian.* 11.*", "Debian GNU/Linux 11 (bullseye)"), + Arguments.of("os-release-debian-12", "Debian.* 12.*", "Debian GNU/Linux 12 (bookworm)"), + Arguments.of("os-release-fedora-36", "Fedora.* 36.*", "Fedora Linux 36 (Container Image)"), + Arguments.of("os-release-fedora-37", "Fedora.* 37.*", "Fedora Linux 37 (Container Image)"), + Arguments.of("os-release-oracle-7", "Oracle Linux.* 7.*", "Oracle Linux Server 7.9"), + Arguments.of("os-release-oracle-8", "Oracle Linux.* 8.*", "Oracle Linux Server 8.7"), + Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7.*", "Red Hat Enterprise Linux Server 7.9 (Maipo)"), + Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8.*", "Red Hat Enterprise Linux 8.8 (Ootpa)"), + Arguments.of("os-release-rocky-8", "Rocky Linux.* 8.*", "Rocky Linux 8.7 (Green Obsidian)"), + Arguments.of("os-release-scientific-7", "Scientific Linux.* 7.*", "Scientific Linux 7.9 (Nitrogen)"), + Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18.*", "Ubuntu 18.04.6 LTS"), + Arguments.of("os-release-ubuntu-20.04", "Ubuntu.* 20.*", "Ubuntu 20.04.6 LTS"), + Arguments.of("os-release-ubuntu-22.04", "Ubuntu.* 22.*", "Ubuntu 22.04.3 LTS") ); } @ParameterizedTest @MethodSource public void testReadOperatingSystemNames(String fileName, String pattern, String job) throws Exception { - File releaseFile = new File(this.getClass().getResource(fileName).toURI()); + URL fileUrl = this.getClass().getResource(fileName); + assertTrue("Resource file '" + fileName + "' not found", fileUrl != null); + File releaseFile = new File(fileUrl.toURI()); assertThat(monitor.readOperatingSystemName(releaseFile, pattern), is(job)); } diff --git a/core/src/test/resources/jenkins/monitor/os-release-alma-9 b/core/src/test/resources/jenkins/monitor/os-release-alma-9 new file mode 100644 index 000000000000..d7c856620e81 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-alma-9 @@ -0,0 +1,18 @@ +NAME="AlmaLinux" +VERSION="9.3 (Shamrock Pampas Cat)" +ID="almalinux" +ID_LIKE="rhel centos fedora" +VERSION_ID="9.3" +PLATFORM_ID="platform:el9" +PRETTY_NAME="AlmaLinux 9.3 (Shamrock Pampas Cat)" +ANSI_COLOR="0;34" +LOGO="fedora-logo-icon" +CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos" +HOME_URL="https://almalinux.org/" +DOCUMENTATION_URL="https://wiki.almalinux.org/" +BUG_REPORT_URL="https://bugs.almalinux.org/" + +ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9" +ALMALINUX_MANTISBT_PROJECT_VERSION="9.3" +REDHAT_SUPPORT_PRODUCT="AlmaLinux" +REDHAT_SUPPORT_PRODUCT_VERSION="9.3" diff --git a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 new file mode 100644 index 000000000000..0c1a379f5fcf --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 @@ -0,0 +1,6 @@ +NAME="Alpine Linux" +ID=alpine +VERSION_ID=3.19.0 +PRETTY_NAME="Alpine Linux v3.19" +HOME_URL="https://alpinelinux.org/" +BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" diff --git a/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2 b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2 new file mode 100644 index 000000000000..7219f8668bb6 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2 @@ -0,0 +1,10 @@ +NAME="Amazon Linux" +VERSION="2" +ID="amzn" +ID_LIKE="centos rhel fedora" +VERSION_ID="2" +PRETTY_NAME="Amazon Linux 2" +ANSI_COLOR="0;33" +CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" +HOME_URL="https://amazonlinux.com/" +SUPPORT_END="2025-06-30" diff --git a/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 new file mode 100644 index 000000000000..97bdcb48a04a --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 @@ -0,0 +1,12 @@ +NAME="Amazon Linux" +VERSION="2023" +ID="amzn" +ID_LIKE="fedora" +VERSION_ID="2023" +PLATFORM_ID="platform:al2023" +PRETTY_NAME="Amazon Linux 2023" +ANSI_COLOR="0;33" +CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023" +HOME_URL="https://aws.amazon.com/linux/" +BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023" +SUPPORT_END="2028-03-15" diff --git a/core/src/test/resources/jenkins/monitor/os-release-centos-8 b/core/src/test/resources/jenkins/monitor/os-release-centos-8 new file mode 100644 index 000000000000..8e89cd340c13 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-centos-8 @@ -0,0 +1,13 @@ +NAME="CentOS Linux" +VERSION="8" +ID="centos" +ID_LIKE="rhel fedora" +VERSION_ID="8" +PLATFORM_ID="platform:el8" +PRETTY_NAME="CentOS Linux 8" +ANSI_COLOR="0;31" +CPE_NAME="cpe:/o:centos:centos:8" +HOME_URL="https://centos.org/" +BUG_REPORT_URL="https://bugs.centos.org/" +CENTOS_MANTISBT_PROJECT="CentOS-8" +CENTOS_MANTISBT_PROJECT_VERSION="8" diff --git a/core/src/test/resources/jenkins/monitor/os-release-debian-11 b/core/src/test/resources/jenkins/monitor/os-release-debian-11 new file mode 100644 index 000000000000..611cf746b10e --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-debian-11 @@ -0,0 +1,9 @@ +PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" +NAME="Debian GNU/Linux" +VERSION_ID="11" +VERSION="11 (bullseye)" +VERSION_CODENAME=bullseye +ID=debian +HOME_URL="https://www.debian.org/" +SUPPORT_URL="https://www.debian.org/support" +BUG_REPORT_URL="https://bugs.debian.org/" diff --git a/core/src/test/resources/jenkins/monitor/os-release-debian-12 b/core/src/test/resources/jenkins/monitor/os-release-debian-12 new file mode 100644 index 000000000000..3320862178e5 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-debian-12 @@ -0,0 +1,9 @@ +PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" +NAME="Debian GNU/Linux" +VERSION_ID="12" +VERSION="12 (bookworm)" +VERSION_CODENAME=bookworm +ID=debian +HOME_URL="https://www.debian.org/" +SUPPORT_URL="https://www.debian.org/support" +BUG_REPORT_URL="https://bugs.debian.org/" diff --git a/core/src/test/resources/jenkins/monitor/os-release-fedora-38 b/core/src/test/resources/jenkins/monitor/os-release-fedora-38 new file mode 100644 index 000000000000..438828f572f0 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-fedora-38 @@ -0,0 +1,22 @@ +NAME="Fedora Linux" +VERSION="38 (Container Image)" +ID=fedora +VERSION_ID=38 +VERSION_CODENAME="" +PLATFORM_ID="platform:f38" +PRETTY_NAME="Fedora Linux 38 (Container Image)" +ANSI_COLOR="0;38;2;60;110;180" +LOGO=fedora-logo-icon +CPE_NAME="cpe:/o:fedoraproject:fedora:38" +DEFAULT_HOSTNAME="fedora" +HOME_URL="https://fedoraproject.org/" +DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f38/system-administrators-guide/" +SUPPORT_URL="https://ask.fedoraproject.org/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" +REDHAT_BUGZILLA_PRODUCT="Fedora" +REDHAT_BUGZILLA_PRODUCT_VERSION=38 +REDHAT_SUPPORT_PRODUCT="Fedora" +REDHAT_SUPPORT_PRODUCT_VERSION=38 +SUPPORT_END=2024-05-14 +VARIANT="Container Image" +VARIANT_ID=container diff --git a/core/src/test/resources/jenkins/monitor/os-release-fedora-39 b/core/src/test/resources/jenkins/monitor/os-release-fedora-39 new file mode 100644 index 000000000000..26c8fbaf0423 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-fedora-39 @@ -0,0 +1,22 @@ +NAME="Fedora Linux" +VERSION="39 (Container Image)" +ID=fedora +VERSION_ID=39 +VERSION_CODENAME="" +PLATFORM_ID="platform:f39" +PRETTY_NAME="Fedora Linux 39 (Container Image)" +ANSI_COLOR="0;38;2;60;110;180" +LOGO=fedora-logo-icon +CPE_NAME="cpe:/o:fedoraproject:fedora:39" +DEFAULT_HOSTNAME="fedora" +HOME_URL="https://fedoraproject.org/" +DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f39/system-administrators-guide/" +SUPPORT_URL="https://ask.fedoraproject.org/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" +REDHAT_BUGZILLA_PRODUCT="Fedora" +REDHAT_BUGZILLA_PRODUCT_VERSION=39 +REDHAT_SUPPORT_PRODUCT="Fedora" +REDHAT_SUPPORT_PRODUCT_VERSION=39 +SUPPORT_END=2024-05-14 +VARIANT="Container Image" +VARIANT_ID=container diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubuntu-20.04 b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-20.04 new file mode 100644 index 000000000000..5e42801c6c24 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-20.04 @@ -0,0 +1,12 @@ +NAME="Ubuntu" +VERSION="20.04.6 LTS (Focal Fossa)" +ID=ubuntu +ID_LIKE=debian +PRETTY_NAME="Ubuntu 20.04.6 LTS" +VERSION_ID="20.04" +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +VERSION_CODENAME=focal +UBUNTU_CODENAME=focal diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 new file mode 100644 index 000000000000..39240aa54b81 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 @@ -0,0 +1,12 @@ +PRETTY_NAME="Ubuntu 22.04.3 LTS" +NAME="Ubuntu" +VERSION_ID="22.04" +VERSION="22.04.3 LTS (Jammy Jellyfish)" +VERSION_CODENAME=jammy +ID=ubuntu +ID_LIKE=debian +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +UBUNTU_CODENAME=jammy From 7a93bc5c9da4db554531195c37e9dad8415280c0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:13:45 +0100 Subject: [PATCH 0080/1330] Update dependency mini-css-extract-plugin to v2.7.7 (#8865) 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 f0afba81ba0a..e583be5f71e0 100644 --- a/war/package.json +++ b/war/package.json @@ -33,7 +33,7 @@ "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "handlebars-loader": "1.7.3", - "mini-css-extract-plugin": "2.7.6", + "mini-css-extract-plugin": "2.7.7", "postcss": "8.4.33", "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", diff --git a/war/yarn.lock b/war/yarn.lock index e354e8bdc364..6a6da7309282 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4458,7 +4458,7 @@ __metadata: hotkeys-js: "npm:3.12.2" jquery: "npm:3.7.1" lodash: "npm:4.17.21" - mini-css-extract-plugin: "npm:2.7.6" + mini-css-extract-plugin: "npm:2.7.7" postcss: "npm:8.4.33" postcss-loader: "npm:7.3.4" postcss-preset-env: "npm:9.3.0" @@ -4903,14 +4903,14 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:2.7.6": - version: 2.7.6 - resolution: "mini-css-extract-plugin@npm:2.7.6" +"mini-css-extract-plugin@npm:2.7.7": + version: 2.7.7 + resolution: "mini-css-extract-plugin@npm:2.7.7" dependencies: schema-utils: "npm:^4.0.0" peerDependencies: webpack: ^5.0.0 - checksum: 4862da928f52c18b37daa52d548c9f2a1ac65c900a48b63f7faa3354d8cfcd21618c049696559e73e2e27fc12d46748e6a490e0b885e54276429607d0d08c156 + checksum: e22f76d96966ee4dfc1318e0f4c45ac75638932df468dc7d103094e1c97cb2d01ea7ccfb354e39d9e57d1971218cdc92678b9c8676472b2f1f801bb514967c44 languageName: node linkType: hard From 6644f566f1cd1834251aa9fa9ff20750ddcf20fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:01:58 -0700 Subject: [PATCH 0081/1330] Bump org.jenkins-ci:jenkins from 1.109 to 1.110 (#8867) Bumps [org.jenkins-ci:jenkins](https://github.com/jenkinsci/pom) from 1.109 to 1.110. - [Release notes](https://github.com/jenkinsci/pom/releases) - [Changelog](https://github.com/jenkinsci/pom/blob/master/CHANGELOG-old.md) - [Commits](https://github.com/jenkinsci/pom/compare/jenkins-1.109...jenkins-1.110) --- updated-dependencies: - dependency-name: org.jenkins-ci:jenkins dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 979c049535ce..f4f1503a95a7 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci jenkins - 1.109 + 1.110 From 3b0de10df3bedba515e13032104d4d84f83045be Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:07:08 +0000 Subject: [PATCH 0082/1330] [maven-release-plugin] prepare release jenkins-2.441 --- 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 29f77e1f7202..890c56e33afb 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 50588e3e692b..76ac5d7da1f5 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 cli diff --git a/core/pom.xml b/core/pom.xml index 4280e9075da9..38b469eac0ce 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..d191ae202bb2 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 jenkins-coverage diff --git a/pom.xml b/pom.xml index f4f1503a95a7..dc1b32c197b6 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 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.441 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index d0c3f586df8d..550d8b3cd107 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 8d6d579e5919..ae6ebbdb36a7 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.441 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index c91e1583c039..6c0a0b518e28 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.441 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a99aada6a446..5917dd715876 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.441 ../.. From 86d39dd23bcd4d38d3bd1b278eb507618e40dc37 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:08:48 +0000 Subject: [PATCH 0083/1330] [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 890c56e33afb..29f77e1f7202 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 76ac5d7da1f5..50588e3e692b 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 38b469eac0ce..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index d191ae202bb2..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index dc1b32c197b6..cc71c1535622 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${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.441 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.441 + 2.442 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 550d8b3cd107..d0c3f586df8d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index ae6ebbdb36a7..8d6d579e5919 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 6c0a0b518e28..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 5917dd715876..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.441 + ${revision}${changelist} ../.. From de450967f38398169650b55c002f1229a3fcdb1b Mon Sep 17 00:00:00 2001 From: Daniel Beck Date: Tue, 16 Jan 2024 17:07:37 +0000 Subject: [PATCH 0084/1330] [SECURITY-3315] --- core/src/main/java/hudson/cli/CLIAction.java | 21 ++++++- .../java/hudson/cli/Security3315Test.java | 62 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 test/src/test/java/hudson/cli/Security3315Test.java diff --git a/core/src/main/java/hudson/cli/CLIAction.java b/core/src/main/java/hudson/cli/CLIAction.java index 633ecca3437c..6123cdcf45d0 100644 --- a/core/src/main/java/hudson/cli/CLIAction.java +++ b/core/src/main/java/hudson/cli/CLIAction.java @@ -49,8 +49,10 @@ import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.util.FullDuplexHttpService; +import jenkins.util.SystemProperties; import jenkins.websocket.WebSocketSession; import jenkins.websocket.WebSockets; +import org.apache.commons.lang.StringUtils; import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -73,6 +75,12 @@ public class CLIAction implements UnprotectedRootAction, StaplerProxy { private static final Logger LOGGER = Logger.getLogger(CLIAction.class.getName()); + /** + * Boolean values map to allowing/disallowing WS CLI endpoint always, {@code null} is the default of doing an {@code Origin} check. + * {@code true} is only advisable if anonymous users have no permissions, and Jenkins sends SameSite=Lax cookies (or browsers use that as the implicit default). + */ + /* package-private for testing */ static /* non-final for Script Console */ Boolean ALLOW_WEBSOCKET = SystemProperties.optBoolean(CLIAction.class.getName() + ".ALLOW_WEBSOCKET"); + private final transient Map duplexServices = new HashMap<>(); @Override @@ -114,10 +122,21 @@ public boolean isWebSocketSupported() { /** * WebSocket endpoint. */ - public HttpResponse doWs() { + public HttpResponse doWs(StaplerRequest req) { if (!WebSockets.isSupported()) { return HttpResponses.notFound(); } + if (ALLOW_WEBSOCKET == null) { + final String actualOrigin = req.getHeader("Origin"); + final String expectedOrigin = StringUtils.removeEnd(StringUtils.removeEnd(Jenkins.get().getRootUrlFromRequest(), "/"), req.getContextPath()); + + if (actualOrigin == null || !actualOrigin.equals(expectedOrigin)) { + LOGGER.log(Level.FINE, () -> "Rejecting origin: " + actualOrigin + "; expected was from request: " + expectedOrigin); + return HttpResponses.forbidden(); + } + } else if (!ALLOW_WEBSOCKET) { + return HttpResponses.forbidden(); + } Authentication authentication = Jenkins.getAuthentication2(); return WebSockets.upgrade(new WebSocketSession() { ServerSideImpl connection; diff --git a/test/src/test/java/hudson/cli/Security3315Test.java b/test/src/test/java/hudson/cli/Security3315Test.java new file mode 100644 index 000000000000..83d207a49c66 --- /dev/null +++ b/test/src/test/java/hudson/cli/Security3315Test.java @@ -0,0 +1,62 @@ +package hudson.cli; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.io.IOException; +import java.net.URL; +import java.util.Arrays; +import java.util.List; +import org.htmlunit.HttpMethod; +import org.htmlunit.Page; +import org.htmlunit.WebRequest; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.jvnet.hudson.test.FlagRule; +import org.jvnet.hudson.test.JenkinsRule; + +@RunWith(Parameterized.class) +public class Security3315Test { + @Rule + public JenkinsRule j = new JenkinsRule(); + + @Rule + public FlagRule escapeHatch; + + private final Boolean allowWs; + + @Parameterized.Parameters + public static List escapeHatchValues() { + return Arrays.asList(null, "true", "false"); + } + + public Security3315Test(String allowWs) { + this.allowWs = allowWs == null ? null : Boolean.valueOf(allowWs); + this.escapeHatch = new FlagRule<>(() -> CLIAction.ALLOW_WEBSOCKET, v -> { CLIAction.ALLOW_WEBSOCKET = v; }, this.allowWs); + } + + @Test + public void test() throws IOException { + try (JenkinsRule.WebClient wc = j.createWebClient().withThrowExceptionOnFailingStatusCode(false)) { + // HTTP 400 is WebSocket "success" (HTMLUnit doesn't support it) + final URL jenkinsUrl = j.getURL(); + WebRequest request = new WebRequest(new URL(jenkinsUrl.toString() + "cli/ws"), HttpMethod.GET); + Page page = wc.getPage(request); + assertThat(page.getWebResponse().getStatusCode(), is(allowWs == Boolean.TRUE ? 400 : 403)); // no Origin header + + request.setAdditionalHeader("Origin", jenkinsUrl.getProtocol() + "://example.org:" + jenkinsUrl.getPort()); + page = wc.getPage(request); + assertThat(page.getWebResponse().getStatusCode(), is(allowWs == Boolean.TRUE ? 400 : 403)); // Wrong Origin host + + request.setAdditionalHeader("Origin", jenkinsUrl.getProtocol() + "://" + jenkinsUrl.getHost()); + page = wc.getPage(request); + assertThat(page.getWebResponse().getStatusCode(), is(allowWs == Boolean.TRUE ? 400 : 403)); // Wrong Origin port + + request.setAdditionalHeader("Origin", jenkinsUrl.getProtocol() + "://" + jenkinsUrl.getHost() + ":" + jenkinsUrl.getPort()); + page = wc.getPage(request); + assertThat(page.getWebResponse().getStatusCode(), is(allowWs == Boolean.FALSE ? 403 : 400)); // Reject correct Origin if ALLOW_WS is explicitly false + } + } +} From 554f03782057c499c49bbb06575f0d28b5200edb Mon Sep 17 00:00:00 2001 From: Kevin-CB Date: Tue, 16 Jan 2024 17:07:43 +0000 Subject: [PATCH 0085/1330] [SECURITY-3314] --- core/src/main/java/hudson/cli/CLICommand.java | 16 +++++- .../hudson/cli/declarative/CLIRegisterer.java | 4 +- .../jenkins/security/Security3314Test.java | 55 +++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 test/src/test/java/jenkins/security/Security3314Test.java diff --git a/core/src/main/java/hudson/cli/CLICommand.java b/core/src/main/java/hudson/cli/CLICommand.java index e779afbc3453..f2dc2f8b5fc3 100644 --- a/core/src/main/java/hudson/cli/CLICommand.java +++ b/core/src/main/java/hudson/cli/CLICommand.java @@ -26,6 +26,7 @@ import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.AbortException; import hudson.Extension; import hudson.ExtensionList; @@ -51,6 +52,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import jenkins.model.Jenkins; +import jenkins.util.SystemProperties; import org.apache.commons.discovery.ResourceClassIterator; import org.apache.commons.discovery.ResourceNameIterator; import org.apache.commons.discovery.resource.ClassLoaders; @@ -62,6 +64,7 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; +import org.kohsuke.args4j.ParserProperties; import org.kohsuke.args4j.spi.OptionHandler; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.authentication.BadCredentialsException; @@ -107,6 +110,16 @@ */ @LegacyInstancesAreScopedToHudson public abstract class CLICommand implements ExtensionPoint, Cloneable { + + /** + * Boolean values to either allow or disallow parsing of @-prefixes. + * If a command line value starts with @, it is interpreted as being a file, loaded, + * and interpreted as if the file content would have been passed to the command line + */ + @SuppressFBWarnings(value = "MS_SHOULD_BE_FINAL", justification = "Accessible via System Groovy Scripts") + @Restricted(NoExternalUse.class) + public static boolean ALLOW_AT_SYNTAX = SystemProperties.getBoolean(CLICommand.class.getName() + ".allowAtSyntax"); + /** * Connected to stdout and stderr of the CLI agent that initiated the session. * IOW, if you write to these streams, the person who launched the CLI command @@ -307,7 +320,8 @@ private void logAndPrintError(Throwable e, String errorMessage, String logMessag * @since 1.538 */ protected CmdLineParser getCmdLineParser() { - return new CmdLineParser(this); + ParserProperties properties = ParserProperties.defaults().withAtSyntax(ALLOW_AT_SYNTAX); + return new CmdLineParser(this, properties); } /** diff --git a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java index 8b2f2348c577..f5d050174940 100644 --- a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java +++ b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java @@ -59,6 +59,7 @@ import org.jvnet.localizer.ResourceBundleHolder; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; +import org.kohsuke.args4j.ParserProperties; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.Authentication; @@ -131,7 +132,8 @@ protected CmdLineParser getCmdLineParser() { private CmdLineParser bindMethod(List binders) { registerOptionHandlers(); - CmdLineParser parser = new CmdLineParser(null); + ParserProperties properties = ParserProperties.defaults().withAtSyntax(ALLOW_AT_SYNTAX); + CmdLineParser parser = new CmdLineParser(null, properties); // build up the call sequence Stack chains = new Stack<>(); diff --git a/test/src/test/java/jenkins/security/Security3314Test.java b/test/src/test/java/jenkins/security/Security3314Test.java new file mode 100644 index 000000000000..4dbdede0a5b2 --- /dev/null +++ b/test/src/test/java/jenkins/security/Security3314Test.java @@ -0,0 +1,55 @@ +package jenkins.security; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.not; + +import hudson.cli.CLICommandInvoker; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.List; +import jenkins.model.Jenkins; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.jvnet.hudson.test.JenkinsRule; + +@RunWith(Parameterized.class) +public class Security3314Test { + private String commandName; + + @Rule + public final JenkinsRule j = new JenkinsRule(); + + /** + * connect-node to test the CLICommand behavior + * disable-job to test the CLIRegisterer behavior (@CLIMethod) + */ + @Parameterized.Parameters + public static List commands() { + return Arrays.asList("connect-node", "disable-job"); + } + + public Security3314Test(String commandName) { + this.commandName = commandName; + } + + @Test + public void commandShouldNotParseAt() throws Exception { + CLICommandInvoker command = new CLICommandInvoker(j, commandName); + + Path tempPath = Files.createTempFile("tempFile", ".txt"); + tempPath.toFile().deleteOnExit(); + String content = "AtGotParsed"; + Files.write(tempPath, content.getBytes()); + + final CLICommandInvoker.Result result = command + .authorizedTo(Jenkins.READ) + .invokeWithArgs("@" + tempPath); + + assertThat(result.stderr(), containsString("@" + tempPath)); + assertThat(result.stderr(), not(containsString("AtGotParsed"))); + } +} From 10b1b883319ff21bfe742bd0abe225dd12f10c2b Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 22 Jan 2024 21:35:22 +0000 Subject: [PATCH 0086/1330] [maven-release-plugin] prepare release jenkins-2.442 --- 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 29f77e1f7202..8c2c71ef625c 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 50588e3e692b..b75e9e3d0299 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 cli diff --git a/core/pom.xml b/core/pom.xml index 4280e9075da9..9c662493ecd2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..b382423292b3 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 jenkins-coverage diff --git a/pom.xml b/pom.xml index cc71c1535622..53fc32959ae1 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 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.442 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index d0c3f586df8d..b1bd4e12a861 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 8d6d579e5919..5f8b308d32ea 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.442 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index c91e1583c039..185c4bad2a7b 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.442 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a99aada6a446..cc4802057ad0 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.442 ../.. From 92d7c3cd70ace4f99a790a430cccbb04079a64f4 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 22 Jan 2024 21:37:02 +0000 Subject: [PATCH 0087/1330] [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 8c2c71ef625c..29f77e1f7202 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index b75e9e3d0299..50588e3e692b 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 9c662493ecd2..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index b382423292b3..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 53fc32959ae1..b467a961827a 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${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.442 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.442 + 2.443 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index b1bd4e12a861..d0c3f586df8d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 5f8b308d32ea..8d6d579e5919 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 185c4bad2a7b..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index cc4802057ad0..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.442 + ${revision}${changelist} ../.. From 9f8d343f057e3f3ea988684b9dab509d64999a20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 12:45:17 -0800 Subject: [PATCH 0088/1330] Bump org.jenkins-ci.plugins:junit from 1252.vfc2e5efa_294f to 1256.v002534a_5f33e (#8869) 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 d0c3f586df8d..da0b9916e43e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -212,7 +212,7 @@ THE SOFTWARE. org.jenkins-ci.plugins junit - 1252.vfc2e5efa_294f + 1256.v002534a_5f33e test From f6febb1cabfbe0b636861f5d688514dc49493169 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 12:46:14 -0800 Subject: [PATCH 0089/1330] Update dependency prettier to v3.2.1 (#8868) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tim Jacomb --- war/.babelrc | 2 +- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/war/.babelrc b/war/.babelrc index 1320b9a3272a..0715456ee108 100644 --- a/war/.babelrc +++ b/war/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["@babel/preset-env"] + "presets": ["@babel/preset-env"], } diff --git a/war/package.json b/war/package.json index e583be5f71e0..bb24397dc1e6 100644 --- a/war/package.json +++ b/war/package.json @@ -38,7 +38,7 @@ "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", - "prettier": "3.1.1", + "prettier": "3.2.1", "sass": "1.69.7", "sass-loader": "13.3.3", "style-loader": "3.3.4", diff --git a/war/yarn.lock b/war/yarn.lock index 6a6da7309282..fe0485c61580 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4463,7 +4463,7 @@ __metadata: postcss-loader: "npm:7.3.4" postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" - prettier: "npm:3.1.1" + prettier: "npm:3.2.1" sass: "npm:1.69.7" sass-loader: "npm:13.3.3" sortablejs: "npm:1.15.1" @@ -6172,12 +6172,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.1.1": - version: 3.1.1 - resolution: "prettier@npm:3.1.1" +"prettier@npm:3.2.1": + version: 3.2.1 + resolution: "prettier@npm:3.2.1" bin: prettier: bin/prettier.cjs - checksum: facc944ba20e194ff4db765e830ffbcb642803381f0d2033ed397e79904fa4ccc877dc25ad68f42d36985c01d051c990ca1b905fb83d2d7d65fe69e4386fa1a3 + checksum: e01284f25c1e9a96dfaf4f7d0bfdf0726b26afc732b0e645a2653174d4ad5a1e85ae21ec4d327c71536f1acf8fee1dff5ea35c5b4b8e5b83ff00fe1dd6fef146 languageName: node linkType: hard From 788d93b49692bcb0b686c519f122a1f73f0b4ad6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 12:49:21 -0800 Subject: [PATCH 0090/1330] Bump org.jenkins-ci.plugins:structs from 325.vcb_307d2a_2782 to 337.v1b_04ea_4df7c8 (#8876) 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 da0b9916e43e..8fa31d562672 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -236,7 +236,7 @@ THE SOFTWARE. org.jenkins-ci.plugins structs - 325.vcb_307d2a_2782 + 337.v1b_04ea_4df7c8 test From f425dd45f34f21f70cc27afeefbb21f80e3ecac0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 12:53:30 -0800 Subject: [PATCH 0091/1330] Bump io.jenkins.plugins:font-awesome-api from 6.5.1-1 to 6.5.1-2 (#8887) 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 8fa31d562672..317b3e306de7 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -73,7 +73,7 @@ THE SOFTWARE. io.jenkins.plugins font-awesome-api - 6.5.1-1 + 6.5.1-2 io.jenkins.plugins From f63866ea9a16d2ed79df3ad0a02c219cdfd18d25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 12:57:30 -0800 Subject: [PATCH 0092/1330] Update dependency sass-loader to v14 (#8877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/war/package.json b/war/package.json index bb24397dc1e6..ea693736128b 100644 --- a/war/package.json +++ b/war/package.json @@ -40,7 +40,7 @@ "postcss-scss": "4.0.9", "prettier": "3.2.1", "sass": "1.69.7", - "sass-loader": "13.3.3", + "sass-loader": "14.0.0", "style-loader": "3.3.4", "stylelint": "16.1.0", "stylelint-checkstyle-reporter": "0.2.0", diff --git a/war/yarn.lock b/war/yarn.lock index fe0485c61580..3938daa6983f 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4465,7 +4465,7 @@ __metadata: postcss-scss: "npm:4.0.9" prettier: "npm:3.2.1" sass: "npm:1.69.7" - sass-loader: "npm:13.3.3" + sass-loader: "npm:14.0.0" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.4" stylelint: "npm:16.1.0" @@ -6433,27 +6433,24 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:13.3.3": - version: 13.3.3 - resolution: "sass-loader@npm:13.3.3" +"sass-loader@npm:14.0.0": + version: 14.0.0 + resolution: "sass-loader@npm:14.0.0" dependencies: neo-async: "npm:^2.6.2" peerDependencies: - fibers: ">= 3.1.0" node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: "*" webpack: ^5.0.0 peerDependenciesMeta: - fibers: - optional: true node-sass: optional: true sass: optional: true sass-embedded: optional: true - checksum: 5e955a4ffce35ee0a46fce677ce51eaa69587fb5371978588c83af00f49e7edc36dcf3bb559cbae27681c5e24a71284463ebe03a1fb65e6ecafa1db0620e3fc8 + checksum: 40729573560feb1a368c984198f655b287495470fa5b5a47f6bc6ab0c474c1bd973ccccbb855d3320a91020a64913e5f0d8905e224ea13e6766d9abbb5085a41 languageName: node linkType: hard From 178b79035e26e8d2c20d784b05866a289183fab4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:01:51 -0800 Subject: [PATCH 0093/1330] Update dependency postcss-loader to v8 (#8880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 29 ++++++----------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/war/package.json b/war/package.json index ea693736128b..1e8a3eb1cf8e 100644 --- a/war/package.json +++ b/war/package.json @@ -35,7 +35,7 @@ "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.7", "postcss": "8.4.33", - "postcss-loader": "7.3.4", + "postcss-loader": "8.0.0", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", "prettier": "3.2.1", diff --git a/war/yarn.lock b/war/yarn.lock index 3938daa6983f..40bf443e24e5 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3040,23 +3040,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.3.5": - version: 8.3.6 - resolution: "cosmiconfig@npm:8.3.6" - dependencies: - import-fresh: "npm:^3.3.0" - js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.2.0" - path-type: "npm:^4.0.0" - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: 0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a - languageName: node - linkType: hard - "cosmiconfig@npm:^9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" @@ -4460,7 +4443,7 @@ __metadata: lodash: "npm:4.17.21" mini-css-extract-plugin: "npm:2.7.7" postcss: "npm:8.4.33" - postcss-loader: "npm:7.3.4" + postcss-loader: "npm:8.0.0" postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.2.1" @@ -5660,17 +5643,17 @@ __metadata: languageName: node linkType: hard -"postcss-loader@npm:7.3.4": - version: 7.3.4 - resolution: "postcss-loader@npm:7.3.4" +"postcss-loader@npm:8.0.0": + version: 8.0.0 + resolution: "postcss-loader@npm:8.0.0" dependencies: - cosmiconfig: "npm:^8.3.5" + cosmiconfig: "npm:^9.0.0" jiti: "npm:^1.20.0" semver: "npm:^7.5.4" peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 - checksum: 1bf7614aeea9ad1f8ee6be3a5451576c059391688ea67f825aedc2674056369597faeae4e4a81fe10843884c9904a71403d9a54197e1f560e8fbb9e61f2a2680 + checksum: a31eedd2cac3a46b60527a2aee2369010f65dfc1dafb6ee00badfe6b662cefe00269b03adaa04be1524c566ea5b00f8716c150e79fe9b5c4fc8bb39a4e372be1 languageName: node linkType: hard From 448eccd0d3bc42d5e107c6e5c4b9e6aafb9ac613 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:05:18 -0800 Subject: [PATCH 0094/1330] Update dependency css-minimizer-webpack-plugin to v6 (#8882) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 559 ++++++++++++++++++++++++----------------------- 2 files changed, 281 insertions(+), 280 deletions(-) diff --git a/war/package.json b/war/package.json index 1e8a3eb1cf8e..bca0ed52faeb 100644 --- a/war/package.json +++ b/war/package.json @@ -29,7 +29,7 @@ "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", "css-loader": "6.9.0", - "css-minimizer-webpack-plugin": "5.0.1", + "css-minimizer-webpack-plugin": "6.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "handlebars-loader": "1.7.3", diff --git a/war/yarn.lock b/war/yarn.lock index 40bf443e24e5..cdf68c0bc96f 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1864,26 +1864,26 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/schemas@npm:29.4.3" +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" dependencies: - "@sinclair/typebox": "npm:^0.25.16" - checksum: 8a35967cec454d1de2d5a58ab99b49a0ff798d1dce2d817bdd9960bb2f070493f767fbbf419e6a263860d3b1ef1e50ab609a76ae21b5f8c09bb0859e8f51a098 + "@sinclair/typebox": "npm:^0.27.8" + checksum: b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be languageName: node linkType: hard -"@jest/types@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/types@npm:29.5.0" +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" dependencies: - "@jest/schemas": "npm:^29.4.3" + "@jest/schemas": "npm:^29.6.3" "@types/istanbul-lib-coverage": "npm:^2.0.0" "@types/istanbul-reports": "npm:^3.0.0" "@types/node": "npm:*" "@types/yargs": "npm:^17.0.8" chalk: "npm:^4.0.0" - checksum: f1cccd2e9b00a985bfdac03517f906cdf7a481be3606c335f8ec08a7272b7cf700b23484ce323a912b374defb90d3ab88c643cf2a2f47635c1c4feacfa1c1b2d + checksum: ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 languageName: node linkType: hard @@ -1908,10 +1908,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: 78055e2526108331126366572045355051a930f017d1904a4f753d3f4acee8d92a14854948095626f6163cffc24ea4e3efa30637417bb866b84743dec7ef6fd9 +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: 0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf languageName: node linkType: hard @@ -1932,20 +1932,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 3fbaff1387c1338b097eeb6ff92890d7838f7de0dde259e4983763b44540bfd5ca6a1f7644dc8ad003a57f7e80670d5b96a8402f1386ba9aee074743ae9bad51 +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.18 - resolution: "@jridgewell/trace-mapping@npm:0.3.18" +"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.21, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.22 + resolution: "@jridgewell/trace-mapping@npm:0.3.22" dependencies: - "@jridgewell/resolve-uri": "npm:3.1.0" - "@jridgewell/sourcemap-codec": "npm:1.4.14" - checksum: e5045775f076022b6c7cc64a7b55742faa5442301cb3389fd0e6712fafc46a2bb13c68fa1ffaf7b8bb665a91196f050b4115885fc802094ebc06a1cf665935ac + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 languageName: node linkType: hard @@ -2054,10 +2054,10 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.25.16": - version: 0.25.24 - resolution: "@sinclair/typebox@npm:0.25.24" - checksum: 2faf9878f3a65a1f2855add80b0fe8c6fe83f084ea1ab432fa7506e7c85c55ae121c4af516d089b5737f5fad23b3628fcc83a6a5df29030c3f611185ce0388ac +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e languageName: node linkType: hard @@ -2757,7 +2757,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.10, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": version: 4.22.2 resolution: "browserslist@npm:4.22.2" dependencies: @@ -3079,12 +3079,12 @@ __metadata: languageName: node linkType: hard -"css-declaration-sorter@npm:^6.3.1": - version: 6.4.0 - resolution: "css-declaration-sorter@npm:6.4.0" +"css-declaration-sorter@npm:^7.1.1": + version: 7.1.1 + resolution: "css-declaration-sorter@npm:7.1.1" peerDependencies: postcss: ^8.0.9 - checksum: aef4d5927e576bae04349457be0607af44525cf5f4b28a91843c7b7f28fcbb302ba149385bb0e2172380556994e31680c5177b42d03502c417789b139e20cbc2 + checksum: bea446e441bafde21c3c7b3f7639559311da12eea140db7ee3c61e4f41df455b7b098df107f99bc0cca32a5020841cc94bf8a2d5efb1b383e51f9de478c4816e languageName: node linkType: hard @@ -3126,16 +3126,16 @@ __metadata: languageName: node linkType: hard -"css-minimizer-webpack-plugin@npm:5.0.1": - version: 5.0.1 - resolution: "css-minimizer-webpack-plugin@npm:5.0.1" +"css-minimizer-webpack-plugin@npm:6.0.0": + version: 6.0.0 + resolution: "css-minimizer-webpack-plugin@npm:6.0.0" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - cssnano: "npm:^6.0.1" - jest-worker: "npm:^29.4.3" - postcss: "npm:^8.4.24" - schema-utils: "npm:^4.0.1" - serialize-javascript: "npm:^6.0.1" + "@jridgewell/trace-mapping": "npm:^0.3.21" + cssnano: "npm:^6.0.3" + jest-worker: "npm:^29.7.0" + postcss: "npm:^8.4.33" + schema-utils: "npm:^4.2.0" + serialize-javascript: "npm:^6.0.2" peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -3151,7 +3151,7 @@ __metadata: optional: true lightningcss: optional: true - checksum: 1792259e18f7c5ee25b6bbf60b38b64201747add83d1f751c8c654159b46ebacd0d1103d35f17d97197033e21e02d2ba4a4e9aa14c9c0d067b7c7653c721814e + checksum: 5ad6690c8700a190851f5dc263ae1086b68f4bfd7eeff715c689c6d1a0742763e7af792fe474854b7ce5ee6d4f2ee4d95b1e0714db32aba5ded69ccbf9aefd30 languageName: node linkType: hard @@ -3177,7 +3177,7 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^2.2.1, css-tree@npm:^2.3.1": +"css-tree@npm:^2.3.1": version: 2.3.1 resolution: "css-tree@npm:2.3.1" dependencies: @@ -3220,63 +3220,63 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^6.0.1": - version: 6.0.1 - resolution: "cssnano-preset-default@npm:6.0.1" - dependencies: - css-declaration-sorter: "npm:^6.3.1" - cssnano-utils: "npm:^4.0.0" - postcss-calc: "npm:^9.0.0" - postcss-colormin: "npm:^6.0.0" - postcss-convert-values: "npm:^6.0.0" - postcss-discard-comments: "npm:^6.0.0" - postcss-discard-duplicates: "npm:^6.0.0" - postcss-discard-empty: "npm:^6.0.0" - postcss-discard-overridden: "npm:^6.0.0" - postcss-merge-longhand: "npm:^6.0.0" - postcss-merge-rules: "npm:^6.0.1" - postcss-minify-font-values: "npm:^6.0.0" - postcss-minify-gradients: "npm:^6.0.0" - postcss-minify-params: "npm:^6.0.0" - postcss-minify-selectors: "npm:^6.0.0" - postcss-normalize-charset: "npm:^6.0.0" - postcss-normalize-display-values: "npm:^6.0.0" - postcss-normalize-positions: "npm:^6.0.0" - postcss-normalize-repeat-style: "npm:^6.0.0" - postcss-normalize-string: "npm:^6.0.0" - postcss-normalize-timing-functions: "npm:^6.0.0" - postcss-normalize-unicode: "npm:^6.0.0" - postcss-normalize-url: "npm:^6.0.0" - postcss-normalize-whitespace: "npm:^6.0.0" - postcss-ordered-values: "npm:^6.0.0" - postcss-reduce-initial: "npm:^6.0.0" - postcss-reduce-transforms: "npm:^6.0.0" - postcss-svgo: "npm:^6.0.0" - postcss-unique-selectors: "npm:^6.0.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 401a8d0712cca6577df52cf4aac234ff4a946f0f51c0d09e7c518fff389706cff54d702ff22762e834b23401a89b836aef113e69cc66fa5dfa1f361bdd932495 - languageName: node - linkType: hard - -"cssnano-utils@npm:^4.0.0": - version: 4.0.0 - resolution: "cssnano-utils@npm:4.0.0" +"cssnano-preset-default@npm:^6.0.3": + version: 6.0.3 + resolution: "cssnano-preset-default@npm:6.0.3" + dependencies: + css-declaration-sorter: "npm:^7.1.1" + cssnano-utils: "npm:^4.0.1" + postcss-calc: "npm:^9.0.1" + postcss-colormin: "npm:^6.0.2" + postcss-convert-values: "npm:^6.0.2" + postcss-discard-comments: "npm:^6.0.1" + postcss-discard-duplicates: "npm:^6.0.1" + postcss-discard-empty: "npm:^6.0.1" + postcss-discard-overridden: "npm:^6.0.1" + postcss-merge-longhand: "npm:^6.0.2" + postcss-merge-rules: "npm:^6.0.3" + postcss-minify-font-values: "npm:^6.0.1" + postcss-minify-gradients: "npm:^6.0.1" + postcss-minify-params: "npm:^6.0.2" + postcss-minify-selectors: "npm:^6.0.2" + postcss-normalize-charset: "npm:^6.0.1" + postcss-normalize-display-values: "npm:^6.0.1" + postcss-normalize-positions: "npm:^6.0.1" + postcss-normalize-repeat-style: "npm:^6.0.1" + postcss-normalize-string: "npm:^6.0.1" + postcss-normalize-timing-functions: "npm:^6.0.1" + postcss-normalize-unicode: "npm:^6.0.2" + postcss-normalize-url: "npm:^6.0.1" + postcss-normalize-whitespace: "npm:^6.0.1" + postcss-ordered-values: "npm:^6.0.1" + postcss-reduce-initial: "npm:^6.0.2" + postcss-reduce-transforms: "npm:^6.0.1" + postcss-svgo: "npm:^6.0.2" + postcss-unique-selectors: "npm:^6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: ca5cb2be5ec8ea624c28f5f54c00a440557afd3c2b25cb568517db44d230833743f3db30729126efe4d7fc616a42718dd76255bbefcb7d3cc7e3ff5989d907b3 + postcss: ^8.4.31 + checksum: d100a1f8ab71adbb6df85e00f4a9e5d04ac06fc50343157eef853aded3f75dd0489dd845a5b2fb43ca701bd88c39c5aa88673f842bc1f94f4318c7b38ced1963 languageName: node linkType: hard -"cssnano@npm:^6.0.1": - version: 6.0.1 - resolution: "cssnano@npm:6.0.1" +"cssnano-utils@npm:^4.0.1": + version: 4.0.1 + resolution: "cssnano-utils@npm:4.0.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 20513a393402f283c85c450ece43d1a6a06a9906b524481043ac203a86888a4ca5cbef878c615a58fdd82a9e870ce62c6f3fea9f51814034a084d8980e17cf96 + languageName: node + linkType: hard + +"cssnano@npm:^6.0.3": + version: 6.0.3 + resolution: "cssnano@npm:6.0.3" dependencies: - cssnano-preset-default: "npm:^6.0.1" - lilconfig: "npm:^2.1.0" + cssnano-preset-default: "npm:^6.0.3" + lilconfig: "npm:^3.0.0" peerDependencies: - postcss: ^8.2.15 - checksum: b73a3a257dd32201ce504cb34b08f1259c8a260b063f58d33e03283149d94ee2ba938d7f9beae1413f0f34e06828759575ade6ae95fa01d199f291e1d4f6d2c2 + postcss: ^8.4.31 + checksum: d1669eb987fd96159bae262ef2f76c1a64fffefe8fa593918a6bda377977798b60fb4a6a871a9b9a9deb11258130ee254fdb8c3144769b3060ad9f2a95a4ed0a languageName: node linkType: hard @@ -4433,7 +4433,7 @@ __metadata: babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:6.9.0" - css-minimizer-webpack-plugin: "npm:5.0.1" + css-minimizer-webpack-plugin: "npm:6.0.0" eslint: "npm:8.56.0" eslint-config-prettier: "npm:9.1.0" handlebars: "npm:4.7.8" @@ -4462,17 +4462,17 @@ __metadata: languageName: unknown linkType: soft -"jest-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-util@npm:29.5.0" +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" dependencies: - "@jest/types": "npm:^29.5.0" + "@jest/types": "npm:^29.6.3" "@types/node": "npm:*" chalk: "npm:^4.0.0" ci-info: "npm:^3.2.0" graceful-fs: "npm:^4.2.9" picomatch: "npm:^2.2.3" - checksum: c7f1dc8ae82cd9614a31e09806499560b4812beb57589b214241dd213d3cc6d24417593aef2caf2d3d9694925438849fec371ff36ca8a7f1be8438fd41e83373 + checksum: bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 languageName: node linkType: hard @@ -4487,15 +4487,15 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.4.3": - version: 29.5.0 - resolution: "jest-worker@npm:29.5.0" +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" dependencies: "@types/node": "npm:*" - jest-util: "npm:^29.5.0" + jest-util: "npm:^29.7.0" merge-stream: "npm:^2.0.0" supports-color: "npm:^8.0.0" - checksum: 4191ec3209cb1d838c931d47c7328fec7279eb7a5d40fa86bb3fac4d34cbad835349bc366150712259a274507fd210ddb450733032394d8e0b19640b3d3ac17d + checksum: 5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 languageName: node linkType: hard @@ -4651,10 +4651,10 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 +"lilconfig@npm:^3.0.0": + version: 3.0.0 + resolution: "lilconfig@npm:3.0.0" + checksum: 7f5ee7a658dc016cacf146815e8d88b06f06f4402823b8b0934e305a57a197f55ccc9c5cd4fb5ea1b2b821c8ccaf2d54abd59602a4931af06eabda332388d3e6 languageName: node linkType: hard @@ -5394,7 +5394,7 @@ __metadata: languageName: node linkType: hard -"postcss-calc@npm:^9.0.0": +"postcss-calc@npm:^9.0.1": version: 9.0.1 resolution: "postcss-calc@npm:9.0.1" dependencies: @@ -5451,29 +5451,29 @@ __metadata: languageName: node linkType: hard -"postcss-colormin@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-colormin@npm:6.0.0" +"postcss-colormin@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-colormin@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.22.2" caniuse-api: "npm:^3.0.0" colord: "npm:^2.9.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: b05763b68f7f23333f408734f13be4bde641934ecbde25ac7d7fa648ab5e826716bffac0193067b317e861c6dabad81db9c012e865a83f81b6bce5c7e25c0fdd + postcss: ^8.4.31 + checksum: 229681f9b89ba0909b4c69563837b0c32cc3d1c17ed1b00c33d4abfb0a0ef455124968e4885b5f92c64482e92074cd1958018ec111ed5d118f1e24baeda19c14 languageName: node linkType: hard -"postcss-convert-values@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-convert-values@npm:6.0.0" +"postcss-convert-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-convert-values@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.22.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 8c20d31a39e0ddf7db4fde0da62e293279b5ee84c36919f2e5760650fa6f2984f1a40bfdbe8d1f7829bd37b17e5e589535f0aaaf71d4df29ad203cef830b9d7a + postcss: ^8.4.31 + checksum: 882d0b7839ef07ac8ffbf9cb48db0f610939a3496bd0321c7f23096ead676f13e09ab3d9c20ff3dbe2c887e855826051ca7dffeaffce5068cfdc9aaa573a3842 languageName: node linkType: hard @@ -5530,39 +5530,39 @@ __metadata: languageName: node linkType: hard -"postcss-discard-comments@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-discard-comments@npm:6.0.0" +"postcss-discard-comments@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-discard-comments@npm:6.0.1" peerDependencies: - postcss: ^8.2.15 - checksum: c8792cd99c7696b21917d55937e02fb854a82ee308edf7564f18ad19bec4abf4756ba234e17f7d129d6b0dbaf6253bcddc435b1aeee190d4d26dcc2448f5453a + postcss: ^8.4.31 + checksum: 5e9128ffb8c005081bb0521f5a23cf090e8513d928ed39935504ffde2e335a62a7e1a749c5c7bc2d03f06a8667900d19dd7eed19dfa4273043b5fd760476260d languageName: node linkType: hard -"postcss-discard-duplicates@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-discard-duplicates@npm:6.0.0" +"postcss-discard-duplicates@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-discard-duplicates@npm:6.0.1" peerDependencies: - postcss: ^8.2.15 - checksum: 5fb0de3b187b09538a8c10f25bcc3e7b0865337a96a0599f8213864f0d52812f6c90142d170258293a30484b95e096dee28fc8fddb302016f93d4a8d269bb18f + postcss: ^8.4.31 + checksum: b9ea10a3c7528bb1630613c11756f809a95da634822d943fa91b28f2a37787e7cdb9ff96deed9776e2c3753d35e42c8afd5074b630930df7b5150573d4beda23 languageName: node linkType: hard -"postcss-discard-empty@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-discard-empty@npm:6.0.0" +"postcss-discard-empty@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-discard-empty@npm:6.0.1" peerDependencies: - postcss: ^8.2.15 - checksum: 5dfe01f93ee2bb85e71f7832498bd051b772b9c724a5630f749237b07a14b47c2b2800b4215ab4cf0d8cba29552725b40334f3ef9d349f7aacf410ad351715dc + postcss: ^8.4.31 + checksum: 6b95e588a3e8fb262e56bd313060daf29d7c9d44184bb6c4c5858ae81d6cd2907b15b3e3023b6621d50a67cfc10e6077920ff1e908892b207dee29477376498f languageName: node linkType: hard -"postcss-discard-overridden@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-discard-overridden@npm:6.0.0" +"postcss-discard-overridden@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-discard-overridden@npm:6.0.1" peerDependencies: - postcss: ^8.2.15 - checksum: 3a0c91241a95a887ef10227c761fb2c48870966bda5530de635002e485abc2743dfbfdc96e3b6a21f10c6231f0cfbe1a0eae0a01a89629d64a711eab3ee008c6 + postcss: ^8.4.31 + checksum: 22f9d56e53b90bc0f8e6d1c24d6da6c7c1a9d757644a128a7a4263a5479aaa8eca4ce3bfe9db10358051635ed40e8778a68c3f1831b7163eae10ced001db4a87 languageName: node linkType: hard @@ -5668,77 +5668,77 @@ __metadata: languageName: node linkType: hard -"postcss-merge-longhand@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-merge-longhand@npm:6.0.0" +"postcss-merge-longhand@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-merge-longhand@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^6.0.0" + stylehacks: "npm:^6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 0b67c590d301ab7f087ea7421e1eac0cccd2ff1c146a2dfa16d3f32b770d12a5999b8c6ea177efc443f4fb9df13b941c401365c634533878eef1982ad9d0bb98 + postcss: ^8.4.31 + checksum: 2b3fae51bffc5962258d638bc7f415237593b515f369233e023f0eae5b13116297463c04b8c47a7b7af51cba5faaa7f517b653f6123e51935d670d4d4de5a26d languageName: node linkType: hard -"postcss-merge-rules@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-merge-rules@npm:6.0.1" +"postcss-merge-rules@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-merge-rules@npm:6.0.3" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.22.2" caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^4.0.0" - postcss-selector-parser: "npm:^6.0.5" + cssnano-utils: "npm:^4.0.1" + postcss-selector-parser: "npm:^6.0.15" peerDependencies: - postcss: ^8.2.15 - checksum: b6a2a196905cd170757aa7b8bc74dab1fc7e2b2ca6a19c6d355fb7c41ff736023b4176c1008a7049f6a1b24a94a30d066c4e51229c1282a941f7fd6056085af7 + postcss: ^8.4.31 + checksum: c8355db11aa60bedcb1e6535fcd70f6ecec2dadd5c2975d3accf0eedbc92af782ac1f5e91a53866816ce332e4cbf1b94749a9425067935be066bc0c974e30fee languageName: node linkType: hard -"postcss-minify-font-values@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-minify-font-values@npm:6.0.0" +"postcss-minify-font-values@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-minify-font-values@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 6b74b1ec19bf76dcae7947c42145cb200b38767680512728f76168ae246db453798760e56111bd28ade9011d3655a79da4b33a93e5349f98fb0c1b22cc65ff36 + postcss: ^8.4.31 + checksum: 15af236245a6d27f1c83c943ef90d144ca043894bbd86f134506a984811a936a06824739984824965c7c3fd5a0ff4ed299f26a33f3b628662aa4fb40d7536fd0 languageName: node linkType: hard -"postcss-minify-gradients@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-minify-gradients@npm:6.0.0" +"postcss-minify-gradients@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-minify-gradients@npm:6.0.1" dependencies: colord: "npm:^2.9.1" - cssnano-utils: "npm:^4.0.0" + cssnano-utils: "npm:^4.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 59046acd470bee151291ba99421846d776c4ed243acb05a005e74f64f92b968d712d35e727f5e4a90e632d6d6aeb3a01083469f50bfdf1fb9ecae7f4ae52d9b8 + postcss: ^8.4.31 + checksum: e700c3f6dc425072ff739fb18bb71c970599e0d909b326f4a5c84e91cf24c4f1ee78e4d161bd4cdf6e25b7d78f1ad082bb885afdd2a150f9b281520fc6359d5c languageName: node linkType: hard -"postcss-minify-params@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-minify-params@npm:6.0.0" +"postcss-minify-params@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-minify-params@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" - cssnano-utils: "npm:^4.0.0" + browserslist: "npm:^4.22.2" + cssnano-utils: "npm:^4.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: d4d1469b7ad7fe53900eb19c156ec6dcfeaf71641d29ba4df31f47d8fa8ac700df5b8d3e3768e66d695d5356ed348cea901314653046c8e48422962f165a1933 + postcss: ^8.4.31 + checksum: 6638460d2be4a2eca8adee8409b70d6c6a19aff8cf93fda1b45c9da627b258b6baaa6acb48f51d26cd287704a235f9c9ae2e4744335b1fd47e163177c33896df languageName: node linkType: hard -"postcss-minify-selectors@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-minify-selectors@npm:6.0.0" +"postcss-minify-selectors@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-minify-selectors@npm:6.0.2" dependencies: - postcss-selector-parser: "npm:^6.0.5" + postcss-selector-parser: "npm:^6.0.15" peerDependencies: - postcss: ^8.2.15 - checksum: 1cdd3bd231cf25f54ab370d959f727dfcbe839a1d97bcfd65add9df73747a45d299a009ff16111bbe78943e8f81dcf5f84ae4106847b23dd3652de7aadc0b297 + postcss: ^8.4.31 + checksum: 5437b586c1237fc442e7e6078d4f23c987efc456366368b07a0da67332b04bd55821cedf0441e73e1209689f63139e272d930508e2963ba6e27c46561a661128 languageName: node linkType: hard @@ -5798,101 +5798,101 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-charset@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-charset@npm:6.0.0" +"postcss-normalize-charset@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-charset@npm:6.0.1" peerDependencies: - postcss: ^8.2.15 - checksum: 5232eac7f62097b1d349546182af2db7db34989867c147517cd407ab23c8450558a7f858eb8dac130959dae2d02d3460c5afa510e0ffe22221cb218f2bd79adb + postcss: ^8.4.31 + checksum: 8c09eedaf8813123875c65ab35120f14a87d6b9e8d6805fa808e3a714a8f868d15123f34f61e2240d89225f2f5c2bdabbcdf6385ce86b2487370d8994a65a857 languageName: node linkType: hard -"postcss-normalize-display-values@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-display-values@npm:6.0.0" +"postcss-normalize-display-values@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-display-values@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 58163258a52610fa0d2b61bd6e872b9a2b25da1f2209cbf34fad3b62a4139fff9e0e6b298dcd1adfe6ac556098aad8b79c387280f3a949180f8fb12e6b41fecf + postcss: ^8.4.31 + checksum: d08a92c653fb4f2506e029ceb8e3fdae9bc937fb1a7e80ecde759d02f6d15f69211af384d89d8582b160fd129abd9c77c8c64d75379417098ee5a2ba779e33d3 languageName: node linkType: hard -"postcss-normalize-positions@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-positions@npm:6.0.0" +"postcss-normalize-positions@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-positions@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: de2ced6cfdf2931d7cbc8f9c96bb12487119dba1b454c7ac01fd19f7afdaa9bf6c63f59624281293379ead5a3d5e883007a3f192f02c40ab41528ccc5a399f5c + postcss: ^8.4.31 + checksum: bb0267b13c92791543f5e9f94b119a0540e08aa46f600acd73a692cd38d07d2d2fddb11148a81adb58e3f65671eebb05ea38d2ded48f3202b2582f1199aa848e languageName: node linkType: hard -"postcss-normalize-repeat-style@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-repeat-style@npm:6.0.0" +"postcss-normalize-repeat-style@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-repeat-style@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 1643132094067709ca7d1fa2beededd28565c83bc8a6c2a4dec879a97e1d425ca1293a8832a45732eef12b52960f024330cfb654a8a222fb7ea768a75989c31e + postcss: ^8.4.31 + checksum: f6e943dbbf9341dd6ce2c9fc6820e8ae2a838d1db84f58f75b1e5c1b8b9d6895d17fb30b320e2189b8747f844713ec687540b5b1d52ccd6c9108d6d35328c659 languageName: node linkType: hard -"postcss-normalize-string@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-string@npm:6.0.0" +"postcss-normalize-string@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-string@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: d586ce274451229c6a3d625edef882b342ab7702babb632845c8c201c7bcc08481f282000d19d17edb7b5ef0b1982e715a16ab60990d124e937c4aef3304151e + postcss: ^8.4.31 + checksum: afcdd69522fc3ebafc349c2ef4b62f1e734ade9b6148fd20f2b841477808ac6cf6e5bfbb533c492fdc6bb2184b84be8ebb800a6ae174c4313f87fb0695088cc0 languageName: node linkType: hard -"postcss-normalize-timing-functions@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-timing-functions@npm:6.0.0" +"postcss-normalize-timing-functions@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-timing-functions@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: a70742648cec15eea031096f2ad99c21c79228ce4c4ccc9f63c277c07e9e3add96298cc67b0b1797896507248153e0a662f85f490f53147ded7008b459dd5ba3 + postcss: ^8.4.31 + checksum: c1c81d0dcb2f74fbd69cc45b0b6bd6cde390a0c9df602aabbf3eb2149a49da48e808837e811d22a525ffb036e158e63b4b2cf12c94cf28f2c2f6af858876134e languageName: node linkType: hard -"postcss-normalize-unicode@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-unicode@npm:6.0.0" +"postcss-normalize-unicode@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-unicode@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.22.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: cd9b06ed09c29ccc0b2cb222044d7ec49fb710fdd6f0878b26d7f3324478d8271a555ba3d82fc8d9fdcf8671a83c499cdfa09c0e73d4dee928adff4042ed8b22 + postcss: ^8.4.31 + checksum: ea696194f65ad31de2a9c022f1946a07c298f04070706d88a20061845e1e052e645c74b5bc785595814db87d14e435f85e968a44855dedc207d8c0b5d43b1aee languageName: node linkType: hard -"postcss-normalize-url@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-url@npm:6.0.0" +"postcss-normalize-url@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-url@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 719a7feee4adf638cc0b4bc204d89485388ca81f0ad0a181a225122f488f956abd29f429d69e5a57fffe93fbd2a22eab7737bd8b55b19979efba26e008b2ec11 + postcss: ^8.4.31 + checksum: 4e3e713a95e01f263feccd041b2b10016a0a09e494c81567f012d1326d9b2d57dc4a68956a820313630370c0ef591bdbb37cc96ed259022559623be179aad436 languageName: node linkType: hard -"postcss-normalize-whitespace@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-normalize-whitespace@npm:6.0.0" +"postcss-normalize-whitespace@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-normalize-whitespace@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 8421dd5813c1e555d7c2847dd8b71a5138ee2091341ebd1ea686d5b00cd46d249a29027e142289f873ca7f5fc995b51eb68f9693fec6d61cf951c759d109c37d + postcss: ^8.4.31 + checksum: 259c0b7653f033ed14303602a30e458c37dc63ee55f47226b6379a6ea553ca7c9b971d49715b8f3f36a3a06927f6f87d7997c027ad4664af3bca37a5fe30352e languageName: node linkType: hard @@ -5905,15 +5905,15 @@ __metadata: languageName: node linkType: hard -"postcss-ordered-values@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-ordered-values@npm:6.0.0" +"postcss-ordered-values@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-ordered-values@npm:6.0.1" dependencies: - cssnano-utils: "npm:^4.0.0" + cssnano-utils: "npm:^4.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: b01352b0ea014e0037a5b8b3bd866696924bfb2cf3b47b73547786a1954e6771c04790fbe4c651bf029bafdbfde70f49e611f9ef309e945f753425841f343017 + postcss: ^8.4.31 + checksum: 2e71f035c90b26d7a8d31e1b716f977532367f75bc76de3318b6ba7b2e1ec43c011cc09e741f59f7d93dff427b7d90a35db0b460d2f171a6f0c6e8c938ef30ad languageName: node linkType: hard @@ -6029,26 +6029,26 @@ __metadata: languageName: node linkType: hard -"postcss-reduce-initial@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-reduce-initial@npm:6.0.0" +"postcss-reduce-initial@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-reduce-initial@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.22.2" caniuse-api: "npm:^3.0.0" peerDependencies: - postcss: ^8.2.15 - checksum: 7cf6340bde9f70c7d9b20bc3ee53e883bf27ed56fcc3bb2a2c736b311d977098a7c3a6b9e4be4d2c159d0042bf7742bb5af59628cd89cf838968dacc5ae15c80 + postcss: ^8.4.31 + checksum: d35ad6f9725cdceb390a97a461e8594df7fbed4c55497c90d07c42f8343bf80139e720eaebc580bf480bf10e92959490aa308af66d8802ba71c327bdf08c93a1 languageName: node linkType: hard -"postcss-reduce-transforms@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-reduce-transforms@npm:6.0.0" +"postcss-reduce-transforms@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-reduce-transforms@npm:6.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 6da900d22dd8760b8a2ace32013036e3c4c4d9d560c31255eceea54563e3ddb2ca830bc9072fe2a1abacb8c48a008656887fc2f6ba1873e590342ad8e6bc269d + postcss: ^8.4.31 + checksum: de7631302311071d86622166539162e69df506785e3674afab0602c86ed9aa67799e44405b40327f0011d58089d2dc4e2ae481b21812177818e28f9272d350a5 languageName: node linkType: hard @@ -6097,36 +6097,36 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5": - version: 6.0.13 - resolution: "postcss-selector-parser@npm:6.0.13" +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.15, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": + version: 6.0.15 + resolution: "postcss-selector-parser@npm:6.0.15" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 51f099b27f7c7198ea1826470ef0adfa58b3bd3f59b390fda123baa0134880a5fa9720137b6009c4c1373357b144f700b0edac73335d0067422063129371444e + checksum: 48b425d6cef497bcf6b7d136f6fd95cfca43026955e07ec9290d3c15457de3a862dbf251dd36f42c07a0d5b5ab6f31e41acefeff02528995a989b955505e440b languageName: node linkType: hard -"postcss-svgo@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-svgo@npm:6.0.0" +"postcss-svgo@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-svgo@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" - svgo: "npm:^3.0.2" + svgo: "npm:^3.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: ec567cd5e982e3c0393695628bc508b87dcfe4e4b2049930e79e6c629c349fad19403f0d39d76ceda3e0f15ffd065304e76152f397fae2f3f848cdb847a0b564 + postcss: ^8.4.31 + checksum: db607404d09af256c7957a0ace822d651a00a52a1796da603f93ba3f0a095ac7595e1f624b9dc53f362ab10e382845d7873f485980f9c92fcb86256833f5e835 languageName: node linkType: hard -"postcss-unique-selectors@npm:^6.0.0": - version: 6.0.0 - resolution: "postcss-unique-selectors@npm:6.0.0" +"postcss-unique-selectors@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-unique-selectors@npm:6.0.2" dependencies: - postcss-selector-parser: "npm:^6.0.5" + postcss-selector-parser: "npm:^6.0.15" peerDependencies: - postcss: ^8.2.15 - checksum: 63e81a7965ff8874fdf39ef0ae0f12cc21352548733538f52eda73f0ed5a7fab7fda9090facf50395d07873c5a6f02d31a6171fd476c80858b03090ec4c61d31 + postcss: ^8.4.31 + checksum: a0fe112d1094f90e1bfcfd2174a74b2fd0630a24449e9942923d02956c7d64ea4add5adede53d9efb3f6d40cd388ac150d032a115f6a46b73d5f3d3d26fa1bb7 languageName: node linkType: hard @@ -6137,7 +6137,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.33, postcss@npm:^8.4.24, postcss@npm:^8.4.31, postcss@npm:^8.4.32": +"postcss@npm:8.4.33, postcss@npm:^8.4.31, postcss@npm:^8.4.32, postcss@npm:^8.4.33": version: 8.4.33 resolution: "postcss@npm:8.4.33" dependencies: @@ -6461,7 +6461,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0, schema-utils@npm:^4.0.1": +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0": version: 4.2.0 resolution: "schema-utils@npm:4.2.0" dependencies: @@ -6502,12 +6502,12 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.1": - version: 6.0.1 - resolution: "serialize-javascript@npm:6.0.1" +"serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" dependencies: randombytes: "npm:^2.1.0" - checksum: 1af427f4fee3fee051f54ffe15f77068cff78a3c96d20f5c1178d20630d3ab122d8350e639d5e13cde8111ef9db9439b871305ffb185e24be0a2149cec230988 + checksum: 2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 languageName: node linkType: hard @@ -6722,15 +6722,15 @@ __metadata: languageName: node linkType: hard -"stylehacks@npm:^6.0.0": - version: 6.0.0 - resolution: "stylehacks@npm:6.0.0" +"stylehacks@npm:^6.0.2": + version: 6.0.2 + resolution: "stylehacks@npm:6.0.2" dependencies: - browserslist: "npm:^4.21.4" - postcss-selector-parser: "npm:^6.0.4" + browserslist: "npm:^4.22.2" + postcss-selector-parser: "npm:^6.0.15" peerDependencies: - postcss: ^8.2.15 - checksum: 6ce277c816dd826fdc765258d612a160bad03dae52ab51ef1676efae07e96923ebeb6880d6522eefc50d2e81cb90b632615120c73aed190f345e8d836def67b6 + postcss: ^8.4.31 + checksum: 658cac8b28edcb94d1db67808ab3aaa511cb1b9293594fc95607ee42ac4f57e742d9a1fa3ff5d5849db692971dc2a310e9ac1ed0bd4ea4bc48c80f5a6ef823fc languageName: node linkType: hard @@ -6862,19 +6862,20 @@ __metadata: languageName: node linkType: hard -"svgo@npm:^3.0.2": - version: 3.0.2 - resolution: "svgo@npm:3.0.2" +"svgo@npm:^3.2.0": + version: 3.2.0 + resolution: "svgo@npm:3.2.0" dependencies: "@trysound/sax": "npm:0.2.0" commander: "npm:^7.2.0" css-select: "npm:^5.1.0" - css-tree: "npm:^2.2.1" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" csso: "npm:^5.0.5" picocolors: "npm:^1.0.0" bin: - svgo: bin/svgo - checksum: d682d416dd68cdcbab5e1e77b93d621325480e97dfe87777e845ea9a0ce05d03fc837ce17080af67e787f6b24430b805ff79f4591dda30a0ab4060b6a3ac2adf + svgo: ./bin/svgo + checksum: 28fa9061ccbcf2e3616d48d1feb613aaa05f8f290a329beb0e585914f1864385152934a7d4d683a4609fafbae3d51666633437c359c5c5ef74fb58ad09092a7c languageName: node linkType: hard From 8f955329ba92e57137ce8cc237d9fcd5ed1ce70d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:07:56 -0800 Subject: [PATCH 0095/1330] Update dependency css-loader to v6.9.1 (#8885) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 34 +++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/war/package.json b/war/package.json index bca0ed52faeb..06dc00efb414 100644 --- a/war/package.json +++ b/war/package.json @@ -28,7 +28,7 @@ "@babel/preset-env": "7.23.8", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", - "css-loader": "6.9.0", + "css-loader": "6.9.1", "css-minimizer-webpack-plugin": "6.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", diff --git a/war/yarn.lock b/war/yarn.lock index cdf68c0bc96f..d1f2dc0b4c5a 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3108,21 +3108,21 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:6.9.0": - version: 6.9.0 - resolution: "css-loader@npm:6.9.0" +"css-loader@npm:6.9.1": + version: 6.9.1 + resolution: "css-loader@npm:6.9.1" dependencies: icss-utils: "npm:^5.1.0" - postcss: "npm:^8.4.31" + postcss: "npm:^8.4.33" postcss-modules-extract-imports: "npm:^3.0.0" - postcss-modules-local-by-default: "npm:^4.0.3" - postcss-modules-scope: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.4" + postcss-modules-scope: "npm:^3.1.1" postcss-modules-values: "npm:^4.0.0" postcss-value-parser: "npm:^4.2.0" semver: "npm:^7.5.4" peerDependencies: webpack: ^5.0.0 - checksum: dded9ddbf3d7d2befe6a6c8fc861a46790626219a732ada3e52d02833dd2731d81b5f9ac7be51d3871b48d1a4b840668598e033f5f82790e892c6942139dbf9c + checksum: 3dfff7d4372a1d8f2b1606a8376f2f5e484e59d7ffdc373ea3b04aa2b54ecd052aaf72c090a97148b0eb8a164cdc1f9dcb7a68686b2d5d190d69367c30f76132 languageName: node linkType: hard @@ -4432,7 +4432,7 @@ __metadata: "@babel/preset-env": "npm:7.23.8" babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" - css-loader: "npm:6.9.0" + css-loader: "npm:6.9.1" css-minimizer-webpack-plugin: "npm:6.0.0" eslint: "npm:8.56.0" eslint-config-prettier: "npm:9.1.0" @@ -5751,27 +5751,27 @@ __metadata: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.3": - version: 4.0.3 - resolution: "postcss-modules-local-by-default@npm:4.0.3" +"postcss-modules-local-by-default@npm:^4.0.4": + version: 4.0.4 + resolution: "postcss-modules-local-by-default@npm:4.0.4" dependencies: icss-utils: "npm:^5.0.0" postcss-selector-parser: "npm:^6.0.2" postcss-value-parser: "npm:^4.1.0" peerDependencies: postcss: ^8.1.0 - checksum: be49b86efbfb921f42287e227584aac91af9826fc1083db04958ae283dfe215ca539421bfba71f9da0f0b10651f28e95a64b5faca7166f578a1933b8646051f7 + checksum: 9ebf464867eb10b29b73501b1466dcac8352ed852ef68ec23571f515daa74401d7ace9a6c72f354542081fdbb47d098c9bc6b05373b553a6e35779d072f967bb languageName: node linkType: hard -"postcss-modules-scope@npm:^3.1.0": - version: 3.1.0 - resolution: "postcss-modules-scope@npm:3.1.0" +"postcss-modules-scope@npm:^3.1.1": + version: 3.1.1 + resolution: "postcss-modules-scope@npm:3.1.1" dependencies: postcss-selector-parser: "npm:^6.0.4" peerDependencies: postcss: ^8.1.0 - checksum: bc8e12e9312d7070f34ccef2929f65154102e2b2984a385eaf2ef25b6d4e22234de71116c240a05b541a79946b717d6fa8c5d314f6697bf05f295261693050fe + checksum: 3ef6ac14fcda1581bc43e37622256bd87b99ea49c59b2aae648d057d57f5ecc634648cce9910166220a797567af674bc09246ccc010f1dd58d2863b805719109 languageName: node linkType: hard @@ -6137,7 +6137,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.33, postcss@npm:^8.4.31, postcss@npm:^8.4.32, postcss@npm:^8.4.33": +"postcss@npm:8.4.33, postcss@npm:^8.4.32, postcss@npm:^8.4.33": version: 8.4.33 resolution: "postcss@npm:8.4.33" dependencies: From 702d2f206330f43297654413e5df3d4bc73c1fd0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:11:05 -0800 Subject: [PATCH 0096/1330] Update dependency sass to v1.70.0 (#8883) 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 06dc00efb414..031f53dea267 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", "prettier": "3.2.1", - "sass": "1.69.7", + "sass": "1.70.0", "sass-loader": "14.0.0", "style-loader": "3.3.4", "stylelint": "16.1.0", diff --git a/war/yarn.lock b/war/yarn.lock index d1f2dc0b4c5a..610d7f0c999b 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4447,7 +4447,7 @@ __metadata: postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.2.1" - sass: "npm:1.69.7" + sass: "npm:1.70.0" sass-loader: "npm:14.0.0" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.4" @@ -6437,16 +6437,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.69.7": - version: 1.69.7 - resolution: "sass@npm:1.69.7" +"sass@npm:1.70.0": + version: 1.70.0 + resolution: "sass@npm:1.70.0" dependencies: chokidar: "npm:>=3.0.0 <4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 773d0938e7d4ff3972d3fda3132f34fe98a2f712e028a58e28fecd615434795eff3266eddc38d5e13f03b90c0d6360d0e737b30bff2949a47280c64a18e0fb18 + checksum: 7c309ee1c096d591746d122da9f1ebd65b4c4b3a60c2cc0ec720fd98fe1205fa8b44c9f563d113b9fdfeb25af1e32ec9b3e048bd4b8e05d267f020953bd7baf0 languageName: node linkType: hard From d982cad688a11e2a4038e3818103de25fc5153a9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:14:18 -0800 Subject: [PATCH 0097/1330] Update dependency stylelint to v16.2.0 (#8886) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 62 ++++++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/war/package.json b/war/package.json index 031f53dea267..323d17873537 100644 --- a/war/package.json +++ b/war/package.json @@ -42,7 +42,7 @@ "sass": "1.70.0", "sass-loader": "14.0.0", "style-loader": "3.3.4", - "stylelint": "16.1.0", + "stylelint": "16.2.0", "stylelint-checkstyle-reporter": "0.2.0", "stylelint-config-standard": "33.0.0", "webpack": "5.89.0", diff --git a/war/yarn.lock b/war/yarn.lock index 610d7f0c999b..71e285d06ef4 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1402,29 +1402,29 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^2.3.2, @csstools/css-parser-algorithms@npm:^2.4.0": - version: 2.4.0 - resolution: "@csstools/css-parser-algorithms@npm:2.4.0" +"@csstools/css-parser-algorithms@npm:^2.3.2, @csstools/css-parser-algorithms@npm:^2.5.0": + version: 2.5.0 + resolution: "@csstools/css-parser-algorithms@npm:2.5.0" peerDependencies: - "@csstools/css-tokenizer": ^2.2.2 - checksum: bcfc067b9d1bd5e0bc6044bfbf6450a4a6837d88c5ffd081e2159d4e442c28f018b58c7c2b3ce176ba0bf76cbbce0fd3c65468a40b9867ad9b3e3ef90b9b2655 + "@csstools/css-tokenizer": ^2.2.3 + checksum: 31b4a523d956e204af9842183678cca5a88ad76551d54dcb6083f8a6f2dfd8fdec6c09bca5410842af54b90997308bebee7593c17dbc1a4e951453b54bd3f024 languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^2.2.1, @csstools/css-tokenizer@npm:^2.2.2": - version: 2.2.2 - resolution: "@csstools/css-tokenizer@npm:2.2.2" - checksum: 9e7374aab06a811f868a85127af1ff07ad7a56e22e8c46930e789a907098bdd4e6eec82e0cb0d4b8ac1cd5cd054c1f0e329ec50d8548f57d660aeee7cf9b3167 +"@csstools/css-tokenizer@npm:^2.2.1, @csstools/css-tokenizer@npm:^2.2.3": + version: 2.2.3 + resolution: "@csstools/css-tokenizer@npm:2.2.3" + checksum: 557266ec52e8b36c19008a5bbd7151effba085cdd6d68270c01afebf914981caac698eda754b2a530a8a9947a3dd70e3f3a39a5e037c4170bb2a055a92754acb languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^2.1.5, @csstools/media-query-list-parser@npm:^2.1.6": - version: 2.1.6 - resolution: "@csstools/media-query-list-parser@npm:2.1.6" +"@csstools/media-query-list-parser@npm:^2.1.5, @csstools/media-query-list-parser@npm:^2.1.7": + version: 2.1.7 + resolution: "@csstools/media-query-list-parser@npm:2.1.7" peerDependencies: - "@csstools/css-parser-algorithms": ^2.4.0 - "@csstools/css-tokenizer": ^2.2.2 - checksum: 06da3e5c01e4785963b821ee2eb31f4fcec622f3b0e4e0748113f287c876f241be211ba11d435d0cc1f0e9f2e26baf5fbf6f8563dc88a49709c3d49e79490b76 + "@csstools/css-parser-algorithms": ^2.5.0 + "@csstools/css-tokenizer": ^2.2.3 + checksum: 433aef06b00f1d402fd24074a1919b8e2de94245a3b780da6466c8cc9e0f3cc93d2db930f0fce36c7d6908cd50b626cd61e803d3f62dddad79eeb742858028ef languageName: node linkType: hard @@ -4451,7 +4451,7 @@ __metadata: sass-loader: "npm:14.0.0" sortablejs: "npm:1.15.1" style-loader: "npm:3.3.4" - stylelint: "npm:16.1.0" + stylelint: "npm:16.2.0" stylelint-checkstyle-reporter: "npm:0.2.0" stylelint-config-standard: "npm:33.0.0" tippy.js: "npm:6.3.7" @@ -4839,10 +4839,10 @@ __metadata: languageName: node linkType: hard -"meow@npm:^13.0.0": - version: 13.0.0 - resolution: "meow@npm:13.0.0" - checksum: fab0f91578154c048e792a81704f3f28099ffff900f364df8a85f6e770a57e1c124859a25e186186e149dad30692c7893af0dfd71517bea343bfe5d749b1fa04 +"meow@npm:^13.1.0": + version: 13.1.0 + resolution: "meow@npm:13.1.0" + checksum: 2dac9dbf99a17ce29618fe5919072a9b28e2aedb9547f9b1f15d046d5501dd6c14fe1f35f7a5665d0ee7111c98c4d359fcf3f985463ec5896dd50177363f442d languageName: node linkType: hard @@ -6137,7 +6137,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.33, postcss@npm:^8.4.32, postcss@npm:^8.4.33": +"postcss@npm:8.4.33, postcss@npm:^8.4.33": version: 8.4.33 resolution: "postcss@npm:8.4.33" dependencies: @@ -6763,13 +6763,13 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:16.1.0": - version: 16.1.0 - resolution: "stylelint@npm:16.1.0" +"stylelint@npm:16.2.0": + version: 16.2.0 + resolution: "stylelint@npm:16.2.0" dependencies: - "@csstools/css-parser-algorithms": "npm:^2.4.0" - "@csstools/css-tokenizer": "npm:^2.2.2" - "@csstools/media-query-list-parser": "npm:^2.1.6" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/media-query-list-parser": "npm:^2.1.7" "@csstools/selector-specificity": "npm:^3.0.1" balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" @@ -6789,14 +6789,14 @@ __metadata: is-plain-object: "npm:^5.0.0" known-css-properties: "npm:^0.29.0" mathml-tag-names: "npm:^2.1.3" - meow: "npm:^13.0.0" + meow: "npm:^13.1.0" micromatch: "npm:^4.0.5" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.32" + postcss: "npm:^8.4.33" postcss-resolve-nested-selector: "npm:^0.1.1" postcss-safe-parser: "npm:^7.0.0" - postcss-selector-parser: "npm:^6.0.13" + postcss-selector-parser: "npm:^6.0.15" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" @@ -6807,7 +6807,7 @@ __metadata: write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 765eea0b07319d1e7989502c07b8b5794938e5a8542bec00990b09ec10c3f7006891689930099e948d06c9ef9982066edb98b1ea64a435138a6b0f0905eb2b87 + checksum: 6fdf0451833c11b18c9aa502f687febd6881a912ac94f39d509b894b0f74ccb636f3dac2991c69cc82dc6190731cc2fa48e307fed477d2a0fce57067cd22b572 languageName: node linkType: hard From d480a76706f3b7f77effc106549795fe8c994355 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:20:12 -0800 Subject: [PATCH 0098/1330] Update dependency prettier to v3.2.4 (#8892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/.babelrc | 2 +- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/war/.babelrc b/war/.babelrc index 0715456ee108..1320b9a3272a 100644 --- a/war/.babelrc +++ b/war/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["@babel/preset-env"], + "presets": ["@babel/preset-env"] } diff --git a/war/package.json b/war/package.json index 323d17873537..c073a11bc3fa 100644 --- a/war/package.json +++ b/war/package.json @@ -38,7 +38,7 @@ "postcss-loader": "8.0.0", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", - "prettier": "3.2.1", + "prettier": "3.2.4", "sass": "1.70.0", "sass-loader": "14.0.0", "style-loader": "3.3.4", diff --git a/war/yarn.lock b/war/yarn.lock index 71e285d06ef4..f9a24b825272 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4446,7 +4446,7 @@ __metadata: postcss-loader: "npm:8.0.0" postcss-preset-env: "npm:9.3.0" postcss-scss: "npm:4.0.9" - prettier: "npm:3.2.1" + prettier: "npm:3.2.4" sass: "npm:1.70.0" sass-loader: "npm:14.0.0" sortablejs: "npm:1.15.1" @@ -6155,12 +6155,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.2.1": - version: 3.2.1 - resolution: "prettier@npm:3.2.1" +"prettier@npm:3.2.4": + version: 3.2.4 + resolution: "prettier@npm:3.2.4" bin: prettier: bin/prettier.cjs - checksum: e01284f25c1e9a96dfaf4f7d0bfdf0726b26afc732b0e645a2653174d4ad5a1e85ae21ec4d327c71536f1acf8fee1dff5ea35c5b4b8e5b83ff00fe1dd6fef146 + checksum: 88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 languageName: node linkType: hard From 5b364bc022c51914bb2fb3e279d486085c53e0fd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 13:22:55 -0800 Subject: [PATCH 0099/1330] Update dependency sortablejs to v1.15.2 (#8871) 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 c073a11bc3fa..534a0e1fc8e9 100644 --- a/war/package.json +++ b/war/package.json @@ -54,7 +54,7 @@ "hotkeys-js": "3.12.2", "jquery": "3.7.1", "lodash": "4.17.21", - "sortablejs": "1.15.1", + "sortablejs": "1.15.2", "tippy.js": "6.3.7", "window-handle": "1.0.1" }, diff --git a/war/yarn.lock b/war/yarn.lock index f9a24b825272..29101d3d9dff 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4449,7 +4449,7 @@ __metadata: prettier: "npm:3.2.4" sass: "npm:1.70.0" sass-loader: "npm:14.0.0" - sortablejs: "npm:1.15.1" + sortablejs: "npm:1.15.2" style-loader: "npm:3.3.4" stylelint: "npm:16.2.0" stylelint-checkstyle-reporter: "npm:0.2.0" @@ -6610,10 +6610,10 @@ __metadata: languageName: node linkType: hard -"sortablejs@npm:1.15.1": - version: 1.15.1 - resolution: "sortablejs@npm:1.15.1" - checksum: 851debae91d9f93f41ce705490999ab9fc0fa46bd08d9132647041a31bf8a3e1cd55a0629f9b16ca21879fb478b10e1ce9fa3bae61d540223ac1d3d774e300c4 +"sortablejs@npm:1.15.2": + version: 1.15.2 + resolution: "sortablejs@npm:1.15.2" + checksum: 9b9101f47a46976070f1e7ab45d1850a8754f6e71252506868731292af46a7f1a3add03914fe074cd2a6bdfe8cd6cad149cfa260fe8a53475f5306ae679bf38c languageName: node linkType: hard From 34a6d0e466cd2347a3a05b29c912bdab24a36a52 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:30:34 +0100 Subject: [PATCH 0100/1330] [JENKINS-72603] Update bundled Matrix Project Plugin to 822.824.v14451b_c0fd42 (#8891) --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 317b3e306de7..3a3150fc9653 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -230,7 +230,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-project - 822.v01b_8c85d16d2 + 822.824.v14451b_c0fd42 test diff --git a/war/pom.xml b/war/pom.xml index 8d6d579e5919..1cfdf1ee5fed 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -310,7 +310,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-project - 818.v7eb_e657db_924 + 822.824.v14451b_c0fd42 hpi From a32f24c4498950c5d74ee0ee438f79ef5867e755 Mon Sep 17 00:00:00 2001 From: Balaji Sivasakthi Date: Thu, 25 Jan 2024 03:06:49 +0530 Subject: [PATCH 0101/1330] [JENKINS-72579] Adjust heap dump file name for compatibility with OpenJDK file suffix requirements (#8881) --- core/src/main/java/hudson/util/RemotingDiagnostics.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/util/RemotingDiagnostics.java b/core/src/main/java/hudson/util/RemotingDiagnostics.java index 61d97f91cbd7..993fe7849a44 100644 --- a/core/src/main/java/hudson/util/RemotingDiagnostics.java +++ b/core/src/main/java/hudson/util/RemotingDiagnostics.java @@ -176,7 +176,7 @@ public static FilePath getHeapDump(VirtualChannel channel) throws IOException, I private static class GetHeapDump extends MasterToSlaveCallable { @Override public FilePath call() throws IOException { - final File hprof = File.createTempFile("hudson-heapdump", "hprof"); + final File hprof = File.createTempFile("hudson-heapdump", ".hprof"); Files.delete(Util.fileToPath(hprof)); try { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); From 49e5ab32ce40662fb4c1dca38931cf2ad4d9c3c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 15:55:15 -0800 Subject: [PATCH 0102/1330] Bump org.jenkins-ci.plugins:cloudbees-folder from 6.858.v898218f3609d to 6.897.vb_943ea_6b_a_08b_ (#8894) 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 3a3150fc9653..bfe0afe3c149 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -200,7 +200,7 @@ THE SOFTWARE. org.jenkins-ci.plugins cloudbees-folder - 6.858.v898218f3609d + 6.897.vb_943ea_6b_a_08b_ test From 76d4e1eed426a39e327c31dbd8c5ccf607b74928 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 15:58:14 -0800 Subject: [PATCH 0103/1330] Bump org.glassfish.tyrus.bundles:tyrus-standalone-client-jdk from 2.1.4 to 2.1.5 (#8875) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cli/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/pom.xml b/cli/pom.xml index 50588e3e692b..763d83529103 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -65,7 +65,7 @@ org.glassfish.tyrus.bundles tyrus-standalone-client-jdk - 2.1.4 + 2.1.5 true From 8aa627660907d3a15b9d7e23de01eaed6071bf41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 15:58:38 -0800 Subject: [PATCH 0104/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2148.v80482520b_d2c to 2152.v60323ca_97732 (#8873) 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 bfe0afe3c149..1506aa44e30a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2148.v80482520b_d2c + 2152.v60323ca_97732 test From 3e83c64df4de7840cb7fbbac511af83e10cc5515 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:17:03 -0800 Subject: [PATCH 0105/1330] Update dependency stylelint-config-standard to v36 (#8805) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/src/main/scss/abstracts/_theme.scss | 1 + war/src/main/scss/base/_layout-commons.scss | 2 ++ .../scss/components/_side-panel-tasks.scss | 1 + war/yarn.lock | 24 +++++++++---------- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/war/package.json b/war/package.json index 534a0e1fc8e9..517aa757eeff 100644 --- a/war/package.json +++ b/war/package.json @@ -44,7 +44,7 @@ "style-loader": "3.3.4", "stylelint": "16.2.0", "stylelint-checkstyle-reporter": "0.2.0", - "stylelint-config-standard": "33.0.0", + "stylelint-config-standard": "36.0.0", "webpack": "5.89.0", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" diff --git a/war/src/main/scss/abstracts/_theme.scss b/war/src/main/scss/abstracts/_theme.scss index fa97f23d6b66..d779588c13e7 100644 --- a/war/src/main/scss/abstracts/_theme.scss +++ b/war/src/main/scss/abstracts/_theme.scss @@ -256,6 +256,7 @@ $semantics: ( --form-item-max-width--medium: min(50vw, 1400px); --form-item-max-width--small: min(35vw, 1200px); + /* stylelint-disable-next-line media-query-no-invalid */ @media screen and (max-width: breakpoints.$tablet-breakpoint) { --section-padding: 1.25rem; --form-item-max-width: 100%; diff --git a/war/src/main/scss/base/_layout-commons.scss b/war/src/main/scss/base/_layout-commons.scss index 1ce9ed2aeb5f..36201c78b080 100644 --- a/war/src/main/scss/base/_layout-commons.scss +++ b/war/src/main/scss/base/_layout-commons.scss @@ -33,6 +33,7 @@ } .app-page-body__sidebar { + /* stylelint-disable-next-line media-query-no-invalid */ @media (min-width: breakpoints.$tablet-breakpoint) { &--sticky { position: sticky; @@ -96,6 +97,7 @@ body.full-screen #main-panel { padding: 0; } +/* stylelint-disable-next-line media-query-no-invalid */ @media (max-width: breakpoints.$tablet-breakpoint) { body.two-column #page-body { flex-wrap: wrap; diff --git a/war/src/main/scss/components/_side-panel-tasks.scss b/war/src/main/scss/components/_side-panel-tasks.scss index 94e1d7696ef3..46acadd3f956 100644 --- a/war/src/main/scss/components/_side-panel-tasks.scss +++ b/war/src/main/scss/components/_side-panel-tasks.scss @@ -10,6 +10,7 @@ $background-outset: 0.7rem; margin: var(--section-padding); gap: 5px; + /* stylelint-disable-next-line media-query-no-invalid */ @media (min-width: breakpoints.$tablet-breakpoint) { margin-right: calc($background-outset); } diff --git a/war/yarn.lock b/war/yarn.lock index 29101d3d9dff..1aa1ffb2a80c 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4453,7 +4453,7 @@ __metadata: style-loader: "npm:3.3.4" stylelint: "npm:16.2.0" stylelint-checkstyle-reporter: "npm:0.2.0" - stylelint-config-standard: "npm:33.0.0" + stylelint-config-standard: "npm:36.0.0" tippy.js: "npm:6.3.7" webpack: "npm:5.89.0" webpack-cli: "npm:5.1.4" @@ -6743,23 +6743,23 @@ __metadata: languageName: node linkType: hard -"stylelint-config-recommended@npm:^12.0.0": - version: 12.0.0 - resolution: "stylelint-config-recommended@npm:12.0.0" +"stylelint-config-recommended@npm:^14.0.0": + version: 14.0.0 + resolution: "stylelint-config-recommended@npm:14.0.0" peerDependencies: - stylelint: ^15.5.0 - checksum: 907d93bf99e072f6964bff5e1b7a86ea9712521e8979639b29ec5a55ef09789eecb7fcdeafa688324f1a69e38c462a8f87de973b8b1fcc53058c2ca177b4f426 + stylelint: ^16.0.0 + checksum: 4ad15c36e8c03291aa7bbe4b672ebfb0f46ab698e7580a0da8d29644046d102d7f31dbf00a2a6eab94b565c390c6fb0d5d528737b83ac3acf6dc2ef085a90b11 languageName: node linkType: hard -"stylelint-config-standard@npm:33.0.0": - version: 33.0.0 - resolution: "stylelint-config-standard@npm:33.0.0" +"stylelint-config-standard@npm:36.0.0": + version: 36.0.0 + resolution: "stylelint-config-standard@npm:36.0.0" dependencies: - stylelint-config-recommended: "npm:^12.0.0" + stylelint-config-recommended: "npm:^14.0.0" peerDependencies: - stylelint: ^15.5.0 - checksum: d84629f691f8d04ff2ae31c8f5ec9a4a30ec23b97b945b8a8c3e62dca3c35e00d226e47a5d56385341c6328c18bf235545bb67468ceffaeb41ff67fa4ff0c575 + stylelint: ^16.1.0 + checksum: 1fc9adddfc5cf0a1d7a443182a0731712a3950ace72a24081b4ede2b0bb6fc1eebd003c009f1d8d06c3a64ba9b31b0ed12512db2f91c8fa549238d8341580e4b languageName: node linkType: hard From dbd5f115ad67542592af0a72bb21bebd77b1bf86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 19:07:43 -0800 Subject: [PATCH 0106/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2152.v60323ca_97732 to 2154.v9367950e9176 (#8897) 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 1506aa44e30a..eae8c9ab3437 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2152.v60323ca_97732 + 2154.v9367950e9176 test From 68131ec1826a3289b00594b881527b005d774834 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Thu, 25 Jan 2024 06:06:24 -0800 Subject: [PATCH 0107/1330] Upgrade transitive frontend dependencies (#8896) --- war/yarn.lock | 1648 ++++++++++++++++++++++--------------------------- 1 file changed, 747 insertions(+), 901 deletions(-) diff --git a/war/yarn.lock b/war/yarn.lock index 1aa1ffb2a80c..b2df9024d10e 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -13,12 +13,12 @@ __metadata: linkType: hard "@ampproject/remapping@npm:^2.2.0": - version: 2.2.0 - resolution: "@ampproject/remapping@npm:2.2.0" + version: 2.2.1 + resolution: "@ampproject/remapping@npm:2.2.1" dependencies: - "@jridgewell/gen-mapping": "npm:^0.1.0" + "@jridgewell/gen-mapping": "npm:^0.3.0" "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: d267d8def81d75976bed4f1f81418a234a75338963ed0b8565342ef3918b07e9043806eb3a1736df7ac0774edb98e2890f880bba42817f800495e4ae3fac995e + checksum: 92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 languageName: node linkType: hard @@ -133,21 +133,21 @@ __metadata: linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" + version: 7.23.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.7" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-environment-visitor": "npm:^7.22.5" - "@babel/helper-function-name": "npm:^7.22.5" - "@babel/helper-member-expression-to-functions": "npm:^7.22.15" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-member-expression-to-functions": "npm:^7.23.0" "@babel/helper-optimise-call-expression": "npm:^7.22.5" - "@babel/helper-replace-supers": "npm:^7.22.9" + "@babel/helper-replace-supers": "npm:^7.22.20" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" "@babel/helper-split-export-declaration": "npm:^7.22.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 2ae5759fe8845fda99b34f2ba6cd0794fc860213d14c93a87aa9180960252bce621157a79c373b7fbb423b25a55fb0e20eae0d5f8e4ad5ef22dc70e7c2af3805 + checksum: f594e99f97211bda5530756712751c1c4ce6063bb376f1f38cc540309a086bd0f4b62aff969ddb29e7310e936c2d3745934a2b292c4710be8112e57fbe3f3381 languageName: node linkType: hard @@ -179,7 +179,22 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20, @babel/helper-environment-visitor@npm:^7.22.5": +"@babel/helper-define-polyfill-provider@npm:^0.5.0": + version: 0.5.0 + resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 2b053b96a0c604a7e0f5c7d13a8a55f4451d938f7af42bd40f62a87df15e6c87a0b1dbd893a0f0bb51077b54dc3ba00a58b166531a5940ad286ab685dd8979ec + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" checksum: e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 @@ -205,7 +220,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.15": +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": version: 7.23.0 resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" dependencies: @@ -267,7 +282,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.20, @babel/helper-replace-supers@npm:^7.22.9": +"@babel/helper-replace-supers@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-replace-supers@npm:7.22.20" dependencies: @@ -340,13 +355,13 @@ __metadata: linkType: hard "@babel/helpers@npm:^7.23.7": - version: 7.23.7 - resolution: "@babel/helpers@npm:7.23.7" + version: 7.23.8 + resolution: "@babel/helpers@npm:7.23.8" dependencies: "@babel/template": "npm:^7.22.15" "@babel/traverse": "npm:^7.23.7" "@babel/types": "npm:^7.23.6" - checksum: f74a61ad28a1bc1fdd9133ad571c07787b66d6db017c707b87c203b0cd06879cea8b33e9c6a8585765a4949efa5df3cc9e19b710fe867f11be38ee29fd4a0488 + checksum: d9fce49278a31aaa017a40c1fcdaa450999c49e33582cce8138058c58b1acbe3a2d2488f010f28e91dedf0d35795ea32f0ee18745bbb6c7f54052ae0fd7e6a3f languageName: node linkType: hard @@ -1305,11 +1320,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.18.9 - resolution: "@babel/runtime@npm:7.18.9" + version: 7.23.8 + resolution: "@babel/runtime@npm:7.23.8" dependencies: - regenerator-runtime: "npm:^0.13.4" - checksum: f996fca79e2cd3c80289c2655e95358254f0437ca28cf10ec4343498dd4a59002fc506d5ce6f37019f1a961e8f26ce43523844ee5a87412d32c17a8ef2f608ee + regenerator-runtime: "npm:^0.14.0" + checksum: ba5e8fbb32ef04f6cab5e89c54a0497c2fde7b730595cc1af93496270314f13ff2c6a9360fdb2f0bdd4d6b376752ce3cf85642bd6b876969a6a62954934c2df8 languageName: node linkType: hard @@ -1353,52 +1368,43 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^1.0.5": - version: 1.0.5 - resolution: "@csstools/cascade-layer-name-parser@npm:1.0.5" +"@csstools/cascade-layer-name-parser@npm:^1.0.5, @csstools/cascade-layer-name-parser@npm:^1.0.7": + version: 1.0.7 + resolution: "@csstools/cascade-layer-name-parser@npm:1.0.7" peerDependencies: - "@csstools/css-parser-algorithms": ^2.3.2 - "@csstools/css-tokenizer": ^2.2.1 - checksum: 074e1b79d4cec863fcb844910eb971c04e404839f5ca7a145dba750a6e4bedb81a89e07f851db437c2b745461ee1497cc47714dcd5a0cf16975cbc3b2ccbc726 + "@csstools/css-parser-algorithms": ^2.5.0 + "@csstools/css-tokenizer": ^2.2.3 + checksum: bd7d6d080c37a1d7331906f8703b284fd4c823f8f3fb45bd52fda4043eb165adc0af3114ef913f66ac17851ef5293afbf383f5f35cc27e2e5788b9fbeb7ff388 languageName: node linkType: hard -"@csstools/color-helpers@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/color-helpers@npm:3.0.2" - checksum: aa7c7d471676d4f026298d4a3fb8b2fc053bea7a4a8c8610b7053863d171a7551ddd4c4d4d61bcea9863c4368b902287627ff0c9f5559607ed22c2123fa5fdd2 +"@csstools/color-helpers@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/color-helpers@npm:4.0.0" + checksum: fc78871253f8c92789ed64a0e5555bd2873c2b62a49c30baced88487561fe09fe897b0d16fcf7bf2a94f78ff37530773a4395ce5efc016810c094041b5bbcd42 languageName: node linkType: hard -"@csstools/css-calc@npm:^1.1.4": - version: 1.1.4 - resolution: "@csstools/css-calc@npm:1.1.4" +"@csstools/css-calc@npm:^1.1.6": + version: 1.1.6 + resolution: "@csstools/css-calc@npm:1.1.6" peerDependencies: - "@csstools/css-parser-algorithms": ^2.3.2 - "@csstools/css-tokenizer": ^2.2.1 - checksum: 1d2d1b1f5044bc17a9c2ecfa1164dfb51c983ab5295ce15f132837934dc4d6f856c1bfe0c39bd9fe9214957d43ed6475ef38793191401e039f0da589b27880da + "@csstools/css-parser-algorithms": ^2.5.0 + "@csstools/css-tokenizer": ^2.2.3 + checksum: e313834ad3517bd53b4b15abd4c9bf7951ccf3671669be4ed185c8b1af9dc8fe463d0cd75a61845364a9d6c7b8107dfba1032a2bde5eb7c905ab956a764ee56d languageName: node linkType: hard -"@csstools/css-color-parser@npm:^1.4.0": - version: 1.4.0 - resolution: "@csstools/css-color-parser@npm:1.4.0" +"@csstools/css-color-parser@npm:^1.5.1": + version: 1.5.1 + resolution: "@csstools/css-color-parser@npm:1.5.1" dependencies: - "@csstools/color-helpers": "npm:^3.0.2" - "@csstools/css-calc": "npm:^1.1.4" + "@csstools/color-helpers": "npm:^4.0.0" + "@csstools/css-calc": "npm:^1.1.6" peerDependencies: - "@csstools/css-parser-algorithms": ^2.3.2 - "@csstools/css-tokenizer": ^2.2.1 - checksum: afec343effa2d75bc3adcc2f20e84228c73dba1516ab3acb1ae64a834c2572177f72da9ffa378ec4b120d0bb5fe02e6ff01fd646ff4131cc56a3de926a1e23f9 - languageName: node - linkType: hard - -"@csstools/css-parser-algorithms@npm:2.3.2": - version: 2.3.2 - resolution: "@csstools/css-parser-algorithms@npm:2.3.2" - peerDependencies: - "@csstools/css-tokenizer": ^2.2.1 - checksum: ccae373a3ab5c10716418b69ce1f6db10a26d3a2d60b65df5fe69099afe4fb1d3192925f3c0f93c3b17c3ab1964b0f39ad2b0e97312ec4a51caa55d6b6a31672 + "@csstools/css-parser-algorithms": ^2.5.0 + "@csstools/css-tokenizer": ^2.2.3 + checksum: 98c3fe23064e6218976d951b9e13da1c9d067075318004be511f7c752b972ada038b750c1c844f94d73d78c55bc8571bd2a123f0747ce107845b39678b833873 languageName: node linkType: hard @@ -1429,338 +1435,338 @@ __metadata: linkType: hard "@csstools/postcss-cascade-layers@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-cascade-layers@npm:4.0.1" + version: 4.0.2 + resolution: "@csstools/postcss-cascade-layers@npm:4.0.2" dependencies: - "@csstools/selector-specificity": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^3.0.1" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: e15e01546de886a1d8a03828ce9409dcf1656d38a9d7c211893075d4370acca2b86fcbc8796a4ed59fa5420e57cd8cca26d5221e4ea5bee283ab8545b916bd9f + checksum: bc4babdaaa025c9b3e417af989d58f9c7987ebc997c5d6bb4b150df5e9377175de393525a71868a48944e8a21aed4ce4d9023952201bf529e0113fbb5d79ace5 languageName: node linkType: hard "@csstools/postcss-color-function@npm:^3.0.7": - version: 3.0.7 - resolution: "@csstools/postcss-color-function@npm:3.0.7" + version: 3.0.9 + resolution: "@csstools/postcss-color-function@npm:3.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 4be64f7e375eace1da54b4d37bd3dc93c4e4c5c11f41c81646402b723cf76bb12f126e56045f416affc993d6647d79bb666bce4c11316f6c71873d958ec7a350 + checksum: 9a1acf462a9fede8ddb280ca4b49f070cf17f94c68f083b6d9a3d2ce649d436b159ac606d3b526a7aa4dee1a63f01b6cb75078ba0db32d3ab0ff75c8eeba92e1 languageName: node linkType: hard "@csstools/postcss-color-mix-function@npm:^2.0.7": - version: 2.0.7 - resolution: "@csstools/postcss-color-mix-function@npm:2.0.7" + version: 2.0.9 + resolution: "@csstools/postcss-color-mix-function@npm:2.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 02c786917c23a2deb10d4699b91f3bc9244abacf3196dd6db3ea12719b9d7a68a0fa5fc7deb7c0dcbc71e598d2ac615e6d38a5684452f05411b44467448e7638 + checksum: cb7bc4d2fc6d882ee0a974998c6ac3b0bd95633f206bbee8d4075e3b057cf1fcea0a4f873b6efd51e57bdcb071ff622689e03e09c2d7633d4506d3fa79106a87 languageName: node linkType: hard "@csstools/postcss-exponential-functions@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-exponential-functions@npm:1.0.1" + version: 1.0.3 + resolution: "@csstools/postcss-exponential-functions@npm:1.0.3" dependencies: - "@csstools/css-calc": "npm:^1.1.4" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-calc": "npm:^1.1.6" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: bf2055cc1e986cafdf245ea655c935e8306345ffabd7a64b0bbae70941f8ddddace9e71f9b210effc56c902dc595e342e31795444c3725ebc6e9917df169763c + checksum: e82d6394cb267679825338edb212a6746dab920de54eda3e21fa53b562f3c05da662ad45b5d1d170e4672de351881c93482ff4084953a440609402f8ae006cd1 languageName: node linkType: hard "@csstools/postcss-font-format-keywords@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-font-format-keywords@npm:3.0.0" + version: 3.0.1 + resolution: "@csstools/postcss-font-format-keywords@npm:3.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 523b8dc1a5a42a5bf3b6cc3e22950a5215cb24daea3ecae886a2cbf344854b293a9bf93093b8e4873b88926f6fad6af226202dcfeb1c2373d930c46d3c52464c + checksum: 1a0fe7b5b27c55818729616f4529d9d183b721e9156ba06d36e9be502a6e5a417a5d125423024e7d7155e12a294597100b9cdc9db3cf693376ed5331aead5ac8 languageName: node linkType: hard "@csstools/postcss-gamut-mapping@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-gamut-mapping@npm:1.0.0" + version: 1.0.2 + resolution: "@csstools/postcss-gamut-mapping@npm:1.0.2" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: de8a7c920e3f6ecf8c3d16f5de8a1415a0b7744563bcec2e147fc8915633cc98ff76622af8f7cc8e1200595fb18c950b259c1c424b682e1599f78c1d0ad655f6 + checksum: 11c06908aab864d20a02fc4aa3083630e003530f1596d52bd775a537cf8a7de02c03906886ee45d0081661042bcae1a0090429c706496ba3baae1b1fbac92c13 languageName: node linkType: hard "@csstools/postcss-gradients-interpolation-method@npm:^4.0.7": - version: 4.0.7 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.7" + version: 4.0.9 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 1f23ecd1fdcbeec6750cc1e8e6cb123bfe175bae02ff4e152c7823afc27c9233eafaeda4f547c27112ece0c1fe521a1edbff88e98bc178dfbdbf1c69f2eef650 + checksum: 6c6c8e788345affac10116fd8b7744e5e5e025fb7ef192fb3981ec003e2cca1590ba2a4464a178178dd42b99cd4a83e4594d5a531a4efde1c1b0e20610955a62 languageName: node linkType: hard "@csstools/postcss-hwb-function@npm:^3.0.6": - version: 3.0.6 - resolution: "@csstools/postcss-hwb-function@npm:3.0.6" + version: 3.0.8 + resolution: "@csstools/postcss-hwb-function@npm:3.0.8" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: f2a339ae9832d02838447022979d4d2fd0249549fbf09d01a731444568f70f3485e3a752b0b45717628ff18b42974d4dd03e3bce3a13cc0e61fddbb140694754 + checksum: af5efa6d9d79fcdf2755bb8e730d9c8670b4e6e97abfdc9dc4d2c91f672c36ddbba41b5ee1eda469686d96fe1efdea5bc400f5b3131c4cfd9e1079399bb8a75e languageName: node linkType: hard "@csstools/postcss-ic-unit@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-ic-unit@npm:3.0.2" + version: 3.0.3 + resolution: "@csstools/postcss-ic-unit@npm:3.0.3" dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 28552d5fe0af8a7e6bae48f3b68193d286aec43e3bc1cc698c142636cfd7598ab88b804adc3c52ecf23c35f4abd18315ad92b34069ca9cc4caadcd2007938a51 + checksum: ea7523a4572df9551b92c4ccd1ca525d1e269556749293df35b26aa617d3e8f31d77ff4179fb6b04c52f7106a1834bd1487b163228aeb229c17ac6aee5ee82db languageName: node linkType: hard "@csstools/postcss-initial@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-initial@npm:1.0.0" + version: 1.0.1 + resolution: "@csstools/postcss-initial@npm:1.0.1" peerDependencies: postcss: ^8.4 - checksum: 518c69916a87a715f3c19d4e67730849b7faa823269da2e7cf726de5f457574ea86ab48a31aa3db358dc9e6332c3f17c7513952854d2794c8fb04f1499509657 + checksum: 5d21c7c611d90a4b6758ba5be5e38d8d9eea9499c62797c4f5e01fbc9ccc2c68daf1c201850efe70ffa4ff9e979e7dea80b854b8793768550879562881aa6f9f languageName: node linkType: hard "@csstools/postcss-is-pseudo-class@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-is-pseudo-class@npm:4.0.3" + version: 4.0.4 + resolution: "@csstools/postcss-is-pseudo-class@npm:4.0.4" dependencies: - "@csstools/selector-specificity": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^3.0.1" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: d64af2ad69146fa45b0b5a9799ea393f65a21822eaa767a2b4ae147b8f8dfe3948a8e34b449ab55247cb4d98fcde747cd5f454a3c7d915a326cc580adcb29afb + checksum: b4dc0ad3d8b2fb251ac791e628947fc688636e9a0c45973820bf3ec5c5e27d78bf2bb96765e58269069efa176cd4c157a3e35375f5e41d263c187d9524c844be languageName: node linkType: hard "@csstools/postcss-logical-float-and-clear@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/postcss-logical-float-and-clear@npm:2.0.0" + version: 2.0.1 + resolution: "@csstools/postcss-logical-float-and-clear@npm:2.0.1" peerDependencies: postcss: ^8.4 - checksum: d71b77d8ae1bb90325581092f873be24bdc6d6b71d9933e4aaffb4a160f9ac3034993d1cb86474d1bcbf4ad6854b9b9cc645861684980cf5439e27c4a518c2ba + checksum: 92d9184bf8a159753a5872463dcfde580abd9b935e2a59f7ebe601cd14d9871f2f9f4dc18d8bbe251e7d8a3e446e302d9d99bf408d9cabbd9a6323825f5e833d languageName: node linkType: hard "@csstools/postcss-logical-overflow@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-logical-overflow@npm:1.0.0" + version: 1.0.1 + resolution: "@csstools/postcss-logical-overflow@npm:1.0.1" peerDependencies: postcss: ^8.4 - checksum: 5268a8960f484841d0fc070d1fcb8cc5e46290253300a116532498ab8ceb1d8900cb45ddbca33ad2f344af207176e6bde54a17ccbe88126c4a5de7830ad0efa7 + checksum: a8f5b1fdaf4ce7b1665407dac2f2e0c0ea11195e6873cfc714d9cd206489170fd91fc172b337330baf60191206f60579e235264f0dc7fee750ccd27ffe02c163 languageName: node linkType: hard "@csstools/postcss-logical-overscroll-behavior@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-logical-overscroll-behavior@npm:1.0.0" + version: 1.0.1 + resolution: "@csstools/postcss-logical-overscroll-behavior@npm:1.0.1" peerDependencies: postcss: ^8.4 - checksum: b468fb9c8bd836a9a2c3d4126d68c0ab25b3b5042e63a4e9eb9c55394fed8928c751d8f1c67f754702605963385d4becfa2cf9fe7446606ffbe33b580fb9a29e + checksum: 9485502bd9235276525351818d6cc11544ac1b270bb4f527f3fac32fe98ac66269366c34cdb8f61920b10ff9aac5824935004a5927490a5febca77eb41226604 languageName: node linkType: hard "@csstools/postcss-logical-resize@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/postcss-logical-resize@npm:2.0.0" + version: 2.0.1 + resolution: "@csstools/postcss-logical-resize@npm:2.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 040f7db9771da02d2de70343084b179a3a16997e684db83b1ef32f5cb3444bd6350f0ffa5dcc54692a7d23c78de67d6a1942bc0ad1ae74a1818e41d480532bb4 + checksum: 18f7e19ea465a15b334d8231b9ed98b630c74a6c2a6c52884437b852065f7b55bb1282cdbbdc1136aade479e996605b01799ab0ab771e2c47fd78d966ed33162 languageName: node linkType: hard "@csstools/postcss-logical-viewport-units@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.3" + version: 2.0.5 + resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.5" dependencies: - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: 690a02a7fc211bd711dd0408e21ce63a4ec4ce7e38f7324ade3b3c0a885d1db1704700cfeecc590cd834f7f20a1ec1284565e6b88e46d440ff66caa7f7046e6f + checksum: 0737db6af3a0161e8b85f0754554b940f340c562f88d300e13b1d654ead70e10942ca24f1efee48a46b817593eb942013711bd7fdc93f067d3b88855d7910edc languageName: node linkType: hard "@csstools/postcss-media-minmax@npm:^1.1.0": - version: 1.1.0 - resolution: "@csstools/postcss-media-minmax@npm:1.1.0" + version: 1.1.2 + resolution: "@csstools/postcss-media-minmax@npm:1.1.2" dependencies: - "@csstools/css-calc": "npm:^1.1.4" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/media-query-list-parser": "npm:^2.1.5" + "@csstools/css-calc": "npm:^1.1.6" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/media-query-list-parser": "npm:^2.1.7" peerDependencies: postcss: ^8.4 - checksum: 2cfd25608bbc84d69ff25e81b62792828ee9d96d09a4d3260da098d9be1a5ee95168a9a84042d820e934c689d7a69f9b401936ed93d2746637ed7576bdd08d46 + checksum: 90821fcc373cd4f6ba4bf7a3b087048fb89c4d78ef5896121b652d9c41bdde16a2ef0e69e627b32b6e13e88ac4ee76078e05fa11f4d21afcfe3220575431fb2c languageName: node linkType: hard "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.3" + version: 2.0.5 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.5" dependencies: - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/media-query-list-parser": "npm:^2.1.5" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/media-query-list-parser": "npm:^2.1.7" peerDependencies: postcss: ^8.4 - checksum: b4636df948690017f8ee7f2fb4aeb4b9848e72e84ff244308c342725a5d0aa5507cbab362e0d790938a433c1b20e2e10f71ea273e02608ed8ae073c9289f32c3 + checksum: 8dd1fc0f13fb6d4ffdb7de02d08825bc304fe7a7a0c7e8c7f85cd945334ec746c152b0fcf20d3ababf92267bdafe0c336843fc602897f6b5e8568c104dcd5442 languageName: node linkType: hard "@csstools/postcss-nested-calc@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-nested-calc@npm:3.0.0" + version: 3.0.1 + resolution: "@csstools/postcss-nested-calc@npm:3.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 6619825637e769854f8b4bd74dcc01dbbb4817d22f8a92be4cba7647ff50336d00719d9551461f01d8cb22d3d333e19cf3a7ce3a34573af6e964d50a06143173 + checksum: a1a091cd9343312b4464cd7d5fa62808e97c02ca33f815013e57f5ad9724306c5fbbd9af257bef62f87cb39b9ee594d508175111ad558e0022762c55ae0bcea6 languageName: node linkType: hard "@csstools/postcss-normalize-display-values@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/postcss-normalize-display-values@npm:3.0.1" + version: 3.0.2 + resolution: "@csstools/postcss-normalize-display-values@npm:3.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: dcd406efdbb4af7975ed57695efb86f801205dd0f3b78622cee6ec1d7a08706ff0cac7d6816f507dc8a86c650c8d931f79a380b73307c1f862bfe4f94815c7f8 + checksum: a20e2f4c213a5ec6e004c2ba76b543d3288a39aae21b3198b06a57df0d2c7916111d2cd70dcb0e8c6ca1cf1b01751e88fd2fe9abbc070e1efab1a4e54dcdbbbe languageName: node linkType: hard "@csstools/postcss-oklab-function@npm:^3.0.7": - version: 3.0.7 - resolution: "@csstools/postcss-oklab-function@npm:3.0.7" + version: 3.0.9 + resolution: "@csstools/postcss-oklab-function@npm:3.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 5c13e901d1b98b90ea462257db0be18588dbbe4602cd45f54b89b47ef5137b12de1ea64e644843c4e170e0d28689aa4534a101fcaa9f334fffe40165daf6c4b8 + checksum: 256bab33588bb63c2cdf2c8bddc9b51ab017394b3bf2532cb1cf11e00ce18d78a39833e58f398e5096572fb46faae08a22fb1cef56473878e1f253c6ba17f1ed languageName: node linkType: hard -"@csstools/postcss-progressive-custom-properties@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-progressive-custom-properties@npm:3.0.2" +"@csstools/postcss-progressive-custom-properties@npm:^3.0.2, @csstools/postcss-progressive-custom-properties@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-progressive-custom-properties@npm:3.0.3" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 7237717b8e690ff6f3831f2ae5d20526905ed4e9c916cf63c5118c73efa0dc8519c3e5bd11a362a706a66d20aeed516901f36ee19cc92537cfcbf191e067d6cb + checksum: c2f228b71ddf71a368583c4a240ae109f371adf459b5cb5ef0ae7899a31662776d7430ef43be0a988c8d57bda1d709399d9b8488cf05f7c4ff56d1d8ba286eed languageName: node linkType: hard "@csstools/postcss-relative-color-syntax@npm:^2.0.7": - version: 2.0.7 - resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.7" + version: 2.0.9 + resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 51aa1b481f3682fa26fe8948df4a036dfb4383385d9f8169ecb7f5b7b05a888b49b917a60eb9de6ff297f3ab67eb3e1b604774471007852df0b70abba1d414ce + checksum: dc61871efbc7f2dd1db7fb6a16d1e29dbac9e3b5b1179096decf380afb7932717f75c246d015969c0ea7be045691ba83690cbe002d9999ce924e0be8aa943f54 languageName: node linkType: hard "@csstools/postcss-scope-pseudo-class@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-scope-pseudo-class@npm:3.0.0" + version: 3.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:3.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 8198e453cb4d6571cc4ce477cd33fc5a077e434aadeb2d91cb0dbf55d3b3c300ed0d61a373bc02ef89e2406cf4e0f8aca83adc9164fc4e15fb2b90f611548118 + checksum: 489c5469951277b810754ba02e9f6c42196e03f2203b908181a81747bf1dcaa7b194c8c0f5c7dcb6b7276d08f2573a71bd7df4f2251c034ef1b92968c7070285 languageName: node linkType: hard "@csstools/postcss-stepped-value-functions@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.2" + version: 3.0.4 + resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.4" dependencies: - "@csstools/css-calc": "npm:^1.1.4" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-calc": "npm:^1.1.6" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: b80206bec3f535d1b09c25b3560575ec8747326370d0c1c807b724f12bc995d139a5e5317c0883d90a6797248445c18d5b7ced40c40358e54b6ad6c60945f81a + checksum: fc32c29cf237e9d6bf77d7cfd95abd4b98a92984f3e236009c72717ab8777427ef73a6b5425a3e1b0906ef7c694837c669a45da03493a66d556c4bbca7d39a4c languageName: node linkType: hard "@csstools/postcss-text-decoration-shorthand@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-text-decoration-shorthand@npm:3.0.3" + version: 3.0.4 + resolution: "@csstools/postcss-text-decoration-shorthand@npm:3.0.4" dependencies: - "@csstools/color-helpers": "npm:^3.0.2" + "@csstools/color-helpers": "npm:^4.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: ac66a073b3fd64977ee789a1ba5c341946064ba74dabee537a0df701018e7b44f3aca2a87ec23a301ad3322b1452ab98b1e44f8dc260d0d209c5df9e5c4883ad + checksum: 2e17535bbeed8ca5f095e6aecfb552004c1920597f16146fe6ec773b46af95f9e0e3cf77181d4216a23528de8e042bd85f82df1562447f52e7687ed8628f0adc languageName: node linkType: hard "@csstools/postcss-trigonometric-functions@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.2" + version: 3.0.4 + resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.4" dependencies: - "@csstools/css-calc": "npm:^1.1.4" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/css-calc": "npm:^1.1.6" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" peerDependencies: postcss: ^8.4 - checksum: 93799eb2a7caf0b0d13fa7c2b984eecdaffdfb3a0c12337c0a3b4ff521851cca540b7d6b40467b8b22da0539b20d90d0aa4353a885f751ce07211ccfbb2836e1 + checksum: 4db1cc7389d77df21968c3d256277ce9e50a3fd1b0cfa7f94b522800ae761dc40b838c544af777c5807cb813cad9e11190403e01a61704417e02096a0d36404e languageName: node linkType: hard "@csstools/postcss-unset-value@npm:^3.0.0": - version: 3.0.0 - resolution: "@csstools/postcss-unset-value@npm:3.0.0" + version: 3.0.1 + resolution: "@csstools/postcss-unset-value@npm:3.0.1" peerDependencies: postcss: ^8.4 - checksum: 0bad86c0eff261c0d9924a1c913984fb2fb3a2f730d4b7087015ebc64f3e0450b0105a890861b507b9e58ba7e7060889e2d4092ae00d4fd73b1d77663ac42c87 + checksum: 5032c3125eada0a3a77d0867644cf994e28b789aaa40e990e7eebcdf5a9ed9f36b30e0904827044cea39849c9a9a19c90e82d3ca655550d82a7530872b3b6ff8 languageName: node linkType: hard -"@csstools/selector-specificity@npm:^3.0.0, @csstools/selector-specificity@npm:^3.0.1": +"@csstools/selector-specificity@npm:^3.0.1": version: 3.0.1 resolution: "@csstools/selector-specificity@npm:3.0.1" peerDependencies: @@ -1777,20 +1783,20 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.2.0 - resolution: "@eslint-community/eslint-utils@npm:4.2.0" + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: eslint-visitor-keys: "npm:^3.3.0" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 7877b963583586b7885a57e3b59fa58363fbb06a9b752e22721f98fbed906fbb412521bd54a1f6597b4123663a23e907fba8ba74807008f5148c16d8db13a945 + checksum: 7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.6.1": - version: 4.6.2 - resolution: "@eslint-community/regexpp@npm:4.6.2" - checksum: da800788298f8419f4c4e04eaa4e3c97e7f57537e822e7b150de662e420e3d437816b863e490807bd0b00e715b0989f9d8864bf54357cbcfa84e4255b910789d + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 languageName: node linkType: hard @@ -1818,21 +1824,14 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff - languageName: node - linkType: hard - "@humanwhocodes/config-array@npm:^0.11.13": - version: 0.11.13 - resolution: "@humanwhocodes/config-array@npm:0.11.13" + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.1" - debug: "npm:^4.1.1" + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: d76ca802d853366094d0e98ff0d0994117fc8eff96649cd357b15e469e428228f597cd2e929d54ab089051684949955f16ee905bb19f7b2f0446fb377157be7a + checksum: 66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 languageName: node linkType: hard @@ -1843,10 +1842,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.1": - version: 2.0.1 - resolution: "@humanwhocodes/object-schema@npm:2.0.1" - checksum: 9dba24e59fdb4041829d92b693aacb778add3b6f612aaa9c0774f3b650c11a378cc64f042a59da85c11dae33df456580a3c36837b953541aed6ff94294f97fac +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f languageName: node linkType: hard @@ -1887,24 +1886,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.1.0": - version: 0.1.1 - resolution: "@jridgewell/gen-mapping@npm:0.1.1" - dependencies: - "@jridgewell/set-array": "npm:^1.0.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 3d784d87aee604bc4d48d3d9e547e0466d9f4a432cd9b3a4f3e55d104313bf3945e7e970cd5fa767bc145df11f1d568a01ab6659696be41f0ed2a817f3b583a3 - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/gen-mapping@npm:0.3.2" + version: 0.3.3 + resolution: "@jridgewell/gen-mapping@npm:0.3.3" dependencies: "@jridgewell/set-array": "npm:^1.0.1" "@jridgewell/sourcemap-codec": "npm:^1.4.10" "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 82685c8735c63fe388badee45e2970a6bc83eed1c84d46d8652863bafeca22a6c6cc15812f5999a4535366f4668ccc9ba6d5c67dfb72e846fa8a063806f10afd + checksum: 376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 languageName: node linkType: hard @@ -1915,20 +1904,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": +"@jridgewell/set-array@npm:^1.0.1": version: 1.1.2 resolution: "@jridgewell/set-array@npm:1.1.2" checksum: bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/source-map@npm:0.3.2" +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.5 + resolution: "@jridgewell/source-map@npm:0.3.5" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.0" "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 1540da323456878281c8e03fc4edc444ea151aa441eb38a43d84d39df8fec9446e375202cd999b54637f4627e42e2a38b3ab07195e5e49616fc6b7eee1b7119f + checksum: b985d9ebd833a21a6e9ace820c8a76f60345a34d9e28d98497c16b6e93ce1f131bff0abd45f8585f14aa382cce678ed680d628c631b40a9616a19cfbc2049b68 languageName: node linkType: hard @@ -1939,7 +1928,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.21, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.21, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.22 resolution: "@jridgewell/trace-mapping@npm:0.3.22" dependencies: @@ -1983,23 +1972,25 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^2.1.0": - version: 2.1.1 - resolution: "@npmcli/fs@npm:2.1.1" +"@npmcli/agent@npm:^2.0.0": + version: 2.2.0 + resolution: "@npmcli/agent@npm:2.2.0" dependencies: - "@gar/promisify": "npm:^1.1.3" - semver: "npm:^7.3.5" - checksum: a553c45cef26b846170ee10c04a177d915aaf3ac128ac4ff7e4afb2619aad4b4aef37a945f1e6bfdeaf60a56dec0a3fd75031e082ea0b930182a50bf648ca09b + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.1" + checksum: 7b89590598476dda88e79c473766b67c682aae6e0ab0213491daa6083dcc0c171f86b3868f5506f22c09aa5ea69ad7dfb78f4bf39a8dca375d89a42f408645b3 languageName: node linkType: hard -"@npmcli/move-file@npm:^2.0.0": - version: 2.0.0 - resolution: "@npmcli/move-file@npm:2.0.0" +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" dependencies: - mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 3a1920e02fa05c1c06c63b7a9614f440403942ce849cc59a2b2aed3e29f2871c4009fdf17de29d84bea3c43f2c370fbcf78d8bcb051339939eaf7cdcb7fb7132 + semver: "npm:^7.3.5" + checksum: 162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e languageName: node linkType: hard @@ -2048,9 +2039,9 @@ __metadata: linkType: hard "@popperjs/core@npm:^2.9.0": - version: 2.11.6 - resolution: "@popperjs/core@npm:2.11.6" - checksum: 90b1361ab1a19cd351e482a88cb6cf13cf25973e20797bf9b97223e64b87bde8d9668ab2f33be24475e2a092d362ac256c361b16ea4e4ab5b21f2aeaef5f9bb7 + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 languageName: node linkType: hard @@ -2061,13 +2052,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 - languageName: node - linkType: hard - "@trysound/sax@npm:0.2.0": version: 0.2.0 resolution: "@trysound/sax@npm:0.2.0" @@ -2076,29 +2060,29 @@ __metadata: linkType: hard "@types/eslint-scope@npm:^3.7.3": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: "@types/eslint": "npm:*" "@types/estree": "npm:*" - checksum: f8a19cddf9d402f079bcc261958fff5ff2616465e4fb4cd423aa966a6a32bf5d3c65ca3ca0fbe824776b48c5cd525efbaf927b98b8eeef093aa68a1a2ba19359 + checksum: a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.4.5 - resolution: "@types/eslint@npm:8.4.5" + version: 8.56.2 + resolution: "@types/eslint@npm:8.56.2" dependencies: "@types/estree": "npm:*" "@types/json-schema": "npm:*" - checksum: 81d4f9920d0ef0f694555fefe8c8b5f81cd0dfe52f4455afdc63eb724bbb0e033fc19a8bc580fb5674b6fbc8be2a2a516c370f020bbd3dd0d309cb716b1c70d6 + checksum: e33ca87a30a9454ba9943e1270ac759996f5fe598a1c1afbaec1d1e7346a339e20bf2a9d81f177067116bbaa6cfa4f748993cb338f57978ae862ad38ffae56fe languageName: node linkType: hard "@types/estree@npm:*, @types/estree@npm:^1.0.0": - version: 1.0.0 - resolution: "@types/estree@npm:1.0.0" - checksum: 4e73ff606bf7c7ccdaa66092de650c410a4ad2ecc388fdbed8242cac9dbcad72407e1ceff041b7da691babb02ff74ab885d6231fb09368fdd1eabbf1b5253d49 + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d languageName: node linkType: hard @@ -2113,64 +2097,66 @@ __metadata: linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 languageName: node linkType: hard "@types/istanbul-lib-report@npm:*": - version: 3.0.0 - resolution: "@types/istanbul-lib-report@npm:3.0.0" + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" dependencies: "@types/istanbul-lib-coverage": "npm:*" - checksum: 7ced458631276a28082ee40645224c3cdd8b861961039ff811d841069171c987ec7e50bc221845ec0d04df0022b2f457a21fb2f816dab2fbe64d59377b32031f + checksum: 247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c languageName: node linkType: hard "@types/istanbul-reports@npm:^3.0.0": - version: 3.0.1 - resolution: "@types/istanbul-reports@npm:3.0.1" + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" dependencies: "@types/istanbul-lib-report": "npm:*" - checksum: e147f0db9346a0cae9a359220bc76f7c78509fb6979a2597feb24d64b6e8328d2d26f9d152abbd59c6bca721e4ea2530af20116d01df50815efafd1e151fd777 + checksum: 1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee languageName: node linkType: hard "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: bd1f9a7b898ff15c4bb494eb19124f2d688b804c39f07cbf135ac73f35324970e9e8329b72aae1fb543d925ea295a1568b23056c26658cecec4741fa28c3b81a + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard "@types/minimatch@npm:*": - version: 3.0.5 - resolution: "@types/minimatch@npm:3.0.5" - checksum: a1a19ba342d6f39b569510f621ae4bbe972dc9378d15e9a5e47904c440ee60744f5b09225bc73be1c6490e3a9c938eee69eb53debf55ce1f15761201aa965f97 + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 languageName: node linkType: hard "@types/node@npm:*": - version: 18.0.6 - resolution: "@types/node@npm:18.0.6" - checksum: 720178d0c14aa4fc20db299f1446163fbe8b5d97ed54ab697135ab5685352e468f99735d319a081b55436bf66ed8a84ea234876317ca4b71998be9e09c1ef170 + version: 20.11.6 + resolution: "@types/node@npm:20.11.6" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 922bc1e78076bb79fd168902c80321b54487181e3be3386e183fc535d102d91c8902da25148eaec841410fab7fb872fd4a93ec9ac9299cedf0ebcbf16b442aa1 languageName: node linkType: hard "@types/yargs-parser@npm:*": - version: 21.0.0 - resolution: "@types/yargs-parser@npm:21.0.0" - checksum: cb89f3bb2e8002f1479a65a934e825be4cc18c50b350bbc656405d41cf90b8a299b105e7da497d7eb1aa460472a07d1e5a389f3af0862f1d1252279cfcdd017c + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 languageName: node linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.13 - resolution: "@types/yargs@npm:17.0.13" + version: 17.0.32 + resolution: "@types/yargs@npm:17.0.32" dependencies: "@types/yargs-parser": "npm:*" - checksum: 5005e1e7408b9fea96c356becf19256f1a9bca02120852d3c0089ba7123528b0b6891185e9c92bac25cb5c04090a7a714b201523a6bf4a8a226852205c631208 + checksum: 2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf languageName: node linkType: hard @@ -2181,154 +2167,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.5, @webassemblyjs/ast@npm:^1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/ast@npm:1.11.5" +"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": + version: 1.11.6 + resolution: "@webassemblyjs/ast@npm:1.11.6" dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.5" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.5" - checksum: e18a6613b0edf70dcafb210941bd7923a233280b9b9d6ae65b165da9856fb5a7f2576d18587e9ec83fcb618a0e22df5be2d5b046fec063355f70ad7f974d13ae + "@webassemblyjs/helper-numbers": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + checksum: e28476a183c8a1787adcf0e5df1d36ec4589467ab712c674fe4f6769c7fb19d1217bfb5856b3edd0f3e0a148ebae9e4bbb84110cee96664966dfef204d9c31fb languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.5" - checksum: 9ac08fbbe10539e88e4b2aa04c2af89caab25e1489ce14f4de7cd3ec1e86512d6a94c0285637553f64430ef46362813604d412e8af9e98acea6c7c4eca5952df +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.5" - checksum: 18b9f58f41f3a71cd6d307dd1585f1a193e0bcadada2d3b0e6ebb82ae00808588dba378512375e7ee8a5c8cf6027172d79315394bbb451fdaf63a8949bf7b750 +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.5" - checksum: d1e3ff85164821cf1c503a91cd848984f2499feee42509074ba9780d07e9138911816c34b8e263547312f7bd5f3b81e96a176c01e0c702f97a85a2d824ef01b5 +"@webassemblyjs/helper-buffer@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-buffer@npm:1.11.6" + checksum: 55b5d67db95369cdb2a505ae7ebdf47194d49dfc1aecb0f5403277dcc899c7d3e1f07e8d279646adf8eafd89959272db62ca66fbe803321661ab184176ddfd3a languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.5" +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.5" - "@webassemblyjs/helper-api-error": "npm:1.11.5" + "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" + "@webassemblyjs/helper-api-error": "npm:1.11.6" "@xtuc/long": "npm:4.2.2" - checksum: 50ef3f194f3e8d8a3be180d6ab513036acc8d1647cb8311b32e1fa43c6876cc9a5862ec5019607170538f74fdeaa5d9507fc78d54c8e4dac2cd17cec128374bd + checksum: c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.5" - checksum: 249ac6259737b370d30ee4b7a9bc07f9e92d2200a6d0cebb87ca0d18de4f2921f76a481599d777d1c83015ac0f4cc407100678afe4e6b1aab9d0827b201e3eff +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.5" +"@webassemblyjs/helper-wasm-section@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" - "@webassemblyjs/helper-buffer": "npm:1.11.5" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.5" - "@webassemblyjs/wasm-gen": "npm:1.11.5" - checksum: 4c732d60131d488efaee32ecb228fe1b6991e79953cfbfbcd782ea87ac097dd2bc5b84abc5d5fdf3e277d1eb309c6d0e31a43a6c6033a5ec937f538e3a63ee63 + "@webassemblyjs/ast": "npm:1.11.6" + "@webassemblyjs/helper-buffer": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.11.6" + checksum: b79b19a63181f32e5ee0e786fa8264535ea5360276033911fae597d2de15e1776f028091d08c5a813a3901fd2228e74cd8c7e958fded064df734f00546bef8ce languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/ieee754@npm:1.11.5" +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" dependencies: "@xtuc/ieee754": "npm:^1.2.0" - checksum: 6af4e17da909ba86b7ca2065912220d99689d5af0a05b819317b05e0454a950322530044cb82ce63c841454871e934546d38ad96ab2979872dafb96b0f34f9d4 + checksum: 59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/leb128@npm:1.11.5" +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" dependencies: "@xtuc/long": "npm:4.2.2" - checksum: 7f10ce18f226445b8d6a904be614bf07e7eec421bb7b22d202d9b6817faeb440bcd6b35e291446d4c46dd98c90d0673f3d682891428a9bf07d7fe82d73d8de57 + checksum: cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/utf8@npm:1.11.5" - checksum: a396ccc6635d0eeac99a0c812ea8a4b28d7a035242dc0b555723268219b1141cd5a18c85fa9dec899c69765d8c8d5ec0537c777395389ee6f79cab94b78fcd79 +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee languageName: node linkType: hard "@webassemblyjs/wasm-edit@npm:^1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.5" + version: 1.11.6 + resolution: "@webassemblyjs/wasm-edit@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" - "@webassemblyjs/helper-buffer": "npm:1.11.5" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.5" - "@webassemblyjs/helper-wasm-section": "npm:1.11.5" - "@webassemblyjs/wasm-gen": "npm:1.11.5" - "@webassemblyjs/wasm-opt": "npm:1.11.5" - "@webassemblyjs/wasm-parser": "npm:1.11.5" - "@webassemblyjs/wast-printer": "npm:1.11.5" - checksum: f8db94190805a68ff9389ddf5dd16bdcb27e59e307fe5922aab64ae396fa66538a86c00c9b1a0013e2488aa22a3e2572b5cf9aeabcb6b0ab859a096390b0bc4c + "@webassemblyjs/ast": "npm:1.11.6" + "@webassemblyjs/helper-buffer": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/helper-wasm-section": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.11.6" + "@webassemblyjs/wasm-opt": "npm:1.11.6" + "@webassemblyjs/wasm-parser": "npm:1.11.6" + "@webassemblyjs/wast-printer": "npm:1.11.6" + checksum: 9a56b6bf635cf7aa5d6e926eaddf44c12fba050170e452a8e17ab4e1b937708678c03f5817120fb9de1e27167667ce693d16ce718d41e5a16393996a6017ab73 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.5" +"@webassemblyjs/wasm-gen@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-gen@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.5" - "@webassemblyjs/ieee754": "npm:1.11.5" - "@webassemblyjs/leb128": "npm:1.11.5" - "@webassemblyjs/utf8": "npm:1.11.5" - checksum: c5097c28e0fcc26d8afc77783f677cf4e74b1fdb1039fc3e2ecd8cc921b9c02acc2b74c12f7f8d5ee04bf455c1b9c0543b023e65c37bef67f92690306b1aa453 + "@webassemblyjs/ast": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: ce9a39d3dab2eb4a5df991bc9f3609960daa4671d25d700f4617152f9f79da768547359f817bee10cd88532c3e0a8a1714d383438e0a54217eba53cb822bd5ad languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.5" +"@webassemblyjs/wasm-opt@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-opt@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" - "@webassemblyjs/helper-buffer": "npm:1.11.5" - "@webassemblyjs/wasm-gen": "npm:1.11.5" - "@webassemblyjs/wasm-parser": "npm:1.11.5" - checksum: be0c21c2d597dcfea6065ef33e8208cc651adfaf013284b7ab6ca21edfa25c4faaf97553c23f89daabd5a8e100875c241058955234a44f41420eb1f61e92c0ed + "@webassemblyjs/ast": "npm:1.11.6" + "@webassemblyjs/helper-buffer": "npm:1.11.6" + "@webassemblyjs/wasm-gen": "npm:1.11.6" + "@webassemblyjs/wasm-parser": "npm:1.11.6" + checksum: 82788408054171688e9f12883b693777219366d6867003e34dccc21b4a0950ef53edc9d2b4d54cabdb6ee869cf37c8718401b4baa4f70a7f7dd3867c75637298 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.5, @webassemblyjs/wasm-parser@npm:^1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.5" +"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-parser@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" - "@webassemblyjs/helper-api-error": "npm:1.11.5" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.5" - "@webassemblyjs/ieee754": "npm:1.11.5" - "@webassemblyjs/leb128": "npm:1.11.5" - "@webassemblyjs/utf8": "npm:1.11.5" - checksum: f1accb914be6526a9630c669e090abfcd0070290d8d7e0f4ddab2e5689de262f987a0ca24b9ca51a3ce84c514c889bcb632fa7a604eced04ae5ad869e523eaea + "@webassemblyjs/ast": "npm:1.11.6" + "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" + "@webassemblyjs/ieee754": "npm:1.11.6" + "@webassemblyjs/leb128": "npm:1.11.6" + "@webassemblyjs/utf8": "npm:1.11.6" + checksum: 7a97a5f34f98bdcfd812157845a06d53f3d3f67dbd4ae5d6bf66e234e17dc4a76b2b5e74e5dd70b4cab9778fc130194d50bbd6f9a1d23e15ed1ed666233d6f5f languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.5": - version: 1.11.5 - resolution: "@webassemblyjs/wast-printer@npm:1.11.5" +"@webassemblyjs/wast-printer@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wast-printer@npm:1.11.6" dependencies: - "@webassemblyjs/ast": "npm:1.11.5" + "@webassemblyjs/ast": "npm:1.11.6" "@xtuc/long": "npm:4.2.2" - checksum: 7d506ebe0f03c1fb039eec667cc7dea8bb424be3e67e5899389da7eb093a239b443b6502a0a254b6dc981198a1ce9351375d5c323d09933f4dbee43cac5d618d + checksum: 916b90fa3a8aadd95ca41c21d4316d0a7582cf6d0dcf6d9db86ab0de823914df513919fba60ac1edd227ff00e93a66b927b15cbddd36b69d8a34c8815752633c languageName: node linkType: hard @@ -2379,10 +2365,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 languageName: node linkType: hard @@ -2404,32 +2390,21 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.9.0": - version: 8.9.0 - resolution: "acorn@npm:8.9.0" +"acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" bin: acorn: bin/acorn - checksum: 5b51689d56f1ca5d6ea1fa58af478affd8d3396403637abcbc7caf28e1a47beb537cf1654f537b6cf4c73377f3e1aa99fd4a50674e64daefe08cb25c799ded28 + checksum: 3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 languageName: node linkType: hard -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agentkeepalive@npm:^4.2.1": - version: 4.2.1 - resolution: "agentkeepalive@npm:4.2.1" +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.0 + resolution: "agent-base@npm:7.1.0" dependencies: - debug: "npm:^4.1.0" - depd: "npm:^1.1.2" - humanize-ms: "npm:^1.2.1" - checksum: 259dafa84a9e1f9e277ac8b31995a7a4f4db36a1df1710e9d413d98c6c013ab81370ad585d92038045cc8657662e578b07fd60b312b212f59ad426b10e1d6dce + debug: "npm:^4.3.4" + checksum: fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce languageName: node linkType: hard @@ -2548,29 +2523,12 @@ __metadata: linkType: hard "anymatch@npm:~3.1.2": - version: 3.1.2 - resolution: "anymatch@npm:3.1.2" + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" dependencies: normalize-path: "npm:^3.0.0" picomatch: "npm:^2.0.4" - checksum: 900645535aee46ed7958f4f5b5e38abcbf474b5230406e913de15fc9a1310f0d5322775deb609688efe31010fa57831e55d36040b19826c22ce61d537e9b9759 - languageName: node - linkType: hard - -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 - languageName: node - linkType: hard - -"are-we-there-yet@npm:^3.0.0": - version: 3.0.0 - resolution: "are-we-there-yet@npm:3.0.0" - dependencies: - delegates: "npm:^1.0.0" - readable-stream: "npm:^3.6.0" - checksum: 91cd4ad8a914437720bd726a36304ae279209fb13ce0f7e183ae752ae6d0070b56717a06a96b186728f9e74cb90837e5ee167a717119367b0ff3c4d2cef389ff + checksum: 57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac languageName: node linkType: hard @@ -2621,19 +2579,19 @@ __metadata: linkType: hard "async@npm:^3.2.2": - version: 3.2.4 - resolution: "async@npm:3.2.4" - checksum: b5d02fed64717edf49e35b2b156debd9cf524934ea670108fa5528e7615ed66a5e0bf6c65f832c9483b63aa7f0bffe3e588ebe8d58a539b833798d324516e1c9 + version: 3.2.5 + resolution: "async@npm:3.2.5" + checksum: 1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 languageName: node linkType: hard "autoprefixer@npm:^10.4.16": - version: 10.4.16 - resolution: "autoprefixer@npm:10.4.16" + version: 10.4.17 + resolution: "autoprefixer@npm:10.4.17" dependencies: - browserslist: "npm:^4.21.10" - caniuse-lite: "npm:^1.0.30001538" - fraction.js: "npm:^4.3.6" + browserslist: "npm:^4.22.2" + caniuse-lite: "npm:^1.0.30001578" + fraction.js: "npm:^4.3.7" normalize-range: "npm:^0.1.2" picocolors: "npm:^1.0.0" postcss-value-parser: "npm:^4.2.0" @@ -2641,7 +2599,7 @@ __metadata: postcss: ^8.1.0 bin: autoprefixer: bin/autoprefixer - checksum: e00256e754d481a026d928bca729b25954074dd142dbec022f0a7db0d3bbc0dc2e2dc7542e94fec22eff81e21fe140e6856448e2d9a002660cb1e2ad434daee0 + checksum: 1d21cc8edb7bf993682094ceed03a32c18f5293f071182a64c2c6defb44bbe91d576ad775d2347469a81997b80cea0bbc4ad3eeb5b12710f9feacf2e6c04bb51 languageName: node linkType: hard @@ -2659,15 +2617,15 @@ __metadata: linkType: hard "babel-plugin-polyfill-corejs2@npm:^0.4.7": - version: 0.4.7 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.7" + version: 0.4.8 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.8" dependencies: "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: f80f7284ec72c63e7dd751e0bdf25e9978df195a79e0887470603bfdea13ee518d62573cf360bb1bc01b80819e54915dd5edce9cff14c52d0af5f984aa3d36a3 + checksum: 843e7528de0e03a31a6f3837896a95f75b0b24b0294a077246282372279e974400b0bdd82399e8f9cbfe42c87ed56540fd71c33eafb7c8e8b9adac546ecc5fe5 languageName: node linkType: hard @@ -2684,13 +2642,13 @@ __metadata: linkType: hard "babel-plugin-polyfill-regenerator@npm:^0.5.4": - version: 0.5.4 - resolution: "babel-plugin-polyfill-regenerator@npm:0.5.4" + version: 0.5.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 0b903f5fe2f8c487b4260935dfe60bd9a95bcaee7ae63958f063045093b16d4e8288c232199d411261300aa21f6b106a3cb83c42cc996de013b337f5825a79fe + checksum: 2aab692582082d54e0df9f9373dca1b223e65b4e7e96440160f27ed8803d417a1fa08da550f08aa3820d2010329ca91b68e2b6e9bd7aed51c93d46dfe79629bb languageName: node linkType: hard @@ -2757,7 +2715,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.10, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": version: 4.22.2 resolution: "browserslist@npm:4.22.2" dependencies: @@ -2778,29 +2736,23 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^16.1.0": - version: 16.1.1 - resolution: "cacache@npm:16.1.1" +"cacache@npm:^18.0.0": + version: 18.0.2 + resolution: "cacache@npm:18.0.2" dependencies: - "@npmcli/fs": "npm:^2.1.0" - "@npmcli/move-file": "npm:^2.0.0" - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.1.0" - glob: "npm:^8.0.1" - infer-owner: "npm:^1.0.4" - lru-cache: "npm:^7.7.1" - minipass: "npm:^3.1.6" - minipass-collect: "npm:^1.0.2" + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - mkdirp: "npm:^1.0.4" p-map: "npm:^4.0.0" - promise-inflight: "npm:^1.0.1" - rimraf: "npm:^3.0.2" - ssri: "npm:^9.0.0" + ssri: "npm:^10.0.0" tar: "npm:^6.1.11" - unique-filename: "npm:^1.1.1" - checksum: 8f257699d9bfe41c40340522cb4920ce88b35d07ea7733f92c5e56ead390ae43468035627385a3d6019ad89dd96e8bc3eeca646980290921406ec1fa9199ba7d + unique-filename: "npm:^3.0.0" + checksum: 7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc languageName: node linkType: hard @@ -2823,10 +2775,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001538, caniuse-lite@npm:^1.0.30001565": - version: 1.0.30001570 - resolution: "caniuse-lite@npm:1.0.30001570" - checksum: e47230d2016edea56e002fa462a5289f697b48dcfbf703fb01aecc6c98ad4ecaf945ab23c253cb7af056c2d05f266e4e4cbebf45132100e2c9367439cb95b95b +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001565, caniuse-lite@npm:^1.0.30001578": + version: 1.0.30001579 + resolution: "caniuse-lite@npm:1.0.30001579" + checksum: 4003970f8d01a5fa314e39f4a21751dc750a530f3d19aed225e18e8e02892b590b8b0debfa0961eae9bc0e49b77bfb17cf30d2469540e428a8305e3cc9164fb8 languageName: node linkType: hard @@ -2885,9 +2837,9 @@ __metadata: linkType: hard "ci-info@npm:^3.2.0": - version: 3.4.0 - resolution: "ci-info@npm:3.4.0" - checksum: 725cabad267e601ec4be269e1af744bedede3bdd42f25bc269d97c05be31bc2edfa8511d8b0eedf27c42ffb87c1dc21af49b20fae1d9ac0345963b13499e8a99 + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a languageName: node linkType: hard @@ -2952,15 +2904,6 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 - languageName: node - linkType: hard - "colord@npm:^2.9.1, colord@npm:^2.9.3": version: 2.9.3 resolution: "colord@npm:2.9.3" @@ -2969,9 +2912,9 @@ __metadata: linkType: hard "colorette@npm:^2.0.14": - version: 2.0.19 - resolution: "colorette@npm:2.0.19" - checksum: 2bcc9134095750fece6e88167011499b964b78bf0ea953469130ddb1dba3c8fe6c03debb0ae181e710e2be10900d117460f980483a7df4ba4a1bac3b182ecb64 + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 languageName: node linkType: hard @@ -3017,13 +2960,6 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -3032,11 +2968,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": - version: 3.35.0 - resolution: "core-js-compat@npm:3.35.0" + version: 3.35.1 + resolution: "core-js-compat@npm:3.35.1" dependencies: browserslist: "npm:^4.22.2" - checksum: 8c4379240b8decb94b21e81d5ba6f768418721061923b28c9dfc97574680c35d778d39c010207402fc7c8308a68a4cf6d5e02bcbcb96e931c52e6e0dce29a68c + checksum: c3b872e1f9703aa9554cce816207d85730da4703f1776c540b4da11bbbef6d9a1e6041625b5c1f58d2ada3d05f4a2b92897b7de5315c5ecd5d33d50dec86cca7 languageName: node linkType: hard @@ -3069,13 +3005,13 @@ __metadata: linkType: hard "css-blank-pseudo@npm:^6.0.0": - version: 6.0.0 - resolution: "css-blank-pseudo@npm:6.0.0" + version: 6.0.1 + resolution: "css-blank-pseudo@npm:6.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 2cbcc79dc56d27152a1c4b7af522228f78e12c2a59158944736b49ced63e197c69ff16927198286fb3630e4ffe202106de4b5775f10e661e58d741a6ac3593a6 + checksum: 04f2dc1c39a429cb4958b60a9d00b03e29a78e3e55fe111b3a0660b7c6c478455d5907eda7c7a495cf72dbe83ae3c80b409e0468ca1ba5ccef992e69a8f49df8 languageName: node linkType: hard @@ -3096,15 +3032,15 @@ __metadata: linkType: hard "css-has-pseudo@npm:^6.0.0": - version: 6.0.0 - resolution: "css-has-pseudo@npm:6.0.0" + version: 6.0.1 + resolution: "css-has-pseudo@npm:6.0.1" dependencies: - "@csstools/selector-specificity": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^3.0.1" postcss-selector-parser: "npm:^6.0.13" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: b1de0133f2fd8c8317409e982d01bf9ecdf381c13127542accd99d13ddb3e52a2a077c5287580d42eccc9a80613faa23741f69f624a470d3c8285d61d0c804e7 + checksum: 3f48dd4165bcc8e3a4f66e096f944eb18255daca62a389ca64227193bd2320a3ada1b884aac8a61c0834cae41647c1a3358049a6c9ab3c04725e0231260cbf63 languageName: node linkType: hard @@ -3156,11 +3092,11 @@ __metadata: linkType: hard "css-prefers-color-scheme@npm:^9.0.0": - version: 9.0.0 - resolution: "css-prefers-color-scheme@npm:9.0.0" + version: 9.0.1 + resolution: "css-prefers-color-scheme@npm:9.0.1" peerDependencies: postcss: ^8.4 - checksum: 35664c553865480e567ccc30172a0682f243b42309c26cc98f5063c2518a6e053b42a3e5b4455ca334074907fb447a883dcd1edd7a8fa1e09263f8f4e9d89568 + checksum: b94da00d84c4ebb56eb8fce96d4fdb20d2e622a7cd8cd6d7b87d1d2b718a55ce88bccc9d871771bfe77c5107de06132ba87190e3656f049e45f19f652d50136c languageName: node linkType: hard @@ -3205,9 +3141,9 @@ __metadata: linkType: hard "cssdb@npm:^7.9.0": - version: 7.9.0 - resolution: "cssdb@npm:7.9.0" - checksum: 7c8082c58a0288d0ee04e8d44357dc9070ad600e02fb446cfaca01d820f3e00f7d7cbd4151a5b155dd6c6b51b60fc1381acf27268ae3fe00cd90b5b86c918a7f + version: 7.10.0 + resolution: "cssdb@npm:7.10.0" + checksum: 2e0ee41481680515e5d08eabe426fa98d4aa04b8a76fd004b8b0c4fdfbfafc28957d84837542a7e6da8b408b2f1f3fb655a3ce9bc68d5cfa5634895f904910e4 languageName: node linkType: hard @@ -3289,7 +3225,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3323,20 +3259,6 @@ __metadata: languageName: node linkType: hard -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 - languageName: node - linkType: hard - -"depd@npm:^1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -3373,7 +3295,7 @@ __metadata: languageName: node linkType: hard -"domhandler@npm:^5.0.1, domhandler@npm:^5.0.2": +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": version: 5.0.3 resolution: "domhandler@npm:5.0.3" dependencies: @@ -3383,13 +3305,13 @@ __metadata: linkType: hard "domutils@npm:^3.0.1": - version: 3.0.1 - resolution: "domutils@npm:3.0.1" + version: 3.1.0 + resolution: "domutils@npm:3.1.0" dependencies: dom-serializer: "npm:^2.0.0" domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.1" - checksum: 8ec14e7e54f58cae0062fa9aaf97c05a094733ff6df8ede588c57d96799ceb45d1ea46479e8dd285f43af43b3e7618a501b2b41d2c2080078d5947b5fee2b5f9 + domhandler: "npm:^5.0.3" + checksum: 342d64cf4d07b8a0573fb51e0a6312a88fb520c7fefd751870bf72fa5fc0f2e0cb9a3958a573610b1d608c6e2a69b8e9b4b40f0bfb8f87a71bce4f180cca1887 languageName: node linkType: hard @@ -3401,9 +3323,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.601": - version: 1.4.612 - resolution: "electron-to-chromium@npm:1.4.612" - checksum: 4afeae778beb67e81a47e362b72847efc24161b7673818b3d5a36fa0678f006629436a5cfa6b0bb0291927c61d01e58b66330942cc7f4109f170bdec6bfafd73 + version: 1.4.645 + resolution: "electron-to-chromium@npm:1.4.645" + checksum: a77ad457b960fae4ca109eda9e0d6263686c9868ded5c02029ad18cd69387376395ab113104b01a3355ae5efd4a4d63deb3d00af41c52b48c1408aa7719aec75 languageName: node linkType: hard @@ -3448,9 +3370,9 @@ __metadata: linkType: hard "entities@npm:^4.2.0": - version: 4.4.0 - resolution: "entities@npm:4.4.0" - checksum: b7971419897622d3996bbbff99249e166caaaf3ea95d3841d6dc5d3bf315f133b649fbe932623e3cc527d871112e7563a8284e24f23e472126aa90c4e9c3215b + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 languageName: node linkType: hard @@ -3462,11 +3384,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.8.1 - resolution: "envinfo@npm:7.8.1" + version: 7.11.0 + resolution: "envinfo@npm:7.11.0" bin: envinfo: dist/cli.js - checksum: 01efe7fcf55d4b84a146bc638ef89a89a70b610957db64636ac7cc4247d627eeb1c808ed79d3cfbe3d4fed5e8ba3d61db79c1ca1a3fea9f38639561eefd68733 + checksum: 4415b9c1ca32cdf92ce126136b9965eeac2efd6ab7e5278c06e8f86d048edad87ef4084710313a6d938ef9bc084ab17e1caee16339d731d230f3e2650f3aaf4d languageName: node linkType: hard @@ -3487,9 +3409,9 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.2.1 - resolution: "es-module-lexer@npm:1.2.1" - checksum: 6e0a9095e0abe38f480e0f366cdeca19db64d85a533da9332739a64d70e97a61e68c1f98a2396468ae6229245b8e5edcb1e48c4d3615ae4da9052a1bdc2367e2 + version: 1.4.1 + resolution: "es-module-lexer@npm:1.4.1" + checksum: b7260a138668554d3f0ddcc728cb4b60c2fa463f15545cf155ecbdd5450a1348952d58298a7f48642e900ee579f21d7f5304b6b3c61b3d9fc2d4b2109b5a9dff languageName: node linkType: hard @@ -3622,11 +3544,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" + version: 1.5.0 + resolution: "esquery@npm:1.5.0" dependencies: estraverse: "npm:^5.1.0" - checksum: b4109b3d8301e79bf0be10bbafe4ac9c5469274e61b07a16e7174e99efe815081bc18ac2e6d951d06df95004ac5772751db5d5b14483e51aefa96b018726117d + checksum: a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 languageName: node linkType: hard @@ -3667,6 +3589,13 @@ __metadata: languageName: node linkType: hard +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -3716,11 +3645,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.13.0 - resolution: "fastq@npm:1.13.0" + version: 1.16.0 + resolution: "fastq@npm:1.16.0" dependencies: reusify: "npm:^1.0.4" - checksum: 76c7b5dafb93c7e74359a3e6de834ce7a7c2e3a3184050ed4cb652661de55cf8d4895178d8d3ccd23069395056c7bb15450660d38fb382ca88c142b22694d7c9 + checksum: 38c1b49adba639af020727284a02af021acab764efd7f088bc31364e8a5b01ce9031eb6c5f7f304019b8267c3b7c236e79d6904884f50f94f83b1700b8a6619a languageName: node linkType: hard @@ -3813,6 +3742,15 @@ __metadata: languageName: node linkType: hard +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.2.9 resolution: "flatted@npm:3.2.9" @@ -3830,14 +3768,14 @@ __metadata: languageName: node linkType: hard -"fraction.js@npm:^4.3.6": +"fraction.js@npm:^4.3.7": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" checksum: df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 languageName: node linkType: hard -"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": +"fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -3846,6 +3784,15 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + "fs-readdir-recursive@npm:^1.1.0": version: 1.1.0 resolution: "fs-readdir-recursive@npm:1.1.0" @@ -3861,44 +3808,28 @@ __metadata: linkType: hard "fsevents@npm:~2.3.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" dependencies: node-gyp: "npm:latest" - checksum: be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + checksum: a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 conditions: os=darwin languageName: node linkType: hard "fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: node-gyp: "npm:latest" conditions: os=darwin languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: 60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: "npm:^1.0.3 || ^2.0.0" - color-support: "npm:^1.1.3" - console-control-strings: "npm:^1.1.0" - has-unicode: "npm:^2.0.1" - signal-exit: "npm:^3.0.7" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - wide-align: "npm:^1.1.5" - checksum: ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 languageName: node linkType: hard @@ -3934,7 +3865,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.3.7": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": version: 10.3.10 resolution: "glob@npm:10.3.10" dependencies: @@ -3949,7 +3880,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": +"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -3963,19 +3894,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1": - version: 8.0.3 - resolution: "glob@npm:8.0.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 07ebaf2ed83e76b10901ec4982040ebd85458b787b4386f751a0514f6c8e416ed6c9eec5a892571eb0ef00b09d1bd451f72b5d9fb7b63770efd400532486e731 - languageName: node - linkType: hard - "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -4004,11 +3922,11 @@ __metadata: linkType: hard "globals@npm:^13.19.0": - version: 13.19.0 - resolution: "globals@npm:13.19.0" + version: 13.24.0 + resolution: "globals@npm:13.24.0" dependencies: type-fest: "npm:^0.20.2" - checksum: d2bb3164ed9f5ec82b91e96d6a5ffc1cca3cb10f6c41df9687cd7712ba82f5534ed028b11c5717d71c938403bf8ffc97bb06f5f2eab8c1b91e6273b08b33b5e6 + checksum: d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd languageName: node linkType: hard @@ -4047,9 +3965,9 @@ __metadata: linkType: hard "graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 languageName: node linkType: hard @@ -4106,19 +4024,12 @@ __metadata: languageName: node linkType: hard -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c - languageName: node - linkType: hard - -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" dependencies: - function-bind: "npm:^1.1.1" - checksum: e1da0d2bd109f116b632f27782cf23182b42f14972ca9540e4c5aa7e52647407a0a4a76937334fddcb56befe94a3494825ec22b19b51f5e5507c3153fd1a5e1b + function-bind: "npm:^1.1.2" + checksum: 5d415b114f410661208c95e7ab4879f1cc2765b8daceff4dc8718317d1cb7b9ffa7c5d1eafd9a4389c9aab7445d6ea88e05f3096cb1e529618b55304956b87fc languageName: node linkType: hard @@ -4136,40 +4047,30 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.0": +"http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" +"http-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "http-proxy-agent@npm:7.0.0" dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8 languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" +"https-proxy-agent@npm:^7.0.1": + version: 7.0.2 + resolution: "https-proxy-agent@npm:7.0.2" dependencies: - agent-base: "npm:6" + agent-base: "npm:^7.0.2" debug: "npm:4" - checksum: 6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: "npm:^2.0.0" - checksum: f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + checksum: 7735eb90073db087e7e79312e3d97c8c04baf7ea7ca7b013382b6a45abbaa61b281041a98f4e13c8c80d88f843785bcc84ba189165b4b4087b1e3496ba656d77 languageName: node linkType: hard @@ -4199,9 +4100,9 @@ __metadata: linkType: hard "immutable@npm:^4.0.0": - version: 4.3.0 - resolution: "immutable@npm:4.3.0" - checksum: e09d40ceb442972f1cbd2914638d1a201853155b8edfbafc44e7aabcf221890e55e8f03d5b3d884666264bf973e02bbf72f83a12b9754bc2c9e47cf8827dd571 + version: 4.3.4 + resolution: "immutable@npm:4.3.4" + checksum: c15b9f0fa7b3c9315725cb00704fddad59f0e668a7379c39b9a528a8386140ee9effb015ae51a5b423e05c59d15fc0b38c970db6964ad6b3e05d0761db68441f languageName: node linkType: hard @@ -4241,13 +4142,6 @@ __metadata: languageName: node linkType: hard -"infer-owner@npm:^1.0.4": - version: 1.0.4 - resolution: "infer-owner@npm:1.0.4" - checksum: a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -4258,7 +4152,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3": +"inherits@npm:2": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -4302,12 +4196,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.9.0": - version: 2.9.0 - resolution: "is-core-module@npm:2.9.0" +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: "npm:^1.0.3" - checksum: 056fe4c5f9f383dc1c1b0dc3250c300880b9b1e17e1885077d64a1667926ecc11ba696776597616bfd2fd7f87c7476c01b127a0c842b4821bee2414d0e296e6e + hasown: "npm:^2.0.0" + checksum: 2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 languageName: node linkType: hard @@ -4403,6 +4297,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -4752,6 +4653,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -4770,20 +4678,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.7.1": - version: 7.13.1 - resolution: "lru-cache@npm:7.13.1" - checksum: 72034557cdb0d2ae32e5c1db928ee32b6d2b3a3e7b5aae2860f4f4c7272fefd4ebc5292a9df1dde10d07a78517836c49d84d8b101df13c100343bba80839c6cf - languageName: node - linkType: hard - -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.1.0 - resolution: "lru-cache@npm:10.1.0" - checksum: 778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e - languageName: node - linkType: hard - "make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -4794,27 +4688,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.3": - version: 10.2.0 - resolution: "make-fetch-happen@npm:10.2.0" +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" dependencies: - agentkeepalive: "npm:^4.2.1" - cacache: "npm:^16.1.0" - http-cache-semantics: "npm:^4.1.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" is-lambda: "npm:^1.0.1" - lru-cache: "npm:^7.7.1" - minipass: "npm:^3.1.6" - minipass-collect: "npm:^1.0.2" - minipass-fetch: "npm:^2.0.3" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" negotiator: "npm:^0.6.3" promise-retry: "npm:^2.0.1" - socks-proxy-agent: "npm:^7.0.0" - ssri: "npm:^9.0.0" - checksum: ec51ded78f2d47be39aab4c4c1091e1850cf32b66472e252fc8927e26ad393c5c582178a95d5e77153566e9b2584909f2a7427ca5963f034b8ff0ba9c9f6518d + ssri: "npm:^10.0.0" + checksum: 43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 languageName: node linkType: hard @@ -4906,15 +4795,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.1.0 - resolution: "minimatch@npm:5.1.0" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 21c4877438068da0728eeb678107ea716fd3c76fcde713c9d11b01d7d15c276071aa2fecfcd353b970a290cffd572c3ed43e0a64804470ab9ae97717ed13fb18 - languageName: node - linkType: hard - "minimatch@npm:^9.0.1": version: 9.0.3 resolution: "minimatch@npm:9.0.3" @@ -4925,33 +4805,33 @@ __metadata: linkType: hard "minimist@npm:^1.2.0, minimist@npm:^1.2.5": - version: 1.2.7 - resolution: "minimist@npm:1.2.7" - checksum: 8808da67ca50ee19ab2d69051d77ee78572e67297fd8a1635ecc757a15106ccdfb5b8c4d11d84750120142f1684e5329a141295728c755e5d149eedd73cc6572 + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 languageName: node linkType: hard -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" dependencies: - minipass: "npm:^3.0.0" - checksum: 8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 + minipass: "npm:^7.0.3" + checksum: 5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e languageName: node linkType: hard -"minipass-fetch@npm:^2.0.3": - version: 2.1.0 - resolution: "minipass-fetch@npm:2.1.0" +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" dependencies: encoding: "npm:^0.1.13" - minipass: "npm:^3.1.6" + minipass: "npm:^7.0.3" minipass-sized: "npm:^1.0.3" minizlib: "npm:^2.1.2" dependenciesMeta: encoding: optional: true - checksum: 42c033fc1dfc245bd0d673922780dd68b769d3f9f973aeea2f03dd9fe37854a0a2892aa86c4db67e8179d2a271437212027419a866b91e5e2345fc56f9d1f71e + checksum: 1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 languageName: node linkType: hard @@ -4982,16 +4862,23 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": - version: 3.3.4 - resolution: "minipass@npm:3.3.4" +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" dependencies: yallist: "npm:^4.0.0" - checksum: 942522f16a60b651de81031a095149206ebb8647f7d029f5eb4eed23b04e4f872a93ffec5f7dceb6defb00fa80cc413dd5aa1131471a480a24d7167f8264a273 + checksum: a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": version: 7.0.4 resolution: "minipass@npm:7.0.4" checksum: 6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 @@ -5008,7 +4895,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -5024,13 +4911,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - "nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" @@ -5062,22 +4942,22 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 9.1.0 - resolution: "node-gyp@npm:9.1.0" + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" dependencies: env-paths: "npm:^2.2.0" - glob: "npm:^7.1.4" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^10.0.3" - nopt: "npm:^5.0.0" - npmlog: "npm:^6.0.0" - rimraf: "npm:^3.0.2" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^3.0.0" semver: "npm:^7.3.5" tar: "npm:^6.1.2" - which: "npm:^2.0.2" + which: "npm:^4.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 906a1ddcfadfdfcaad140bdf010bda42fe1c012b24c2176f58460fda4687a720f50753a1b9f3dd231fa25fb47abebe199d2c70ce84d3a4c134176c04bde2704d + checksum: abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa languageName: node linkType: hard @@ -5088,14 +4968,14 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" dependencies: - abbrev: "npm:1" + abbrev: "npm:^2.0.0" bin: nopt: bin/nopt.js - checksum: fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + checksum: 9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff languageName: node linkType: hard @@ -5113,18 +4993,6 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: "npm:^3.0.0" - console-control-strings: "npm:^1.1.0" - gauge: "npm:^4.0.3" - set-blocking: "npm:^2.0.0" - checksum: 0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 - languageName: node - linkType: hard - "nth-check@npm:^2.0.1": version: 2.1.1 resolution: "nth-check@npm:2.1.1" @@ -5418,36 +5286,38 @@ __metadata: linkType: hard "postcss-color-functional-notation@npm:^6.0.2": - version: 6.0.2 - resolution: "postcss-color-functional-notation@npm:6.0.2" + version: 6.0.4 + resolution: "postcss-color-functional-notation@npm:6.0.4" dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" - postcss-value-parser: "npm:^4.2.0" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 068303305c1a005bd3b14ce319e6d35cfcb3b80176829258abba12fdc32b511e0cfa276cebb6b37fe6abc7b50f7f535b765209bc9c487edef62a183de7546e73 + checksum: 592b21cd2740d9699b253f363cfbb57cea8a263d8c2eff67a8bcec0e0d64e6dbbb5d78ce7bec939430f0a9f2bccaccf3a58c64eeef23b9859cd2b7bb489a9c41 languageName: node linkType: hard "postcss-color-hex-alpha@npm:^9.0.2": - version: 9.0.2 - resolution: "postcss-color-hex-alpha@npm:9.0.2" + version: 9.0.3 + resolution: "postcss-color-hex-alpha@npm:9.0.3" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 77c0cf0769ed4a8a2c728df6f69a7487ea9211246b7c9836cb83e68e395591ed5fb0045de589f58ed2500a1878e058f3ec0ebfad56b69c2768539d48ae6646c6 + checksum: 677808d6ebed00ff115c4aca650bca338c1e5a5591dc16e8ee6b03b0c9b1e595de90bbc31e39d28d02d2482bf45eb4f9ecc96b7f07d000721761cbe309acdc19 languageName: node linkType: hard "postcss-color-rebeccapurple@npm:^9.0.1": - version: 9.0.1 - resolution: "postcss-color-rebeccapurple@npm:9.0.1" + version: 9.0.2 + resolution: "postcss-color-rebeccapurple@npm:9.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 2c95edec1f6fba34e1b3335e93068ce532ee68e7b36a8047c4b20b910286f7c7015f76db6fda7e90826a350552f45395a026264367ca71eca7ed307bd5c11b70 + checksum: 6da563b15f102879494618a7b9163b5f0cc697fb760dc62dbfda573e57ed0ed567932ff32de055d2d5a461906df9350e383d4e18b1c0d0d5cd67f92860ca3ccc languageName: node linkType: hard @@ -5492,16 +5362,16 @@ __metadata: linkType: hard "postcss-custom-properties@npm:^13.3.2": - version: 13.3.2 - resolution: "postcss-custom-properties@npm:13.3.2" + version: 13.3.4 + resolution: "postcss-custom-properties@npm:13.3.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^1.0.5" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" + "@csstools/cascade-layer-name-parser": "npm:^1.0.7" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: cffed99917b217e90f5b27995593cec66f4c8a1ab0c068cd2cfcf973967e45f36ce517b022b8e9227b42fa45e595d71b46c3ad2c0aa2e2b0eff2b2570f0f645e + checksum: 57192dce51f8c535d3ea807d09632fd2d1cba3d7185a2e7be7953200c4df4de402ff0fe3fc300ca87a93958e1a00634c0d811114359d319a5436b03445ab95d7 languageName: node linkType: hard @@ -5520,13 +5390,13 @@ __metadata: linkType: hard "postcss-dir-pseudo-class@npm:^8.0.0": - version: 8.0.0 - resolution: "postcss-dir-pseudo-class@npm:8.0.0" + version: 8.0.1 + resolution: "postcss-dir-pseudo-class@npm:8.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: b3d58899bb361c14bad7e90a54b752d243fa9f5b1cc3397c4a42d6074e5804690b2f002208bd363f95644582add291e8b4fb254f28373426fcfdecac77912150 + checksum: 8c096e096b09e4041818bd2edf5581b5172375621f5eeca013633166ea100ab98e71bf60fccd92fa20cfa7b55c57598605a1655c6bcbe54a80728a7d4e36859e languageName: node linkType: hard @@ -5567,36 +5437,36 @@ __metadata: linkType: hard "postcss-double-position-gradients@npm:^5.0.2": - version: 5.0.2 - resolution: "postcss-double-position-gradients@npm:5.0.2" + version: 5.0.3 + resolution: "postcss-double-position-gradients@npm:5.0.3" dependencies: - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: e4ba0cb024b85aa7597f707b3d6753e9c125d3e4f063ba8df0769223a09b7fe42ef200fd1f8dc1774ad9a077c8b2c52be456f5fc79ac4bfba70b1e8c36b198f2 + checksum: c5763f6ea302a2c281c975af2ef3047d5da1b7123c62e8dd8e1cb42b3e5a08b36fc99c4dacc1bbc996652a2b78dc78ae20f220bc29ffa90b2cdcbbb415cb5b14 languageName: node linkType: hard "postcss-focus-visible@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-focus-visible@npm:9.0.0" + version: 9.0.1 + resolution: "postcss-focus-visible@npm:9.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: c241728485e85a94d17520fa0b4af3e17fa17dbc2c45eacc1d6875d1e8f1a3dbef6f76feaaab533e21b1489a1114b21bffdf34da3271d8d3337fed30cb737758 + checksum: b8eb14ef51df62969559a7b2b4a4b6313a802fc2de225de293ad484ed6528833fc6bb7574aad5fabe7eeb27e8cd62663c2d547b25ff058d31c06d3d066abd904 languageName: node linkType: hard "postcss-focus-within@npm:^8.0.0": - version: 8.0.0 - resolution: "postcss-focus-within@npm:8.0.0" + version: 8.0.1 + resolution: "postcss-focus-within@npm:8.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 451c2e0e66cc0fd7975ad62b277feff2a596be6db541281f3ef5d6c583f5b2fb995ad68278ef1935099c831f681051d88b3484b1b89b644ce08d735a414e9168 + checksum: cb0380d89f3b9313345dbea65c78c7ad16a6e6ab2ba9e90451d5b14f05ee691a0cdf458376368061327182e031644da21eee7e6e9ae508d195f083e0a20c0502 languageName: node linkType: hard @@ -5610,36 +5480,36 @@ __metadata: linkType: hard "postcss-gap-properties@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-gap-properties@npm:5.0.0" + version: 5.0.1 + resolution: "postcss-gap-properties@npm:5.0.1" peerDependencies: postcss: ^8.4 - checksum: 1fefa0b88510c22483bb62f3d1baf40a4cbc3c9bae3b88e1e132f6a8b3d930a33f5e8310f25ff86b9a160d431bffe22698271b8edea41ed4c5571dc09a76dfb6 + checksum: 3b28c38819add37a2fc7decd7e3bdda1cab1de861af228abfb3e4310d87786eff4572a693bec6cea1c435bcd3dd0bb58bc9a58f1dde3a1c7def9feaf800762b8 languageName: node linkType: hard "postcss-image-set-function@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-image-set-function@npm:6.0.1" + version: 6.0.2 + resolution: "postcss-image-set-function@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 61381e33ce41b70a9846f81bcf821c07c85945fd95a68e6e78441dfc6bf03df5e91f63e07e4098b1832d1f5a1d5f8208349c22e0aa2959b5c61f20090b0fa157 + checksum: a8e28e4e774bfe5a5b3ac821663779954423fa8e287d5faf37b2c02bcc7d622a2edd067f8bce9241ed3be56b1d154969bcd3aff7b5be82edf4924da3d8c60ce9 languageName: node linkType: hard "postcss-lab-function@npm:^6.0.7": - version: 6.0.7 - resolution: "postcss-lab-function@npm:6.0.7" + version: 6.0.9 + resolution: "postcss-lab-function@npm:6.0.9" dependencies: - "@csstools/css-color-parser": "npm:^1.4.0" - "@csstools/css-parser-algorithms": "npm:^2.3.2" - "@csstools/css-tokenizer": "npm:^2.2.1" - "@csstools/postcss-progressive-custom-properties": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^1.5.1" + "@csstools/css-parser-algorithms": "npm:^2.5.0" + "@csstools/css-tokenizer": "npm:^2.2.3" + "@csstools/postcss-progressive-custom-properties": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: ccaa5ed8a3934df1716356d7f0e13ce285e075b7f7fc88e75eb7d16d19823887b59796424eafe805eaeb5b2a41e4ee4cc87a426eb131a5a264e58944b5085c22 + checksum: 116e8ded33cc0e20be35e40317f24b066e7c26a9bd8d87dfc93931456119f496b7e5a8a6669ecf69a6a678938898d37e8590869bf55ff6b005b238edb80150bf languageName: node linkType: hard @@ -5658,13 +5528,13 @@ __metadata: linkType: hard "postcss-logical@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-logical@npm:7.0.0" + version: 7.0.1 + resolution: "postcss-logical@npm:7.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 7897971e0cb5d16ee76b195b57645956bfc0b51606957bdfb91f594f66e2e974055ee5619566bd905b6ab9a7499698e59f4893c034b529975003398708e3cec7 + checksum: 66a06b5d3cb31181dd76c80286addd219205066a4a8c216076869fc54769ee0011cdaa8063e1b2c19c114cdc5ad12a2e2e8b730f6971960dc77d55f25f290223 languageName: node linkType: hard @@ -5787,14 +5657,14 @@ __metadata: linkType: hard "postcss-nesting@npm:^12.0.1": - version: 12.0.1 - resolution: "postcss-nesting@npm:12.0.1" + version: 12.0.2 + resolution: "postcss-nesting@npm:12.0.2" dependencies: - "@csstools/selector-specificity": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^3.0.1" postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 7e59febfdae1fb5f95b77c2a9040193a552db435acaa6399a80c83d0c10920f5b7d05a2965d40717433a1f4820667fbcf16da86fd21a589a482850b2cef8f7c2 + checksum: 9bb69cb5f5a3cd4945f2f427800a620176c924b11f79f819d9076f0c67bfe8cbc04e6a7f7d0224f712b85338d970eed67fa98271e63155b4670aec1285de2750 languageName: node linkType: hard @@ -5918,13 +5788,13 @@ __metadata: linkType: hard "postcss-overflow-shorthand@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-overflow-shorthand@npm:5.0.0" + version: 5.0.1 + resolution: "postcss-overflow-shorthand@npm:5.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 8559c50a07475c2eb4e5fe824ed44f0c9a53f06b6c68e57229b90132665a9dd188ad0e1583eddde3ec123820501721951fc1e8be12957f6cc52da5883857b18b + checksum: 328407adffae084c096b3ea2c03037f0083a0000cae744872bb1168fdd317eef12bb049cdfef749343c3ed65b4275dc6eefe577d99cbc78e3617cb36d07e8717 languageName: node linkType: hard @@ -5938,13 +5808,13 @@ __metadata: linkType: hard "postcss-place@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-place@npm:9.0.0" + version: 9.0.1 + resolution: "postcss-place@npm:9.0.1" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: e7f87a38c6ab6c85c4ca36632a12a17146dd01bc89354e6bc60de00f0dc782d3f996f3820d541905db3662a70dd2d632a4ab14360d9da8647aabe4d77499eed8 + checksum: d0fb5b0416fd15d5ac7da5fcc1829b9b78c5a90caba5bd045052c6ac0467910cbbeb2fff6c5257190affa656be27168c94ff339f86c0b7df54f9bea04bcadba7 languageName: node linkType: hard @@ -6019,13 +5889,13 @@ __metadata: linkType: hard "postcss-pseudo-class-any-link@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-pseudo-class-any-link@npm:9.0.0" + version: 9.0.1 + resolution: "postcss-pseudo-class-any-link@npm:9.0.1" dependencies: postcss-selector-parser: "npm:^6.0.13" peerDependencies: postcss: ^8.4 - checksum: 6213db4f05d06f827d8a9fe1ee67ce1b5723472e542ba50c02c320ebf4bb5c505901ff241f60f00e9958594dfce2dc222fe62d5389055976afd0170e65be28d7 + checksum: 2d33f486af442a0ee095b7b8875701ed3f54ea3f80d2c4d1c1b35d105088b569c847e1c71fde2adf6cefb4920e8fb7d057ff1ad56e62c65892c7b68e26213b98 languageName: node linkType: hard @@ -6164,10 +6034,10 @@ __metadata: languageName: node linkType: hard -"promise-inflight@npm:^1.0.1": - version: 1.0.1 - resolution: "promise-inflight@npm:1.0.1" - checksum: d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc languageName: node linkType: hard @@ -6182,9 +6052,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0": - version: 2.1.1 - resolution: "punycode@npm:2.1.1" - checksum: 83815ca9b9177f055771f31980cbec7ffaef10257d50a95ab99b4a30f0404846e85fa6887ee1bbc0aaddb7bad6d96e2fa150a016051ff0f6b92be4ad613ddca8 + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard @@ -6204,17 +6074,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 937bedd29ac8a68331666291922bea892fa2be1a33269e582de9f844a2002f146cf831e39cd49fe6a378d3f0c27358f259ed0e20d20f0bdc6a3f8fc21fce42dc - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -6234,11 +6093,11 @@ __metadata: linkType: hard "regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.0 - resolution: "regenerate-unicode-properties@npm:10.1.0" + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" dependencies: regenerate: "npm:^1.4.2" - checksum: 17818ea6f67c5a4884b9e18842edc4b3838a12f62e24f843e80fbb6d8cb649274b5b86d98bb02075074e02021850e597a92ff6b58bbe5caba4bf5fd8e4e38b56 + checksum: 89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d languageName: node linkType: hard @@ -6249,10 +6108,10 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.4": - version: 0.13.9 - resolution: "regenerator-runtime@npm:0.13.9" - checksum: b0f26612204f061a84064d2f3361629eae09993939112b9ffc3680bb369ecd125764d6654eace9ef11b36b44282ee52b988dda946ea52d372e7599a30eea73ee +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 languageName: node linkType: hard @@ -6321,28 +6180,28 @@ __metadata: linkType: hard "resolve@npm:^1.14.2, resolve@npm:^1.20.0": - version: 1.22.1 - resolution: "resolve@npm:1.22.1" + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: - is-core-module: "npm:^2.9.0" + is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 6d58b1cb40f3fc80b9e45dd799d84cdc3829a993e4b9fa3b59d331e1dfacd0870e1851f4d0eb549d68c796e0b7087b43d1aec162653ccccff9e18191221a6e7d + checksum: 07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a languageName: node linkType: hard "resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": - version: 1.22.1 - resolution: "resolve@patch:resolve@npm%3A1.22.1#optional!builtin::version=1.22.1&hash=c3c19d" + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: - is-core-module: "npm:^2.9.0" + is-core-module: "npm:^2.13.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 0d8ccceba5537769c42aa75e4aa75ae854aac866a11d7e9ffdb1663f0158ee646a0d48fc2818ed5e7fb364d64220a1fb9092a160e11e00cbdd5fbab39a13092c + checksum: 0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 languageName: node linkType: hard @@ -6402,7 +6261,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.1.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -6511,13 +6370,6 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -6543,17 +6395,10 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - "signal-exit@npm:^4.0.1": - version: 4.0.1 - resolution: "signal-exit@npm:4.0.1" - checksum: 8ff362b7fe81d50cb664c773d2406d68f02aef7ab50b2fdb6a0bb2514730529062be4f981cc5534c05f34a20caa6f91a78a5d1dc90446a968359d80adb63b014 + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 languageName: node linkType: hard @@ -6589,24 +6434,24 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "socks-proxy-agent@npm:7.0.0" +"socks-proxy-agent@npm:^8.0.1": + version: 8.0.2 + resolution: "socks-proxy-agent@npm:8.0.2" dependencies: - agent-base: "npm:^6.0.2" - debug: "npm:^4.3.3" - socks: "npm:^2.6.2" - checksum: b859f7eb8e96ec2c4186beea233ae59c02404094f3eb009946836af27d6e5c1627d1975a69b4d2e20611729ed543b6db3ae8481eb38603433c50d0345c987600 + agent-base: "npm:^7.0.2" + debug: "npm:^4.3.4" + socks: "npm:^2.7.1" + checksum: a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 languageName: node linkType: hard -"socks@npm:^2.6.2": - version: 2.7.0 - resolution: "socks@npm:2.7.0" +"socks@npm:^2.7.1": + version: 2.7.1 + resolution: "socks@npm:2.7.1" dependencies: ip: "npm:^2.0.0" smart-buffer: "npm:^4.2.0" - checksum: 5cc9ea8d0f1fae370d7ac319b5dd8973fa24bc58d0194a8140687fd10be53a1f348b1b02b97932ce67ddae0edf459e5da0fe4b13cd5dd22ce46ac4d1a83239ec + checksum: 43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 languageName: node linkType: hard @@ -6648,16 +6493,16 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^9.0.0": - version: 9.0.1 - resolution: "ssri@npm:9.0.1" +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" dependencies: - minipass: "npm:^3.1.1" - checksum: c5d153ce03b5980d683ecaa4d805f6a03d8dc545736213803e168a1907650c46c08a4e5ce6d670a0205482b35c35713d9d286d9133bdd79853a406e22ad81f04 + minipass: "npm:^7.0.3" + checksum: b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -6679,15 +6524,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -6900,28 +6736,28 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.11 - resolution: "tar@npm:6.1.11" + version: 6.2.0 + resolution: "tar@npm:6.2.0" dependencies: chownr: "npm:^2.0.0" fs-minipass: "npm:^2.0.0" - minipass: "npm:^3.0.0" + minipass: "npm:^5.0.0" minizlib: "npm:^2.1.1" mkdirp: "npm:^1.0.3" yallist: "npm:^4.0.0" - checksum: 5a016f5330f43815420797b87ade578e2ea60affd47439c988a3fc8f7bb6b36450d627c31ba6a839346fae248b4c8c12bb06bb0716211f37476838c7eff91f05 + checksum: 02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 languageName: node linkType: hard "terser-webpack-plugin@npm:^5.3.7": - version: 5.3.7 - resolution: "terser-webpack-plugin@npm:5.3.7" + version: 5.3.10 + resolution: "terser-webpack-plugin@npm:5.3.10" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.17" + "@jridgewell/trace-mapping": "npm:^0.3.20" jest-worker: "npm:^27.4.5" schema-utils: "npm:^3.1.1" serialize-javascript: "npm:^6.0.1" - terser: "npm:^5.16.5" + terser: "npm:^5.26.0" peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -6931,21 +6767,21 @@ __metadata: optional: true uglify-js: optional: true - checksum: fe54487e67dfff86f874561a2ee8c43aaf6a41ac1474527d8dc60209502a779e74ae0d647523cd9d98c9d3c4d7e77a3ad0eddf3be36745424a0dd05603e94bb1 + checksum: 66d1ed3174542560911cf96f4716aeea8d60e7caab212291705d50072b6ba844c7391442541b13c848684044042bea9ec87512b8506528c12854943da05faf91 languageName: node linkType: hard -"terser@npm:^5.16.5": - version: 5.16.9 - resolution: "terser@npm:5.16.9" +"terser@npm:^5.26.0": + version: 5.27.0 + resolution: "terser@npm:5.27.0" dependencies: - "@jridgewell/source-map": "npm:^0.3.2" - acorn: "npm:^8.5.0" + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" commander: "npm:^2.20.0" source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: eb883b606aa698e314957aa2cf6e70c1dc632d0d2dcda13e7a2cc73569a05034721826c0d6f9b31c6bb08bbc4fc633b6591871814dada71da9d34af9e284dc4f + checksum: bed0d39d9a7f2b82c87173e48081c46426a8820ba1dcb864bbfccd2df2b7fb8498a7ea4c8ef045ccce5713b23a6b4c3a784967f1b9f3115adaa7f51712f6e6ae languageName: node linkType: hard @@ -6998,11 +6834,18 @@ __metadata: linkType: hard "uglify-js@npm:^3.1.4": - version: 3.16.3 - resolution: "uglify-js@npm:3.16.3" + version: 3.17.4 + resolution: "uglify-js@npm:3.17.4" bin: uglifyjs: bin/uglifyjs - checksum: d951a66caf16c2412274b699d8902dc644acd69e4b9458e7999e6689a4e3a8e29f427809b74a1fac9864e5d97a86200410a257c673ac84bc0571631b2b147b46 + checksum: 8b7fcdca69deb284fed7d2025b73eb747ce37f9aca6af53422844f46427152d5440601b6e2a033e77856a2f0591e4167153d5a21b68674ad11f662034ec13ced + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 languageName: node linkType: hard @@ -7031,27 +6874,27 @@ __metadata: linkType: hard "unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.0.0" - checksum: db7f7ae188ce1a59b133a2c97021aebe30acc18a55f41074d126dcce5ac9d789dbd3ce7947e391b23db27f969251037b6ae05871d036aaa6cc0a6510c429aa1c + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 languageName: node linkType: hard -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" dependencies: - unique-slug: "npm:^2.0.0" - checksum: d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 + unique-slug: "npm:^4.0.0" + checksum: 6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f languageName: node linkType: hard -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 + checksum: cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 languageName: node linkType: hard @@ -7078,7 +6921,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2": +"util-deprecate@npm:^1.0.2": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 @@ -7128,12 +6971,13 @@ __metadata: linkType: hard "webpack-merge@npm:^5.7.3": - version: 5.8.0 - resolution: "webpack-merge@npm:5.8.0" + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" dependencies: clone-deep: "npm:^4.0.1" + flat: "npm:^5.0.2" wildcard: "npm:^2.0.0" - checksum: 400eaaba69d2240d51dc7a4427dde37849a8f2fdf93731be6a8aad34d70d55bb38cb10c5001c7b339fc91f8c8547e782ecbd79eff24ad861e21e6a4c5dc959fb + checksum: b607c84cabaf74689f965420051a55a08722d897bdd6c29cb0b2263b451c090f962d41ecf8c9bf56b0ab3de56e65476ace0a8ecda4f4a4663684243d90e0512b languageName: node linkType: hard @@ -7203,7 +7047,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1, which@npm:^2.0.2": +"which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -7214,19 +7058,21 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.5": - version: 1.1.5 - resolution: "wide-align@npm:1.1.5" +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" dependencies: - string-width: "npm:^1.0.2 || 2 || 3 || 4" - checksum: 1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a languageName: node linkType: hard "wildcard@npm:^2.0.0": - version: 2.0.0 - resolution: "wildcard@npm:2.0.0" - checksum: 4e22a45f4fa7f0f0d3e11860ee9ce9225246d41af6ec507e6a7d64c2692afb40d695b92c8f801deda8d3536007c2ec07981079fd0c8bb38b8521de072b33ab7a + version: 2.0.1 + resolution: "wildcard@npm:2.0.1" + checksum: 08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7 languageName: node linkType: hard From ae9b71cfeca9023451abf0d24a2940be3560e88c Mon Sep 17 00:00:00 2001 From: FilipRazek <65445960+FilipRazek@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:40:32 +0100 Subject: [PATCH 0108/1330] [JENKINS-66677] Localize "This folder is empty" text (#8890) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [JENKINS-66677] Localize "This folder is empty" text * Apply code review suggestions Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com> --------- Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com> --- core/src/main/resources/hudson/model/AllView/noJob.groovy | 2 +- core/src/main/resources/hudson/model/AllView/noJob.properties | 1 + .../main/resources/hudson/model/AllView/noJob_fr.properties | 1 + .../main/resources/hudson/model/Job/configure_fr.properties | 2 ++ core/src/main/resources/hudson/model/Messages_fr.properties | 3 +++ 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/main/resources/hudson/model/AllView/noJob.groovy b/core/src/main/resources/hudson/model/AllView/noJob.groovy index 6daf221b403e..f62125fed9b6 100644 --- a/core/src/main/resources/hudson/model/AllView/noJob.groovy +++ b/core/src/main/resources/hudson/model/AllView/noJob.groovy @@ -81,7 +81,7 @@ div { // we're in a folder section(class: "empty-state-section") { - h2(_("This folder is empty"), class: "h4") + h2(_("thisFolderIsEmpty"), class: "h4") ul(class: "empty-state-section-list") { li(class: "content-block") { diff --git a/core/src/main/resources/hudson/model/AllView/noJob.properties b/core/src/main/resources/hudson/model/AllView/noJob.properties index 157679ee2c4f..c5c114df188f 100644 --- a/core/src/main/resources/hudson/model/AllView/noJob.properties +++ b/core/src/main/resources/hudson/model/AllView/noJob.properties @@ -26,6 +26,7 @@ setUpDistributedBuilds=Set up a distributed build setUpAgent=Set up an agent setUpCloud=Configure a cloud learnMoreDistributedBuilds=Learn more about distributed builds +thisFolderIsEmpty=This folder is empty startBuilding=Start building your software project createJob=Create a job diff --git a/core/src/main/resources/hudson/model/AllView/noJob_fr.properties b/core/src/main/resources/hudson/model/AllView/noJob_fr.properties index 32d9fa71c5bf..61cbb6192bbd 100644 --- a/core/src/main/resources/hudson/model/AllView/noJob_fr.properties +++ b/core/src/main/resources/hudson/model/AllView/noJob_fr.properties @@ -28,3 +28,4 @@ setUpDistributedBuilds=Configurer un build distribué setUpAgent=Mettre en place un agent setUpCloud=Configurer un cloud learnMoreDistributedBuilds=En apprendre plus sur les builds distribués +thisFolderIsEmpty=Ce dossier est vide diff --git a/core/src/main/resources/hudson/model/Job/configure_fr.properties b/core/src/main/resources/hudson/model/Job/configure_fr.properties index eb6da2e9e368..881d0c5c8446 100644 --- a/core/src/main/resources/hudson/model/Job/configure_fr.properties +++ b/core/src/main/resources/hudson/model/Job/configure_fr.properties @@ -26,3 +26,5 @@ Save=Sauvegarder Apply=Appliquer LOADING=CHARGEMENT Strategy=Stratégie +General=Général +Configure=Configurer diff --git a/core/src/main/resources/hudson/model/Messages_fr.properties b/core/src/main/resources/hudson/model/Messages_fr.properties index f2a938f9c9e4..1d64aee184f3 100644 --- a/core/src/main/resources/hudson/model/Messages_fr.properties +++ b/core/src/main/resources/hudson/model/Messages_fr.properties @@ -113,6 +113,9 @@ Descriptor.From=(de {0}< Executor.NotAvailable=N/A FreeStyleProject.DisplayName=Construire un projet free-style +FreeStyleProject.Description=\ + Job legacy polyvalent qui récupère l''état depuis un outil de gestion de version au plus, exécute les étapes de build en série, \ + suivi d''étapes post-construction telles que l''archivage d''artefacts et l''envoi de notifications par e-mail. HealthReport.EmptyString= From a665b45ba5862110d8b174d654c28541e23bedf9 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 25 Jan 2024 09:43:09 -0500 Subject: [PATCH 0109/1330] Missing `VirtualFile.run` usage in `DirectoryBrowserSupport` (#8874) * Missing `VirtualFile.run` usage in `DirectoryBrowserSupport` * Might as well handle `containsSymLink` the same way. Will never matter for artifact display with either the built-in or pluggable managers, but could improve performance of workspace listing with slow agent connections. * Checkstyle --------- Co-authored-by: Daniel Beck --- .../hudson/model/DirectoryBrowserSupport.java | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java index 6f8bf2e6ee77..cc83eefd0652 100644 --- a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java +++ b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java @@ -325,9 +325,10 @@ private void serveFile(StaplerRequest req, StaplerResponse rsp, VirtualFile root } else if (serveDirIndex) { // serve directory index - glob = baseFile.run(new BuildChildPaths(root, baseFile, req.getLocale())); - containsSymlink = baseFile.containsSymLinkChild(getOpenOptions()); - containsTmpDir = baseFile.containsTmpDirChild(getOpenOptions()); + var result = baseFile.run(new BuildChildPaths(baseFile, req.getLocale(), getOpenOptions())); + glob = result.glob; + containsSymlink = result.containsSymLink; + containsTmpDir = result.containsTmpDir; } if (glob != null) { @@ -747,19 +748,32 @@ private int dirRank(VirtualFile f) { } } - private static final class BuildChildPaths extends MasterToSlaveCallable>, IOException> { - private VirtualFile root; + private static final class BuildChildPathsResult implements Serializable { // TODO Java 21+ record + private static final long serialVersionUID = 1; + private final List> glob; + private final boolean containsSymLink; + private final boolean containsTmpDir; + + BuildChildPathsResult(List> glob, boolean containsSymLink, boolean containsTmpDir) { + this.glob = glob; + this.containsSymLink = containsSymLink; + this.containsTmpDir = containsTmpDir; + } + } + + private static final class BuildChildPaths extends MasterToSlaveCallable { private final VirtualFile cur; private final Locale locale; + private final OpenOption[] openOptions; - BuildChildPaths(VirtualFile root, VirtualFile cur, Locale locale) { - this.root = root; + BuildChildPaths(VirtualFile cur, Locale locale, OpenOption[] openOptions) { this.cur = cur; this.locale = locale; + this.openOptions = openOptions; } - @Override public List> call() throws IOException { - return buildChildPaths(cur, locale); + @Override public BuildChildPathsResult call() throws IOException { + return new BuildChildPathsResult(buildChildPaths(cur, locale), cur.containsSymLinkChild(openOptions), cur.containsTmpDirChild(openOptions)); } } /** From 70f2237147f238adb54b21edf3e354fc672aeae3 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Thu, 25 Jan 2024 15:43:34 +0100 Subject: [PATCH 0110/1330] [JENKINS-72407] missing folder icon (#8872) when a folder icon is provided and relies on the getImageOf method this leads to a missing icon, e.g. gitlab branch source or when using a custom folder icon So fall back to the ballColorTd when we have no iconname which handles all cases properly. --- .../hudson/views/StatusColumn/column.jelly | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/core/src/main/resources/hudson/views/StatusColumn/column.jelly b/core/src/main/resources/hudson/views/StatusColumn/column.jelly index 5ac989e40521..428a173fedf6 100644 --- a/core/src/main/resources/hudson/views/StatusColumn/column.jelly +++ b/core/src/main/resources/hudson/views/StatusColumn/column.jelly @@ -23,18 +23,18 @@ THE SOFTWARE. --> - - -
- - + + + + +
- - - - - - -
- +
+ + + + + + +
From f640efc087add43d31fdd92cd24be99af99fa4f5 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Thu, 25 Jan 2024 15:45:20 +0100 Subject: [PATCH 0111/1330] [JENKINS-71025] Remove inline JS from configure-common (#8866) * [JENKINS-71025] Remove inline JS from configure-common replaces #6861 * remove inline jd for jdk check --- core/src/main/java/hudson/model/AbstractProject.java | 5 +++++ .../hudson/model/AbstractProject/configure-common.jelly | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index cceff9c42b19..c554ef813440 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -1940,6 +1940,11 @@ public boolean isApplicable(Descriptor descriptor) { return true; } + @Restricted(DoNotUse.class) + public FormValidation doCheckDisplayNameOrNull(@AncestorInPath AbstractProject project, @QueryParameter String value) { + return Jenkins.get().doCheckDisplayName(value, project.getName()); + } + @Restricted(DoNotUse.class) public FormValidation doCheckAssignedLabelString(@AncestorInPath AbstractProject project, @QueryParameter String value) { diff --git a/core/src/main/resources/hudson/model/AbstractProject/configure-common.jelly b/core/src/main/resources/hudson/model/AbstractProject/configure-common.jelly index 096922c27966..25121308d1a4 100644 --- a/core/src/main/resources/hudson/model/AbstractProject/configure-common.jelly +++ b/core/src/main/resources/hudson/model/AbstractProject/configure-common.jelly @@ -35,7 +35,7 @@ THE SOFTWARE. - @@ -54,7 +54,7 @@ THE SOFTWARE. - + From b83c92666b5005d4c6e0b01cfda6c409a30bcf5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 13:45:35 -0800 Subject: [PATCH 0112/1330] Bump org.jenkins-ci.plugins.workflow:workflow-api from 1283.v99c10937efcb_ to 1289.va_cf779f32df0 (#8898) 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 eae8c9ab3437..8ce1b31f01e0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -110,7 +110,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-api - 1283.v99c10937efcb_ + 1289.va_cf779f32df0 From 8088f30d396318bf90ea30b2ec2e253dea98c25c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 05:45:34 -0800 Subject: [PATCH 0113/1330] Bump org.jenkins-ci.plugins:credentials from 1311.vcf0a_900b_37c2 to 1317.v0ce519a_92b_3e (#8901) 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 8ce1b31f01e0..8a48b64c8d2d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -206,7 +206,7 @@ THE SOFTWARE. org.jenkins-ci.plugins credentials - 1311.vcf0a_900b_37c2 + 1317.v0ce519a_92b_3e test From d2a9fd2b1fc60381d18c79c66850cd89bd20814f Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Fri, 26 Jan 2024 19:38:32 +0000 Subject: [PATCH 0114/1330] [JENKINS-72505] f:validateButton finds selected radio button (#8832) JENKINS-72505 f:validateButton finds selected radio button Co-authored-by: Mark Waite Co-authored-by: Alexander Brandes --- .../java/lib/form/ValidateButtonTest.java | 5 ++++- .../TestValidateIsCalled/index.jelly | 22 ++++++++++++++++++- .../main/webapp/scripts/hudson-behavior.js | 7 +++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/test/src/test/java/lib/form/ValidateButtonTest.java b/test/src/test/java/lib/form/ValidateButtonTest.java index ac092e145285..da9bc286be14 100644 --- a/test/src/test/java/lib/form/ValidateButtonTest.java +++ b/test/src/test/java/lib/form/ValidateButtonTest.java @@ -109,13 +109,16 @@ public static final class DescriptorImpl extends Descriptore2 - + + + + + + + + + + + + + + + + + + + + +
diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index 678260fdad17..3be3a4fddadb 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -2708,8 +2708,13 @@ function validateButton(checkUrl, paramList, button) { paramList.split(",").forEach(function (name) { var p = findPreviousFormItem(button, name); if (p != null) { - if (p.type == "checkbox") { + if (p.type === "checkbox") { parameters[name] = p.checked; + } else if (p.type === "radio") { + while (p && !p.checked) { + p = findPreviousFormItem(p, name); + } + parameters[name] = p.value; } else { parameters[name] = p.value; } From 27b8a5e505651bf1f0904246095aac2fa93a1112 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 12:39:23 -0700 Subject: [PATCH 0115/1330] Bump org.jenkins-ci.plugins:cloudbees-folder from 6.897.vb_943ea_6b_a_08b_ to 6.901.vb_4c7a_da_75da_3 (#8903) Bump org.jenkins-ci.plugins:cloudbees-folder Bumps [org.jenkins-ci.plugins:cloudbees-folder](https://github.com/jenkinsci/cloudbees-folder-plugin) from 6.897.vb_943ea_6b_a_08b_ to 6.901.vb_4c7a_da_75da_3. - [Release notes](https://github.com/jenkinsci/cloudbees-folder-plugin/releases) - [Commits](https://github.com/jenkinsci/cloudbees-folder-plugin/commits) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:cloudbees-folder dependency-type: direct:development update-type: version-update:semver-minor ... 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 8a48b64c8d2d..7300afc5f841 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -200,7 +200,7 @@ THE SOFTWARE. org.jenkins-ci.plugins cloudbees-folder - 6.897.vb_943ea_6b_a_08b_ + 6.901.vb_4c7a_da_75da_3 test From 4ec1639b9a9562028f2834da6c42e0ac962aad5f Mon Sep 17 00:00:00 2001 From: Ullrich Hafner Date: Fri, 26 Jan 2024 20:43:55 +0100 Subject: [PATCH 0116/1330] Replace cobertura with coverage plugin in plugin installation wizard (#8879) Replace cobertura with coverage plugin. The coverage plugin combines all coverage tools into a single plugin. See https://github.com/jenkinsci/coverage-plugin. --- core/src/main/resources/jenkins/install/platform-plugins.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/jenkins/install/platform-plugins.json b/core/src/main/resources/jenkins/install/platform-plugins.json index 62885083fbdd..a8a5b5010664 100644 --- a/core/src/main/resources/jenkins/install/platform-plugins.json +++ b/core/src/main/resources/jenkins/install/platform-plugins.json @@ -35,7 +35,7 @@ { "category": "Build Analysis and Reporting", "plugins": [ - { "name": "cobertura" }, + { "name": "coverage" }, { "name": "htmlpublisher" }, { "name": "junit" }, { "name": "warnings-ng" }, From c414546f8bf856056957ff4af3208a3993db492c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jan 2024 00:12:37 +0100 Subject: [PATCH 0117/1330] Update dependency node to v20.11.0 (#8899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index 1cfdf1ee5fed..b609b7f22409 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -46,7 +46,7 @@ THE SOFTWARE. localhost 8080 - 20.10.0 + 20.11.0 1.22.19 From c32f4dfc7ffb2b5f1e6f1745a503572b2d0e420a Mon Sep 17 00:00:00 2001 From: Filipe Roque Date: Sun, 28 Jan 2024 08:30:20 -0800 Subject: [PATCH 0118/1330] Replace reference to ui-samples-plugin with design-library in javadoc (#8909) ui-samples-plugin is suspended and has been replaced with design-library: > Plugin distribution has been suspended, see https://groups.google.com/g/jenkinsci-dev/c/2vGn3t9gZ0Y for details. https://plugins.jenkins.io/ui-samples-plugin/ https://github.com/jenkinsci/design-library-plugin/pull/14 --- core/src/main/java/jenkins/util/ProgressiveRendering.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/jenkins/util/ProgressiveRendering.java b/core/src/main/java/jenkins/util/ProgressiveRendering.java index 42ef0b76861a..460ac3afd82b 100644 --- a/core/src/main/java/jenkins/util/ProgressiveRendering.java +++ b/core/src/main/java/jenkins/util/ProgressiveRendering.java @@ -70,7 +70,7 @@ *
  • As results become available, call {@link #progress}. *
  • Make {@link #data} produce whatever JSON you want to send to the page to be displayed. * - * {@code ui-samples-plugin} demonstrates all this. + * {@code design-library} demonstrates all this. * @since 1.484 */ public abstract class ProgressiveRendering { From 419539c1fa889155cee4ea27a415bc101c64f6dc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 19:59:36 +0100 Subject: [PATCH 0119/1330] Update dependency webpack to v5.90.0 (#8906) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/war/package.json b/war/package.json index 517aa757eeff..6744ee16864d 100644 --- a/war/package.json +++ b/war/package.json @@ -45,7 +45,7 @@ "stylelint": "16.2.0", "stylelint-checkstyle-reporter": "0.2.0", "stylelint-config-standard": "36.0.0", - "webpack": "5.89.0", + "webpack": "5.90.0", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/war/yarn.lock b/war/yarn.lock index b2df9024d10e..a97eab420dcd 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -2079,7 +2079,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": +"@types/estree@npm:*, @types/estree@npm:^1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d @@ -2715,17 +2715,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": - version: 4.22.2 - resolution: "browserslist@npm:4.22.2" +"browserslist@npm:^4.0.0, browserslist@npm:^4.21.10, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": + version: 4.22.3 + resolution: "browserslist@npm:4.22.3" dependencies: - caniuse-lite: "npm:^1.0.30001565" - electron-to-chromium: "npm:^1.4.601" + caniuse-lite: "npm:^1.0.30001580" + electron-to-chromium: "npm:^1.4.648" node-releases: "npm:^2.0.14" update-browserslist-db: "npm:^1.0.13" bin: browserslist: cli.js - checksum: 2a331aab90503130043ca41dd5d281fa1e89d5e076d07a2d75e76bf4d693bd56e73d5abcd8c4f39119da6328d450578c216cf1cd5c99b82d8a90a2ae6271b465 + checksum: 5a1f673ce0d6e61a68369835a6b66e199669bde02c3bed5ec51e77598d8daafd91719dba55b15af2021b9ad0bbaa94951fd702eb71087449eb28be8002815ece languageName: node linkType: hard @@ -2775,10 +2775,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001565, caniuse-lite@npm:^1.0.30001578": - version: 1.0.30001579 - resolution: "caniuse-lite@npm:1.0.30001579" - checksum: 4003970f8d01a5fa314e39f4a21751dc750a530f3d19aed225e18e8e02892b590b8b0debfa0961eae9bc0e49b77bfb17cf30d2469540e428a8305e3cc9164fb8 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001578, caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001580 + resolution: "caniuse-lite@npm:1.0.30001580" + checksum: f3a41bb5a820640a60071ed69d464f20d783d9a51cc2fd8916c7b0c187b25a8062e11986d04f531bdc1798d0bc37dfb0f90dcfa90fa3227bd49691efd4272c03 languageName: node linkType: hard @@ -3322,10 +3322,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.601": - version: 1.4.645 - resolution: "electron-to-chromium@npm:1.4.645" - checksum: a77ad457b960fae4ca109eda9e0d6263686c9868ded5c02029ad18cd69387376395ab113104b01a3355ae5efd4a4d63deb3d00af41c52b48c1408aa7719aec75 +"electron-to-chromium@npm:^1.4.648": + version: 1.4.648 + resolution: "electron-to-chromium@npm:1.4.648" + checksum: 9f9ab328744a9d593e170c46743c76b41052341176310d481ba184098cea2541d8e04a9bd309e1d77e6e9e010ee27a4f573b149f6f23404d239613816d1d072a languageName: node linkType: hard @@ -4356,7 +4356,7 @@ __metadata: stylelint-checkstyle-reporter: "npm:0.2.0" stylelint-config-standard: "npm:36.0.0" tippy.js: "npm:6.3.7" - webpack: "npm:5.89.0" + webpack: "npm:5.90.0" webpack-cli: "npm:5.1.4" webpack-remove-empty-scripts: "npm:1.0.4" window-handle: "npm:1.0.1" @@ -6749,7 +6749,7 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.7": +"terser-webpack-plugin@npm:^5.3.10": version: 5.3.10 resolution: "terser-webpack-plugin@npm:5.3.10" dependencies: @@ -6999,18 +6999,18 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.89.0": - version: 5.89.0 - resolution: "webpack@npm:5.89.0" +"webpack@npm:5.90.0": + version: 5.90.0 + resolution: "webpack@npm:5.90.0" dependencies: "@types/eslint-scope": "npm:^3.7.3" - "@types/estree": "npm:^1.0.0" + "@types/estree": "npm:^1.0.5" "@webassemblyjs/ast": "npm:^1.11.5" "@webassemblyjs/wasm-edit": "npm:^1.11.5" "@webassemblyjs/wasm-parser": "npm:^1.11.5" acorn: "npm:^8.7.1" acorn-import-assertions: "npm:^1.9.0" - browserslist: "npm:^4.14.5" + browserslist: "npm:^4.21.10" chrome-trace-event: "npm:^1.0.2" enhanced-resolve: "npm:^5.15.0" es-module-lexer: "npm:^1.2.1" @@ -7024,7 +7024,7 @@ __metadata: neo-async: "npm:^2.6.2" schema-utils: "npm:^3.2.0" tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.7" + terser-webpack-plugin: "npm:^5.3.10" watchpack: "npm:^2.4.0" webpack-sources: "npm:^3.2.3" peerDependenciesMeta: @@ -7032,7 +7032,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 2562bf48788d651634fb7db6a5378c2fe3fce7f66831af38468da3944bd98756d68efea94a6909593993fb57b2d14cf802cbef2c83c6ef0047f7f606d59bec50 + checksum: 4acec1a719a9c5b890a30a9fb18519e671e55382f2c51120b76a2c1c1c521285b6510327faf79f85a4b11c7a2c5c01e1d2e7bf73e5cddbada1503f4d51a63441 languageName: node linkType: hard From 090ada7bfdb570cb54c6d56d397716e11162368a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 09:33:57 -0800 Subject: [PATCH 0120/1330] Bump org.jenkins-ci.plugins:credentials from 1317.v0ce519a_92b_3e to 1319.v7eb_51b_3a_c97b_ (#8904) 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 7300afc5f841..2928370b80d0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -206,7 +206,7 @@ THE SOFTWARE. org.jenkins-ci.plugins credentials - 1317.v0ce519a_92b_3e + 1319.v7eb_51b_3a_c97b_ test From b62609806b4ca0a2e785af30187f928fcbb9b27d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 09:34:21 -0800 Subject: [PATCH 0121/1330] Update babel monorepo to v7.23.9 (#8910) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 6 +- war/yarn.lock | 157 +++++++++++++++++++++-------------------------- 2 files changed, 74 insertions(+), 89 deletions(-) diff --git a/war/package.json b/war/package.json index 6744ee16864d..24aa684230a5 100644 --- a/war/package.json +++ b/war/package.json @@ -23,9 +23,9 @@ "lint": "yarn lint:js && yarn lint:css" }, "devDependencies": { - "@babel/cli": "7.23.4", - "@babel/core": "7.23.7", - "@babel/preset-env": "7.23.8", + "@babel/cli": "7.23.9", + "@babel/core": "7.23.9", + "@babel/preset-env": "7.23.9", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", "css-loader": "6.9.1", diff --git a/war/yarn.lock b/war/yarn.lock index a97eab420dcd..ff02bdcf4908 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -22,9 +22,9 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:7.23.4": - version: 7.23.4 - resolution: "@babel/cli@npm:7.23.4" +"@babel/cli@npm:7.23.9": + version: 7.23.9 + resolution: "@babel/cli@npm:7.23.9" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.17" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" @@ -45,11 +45,11 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: f71bc378f62dd19983adc8dae4ee33cd44ac7d8ea3224709f787f290e0c3a4b8a36dad76d672b3479de2b9f524e55b4bb12a2296154c73134ba111114a15779c + checksum: 0a5e9399e95ff0efea10db217e48682e025bd09d51aa96886e5c4d8c7b9d2115bc17d00704dc05e9ae7ab858c26467fec15e87a100cf995567c395f2941df4a0 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.23.5": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" dependencies: @@ -66,26 +66,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.23.7": - version: 7.23.7 - resolution: "@babel/core@npm:7.23.7" +"@babel/core@npm:7.23.9": + version: 7.23.9 + resolution: "@babel/core@npm:7.23.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.23.5" "@babel/generator": "npm:^7.23.6" "@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.7" - "@babel/parser": "npm:^7.23.6" - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.7" - "@babel/types": "npm:^7.23.6" + "@babel/helpers": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 38c9934973d384ed83369712978453eac91dc3f22167404dbdb272b64f602e74728a6f37012c53ee57e521b8ae2da60097f050497d9b6a212d28b59cdfb2cd1d + checksum: 03883300bf1252ab4c9ba5b52f161232dd52873dbe5cde9289bb2bb26e935c42682493acbac9194a59a3b6cbd17f4c4c84030db8d6d482588afe64531532ff9b languageName: node linkType: hard @@ -164,21 +164,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.4.4": - version: 0.4.4 - resolution: "@babel/helper-define-polyfill-provider@npm:0.4.4" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" - lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 60126f5f719b9e2114df62e3bf3ac0797b71d8dc733db60192eb169b004fde72ee309fa5848c5fdfe98b8e8863c46f55e16da5aa8a4e420b4d2670cd0c5dd708 - languageName: node - linkType: hard - "@babel/helper-define-polyfill-provider@npm:^0.5.0": version: 0.5.0 resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" @@ -354,14 +339,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.7": - version: 7.23.8 - resolution: "@babel/helpers@npm:7.23.8" +"@babel/helpers@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/helpers@npm:7.23.9" dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.7" - "@babel/types": "npm:^7.23.6" - checksum: d9fce49278a31aaa017a40c1fcdaa450999c49e33582cce8138058c58b1acbe3a2d2488f010f28e91dedf0d35795ea32f0ee18745bbb6c7f54052ae0fd7e6a3f + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: f69fd0aca96a6fb8bd6dd044cd8a5c0f1851072d4ce23355345b9493c4032e76d1217f86b70df795e127553cf7f3fcd1587ede9d1b03b95e8b62681ca2165b87 languageName: node linkType: hard @@ -376,12 +361,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/parser@npm:7.23.6" +"@babel/parser@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/parser@npm:7.23.9" bin: parser: ./bin/babel-parser.js - checksum: 6f76cd5ccae1fa9bcab3525b0865c6222e9c1d22f87abc69f28c5c7b2c8816a13361f5bd06bddbd5faf903f7320a8feba02545c981468acec45d12a03db7755e + checksum: 7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 languageName: node linkType: hard @@ -640,9 +625,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.23.7": - version: 7.23.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.9" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -650,7 +635,7 @@ __metadata: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 63d314edc9fbeaf2700745ca0e19bf9840e87f2d7d1f6c5638e06d2aec3e7418d0d7493ed09087e2fe369cc15e9d96c113fb2cd367cb5e3ff922e3712c27b7d4 + checksum: 4ff75f9ce500e1de8c0236fa5122e6475a477d19cb9a4c2ae8651e78e717ebb2e2cecfeca69d420def779deaec78b945843b9ffd15f02ecd7de5072030b4469b languageName: node linkType: hard @@ -910,9 +895,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" +"@babel/plugin-transform-modules-systemjs@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.9" dependencies: "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-module-transforms": "npm:^7.23.3" @@ -920,7 +905,7 @@ __metadata: "@babel/helper-validator-identifier": "npm:^7.22.20" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0d55280a276510222c8896bf4e581acb84824aa5b14c824f7102242ad6bc5104aaffe5ab22fe4d27518f4ae2811bd59c36d0c0bfa695157f9cfce33f0517a069 + checksum: 1926631fe9d87c0c53427a3420ad49da62d53320d0016b6afab64e5417a672aa5bdff3ea1d24746ffa1e43319c28a80f5d8cef0ad214760d399c293b5850500f languageName: node linkType: hard @@ -1209,9 +1194,9 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.23.8": - version: 7.23.8 - resolution: "@babel/preset-env@npm:7.23.8" +"@babel/preset-env@npm:7.23.9": + version: 7.23.9 + resolution: "@babel/preset-env@npm:7.23.9" dependencies: "@babel/compat-data": "npm:^7.23.5" "@babel/helper-compilation-targets": "npm:^7.23.6" @@ -1240,7 +1225,7 @@ __metadata: "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.23.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.9" "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" "@babel/plugin-transform-block-scoping": "npm:^7.23.4" @@ -1262,7 +1247,7 @@ __metadata: "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" "@babel/plugin-transform-modules-amd": "npm:^7.23.3" "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.9" "@babel/plugin-transform-modules-umd": "npm:^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" "@babel/plugin-transform-new-target": "npm:^7.23.3" @@ -1288,14 +1273,14 @@ __metadata: "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.7" - babel-plugin-polyfill-corejs3: "npm:^0.8.7" - babel-plugin-polyfill-regenerator: "npm:^0.5.4" + babel-plugin-polyfill-corejs2: "npm:^0.4.8" + babel-plugin-polyfill-corejs3: "npm:^0.9.0" + babel-plugin-polyfill-regenerator: "npm:^0.5.5" core-js-compat: "npm:^3.31.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e602ad954645f1a509644e3d2c72b3c63bdc2273c377e7a83b78f076eca215887ea3624ffc36aaad03deb9ac8acd89e247fd4562b96e0f2b679485e20d8ff25f + checksum: 2837a42089180e51bfd6864b6d197e01fc0abec1920422e71c0513c2fc8fb5f3bfe694ed778cc4e45856c546964945bc53bf8105e4b26f3580ce3685fa50cc0f languageName: node linkType: hard @@ -1328,20 +1313,20 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/template@npm:7.23.9" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/parser": "npm:^7.22.15" - "@babel/types": "npm:^7.22.15" - checksum: 9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454 + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: 0e8b60119433787742bc08ae762bbd8d6755611c4cabbcb7627b292ec901a55af65d93d1c88572326069efb64136ef151ec91ffb74b2df7689bbab237030833a languageName: node linkType: hard -"@babel/traverse@npm:^7.23.7": - version: 7.23.7 - resolution: "@babel/traverse@npm:7.23.7" +"@babel/traverse@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/traverse@npm:7.23.9" dependencies: "@babel/code-frame": "npm:^7.23.5" "@babel/generator": "npm:^7.23.6" @@ -1349,22 +1334,22 @@ __metadata: "@babel/helper-function-name": "npm:^7.23.0" "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.6" - "@babel/types": "npm:^7.23.6" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: e32fceb4249beec2bde83968ddffe17444221c1ee5cd18c543a2feaf94e3ca83f2a4dfbc2dcca87cf226e0105973e0fe3717063a21e982a9de9945615ab3f3f5 + checksum: d1615d1d02f04d47111a7ea4446a1a6275668ca39082f31d51f08380de9502e19862be434eaa34b022ce9a17dbb8f9e2b73a746c654d9575f3a680a7ffdf5630 languageName: node linkType: hard -"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.23.6 - resolution: "@babel/types@npm:7.23.6" +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.9 + resolution: "@babel/types@npm:7.23.9" dependencies: "@babel/helper-string-parser": "npm:^7.23.4" "@babel/helper-validator-identifier": "npm:^7.22.20" to-fast-properties: "npm:^2.0.0" - checksum: 42cefce8a68bd09bb5828b4764aa5586c53c60128ac2ac012e23858e1c179347a4aac9c66fc577994fbf57595227611c5ec8270bf0cfc94ff033bbfac0550b70 + checksum: edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 languageName: node linkType: hard @@ -2616,7 +2601,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.7": +"babel-plugin-polyfill-corejs2@npm:^0.4.8": version: 0.4.8 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.8" dependencies: @@ -2629,19 +2614,19 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.8.7": - version: 0.8.7 - resolution: "babel-plugin-polyfill-corejs3@npm:0.8.7" +"babel-plugin-polyfill-corejs3@npm:^0.9.0": + version: 0.9.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.9.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.4.4" - core-js-compat: "npm:^3.33.1" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + core-js-compat: "npm:^3.34.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 094e40f4ab9f131408202063964d63740609fd4fdb70a5b6332b371761921b540ffbcee7a434c0199b8317dfb2ba4675eef674867215fd3b85e24054607c1501 + checksum: b857010736c5e42e20b683973dae862448a42082fcc95b3ef188305a6864a4f94b5cbd568e49e4cd7172c6b2eace7bc403c3ba0984fbe5479474ade01126d559 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.5.4": +"babel-plugin-polyfill-regenerator@npm:^0.5.5": version: 0.5.5 resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" dependencies: @@ -2967,7 +2952,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.34.0": version: 3.35.1 resolution: "core-js-compat@npm:3.35.1" dependencies: @@ -4328,9 +4313,9 @@ __metadata: version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." dependencies: - "@babel/cli": "npm:7.23.4" - "@babel/core": "npm:7.23.7" - "@babel/preset-env": "npm:7.23.8" + "@babel/cli": "npm:7.23.9" + "@babel/core": "npm:7.23.9" + "@babel/preset-env": "npm:7.23.9" babel-loader: "npm:9.1.3" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:6.9.1" From 4e424abc285fcff4d81415b97f854c533a1ff89f Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:06:57 +0000 Subject: [PATCH 0122/1330] [maven-release-plugin] prepare release jenkins-2.443 --- 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 29f77e1f7202..9f741ba252cd 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 763d83529103..1218e24231ef 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 cli diff --git a/core/pom.xml b/core/pom.xml index 4280e9075da9..71aad53e36da 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..acf85c1de9cb 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 jenkins-coverage diff --git a/pom.xml b/pom.xml index b467a961827a..449a77826b54 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 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.443 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index 2928370b80d0..2a1f11594d62 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index b609b7f22409..435ae5970ad2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.443 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index c91e1583c039..3c5968f4ee1b 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.443 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a99aada6a446..06385024cb43 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.443 ../.. From 5d5ad30cf51661dd609433885205267e0b13005d Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:07:18 +0000 Subject: [PATCH 0123/1330] [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 9f741ba252cd..29f77e1f7202 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 1218e24231ef..763d83529103 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 71aad53e36da..4280e9075da9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index acf85c1de9cb..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 449a77826b54..1b6689b6a55e 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${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.443 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.443 + 2.444 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 2a1f11594d62..2928370b80d0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 435ae5970ad2..b609b7f22409 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 3c5968f4ee1b..c91e1583c039 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 06385024cb43..a99aada6a446 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.443 + ${revision}${changelist} ../.. From 213bdecefc9fef76139488a722e3dbc6ea73583c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:35:28 -0800 Subject: [PATCH 0124/1330] Bump org.jenkins-ci.plugins.workflow:workflow-api from 1289.va_cf779f32df0 to 1291.v51fd2a_625da_7 (#8914) 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 2928370b80d0..dca41d7619a3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -110,7 +110,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-api - 1289.va_cf779f32df0 + 1291.v51fd2a_625da_7 From 907394527c26926ba658d6353dcfaf409e10710b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:35:54 -0800 Subject: [PATCH 0125/1330] Bump com.puppycrawl.tools:checkstyle from 10.12.7 to 10.13.0 (#8915) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1b6689b6a55e..fa3aeafc11ca 100644 --- a/pom.xml +++ b/pom.xml @@ -332,7 +332,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.12.7 + 10.13.0 From 332ac4914f84ba656407a78fd7d806dc58c60ba4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:36:18 -0800 Subject: [PATCH 0126/1330] Bump org.jenkins-ci.main:jenkins-test-harness from 2154.v9367950e9176 to 2156.vd392d386f442 (#8916) 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 dca41d7619a3..bfa40f5febbb 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -131,7 +131,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2154.v9367950e9176 + 2156.vd392d386f442 test From 4d5bb02c8fadae4a8bcf3510613d6716756d7e3e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:36:41 -0800 Subject: [PATCH 0127/1330] Update dependency stylelint-checkstyle-reporter to v1 (#8919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 51 ++++++++++++++++++++++++++++-------------------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/war/package.json b/war/package.json index 24aa684230a5..e3c3b45dfba7 100644 --- a/war/package.json +++ b/war/package.json @@ -43,7 +43,7 @@ "sass-loader": "14.0.0", "style-loader": "3.3.4", "stylelint": "16.2.0", - "stylelint-checkstyle-reporter": "0.2.0", + "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.0", "webpack": "5.90.0", "webpack-cli": "5.1.4", diff --git a/war/yarn.lock b/war/yarn.lock index ff02bdcf4908..531b059e2d59 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1979,14 +1979,14 @@ __metadata: languageName: node linkType: hard -"@oozcitak/dom@npm:1.15.8": - version: 1.15.8 - resolution: "@oozcitak/dom@npm:1.15.8" +"@oozcitak/dom@npm:1.15.10": + version: 1.15.10 + resolution: "@oozcitak/dom@npm:1.15.10" dependencies: "@oozcitak/infra": "npm:1.0.8" "@oozcitak/url": "npm:1.0.4" "@oozcitak/util": "npm:8.3.8" - checksum: ce856019caedce0163ce35052d898f5db50b5a8700acae8e21936cc85240d8066573e908ab9fe42b3a8d11174a9b72e2c9d91000165054ed90a3311ffc3221fe + checksum: 128162dd35fd21976e7589a4b50e980d8fb72e1f90e5675a3baca70b23cfdd87c0df57bff1ec708e7927671247a7233f240a27a4546bb904e069be1b4d4d7a05 languageName: node linkType: hard @@ -3825,6 +3825,13 @@ __metadata: languageName: node linkType: hard +"get-stdin@npm:9.0.0": + version: 9.0.0 + resolution: "get-stdin@npm:9.0.0" + checksum: 7ef2edc0c81a0644ca9f051aad8a96ae9373d901485abafaabe59fd347a1c378689d8a3d8825fb3067415d1d09dfcaa43cb9b9516ecac6b74b3138b65a8ccc6b + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -4338,7 +4345,7 @@ __metadata: sortablejs: "npm:1.15.2" style-loader: "npm:3.3.4" stylelint: "npm:16.2.0" - stylelint-checkstyle-reporter: "npm:0.2.0" + stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.0" tippy.js: "npm:6.3.7" webpack: "npm:5.90.0" @@ -4408,15 +4415,15 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:3.14.0": - version: 3.14.0 - resolution: "js-yaml@npm:3.14.0" +"js-yaml@npm:3.14.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" dependencies: argparse: "npm:^1.0.7" esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 9b21ab19f03aae734c83e5c8a3d5e6f80bab5ce0e24bdbb186e531fb0887ff0034affd96ae3eed993c33e33bc606a6b78389207b853df97094393804d6c37184 + checksum: 6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b languageName: node linkType: hard @@ -6555,12 +6562,15 @@ __metadata: languageName: node linkType: hard -"stylelint-checkstyle-reporter@npm:0.2.0": - version: 0.2.0 - resolution: "stylelint-checkstyle-reporter@npm:0.2.0" +"stylelint-checkstyle-reporter@npm:1.0.0": + version: 1.0.0 + resolution: "stylelint-checkstyle-reporter@npm:1.0.0" dependencies: - xmlbuilder2: "npm:^2.4.0" - checksum: a486da693225ac0ff25a75c124cb3b59b7b6bacbd4aa0dc62b05ab38d45a69e9c113599f6b3c8f21db6887ffc8fb4425a75fb634d77ecd778cc3a661ebf87e5b + get-stdin: "npm:9.0.0" + xmlbuilder2: "npm:3.1.1" + bin: + stylelint-checkstyle-reporter: dist/reporter-with-stdin.mjs + checksum: 26d45528ab75ad4129abdf34436578a2a0e6a10c552e53b1bb19fb7eff8433f1fd77ab3fb6698b295802df54f9005d8031791451b695fa86269e20385b978a9b languageName: node linkType: hard @@ -7114,16 +7124,15 @@ __metadata: languageName: node linkType: hard -"xmlbuilder2@npm:^2.4.0": - version: 2.4.1 - resolution: "xmlbuilder2@npm:2.4.1" +"xmlbuilder2@npm:3.1.1": + version: 3.1.1 + resolution: "xmlbuilder2@npm:3.1.1" dependencies: - "@oozcitak/dom": "npm:1.15.8" + "@oozcitak/dom": "npm:1.15.10" "@oozcitak/infra": "npm:1.0.8" "@oozcitak/util": "npm:8.3.8" - "@types/node": "npm:*" - js-yaml: "npm:3.14.0" - checksum: ce3ae6d671d65f86d9864dc3cad436812e630e7043e5dbc79c79477626f808c052b8451bb2032f3cf6d5e9b7a98280865988e88441cac75efe392130f9214f06 + js-yaml: "npm:3.14.1" + checksum: a3e7dd5cbc052f6b53773a4a9d5efb26b0647aa8868bc1a597478d534e78184263b5b3e495e82613f21d0bf016a24145bb793f6e197e8911139dddba9cd831cc languageName: node linkType: hard From c00a30da805e95e7fb69104af2ddaedb2a0fc74b Mon Sep 17 00:00:00 2001 From: Antonio Muniz Date: Wed, 31 Jan 2024 08:50:31 +0100 Subject: [PATCH 0128/1330] Add marker class to submit buttons (#8920) --- core/src/main/resources/lib/form/submit.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/lib/form/submit.jelly b/core/src/main/resources/lib/form/submit.jelly index 579149227f08..f2b6d8895445 100644 --- a/core/src/main/resources/lib/form/submit.jelly +++ b/core/src/main/resources/lib/form/submit.jelly @@ -54,7 +54,7 @@ THE SOFTWARE. diff --git a/war/src/main/js/components/row-selection-controller/index.js b/war/src/main/js/components/row-selection-controller/index.js index d4de91b89de4..31fa374ee2c3 100644 --- a/war/src/main/js/components/row-selection-controller/index.js +++ b/war/src/main/js/components/row-selection-controller/index.js @@ -4,7 +4,10 @@ const rowSelectionControllers = document.querySelectorAll( rowSelectionControllers.forEach((headerCheckbox) => { const table = headerCheckbox.closest(".jenkins-table"); - const tableCheckboxes = table.querySelectorAll("input[type='checkbox']"); + const checkboxClass = headerCheckbox.dataset.checkboxClass; + const tableCheckboxes = table.querySelectorAll( + `input[type='checkbox'].${checkboxClass}`, + ); const moreOptionsButton = table.querySelector( ".jenkins-table__checkbox-options", ); From 15e045f03d652a7e76dc3d68e071119c86fdba6a Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Fri, 30 Aug 2024 09:26:19 -0400 Subject: [PATCH 0824/1330] Friendlier handling of `DeploymentHandshakeException` from CLI in `-webSocket` mode (#9591) --- cli/src/main/java/hudson/cli/CLI.java | 24 ++++++++++++++++++- .../test/java/hudson/cli/CLIActionTest.java | 17 +++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/cli/src/main/java/hudson/cli/CLI.java b/cli/src/main/java/hudson/cli/CLI.java index 684b01f54981..910331b3ee9a 100644 --- a/cli/src/main/java/hudson/cli/CLI.java +++ b/cli/src/main/java/hudson/cli/CLI.java @@ -32,6 +32,7 @@ import jakarta.websocket.ClientEndpointConfig; import jakarta.websocket.Endpoint; import jakarta.websocket.EndpointConfig; +import jakarta.websocket.HandshakeResponse; import jakarta.websocket.Session; import java.io.DataInputStream; import java.io.File; @@ -64,6 +65,7 @@ import org.glassfish.tyrus.client.ClientManager; import org.glassfish.tyrus.client.ClientProperties; import org.glassfish.tyrus.client.SslEngineConfigurator; +import org.glassfish.tyrus.client.exception.DeploymentHandshakeException; import org.glassfish.tyrus.container.jdk.client.JdkClientContainer; /** @@ -340,13 +342,19 @@ public void onOpen(Session session, EndpointConfig config) {} } class Authenticator extends ClientEndpointConfig.Configurator { + HandshakeResponse hr; @Override public void beforeRequest(Map> headers) { if (factory.authorization != null) { headers.put("Authorization", List.of(factory.authorization)); } } + @Override + public void afterResponse(HandshakeResponse hr) { + this.hr = hr; + } } + var authenticator = new Authenticator(); ClientManager client = ClientManager.createClient(JdkClientContainer.class.getName()); // ~ ContainerProvider.getWebSocketContainer() client.getProperties().put(ClientProperties.REDIRECT_ENABLED, true); // https://tyrus-project.github.io/documentation/1.13.1/index/tyrus-proprietary-config.html#d0e1775 @@ -357,7 +365,21 @@ public void beforeRequest(Map> headers) { sslEngineConfigurator.setHostnameVerifier((s, sslSession) -> true); client.getProperties().put(ClientProperties.SSL_ENGINE_CONFIGURATOR, sslEngineConfigurator); } - Session session = client.connectToServer(new CLIEndpoint(), ClientEndpointConfig.Builder.create().configurator(new Authenticator()).build(), URI.create(url.replaceFirst("^http", "ws") + "cli/ws")); + Session session; + try { + session = client.connectToServer(new CLIEndpoint(), ClientEndpointConfig.Builder.create().configurator(authenticator).build(), URI.create(url.replaceFirst("^http", "ws") + "cli/ws")); + } catch (DeploymentHandshakeException x) { + System.err.println("CLI handshake failed with status code " + x.getHttpStatusCode()); + if (authenticator.hr != null) { + for (var entry : authenticator.hr.getHeaders().entrySet()) { + // org.glassfish.tyrus.core.Utils.parseHeaderValue improperly splits values like Date at commas, so undo that: + System.err.println(entry.getKey() + ": " + String.join(", ", entry.getValue())); + } + // UpgradeResponse.getReasonPhrase is useless since Jetty generates it from the code, + // and the body is not accessible at all. + } + return 15; // compare CLICommand.main + } PlainCLIProtocol.Output out = new PlainCLIProtocol.Output() { @Override public void send(byte[] data) throws IOException { diff --git a/test/src/test/java/hudson/cli/CLIActionTest.java b/test/src/test/java/hudson/cli/CLIActionTest.java index 57086142bfb9..dab7ec8a88ad 100644 --- a/test/src/test/java/hudson/cli/CLIActionTest.java +++ b/test/src/test/java/hudson/cli/CLIActionTest.java @@ -1,5 +1,9 @@ package hudson.cli; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.allOf; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; import hudson.Functions; @@ -131,6 +135,19 @@ private void assertExitCode(int code, boolean useApiToken, File jar, String... a assertEquals(code, proc.join()); } + @Test public void authenticationFailed() throws Exception { + j.jenkins.setSecurityRealm(j.createDummySecurityRealm()); + j.jenkins.setAuthorizationStrategy(new MockAuthorizationStrategy().grant(Jenkins.ADMINISTER).everywhere().toAuthenticated()); + var jar = tmp.newFile("jenkins-cli.jar"); + FileUtils.copyURLToFile(j.jenkins.getJnlpJars("jenkins-cli.jar").getURL(), jar); + var baos = new ByteArrayOutputStream(); + var exitStatus = new Launcher.LocalLauncher(StreamTaskListener.fromStderr()).launch().cmds( + "java", "-jar", jar.getAbsolutePath(), "-s", j.getURL().toString(), "-auth", "user:bogustoken", "who-am-i" + ).stdout(baos).start().join(); + assertThat(baos.toString(), allOf(containsString("status code 401"), containsString("Server: Jetty"))); + assertThat(exitStatus, is(15)); + } + @Issue("JENKINS-41745") @Test public void encodingAndLocale() throws Exception { From 5fe9a448059c5aafd2fa354cdabb12e05b3978e2 Mon Sep 17 00:00:00 2001 From: Allan Burdajewicz Date: Fri, 30 Aug 2024 23:26:27 +1000 Subject: [PATCH 0825/1330] [JENKINS-73422] Add escape hatch for Authenticated user access to Resource URL (#9644) Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> --- .../jenkins/security/ResourceDomainRootAction.java | 6 +++++- .../test/java/jenkins/security/ResourceDomainTest.java | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/security/ResourceDomainRootAction.java b/core/src/main/java/jenkins/security/ResourceDomainRootAction.java index 7955103d6be5..fc18071fade7 100644 --- a/core/src/main/java/jenkins/security/ResourceDomainRootAction.java +++ b/core/src/main/java/jenkins/security/ResourceDomainRootAction.java @@ -117,7 +117,7 @@ public Object getDynamic(String id, StaplerRequest req, StaplerResponse rsp) thr return null; } - if (!ACL.isAnonymous2(Jenkins.getAuthentication2())) { + if (!ALLOW_AUTHENTICATED_USER && !ACL.isAnonymous2(Jenkins.getAuthentication2())) { rsp.sendError(400); return null; } @@ -327,4 +327,8 @@ private static Token decode(String value) { // Not @Restricted because the entire class is @SuppressFBWarnings(value = "MS_SHOULD_BE_FINAL", justification = "for script console") public static /* not final for Groovy */ int VALID_FOR_MINUTES = SystemProperties.getInteger(ResourceDomainRootAction.class.getName() + ".validForMinutes", 30); + + /* Escape hatch for a security hardening preventing one of the known ways to elevate arbitrary file read to RCE */ + @SuppressFBWarnings(value = "MS_SHOULD_BE_FINAL", justification = "for script console") + public static /* not final for Groovy */ boolean ALLOW_AUTHENTICATED_USER = SystemProperties.getBoolean(ResourceDomainRootAction.class.getName() + ".allowAuthenticatedUser", false); } diff --git a/test/src/test/java/jenkins/security/ResourceDomainTest.java b/test/src/test/java/jenkins/security/ResourceDomainTest.java index 42f2a1dbbf78..b8f2d551b094 100644 --- a/test/src/test/java/jenkins/security/ResourceDomainTest.java +++ b/test/src/test/java/jenkins/security/ResourceDomainTest.java @@ -399,7 +399,7 @@ public HttpResponse doDynamic() throws Exception { } @Test - public void authenticatedCannotAccessResourceDomain() throws Exception { + public void authenticatedCannotAccessResourceDomainUnlessAllowedBySystemProperty() throws Exception { j.jenkins.setSecurityRealm(j.createDummySecurityRealm()); final MockAuthorizationStrategy authorizationStrategy = new MockAuthorizationStrategy(); authorizationStrategy.grant(Jenkins.ADMINISTER).everywhere().to("admin").grant(Jenkins.READ).everywhere().toEveryone(); @@ -416,5 +416,13 @@ public void authenticatedCannotAccessResourceDomain() throws Exception { try (JenkinsRule.WebClient wc = j.createWebClient().withBasicCredentials("admin")) { assertThat(assertThrows(FailingHttpStatusCodeException.class, () -> wc.getPage(new URL(resourceUrl))).getStatusCode(), is(400)); } + + ResourceDomainRootAction.ALLOW_AUTHENTICATED_USER = true; + try (JenkinsRule.WebClient wc = j.createWebClient().withBasicApiToken("admin")) { + assertThat(wc.getPage(new URL(resourceUrl)).getWebResponse().getStatusCode(), is(200)); + } + try (JenkinsRule.WebClient wc = j.createWebClient().withBasicCredentials("admin")) { + assertThat(wc.getPage(new URL(resourceUrl)).getWebResponse().getStatusCode(), is(200)); + } } } From 9ac4bf149091afbec0187767153815d6051996c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:44:17 -0700 Subject: [PATCH 0826/1330] Update dependency com.puppycrawl.tools:checkstyle to v10.18.1 (#9676) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 921d6a9f7009..c3052864caba 100644 --- a/pom.xml +++ b/pom.xml @@ -282,7 +282,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.18.0 + 10.18.1 From 3ccaa256b89c7e3a6c13cc385bda6f5fc74e682b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:44:33 -0700 Subject: [PATCH 0827/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2265 (#9677) Co-authored-by: renovate[bot] <29139614+renovate[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 21089219623c..2038fd503716 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2254.vcff7a_d4969e5 + 2265.v3da_49c8134d6 test From c67e2a9ec369d29da332ed578aed4f05450081c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 31 Aug 2024 10:04:17 +0200 Subject: [PATCH 0828/1330] Update dependency stylelint to v16.9.0 (#9678) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/war/package.json b/war/package.json index 0fa3f50d288c..5c62e8cf14f3 100644 --- a/war/package.json +++ b/war/package.json @@ -45,7 +45,7 @@ "sass": "1.77.8", "sass-loader": "16.0.1", "style-loader": "4.0.0", - "stylelint": "16.8.2", + "stylelint": "16.9.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", "webpack": "5.94.0", diff --git a/war/yarn.lock b/war/yarn.lock index b9d57852342d..62914daa4472 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1394,7 +1394,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.0, @csstools/css-parser-algorithms@npm:^3.0.1": +"@csstools/css-parser-algorithms@npm:^3.0.1": version: 3.0.1 resolution: "@csstools/css-parser-algorithms@npm:3.0.1" peerDependencies: @@ -1403,14 +1403,14 @@ __metadata: languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.0, @csstools/css-tokenizer@npm:^3.0.1": +"@csstools/css-tokenizer@npm:^3.0.1": version: 3.0.1 resolution: "@csstools/css-tokenizer@npm:3.0.1" checksum: 10c0/c9ed4373e5731b5375ea9791590081019c04e95f08b46b272977e5e7b8c3d560affc62e82263cb8def1df1e57f0673140e7e16a14a5e7be04e6a234be088d1d3 languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^3.0.0, @csstools/media-query-list-parser@npm:^3.0.1": +"@csstools/media-query-list-parser@npm:^3.0.1": version: 3.0.1 resolution: "@csstools/media-query-list-parser@npm:3.0.1" peerDependencies: @@ -4402,7 +4402,7 @@ __metadata: sass-loader: "npm:16.0.1" sortablejs: "npm:1.15.2" style-loader: "npm:4.0.0" - stylelint: "npm:16.8.2" + stylelint: "npm:16.9.0" stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" @@ -4799,7 +4799,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.7": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -6662,13 +6662,13 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:16.8.2": - version: 16.8.2 - resolution: "stylelint@npm:16.8.2" +"stylelint@npm:16.9.0": + version: 16.9.0 + resolution: "stylelint@npm:16.9.0" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.0" - "@csstools/css-tokenizer": "npm:^3.0.0" - "@csstools/media-query-list-parser": "npm:^3.0.0" + "@csstools/css-parser-algorithms": "npm:^3.0.1" + "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/media-query-list-parser": "npm:^3.0.1" "@csstools/selector-specificity": "npm:^4.0.0" "@dual-bundle/import-meta-resolve": "npm:^4.1.0" balanced-match: "npm:^2.0.0" @@ -6690,7 +6690,7 @@ __metadata: known-css-properties: "npm:^0.34.0" mathml-tag-names: "npm:^2.1.3" meow: "npm:^13.2.0" - micromatch: "npm:^4.0.7" + micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.0.1" postcss: "npm:^8.4.41" @@ -6701,13 +6701,13 @@ __metadata: resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" strip-ansi: "npm:^7.1.0" - supports-hyperlinks: "npm:^3.0.0" + supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" table: "npm:^6.8.2" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/898cde9b5d981f249133df709458eebf2af0a525e72410ddfafd76a7308f7da493578b6a909c593cc70061556b9eda1fed4f477385ee615435f0996d9e18d8df + checksum: 10c0/d3ff9c8945c56b04a2fa16ec33d163325496d5db94b6fcb5adf74c76f7f794ac992888273f9a3317652ba8b6195168b2ffff382ca2a667a241e2ace8c9505ae2 languageName: node linkType: hard @@ -6738,13 +6738,13 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^3.0.0": - version: 3.0.0 - resolution: "supports-hyperlinks@npm:3.0.0" +"supports-hyperlinks@npm:^3.1.0": + version: 3.1.0 + resolution: "supports-hyperlinks@npm:3.1.0" dependencies: has-flag: "npm:^4.0.0" supports-color: "npm:^7.0.0" - checksum: 10c0/36aaa55e67645dded8e0f846fd81d7dd05ce82ea81e62347f58d86213577eb627b2b45298656ce7a70e7155e39f071d0d3f83be91e112aed801ebaa8db1ef1d0 + checksum: 10c0/78cc3e17eb27e6846fa355a8ebf343befe36272899cd409e45317a06c1997e95c23ff99d91080a517bd8c96508d4fa456e6ceb338c02ba5d7544277dbec0f10f languageName: node linkType: hard From 9fc6a55698c6b92e7711fc0dde5a863c5db90834 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Sep 2024 15:45:31 +0100 Subject: [PATCH 0829/1330] Update dependency @babel/cli to v7.25.6 (#9679) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/war/package.json b/war/package.json index 5c62e8cf14f3..71015ede4105 100644 --- a/war/package.json +++ b/war/package.json @@ -23,7 +23,7 @@ "lint": "yarn lint:js && yarn lint:css" }, "devDependencies": { - "@babel/cli": "7.24.8", + "@babel/cli": "7.25.6", "@babel/core": "7.25.2", "@babel/preset-env": "7.25.4", "@eslint/js": "9.9.1", diff --git a/war/yarn.lock b/war/yarn.lock index 62914daa4472..62ea2de5f6b4 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -22,13 +22,13 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:7.24.8": - version: 7.24.8 - resolution: "@babel/cli@npm:7.24.8" +"@babel/cli@npm:7.25.6": + version: 7.25.6 + resolution: "@babel/cli@npm:7.25.6" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" - chokidar: "npm:^3.4.0" + chokidar: "npm:^3.6.0" commander: "npm:^6.2.0" convert-source-map: "npm:^2.0.0" fs-readdir-recursive: "npm:^1.1.0" @@ -45,7 +45,7 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: 10c0/b7f464ccb00db60aed63d71e980df823900d20c740bc2d9eb36c3abd4b3e2402cc438818382344085ef6603aeea2e6ee19af8f0ecb934966eccf077b87af7c7c + checksum: 10c0/861d3c2ed6c47b25a322c2f6127f56783d8d333fc2d02d3815f86301fe1102eca5f61b8a5c8610a6a2872d1ccfce24fd6d4a91f4f73536e43b8e2f28f9dcf5ed languageName: node linkType: hard @@ -2833,9 +2833,9 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.4.0": - version: 3.5.3 - resolution: "chokidar@npm:3.5.3" +"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" dependencies: anymatch: "npm:~3.1.2" braces: "npm:~3.0.2" @@ -2848,7 +2848,7 @@ __metadata: dependenciesMeta: fsevents: optional: true - checksum: 10c0/1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1 + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 languageName: node linkType: hard @@ -4375,7 +4375,7 @@ __metadata: version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." dependencies: - "@babel/cli": "npm:7.24.8" + "@babel/cli": "npm:7.25.6" "@babel/core": "npm:7.25.2" "@babel/preset-env": "npm:7.25.4" "@eslint/js": "npm:9.9.1" From 1008dcb1dfe1ce00499ccc4e0b0a5bcd918882da Mon Sep 17 00:00:00 2001 From: Thorsten Scherler Date: Sun, 1 Sep 2024 16:50:49 +0200 Subject: [PATCH 0830/1330] [JENKINS-73695] BUG: Dashboard shows white space on certain width space >900px (#9667) --- .../resources/lib/hudson/projectView.jelly | 34 ++++++++++--------- war/src/main/scss/abstracts/_theme.scss | 1 + war/src/main/scss/base/_layout-commons.scss | 13 +++++-- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/core/src/main/resources/lib/hudson/projectView.jelly b/core/src/main/resources/lib/hudson/projectView.jelly index de8d4a9316b1..75842abc1e9f 100644 --- a/core/src/main/resources/lib/hudson/projectView.jelly +++ b/core/src/main/resources/lib/hudson/projectView.jelly @@ -67,23 +67,25 @@ THE SOFTWARE.
  • - - - - - - - - - - - +
    +
    + + + + + + + + + + - - - - -
    + + + + + +
    diff --git a/war/src/main/scss/abstracts/_theme.scss b/war/src/main/scss/abstracts/_theme.scss index 9004709c76a1..c108634f7c85 100644 --- a/war/src/main/scss/abstracts/_theme.scss +++ b/war/src/main/scss/abstracts/_theme.scss @@ -267,6 +267,7 @@ $semantics: ( --tab-baseline-default-display: none; // Side panel + --side-panel-width: 340px; --panel-header-bg-color: var(--light-grey); --panel-border-color: var(--light-grey); --side-panel-hover-color: var(--panel-border-color); diff --git a/war/src/main/scss/base/_layout-commons.scss b/war/src/main/scss/base/_layout-commons.scss index c42e6dcafe67..ce45451b0add 100644 --- a/war/src/main/scss/base/_layout-commons.scss +++ b/war/src/main/scss/base/_layout-commons.scss @@ -84,7 +84,7 @@ } body.two-column #main-panel { - width: calc(100% - 320px); + width: calc(100% - var(--side-panel-width)); flex: 1; display: block; } @@ -98,7 +98,7 @@ body.full-screen #main-panel { } body.two-column #side-panel { - width: 340px; + width: var(--side-panel-width); } /* stylelint-disable-next-line media-query-no-invalid */ @@ -118,9 +118,16 @@ body.two-column #side-panel { } } +.app-project-status-table { + width: 100%; + overflow-x: auto; +} + @media (width >= 1170px) { body.two-column #main-panel { - width: calc(100% - 370px); + width: calc( + 100% - calc(var(--side-panel-width) + calc(var(--section-padding) * 2)) + ); } } From 3069dded3adabd0d43f3b309dfc51a1205d7ce7e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:33:14 -0700 Subject: [PATCH 0831/1330] Update dependency io.jenkins.plugins:snakeyaml-api to v2.3-123.v13484c65210a_ (#9682) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index e6b4bf8251b7..621208036302 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -372,7 +372,7 @@ THE SOFTWARE. io.jenkins.plugins snakeyaml-api - 2.2-121.v5a_68b_9300b_d4 + 2.3-123.v13484c65210a_ hpi From 4187ee4d2d7ea54a1c2f5b40470a46182817fe81 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:33:32 -0700 Subject: [PATCH 0832/1330] Update dependency io.jenkins.plugins:commons-lang3-api to v3.17.0-84.vb_b_938040b_078 (#9680) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 2038fd503716..28d74acd4513 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -63,7 +63,7 @@ THE SOFTWARE. io.jenkins.plugins commons-lang3-api - 3.16.0-82.ve2b_07d659d95 + 3.17.0-84.vb_b_938040b_078 diff --git a/war/pom.xml b/war/pom.xml index 621208036302..9045cdc38056 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -502,7 +502,7 @@ THE SOFTWARE. io.jenkins.plugins commons-lang3-api - 3.16.0-82.ve2b_07d659d95 + 3.17.0-84.vb_b_938040b_078 hpi From 4e9b6d8a3dd93aa57c7d0e9464006e2eadc125fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:34:16 -0700 Subject: [PATCH 0833/1330] Update dependency org.jenkins-ci.plugins:script-security to v1358 (#9685) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 28d74acd4513..229c19fe390e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -118,7 +118,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1354.va_70a_fe478c7f + 1358.vb_26663c13537 org.jenkins-ci.plugins.workflow diff --git a/war/pom.xml b/war/pom.xml index 9045cdc38056..3772fa834be2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -300,7 +300,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1354.va_70a_fe478c7f + 1358.vb_26663c13537 hpi From 7006cded64f63f788ae91dd7b7587a4a39e70273 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Tue, 3 Sep 2024 14:59:04 -0700 Subject: [PATCH 0834/1330] [JENKINS-73278] Migrate core from EE 8 to EE 9 (#9672) Co-authored-by: Kevin Guerroudj <91883215+Kevin-CB@users.noreply.github.com> Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> --- .github/renovate.json | 11 - .idea/encodings.xml | 9 +- bom/pom.xml | 14 +- core/pom.xml | 20 +- .../java/hudson/DescriptorExtensionList.java | 2 +- .../main/java/hudson/ExpressionFactory2.java | 4 +- core/src/main/java/hudson/FilePath.java | 2 +- core/src/main/java/hudson/Functions.java | 166 ++++++++++--- .../main/java/hudson/LocalPluginManager.java | 15 +- core/src/main/java/hudson/Plugin.java | 66 +++++- core/src/main/java/hudson/PluginManager.java | 91 ++++++-- core/src/main/java/hudson/PluginWrapper.java | 6 +- .../hudson/ProxyConfigurationManager.java | 4 +- .../java/hudson/ResponseHeaderFilter.java | 16 +- core/src/main/java/hudson/Util.java | 14 +- core/src/main/java/hudson/WebAppMain.java | 22 +- core/src/main/java/hudson/cli/CLIAction.java | 16 +- .../java/hudson/cli/CliCrumbExclusion.java | 8 +- .../cli/ReloadConfigurationCommand.java | 2 +- .../java/hudson/cli/UpdateNodeCommand.java | 2 +- .../hudson/console/AnnotatedLargeText.java | 61 ++++- .../console/ConsoleAnnotationDescriptor.java | 10 +- .../console/ConsoleAnnotatorFactory.java | 10 +- .../java/hudson/console/HyperlinkNote.java | 4 +- .../java/hudson/diagnosis/OldDataMonitor.java | 12 +- .../diagnosis/ReverseProxySetupMonitor.java | 4 +- .../diagnosis/TooManyJobsButNoView.java | 6 +- .../hudson/init/impl/GroovyInitScript.java | 2 +- .../impl/InstallUncaughtExceptionHandler.java | 18 +- .../lifecycle/WindowsInstallerLink.java | 16 +- .../main/java/hudson/logging/LogRecorder.java | 12 +- .../hudson/logging/LogRecorderManager.java | 12 +- .../java/hudson/markup/MarkupFormatter.java | 25 +- .../main/java/hudson/model/AbstractBuild.java | 13 +- .../main/java/hudson/model/AbstractItem.java | 107 ++++++++- .../hudson/model/AbstractModelObject.java | 53 ++++- .../java/hudson/model/AbstractProject.java | 80 +++++-- .../main/java/hudson/model/Actionable.java | 46 +++- .../hudson/model/AdministrativeMonitor.java | 8 +- core/src/main/java/hudson/model/AllView.java | 28 ++- core/src/main/java/hudson/model/Api.java | 71 +++++- .../model/AutoCompletionCandidates.java | 8 +- .../src/main/java/hudson/model/BallColor.java | 2 +- .../model/BooleanParameterDefinition.java | 4 +- .../hudson/model/BuildAuthorizationToken.java | 32 ++- .../hudson/model/BuildTimelineWidget.java | 20 +- .../model/ChoiceParameterDefinition.java | 6 +- core/src/main/java/hudson/model/Computer.java | 34 +-- .../main/java/hudson/model/ComputerSet.java | 20 +- .../main/java/hudson/model/Descriptor.java | 157 ++++++++++--- .../hudson/model/DirectlyModifiableView.java | 2 +- .../hudson/model/DirectoryBrowserSupport.java | 23 +- core/src/main/java/hudson/model/Executor.java | 3 +- core/src/main/java/hudson/model/Failure.java | 10 +- .../hudson/model/FileParameterDefinition.java | 8 +- .../java/hudson/model/FileParameterValue.java | 8 +- core/src/main/java/hudson/model/Hudson.java | 42 +++- core/src/main/java/hudson/model/Item.java | 4 +- .../java/hudson/model/ItemGroupMixIn.java | 25 +- core/src/main/java/hudson/model/Job.java | 102 ++++++-- .../main/java/hudson/model/JobProperty.java | 22 ++ .../hudson/model/JobPropertyDescriptor.java | 19 ++ core/src/main/java/hudson/model/Label.java | 6 +- core/src/main/java/hudson/model/ListView.java | 39 +++- .../hudson/model/ManageJenkinsAction.java | 8 +- .../hudson/model/ModifiableItemGroup.java | 49 +++- .../hudson/model/MultiStageTimeSeries.java | 8 +- core/src/main/java/hudson/model/MyView.java | 28 ++- .../java/hudson/model/MyViewsProperty.java | 10 +- core/src/main/java/hudson/model/Node.java | 18 ++ .../hudson/model/PaneStatusProperties.java | 6 +- .../hudson/model/ParameterDefinition.java | 58 ++++- .../java/hudson/model/ParameterValue.java | 6 +- .../model/ParametersDefinitionProperty.java | 37 +-- .../model/PasswordParameterDefinition.java | 4 +- core/src/main/java/hudson/model/Project.java | 36 ++- .../src/main/java/hudson/model/ProxyView.java | 37 ++- core/src/main/java/hudson/model/Queue.java | 8 +- core/src/main/java/hudson/model/RSS.java | 57 ++++- .../model/ReconfigurableDescribable.java | 31 ++- core/src/main/java/hudson/model/Run.java | 93 +++++++- .../hudson/model/RunParameterDefinition.java | 6 +- .../model/SimpleParameterDefinition.java | 4 +- core/src/main/java/hudson/model/Slave.java | 14 +- .../java/hudson/model/StockStatusIcon.java | 4 +- .../model/StringParameterDefinition.java | 4 +- .../main/java/hudson/model/TaskAction.java | 14 +- .../hudson/model/TextParameterDefinition.java | 4 +- .../hudson/model/TopLevelItemDescriptor.java | 2 +- .../main/java/hudson/model/UpdateCenter.java | 40 +++- .../java/hudson/model/UsageStatistics.java | 6 +- core/src/main/java/hudson/model/User.java | 20 +- .../main/java/hudson/model/UserProperty.java | 16 ++ core/src/main/java/hudson/model/View.java | 147 ++++++++++-- .../java/hudson/model/ViewDescriptor.java | 6 +- core/src/main/java/hudson/model/ViewJob.java | 30 ++- .../main/java/hudson/model/ViewProperty.java | 16 ++ .../java/hudson/model/labels/LabelAtom.java | 10 +- .../UserPropertyCategoryAccountAction.java | 8 +- .../UserPropertyCategoryAction.java | 8 +- .../java/hudson/scm/AbstractScmTagAction.java | 34 ++- .../java/hudson/scm/RepositoryBrowsers.java | 17 +- core/src/main/java/hudson/scm/SCMS.java | 22 +- core/src/main/java/hudson/search/Search.java | 59 ++++- .../hudson/search/UserSearchProperty.java | 4 +- .../security/AccessDeniedException2.java | 3 +- .../security/AccessDeniedException3.java | 15 +- .../security/AccessDeniedHandlerImpl.java | 8 +- .../AuthenticationProcessingFilter2.java | 10 +- .../security/AuthorizationStrategy.java | 4 +- .../security/BasicAuthenticationFilter.java | 28 +-- .../hudson/security/ChainedServletFilter.java | 19 +- .../security/ContainerAuthentication.java | 4 +- .../security/FederatedLoginService.java | 8 +- .../security/GlobalSecurityConfiguration.java | 12 +- .../HttpSessionContextIntegrationFilter2.java | 12 +- .../HudsonAuthenticationEntryPoint.java | 8 +- .../java/hudson/security/HudsonFilter.java | 19 +- .../security/HudsonPrivateSecurityRealm.java | 63 ++--- .../hudson/security/LegacySecurityRealm.java | 4 +- .../main/java/hudson/security/NoopFilter.java | 15 +- .../security/RememberMeServicesProxy.java | 4 +- .../java/hudson/security/SecurityRealm.java | 106 +++++++-- .../TokenBasedRememberMeServices2.java | 4 +- .../UnwrapSecurityExceptionFilter.java | 14 +- .../hudson/security/csrf/CrumbExclusion.java | 65 +++++- .../hudson/security/csrf/CrumbFilter.java | 20 +- .../hudson/security/csrf/CrumbIssuer.java | 109 ++++++++- .../security/csrf/DefaultCrumbIssuer.java | 9 +- .../csrf/GlobalCrumbIssuerConfiguration.java | 4 +- core/src/main/java/hudson/slaves/Cloud.java | 26 ++- .../EnvironmentVariablesNodeProperty.java | 2 +- .../java/hudson/slaves/NodeDescriptor.java | 8 +- .../main/java/hudson/slaves/NodeProperty.java | 19 ++ .../java/hudson/slaves/SlaveComputer.java | 16 +- .../java/hudson/tasks/ArtifactArchiver.java | 4 +- .../main/java/hudson/tasks/BuildTrigger.java | 4 +- .../main/java/hudson/tasks/Fingerprinter.java | 4 +- core/src/main/java/hudson/tasks/Maven.java | 4 +- core/src/main/java/hudson/tasks/Shell.java | 4 +- .../java/hudson/tools/ToolDescriptor.java | 21 +- .../main/java/hudson/triggers/SCMTrigger.java | 8 +- .../main/java/hudson/util/BootFailure.java | 2 +- .../hudson/util/CharacterEncodingFilter.java | 16 +- .../main/java/hudson/util/ComboBoxModel.java | 8 +- .../java/hudson/util/DescribableList.java | 23 +- .../main/java/hudson/util/DescriptorList.java | 2 +- .../main/java/hudson/util/ErrorObject.java | 10 +- core/src/main/java/hudson/util/FormApply.java | 21 +- .../java/hudson/util/FormFillFailure.java | 12 +- .../main/java/hudson/util/FormValidation.java | 18 +- core/src/main/java/hudson/util/Graph.java | 46 +++- .../main/java/hudson/util/HttpResponses.java | 8 +- .../java/hudson/util/HudsonIsLoading.java | 12 +- .../java/hudson/util/HudsonIsRestarting.java | 12 +- .../main/java/hudson/util/ListBoxModel.java | 37 ++- .../hudson/util/MultipartFormDataParser.java | 50 +++- .../java/hudson/util/PluginServletFilter.java | 69 ++++-- .../java/hudson/util/QueryParameterMap.java | 10 +- .../java/hudson/util/RemotingDiagnostics.java | 6 +- .../views/GlobalDefaultViewConfiguration.java | 4 +- .../java/hudson/views/ListViewColumn.java | 3 +- .../main/java/hudson/views/MyViewsTabBar.java | 4 +- .../main/java/hudson/views/ViewsTabBar.java | 4 +- .../java/hudson/widgets/HistoryWidget.java | 12 +- .../hudson/widgets/RenderOnDemandClosure.java | 12 +- .../java/jenkins/ErrorAttributeFilter.java | 16 +- core/src/main/java/jenkins/I18n.java | 4 +- .../jenkins/JenkinsHttpSessionListener.java | 4 +- .../main/java/jenkins/agents/CloudSet.java | 29 ++- .../java/jenkins/agents/WebSocketAgents.java | 6 +- .../AppearanceGlobalConfiguration.java | 12 +- .../jenkins/console/ConsoleUrlProvider.java | 4 +- ...ConsoleUrlProviderGlobalConfiguration.java | 4 +- .../ControllerExecutorsAgents.java | 6 +- .../ControllerExecutorsNoAgents.java | 6 +- .../diagnostics/SecurityIsOffMonitor.java | 6 +- .../diagnostics/URICheckEncodingMonitor.java | 4 +- .../GlobalFingerprintConfiguration.java | 4 +- .../java/jenkins/install/SetupWizard.java | 31 +-- .../management/AdministrativeMonitorsApi.java | 10 +- .../AdministrativeMonitorsConfiguration.java | 4 +- .../AdministrativeMonitorsDecorator.java | 4 +- .../java/jenkins/management/ShutdownLink.java | 10 +- .../model/ArtifactManagerConfiguration.java | 4 +- .../main/java/jenkins/model/AssetManager.java | 10 +- .../jenkins/model/BuiltInNodeMigration.java | 8 +- .../GlobalBuildDiscarderConfiguration.java | 4 +- .../jenkins/model/GlobalConfiguration.java | 23 +- .../GlobalNodePropertiesConfiguration.java | 4 +- .../model/GlobalPluginConfiguration.java | 6 +- ...balProjectNamingStrategyConfiguration.java | 4 +- .../model/GlobalQuietPeriodConfiguration.java | 4 +- .../GlobalSCMRetryCountConfiguration.java | 4 +- core/src/main/java/jenkins/model/Jenkins.java | 220 ++++++++++++------ .../model/JenkinsLocationConfiguration.java | 6 +- .../model/MasterBuildConfiguration.java | 4 +- .../model/ModelObjectWithChildren.java | 27 ++- .../model/ModelObjectWithContextMenu.java | 53 +++-- .../jenkins/model/OptionalJobProperty.java | 16 +- .../jenkins/model/ParameterizedJobMixIn.java | 76 ++++-- .../jenkins/model/ProjectNamingStrategy.java | 2 +- .../UserExperimentalFlagsProperty.java | 4 +- .../model/item_category/Categories.java | 8 +- .../jenkins/mvn/GlobalSettingsProvider.java | 21 +- .../java/jenkins/mvn/SettingsProvider.java | 18 +- .../AcegiSecurityExceptionFilter.java | 14 +- .../jenkins/security/ApiCrumbExclusion.java | 8 +- .../java/jenkins/security/ApiTokenFilter.java | 2 +- .../jenkins/security/ApiTokenProperty.java | 4 +- .../AuthenticationSuccessHandler.java | 4 +- .../BasicHeaderApiTokenAuthenticator.java | 6 +- .../security/BasicHeaderAuthenticator.java | 46 +++- .../security/BasicHeaderProcessor.java | 19 +- .../BasicHeaderRealPasswordAuthenticator.java | 6 +- .../LastGrantedAuthoritiesProperty.java | 4 +- .../NonSerializableSecurityContext.java | 2 +- .../QueueItemAuthenticatorConfiguration.java | 4 +- .../security/ResourceDomainConfiguration.java | 6 +- .../security/ResourceDomainFilter.java | 6 +- .../security/ResourceDomainRootAction.java | 16 +- .../jenkins/security/SecureRequester.java | 33 ++- .../security/SuspiciousRequestFilter.java | 18 +- .../UpdateSiteWarningsConfiguration.java | 4 +- .../seed/UserSeedSecurityListener.java | 6 +- .../stapler/StaplerDispatchValidator.java | 18 +- .../StaplerFilteredActionListener.java | 12 +- .../StaticRoutingDecisionProvider.java | 2 +- .../security/stapler/WebMethodConstants.java | 12 +- .../slaves/EncryptedSlaveAgentJnlpFile.java | 18 +- .../EnvVarsFilterGlobalConfiguration.java | 4 +- .../telemetry/impl/StaplerDispatches.java | 4 +- .../jenkins/telemetry/impl/UserLanguages.java | 6 +- .../tools/GlobalToolConfiguration.java | 12 +- .../jenkins/util/FullDuplexHttpService.java | 16 +- .../java/jenkins/util/HttpServletFilter.java | 19 +- .../jenkins/util/HttpSessionListener.java | 38 ++- .../jenkins/util/JSONSignatureValidator.java | 4 +- .../main/java/jenkins/util/JenkinsJVM.java | 2 +- .../jenkins/util/ProgressiveRendering.java | 8 +- .../java/jenkins/util/ScriptListener.java | 4 +- .../java/jenkins/util/SystemProperties.java | 6 +- .../jenkins/util/groovy/GroovyHookScript.java | 13 +- .../java/jenkins/websocket/WebSockets.java | 18 +- .../ui/rememberme/RememberMeServices.java | 4 +- .../RememberMeServicesSpringImpl.java | 4 +- .../jenkins/model/Jenkins/_404.jelly | 6 +- .../jenkins/model/Jenkins/_404_simple.jelly | 4 +- .../jenkins/model/Jenkins/oops.jelly | 2 +- core/src/test/java/hudson/FunctionsTest.java | 36 +-- .../hudson/GetLocaleStaticHelpUrlTest.java | 24 +- .../src/test/java/hudson/model/QueueTest.java | 8 +- core/src/test/java/hudson/model/ViewTest.java | 8 +- .../java/hudson/util/FormValidationTest.java | 5 +- .../jenkins/model/JenkinsGetRootUrlTest.java | 28 +-- .../stapler/StaplerSignaturesTest.java | 10 +- pom.xml | 5 +- .../java/hudson/CustomPluginManagerTest.java | 2 +- .../PluginManagerCheckUpdateCenterTest.java | 12 +- .../test/java/hudson/PluginManagerTest.java | 12 +- test/src/test/java/hudson/PluginTest.java | 2 +- .../java/hudson/cli/BuildCommandTest.java | 4 +- test/src/test/java/hudson/cli/CLITest.java | 22 +- .../hudson/diagnosis/OldDataMonitorTest.java | 4 +- test/src/test/java/hudson/model/ApiTest.java | 2 +- .../model/ComputerConfigDotXmlTest.java | 16 +- .../java/hudson/model/DescriptorTest.java | 8 +- .../model/DirectoryBrowserSupportTest.java | 6 +- .../java/hudson/model/JobPropertyTest.java | 6 +- .../test/java/hudson/model/ListViewTest.java | 12 +- .../ParametersDefinitionPropertyTest.java | 8 +- .../test/java/hudson/model/ProjectTest.java | 3 +- .../src/test/java/hudson/model/QueueTest.java | 2 +- .../hudson/model/UpdateCenterCustomTest.java | 6 +- .../hudson/model/UsageStatisticsTest.java | 2 +- .../java/hudson/model/ViewDescriptorTest.java | 4 +- .../java/hudson/model/ViewPropertyTest.java | 4 +- test/src/test/java/hudson/model/ViewTest.java | 10 +- .../pages/SystemConfigurationTestCase.java | 4 +- .../test/java/hudson/security/LoginTest.java | 2 +- .../hudson/security/SecurityRealmTest.java | 4 +- .../TokenBasedRememberMeServices2Test.java | 2 +- .../test/java/hudson/security/WhoAmITest.java | 6 +- .../security/csrf/CrumbExclusionTest.java | 8 +- .../security/csrf/DefaultCrumbIssuerTest.java | 2 +- .../test/java/hudson/slaves/CloudTest.java | 4 +- .../java/hudson/slaves/NodePropertyTest.java | 4 +- .../java/hudson/util/BootFailureTest.java | 12 +- .../java/hudson/util/HudsonIsLoadingTest.java | 4 +- .../hudson/util/HudsonIsRestartingTest.java | 4 +- .../util/RobustReflectionConverterTest.java | 6 +- .../hudson/util/XStream2Security383Test.java | 12 +- .../GlobalDefaultViewConfigurationTest.java | 4 +- .../URICheckEncodingMonitorTest.java | 2 +- .../java/jenkins/install/InstallUtilTest.java | 2 +- .../java/jenkins/model/ContextMenuTest.java | 2 +- .../GlobalSCMRetryCountConfigurationTest.java | 6 +- .../model/ParameterizedJobMixInTest.java | 3 +- .../security/ApiTokenPropertyTest.java | 2 +- ...etJsonInErrorMessageSanitizerHtmlTest.java | 10 +- .../jenkins/security/Security3030Test.java | 54 ++--- .../jenkins/security/Security3135Test.java | 6 +- .../security/SuspiciousRequestFilterTest.java | 2 +- .../seed/UserSeedSecurityListenerTest.java | 4 +- .../CustomRoutingDecisionProviderTest.java | 4 +- .../security/stapler/DoActionFilterTest.java | 36 +-- .../jenkins/security/stapler/DynamicTest.java | 4 +- .../security/stapler/PreventRoutingTest.java | 4 +- .../security/stapler/Security400Test.java | 2 +- .../security/stapler/StaplerAbstractTest.java | 6 +- .../stapler/StaplerDispatchValidatorTest.java | 2 +- .../stapler/StaplerRoutableActionTest.java | 4 +- .../StaticRoutingDecisionProviderTest.java | 18 +- .../security/stapler/TypedFilterTest.java | 10 +- .../java/jenkins/telemetry/TelemetryTest.java | 14 +- .../util/FullDuplexHttpServiceTest.java | 12 +- .../jenkins/util/SystemPropertiesTest.java | 10 +- .../java/lib/form/AdvancedButtonTest.java | 4 +- .../test/java/lib/form/BooleanRadioTest.java | 4 +- .../test/java/lib/form/DropdownListTest.java | 4 +- test/src/test/java/lib/form/EnumSetTest.java | 4 +- test/src/test/java/lib/form/EnumTest.java | 4 +- .../java/lib/form/ExpandableTextboxTest.java | 4 +- test/src/test/java/lib/form/NameRefTest.java | 4 +- test/src/test/java/lib/form/PasswordTest.java | 4 +- .../test/java/lib/form/RepeatableTest.java | 4 +- test/src/test/java/lib/form/RowSetTest.java | 4 +- .../java/lib/form/RowVisibilityGroupTest.java | 4 +- .../java/lib/form/ValidateButtonTest.java | 6 +- .../java/lib/layout/ConfirmationLinkTest.java | 4 +- .../test/java/lib/layout/StopButtonTest.java | 4 +- test/src/test/java/lib/layout/TaskTest.java | 8 +- .../stapler/MockStaplerRequestBuilder.java | 6 +- .../org/kohsuke/stapler/Security1097Test.java | 4 +- war/pom.xml | 24 +- websocket/jetty10/pom.xml | 85 ------- .../jenkins/websocket/Jetty10Provider.java | 179 -------------- .../{jetty12-ee8 => jetty12-ee9}/pom.xml | 6 +- .../websocket/Jetty12EE9Provider.java} | 24 +- websocket/spi/pom.xml | 2 +- .../main/java/jenkins/websocket/Provider.java | 4 +- 341 files changed, 3991 insertions(+), 1872 deletions(-) delete mode 100644 websocket/jetty10/pom.xml delete mode 100644 websocket/jetty10/src/main/java/jenkins/websocket/Jetty10Provider.java rename websocket/{jetty12-ee8 => jetty12-ee9}/pom.xml (95%) rename websocket/{jetty12-ee8/src/main/java/jenkins/websocket/Jetty12EE8Provider.java => jetty12-ee9/src/main/java/jenkins/websocket/Jetty12EE9Provider.java} (90%) diff --git a/.github/renovate.json b/.github/renovate.json index aab994ad8187..1f023c99f4f5 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -91,17 +91,6 @@ "org.jfree:jfreechart" ] }, - { - "description": "Starting with 6.x, Spring requires Java 17 at a minimum.", - "matchManagers": [ - "maven" - ], - "allowedVersions": "<6.0.0", - "matchPackageNames": [ - "org.springframework:spring-framework-bom", - "org.springframework.security:spring-security-bom" - ] - }, { "description": "Starting with 7.x, Guice switches from javax.* to jakarta.* bindings. See https://github.com/google/guice/wiki/Guice700", "matchManagers": [ diff --git a/.idea/encodings.xml b/.idea/encodings.xml index ca018ebc3ab9..68f564fff79d 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -29,12 +29,9 @@ - - - - - - + + + diff --git a/bom/pom.xml b/bom/pom.xml index adf65f6cf439..cd55b58d52c9 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 2.0.0-M2 - 1896.v8170998149d0 + 1903.v994a_db_314d58 2.4.21 @@ -62,15 +62,15 @@ THE SOFTWARE. org.springframework spring-framework-bom - 5.3.39 + 6.1.12 pom import - + org.springframework.security spring-security-bom - 5.8.14 + 6.3.3 pom import @@ -154,12 +154,12 @@ THE SOFTWARE. jakarta.servlet jakarta.servlet-api - 4.0.4 + 5.0.0 jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api - 1.2.7 + 2.0.0 jaxen @@ -295,7 +295,7 @@ THE SOFTWARE. org.jvnet.hudson commons-jelly-tags-define - 1.1-jenkins-20240510 + 1.1-jenkins-20240903 org.jvnet.localizer diff --git a/core/pom.xml b/core/pom.xml index 8e30ae211ed7..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -217,6 +217,20 @@ THE SOFTWARE. jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api + + + jakarta.el + jakarta.el-api + + + jakarta.servlet + jakarta.servlet-api + + + jakarta.xml.bind + jakarta.xml.bind-api + + jaxen @@ -288,7 +302,7 @@ THE SOFTWARE. org.apache.commons - commons-fileupload2-javax + commons-fileupload2-jakarta-servlet5 org.codehaus.groovy @@ -427,6 +441,10 @@ THE SOFTWARE. org.springframework.security spring-security-web + + io.micrometer + micrometer-observation + org.springframework spring-jcl diff --git a/core/src/main/java/hudson/DescriptorExtensionList.java b/core/src/main/java/hudson/DescriptorExtensionList.java index c92b6ae206c0..c658c83fe1fc 100644 --- a/core/src/main/java/hudson/DescriptorExtensionList.java +++ b/core/src/main/java/hudson/DescriptorExtensionList.java @@ -145,7 +145,7 @@ public T newInstanceFromRadioList(JSONObject config) throws FormException { if (config.isNullObject()) return null; // none was selected int idx = config.getInt("value"); - return get(idx).newInstance(Stapler.getCurrentRequest(), config); + return get(idx).newInstance(Stapler.getCurrentRequest2(), config); } /** diff --git a/core/src/main/java/hudson/ExpressionFactory2.java b/core/src/main/java/hudson/ExpressionFactory2.java index 7fcec22e7604..1bc99160439b 100644 --- a/core/src/main/java/hudson/ExpressionFactory2.java +++ b/core/src/main/java/hudson/ExpressionFactory2.java @@ -12,7 +12,7 @@ import org.apache.commons.jelly.expression.ExpressionSupport; import org.apache.commons.jexl.JexlContext; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.springframework.security.access.AccessDeniedException; /** @@ -78,7 +78,7 @@ public Object evaluate(JellyContext context) { // let the security exception pass through throw e; } catch (Exception e) { - StaplerRequest currentRequest = Stapler.getCurrentRequest(); + StaplerRequest2 currentRequest = Stapler.getCurrentRequest2(); LOGGER.log(Level.WARNING, "Caught exception evaluating: " + expression + " in " + (currentRequest != null ? currentRequest.getOriginalRequestURI() : "?") + ". Reason: " + e, e); return null; } finally { diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index 06773dd9a9ee..f5288b26d9d1 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -3510,7 +3510,7 @@ public FormValidation validateRelativePath(String value, boolean errorIfNotExist } private static void checkPermissionForValidate() { - AccessControlled subject = Stapler.getCurrentRequest().findAncestorObject(AbstractProject.class); + AccessControlled subject = Stapler.getCurrentRequest2().findAncestorObject(AbstractProject.class); if (subject == null) Jenkins.get().checkPermission(Jenkins.MANAGE); else diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index cd25f9bc9871..d2b62e99a2f2 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -95,6 +95,14 @@ import hudson.views.MyViewsTabBar; import hudson.views.ViewsTabBar; import hudson.widgets.RenderOnDemandClosure; +import io.jenkins.servlet.ServletExceptionWrapper; +import io.jenkins.servlet.http.CookieWrapper; +import io.jenkins.servlet.http.HttpServletRequestWrapper; +import io.jenkins.servlet.http.HttpServletResponseWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.PrintStream; @@ -148,10 +156,6 @@ import java.util.logging.SimpleFormatter; import java.util.regex.Pattern; import java.util.stream.Collectors; -import javax.servlet.ServletException; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import jenkins.console.ConsoleUrlProvider; import jenkins.model.GlobalConfiguration; import jenkins.model.GlobalConfigurationCategory; @@ -176,7 +180,9 @@ import org.kohsuke.stapler.RawHtmlArgument; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.access.AccessDeniedException; /** @@ -276,8 +282,8 @@ public static boolean isExtensionsAvailable() { } public static void initPageVariables(JellyContext context) { - StaplerRequest currentRequest = Stapler.getCurrentRequest(); - currentRequest.getWebApp().getDispatchValidator().allowDispatch(currentRequest, Stapler.getCurrentResponse()); + StaplerRequest2 currentRequest = Stapler.getCurrentRequest2(); + currentRequest.getWebApp().getDispatchValidator().allowDispatch(currentRequest, Stapler.getCurrentResponse2()); String rootURL = currentRequest.getContextPath(); Functions h = new Functions(); @@ -372,7 +378,10 @@ public static String addSuffix(int n, String singular, String plural) { return buf.toString(); } - public static RunUrl decompose(StaplerRequest req) { + /** + * @since TODO + */ + public static RunUrl decompose(StaplerRequest2 req) { List ancestors = req.getAncestors(); // find the first and last Run instances @@ -405,12 +414,20 @@ public static RunUrl decompose(StaplerRequest req) { return new RunUrl((Run) f.getObject(), head, base, rest); } + /** + * @deprecated use {@link #decompose(StaplerRequest2)} + */ + @Deprecated + public static RunUrl decompose(StaplerRequest req) { + return decompose(StaplerRequest.toStaplerRequest2(req)); + } + /** * If we know the user's screen resolution, return it. Otherwise null. * @since 1.213 */ public static Area getScreenResolution() { - Cookie res = Functions.getCookie(Stapler.getCurrentRequest(), "screenResolution"); + Cookie res = Functions.getCookie(Stapler.getCurrentRequest2(), "screenResolution"); if (res != null) return Area.parse(res.getValue()); return null; @@ -592,6 +609,9 @@ public static Iterable reverse(Collection collection) { return list; } + /** + * @since TODO + */ public static Cookie getCookie(HttpServletRequest req, String name) { Cookie[] cookies = req.getCookies(); if (cookies != null) { @@ -604,12 +624,31 @@ public static Cookie getCookie(HttpServletRequest req, String name) { return null; } + /** + * @deprecated use {@link #getCookie(HttpServletRequest, String)} + */ + @Deprecated + public static javax.servlet.http.Cookie getCookie(javax.servlet.http.HttpServletRequest req, String name) { + return CookieWrapper.fromJakartaServletHttpCookie(getCookie(HttpServletRequestWrapper.toJakartaHttpServletRequest(req), name)); + } + + /** + * @since TODO + */ public static String getCookie(HttpServletRequest req, String name, String defaultValue) { Cookie c = getCookie(req, name); if (c == null || c.getValue() == null) return defaultValue; return c.getValue(); } + /** + * @deprecated use {@link #getCookie(HttpServletRequest, String, String)} + */ + @Deprecated + public static String getCookie(javax.servlet.http.HttpServletRequest req, String name, String defaultValue) { + return getCookie(HttpServletRequestWrapper.toJakartaHttpServletRequest(req), name, defaultValue); + } + private static final Pattern ICON_SIZE = Pattern.compile("\\d+x\\d+"); @Restricted(NoExternalUse.class) @@ -713,8 +752,10 @@ public static long getHourLocalTimezone() { * Finds the given object in the ancestor list and returns its URL. * This is used to determine the "current" URL assigned to the given object, * so that one can compute relative URLs from it. + * + * @since TODO */ - public static String getNearestAncestorUrl(StaplerRequest req, Object it) { + public static String getNearestAncestorUrl(StaplerRequest2 req, Object it) { List list = req.getAncestors(); for (int i = list.size() - 1; i >= 0; i--) { Ancestor anc = (Ancestor) list.get(i); @@ -724,11 +765,19 @@ public static String getNearestAncestorUrl(StaplerRequest req, Object it) { return null; } + /** + * @deprecated use {@link #getNearestAncestorUrl(StaplerRequest2, Object)} + */ + @Deprecated + public static String getNearestAncestorUrl(StaplerRequest req, Object it) { + return getNearestAncestorUrl(StaplerRequest.toStaplerRequest2(req), it); + } + /** * Finds the inner-most {@link SearchableModelObject} in scope. */ public static String getSearchURL() { - List list = Stapler.getCurrentRequest().getAncestors(); + List list = Stapler.getCurrentRequest2().getAncestors(); for (int i = list.size() - 1; i >= 0; i--) { Ancestor anc = (Ancestor) list.get(i); if (anc.getObject() instanceof SearchableModelObject) @@ -888,7 +937,7 @@ public static void checkPermission(Object object, Permission permission) throws if (object instanceof AccessControlled) checkPermission((AccessControlled) object, permission); else { - List ancs = Stapler.getCurrentRequest().getAncestors(); + List ancs = Stapler.getCurrentRequest2().getAncestors(); for (Ancestor anc : Iterators.reverse(ancs)) { Object o = anc.getObject(); if (o instanceof AccessControlled) { @@ -920,7 +969,7 @@ public static boolean hasPermission(Object object, Permission permission) throws if (object instanceof AccessControlled) return ((AccessControlled) object).hasPermission(permission); else { - List ancs = Stapler.getCurrentRequest().getAncestors(); + List ancs = Stapler.getCurrentRequest2().getAncestors(); for (Ancestor anc : Iterators.reverse(ancs)) { Object o = anc.getObject(); if (o instanceof AccessControlled) { @@ -931,10 +980,13 @@ public static boolean hasPermission(Object object, Permission permission) throws } } - public static void adminCheck(StaplerRequest req, StaplerResponse rsp, Object required, Permission permission) throws IOException, ServletException { + /** + * @since TODO + */ + public static void adminCheck(StaplerRequest2 req, StaplerResponse2 rsp, Object required, Permission permission) throws IOException, ServletException { // this is legacy --- all views should be eventually converted to // the permission based model. - if (required != null && !Hudson.adminCheck(req, rsp)) { + if (required != null && !Hudson.adminCheck(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp))) { // check failed. commit the FORBIDDEN response, then abort. rsp.setStatus(HttpServletResponse.SC_FORBIDDEN); rsp.getOutputStream().close(); @@ -946,10 +998,24 @@ public static void adminCheck(StaplerRequest req, StaplerResponse rsp, Object re checkPermission(permission); } + /** + * @deprecated use {@link #adminCheck(StaplerRequest2, StaplerResponse2, Object, Permission)} + */ + @Deprecated + public static void adminCheck(StaplerRequest req, StaplerResponse rsp, Object required, Permission permission) throws IOException, javax.servlet.ServletException { + try { + adminCheck(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), required, permission); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + /** * Infers the hudson installation URL from the given request. + * + * @since TODO */ - public static String inferHudsonURL(StaplerRequest req) { + public static String inferHudsonURL(StaplerRequest2 req) { String rootUrl = Jenkins.get().getRootUrl(); if (rootUrl != null) // prefer the one explicitly configured, to work with load-balancer, frontend, etc. @@ -963,6 +1029,14 @@ public static String inferHudsonURL(StaplerRequest req) { return buf.toString(); } + /** + * @deprecated use {@link #inferHudsonURL(StaplerRequest2)} + */ + @Deprecated + public static String inferHudsonURL(StaplerRequest req) { + return inferHudsonURL(StaplerRequest.toStaplerRequest2(req)); + } + /** * Returns the link to be displayed in the footer of the UI. */ @@ -1226,7 +1300,7 @@ public static boolean hasAnyPermission(Object object, Permission[] permissions) if (object instanceof AccessControlled) return hasAnyPermission((AccessControlled) object, permissions); else { - AccessControlled ac = Stapler.getCurrentRequest().findAncestorObject(AccessControlled.class); + AccessControlled ac = Stapler.getCurrentRequest2().findAncestorObject(AccessControlled.class); if (ac != null) { return hasAnyPermission(ac, permissions); } @@ -1264,7 +1338,7 @@ public static void checkAnyPermission(Object object, Permission[] permissions) t if (object instanceof AccessControlled) checkAnyPermission((AccessControlled) object, permissions); else { - List ancs = Stapler.getCurrentRequest().getAncestors(); + List ancs = Stapler.getCurrentRequest2().getAncestors(); for (Ancestor anc : Iterators.reverse(ancs)) { Object o = anc.getObject(); if (o instanceof AccessControlled) { @@ -1335,7 +1409,7 @@ public static String getRelativeLinkTo(Item p) { Map ancestors = new HashMap<>(); View view = null; - StaplerRequest request = Stapler.getCurrentRequest(); + StaplerRequest2 request = Stapler.getCurrentRequest2(); for (Ancestor a : request.getAncestors()) { ancestors.put(a.getObject(), a.getRelativePath()); if (a.getObject() instanceof View) @@ -1681,7 +1755,7 @@ public static String getViewResource(Object it, String path) { if (it instanceof Descriptor) clazz = ((Descriptor) it).clazz; - String buf = Stapler.getCurrentRequest().getContextPath() + Jenkins.VIEW_RESOURCE_PATH + '/' + + String buf = Stapler.getCurrentRequest2().getContextPath() + Jenkins.VIEW_RESOURCE_PATH + '/' + clazz.getName().replace('.', '/').replace('$', '/') + '/' + path; return buf; @@ -1689,7 +1763,7 @@ public static String getViewResource(Object it, String path) { public static boolean hasView(Object it, String path) throws IOException { if (it == null) return false; - return Stapler.getCurrentRequest().getView(it, path) != null; + return Stapler.getCurrentRequest2().getView(it, path) != null; } /** @@ -1900,10 +1974,10 @@ public static String joinPath(String... components) { return null; } if (urlName.startsWith("/")) - return joinPath(Stapler.getCurrentRequest().getContextPath(), urlName); + return joinPath(Stapler.getCurrentRequest2().getContextPath(), urlName); else // relative URL name - return joinPath(Stapler.getCurrentRequest().getContextPath() + '/' + itUrl, urlName); + return joinPath(Stapler.getCurrentRequest2().getContextPath() + '/' + itUrl, urlName); } /** @@ -1966,7 +2040,7 @@ public String getServerName() { } catch (MalformedURLException e) { // fall back to HTTP request } - return Stapler.getCurrentRequest().getServerName(); + return Stapler.getCurrentRequest2().getServerName(); } /** @@ -2004,7 +2078,7 @@ public void calcCheckUrl(Map attributes, String userDefined, Object descriptor, * Used in {@code task.jelly} to decide if the page should be highlighted. */ public boolean hyperlinkMatchesCurrentPage(String href) { - String url = Stapler.getCurrentRequest().getRequestURL().toString(); + String url = Stapler.getCurrentRequest2().getRequestURL().toString(); if (href == null || href.length() <= 1) return ".".equals(href) && url.endsWith("/"); url = URLDecoder.decode(url, StandardCharsets.UTF_8); href = URLDecoder.decode(href, StandardCharsets.UTF_8); @@ -2063,12 +2137,23 @@ public static List> getCrumbIssuerDescriptors() { return CrumbIssuer.all(); } - public static String getCrumb(StaplerRequest req) { + /** + * @since TODO + */ + public static String getCrumb(StaplerRequest2 req) { Jenkins h = Jenkins.getInstanceOrNull(); CrumbIssuer issuer = h != null ? h.getCrumbIssuer() : null; return issuer != null ? issuer.getCrumb(req) : ""; } + /** + * @deprecated use {@link #getCrumb(StaplerRequest2)} + */ + @Deprecated + public static String getCrumb(StaplerRequest req) { + return getCrumb(req != null ? StaplerRequest.toStaplerRequest2(req) : null); + } + public static String getCrumbRequestField() { Jenkins h = Jenkins.getInstanceOrNull(); CrumbIssuer issuer = h != null ? h.getCrumbIssuer() : null; @@ -2081,7 +2166,7 @@ public static Date getCurrentTime() { public static Locale getCurrentLocale() { Locale locale = null; - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); if (req != null) locale = req.getLocale(); if (locale == null) @@ -2094,7 +2179,7 @@ public static Locale getCurrentLocale() { * from {@link ConsoleAnnotatorFactory}s and {@link ConsoleAnnotationDescriptor}s. */ public static String generateConsoleAnnotationScriptAndStylesheet() { - String cp = Stapler.getCurrentRequest().getContextPath() + Jenkins.RESOURCE_PATH; + String cp = Stapler.getCurrentRequest2().getContextPath() + Jenkins.RESOURCE_PATH; StringBuilder buf = new StringBuilder(); for (ConsoleAnnotatorFactory f : ConsoleAnnotatorFactory.all()) { String path = cp + "/extensionList/" + ConsoleAnnotatorFactory.class.getName() + "/" + f.getClass().getName(); @@ -2147,7 +2232,7 @@ public String getPasswordValue(Object o) { } /* Mask from Extended Read */ - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); if (o instanceof Secret || Secret.BLANK_NONSECRET_PASSWORD_FIELDS_WITHOUT_ITEM_CONFIGURE) { if (req != null) { Item item = req.findAncestorObject(Item.class); @@ -2243,15 +2328,17 @@ public static boolean isWipeOutPermissionEnabled() { @Deprecated public static String createRenderOnDemandProxy(JellyContext context, String attributesToCapture) { - return Stapler.getCurrentRequest().createJavaScriptProxy(new RenderOnDemandClosure(context, attributesToCapture)); + return Stapler.getCurrentRequest2().createJavaScriptProxy(new RenderOnDemandClosure(context, attributesToCapture)); } /** * Called from renderOnDemand.jelly to generate the parameters for the proxy object generation. + * + * @since TODO */ @Restricted(NoExternalUse.class) - public static StaplerRequest.RenderOnDemandParameters createRenderOnDemandProxyParameters(JellyContext context, String attributesToCapture) { - return Stapler.getCurrentRequest().createJavaScriptProxyParameters(new RenderOnDemandClosure(context, attributesToCapture)); + public static StaplerRequest2.RenderOnDemandParameters createRenderOnDemandProxyParameters(JellyContext context, String attributesToCapture) { + return Stapler.getCurrentRequest2().createJavaScriptProxyParameters(new RenderOnDemandClosure(context, attributesToCapture)); } public static String getCurrentDescriptorByNameUrl() { @@ -2260,18 +2347,18 @@ public static String getCurrentDescriptorByNameUrl() { public static String setCurrentDescriptorByNameUrl(String value) { String o = getCurrentDescriptorByNameUrl(); - Stapler.getCurrentRequest().setAttribute("currentDescriptorByNameUrl", value); + Stapler.getCurrentRequest2().setAttribute("currentDescriptorByNameUrl", value); return o; } public static void restoreCurrentDescriptorByNameUrl(String old) { - Stapler.getCurrentRequest().setAttribute("currentDescriptorByNameUrl", old); + Stapler.getCurrentRequest2().setAttribute("currentDescriptorByNameUrl", old); } public static List getRequestHeaders(String name) { List r = new ArrayList<>(); - Enumeration e = Stapler.getCurrentRequest().getHeaders(name); + Enumeration e = Stapler.getCurrentRequest2().getHeaders(name); while (e.hasMoreElements()) { r.add(e.nextElement().toString()); } @@ -2366,6 +2453,7 @@ public static String breakableString(final String plain) { * Advertises the minimum set of HTTP headers that assist programmatic * discovery of Jenkins. */ + @SuppressFBWarnings(value = "UC_USELESS_VOID_METHOD", justification = "TODO needs triage") public static void advertiseHeaders(HttpServletResponse rsp) { Jenkins j = Jenkins.getInstanceOrNull(); if (j != null) { @@ -2375,6 +2463,14 @@ public static void advertiseHeaders(HttpServletResponse rsp) { } } + /** + * @deprecated use {@link #advertiseHeaders(HttpServletResponse)} + */ + @Deprecated + public static void advertiseHeaders(javax.servlet.http.HttpServletResponse rsp) { + advertiseHeaders(HttpServletResponseWrapper.toJakartaHttpServletResponse(rsp)); + } + @Restricted(NoExternalUse.class) // for actions.jelly and ContextMenu.add public static boolean isContextMenuVisible(Action a) { if (a instanceof ModelObjectWithContextMenu.ContextMenuVisibility) { @@ -2449,7 +2545,7 @@ public static String tryGetIconPath(String iconGuess, JellyContext context) { return iconGuess; } - StaplerRequest currentRequest = Stapler.getCurrentRequest(); + StaplerRequest2 currentRequest = Stapler.getCurrentRequest2(); String rootURL = currentRequest.getContextPath(); Icon iconMetadata = tryGetIcon(iconGuess); diff --git a/core/src/main/java/hudson/LocalPluginManager.java b/core/src/main/java/hudson/LocalPluginManager.java index d1fcfd678e3a..7ee8c68b40d3 100644 --- a/core/src/main/java/hudson/LocalPluginManager.java +++ b/core/src/main/java/hudson/LocalPluginManager.java @@ -26,11 +26,12 @@ import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; +import io.jenkins.servlet.ServletContextWrapper; +import jakarta.servlet.ServletContext; import java.io.File; import java.util.Collection; import java.util.Collections; import java.util.logging.Logger; -import javax.servlet.ServletContext; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; @@ -49,12 +50,20 @@ public LocalPluginManager(@CheckForNull ServletContext context, @NonNull File ro super(context, new File(rootDir, "plugins")); } + /** + * @deprecated use {@link #LocalPluginManager(ServletContext, File)} + */ + @Deprecated + public LocalPluginManager(@CheckForNull javax.servlet.ServletContext context, @NonNull File rootDir) { + this(context != null ? ServletContextWrapper.toJakartaServletContext(context) : null, rootDir); + } + /** * Creates a new LocalPluginManager * @param jenkins Jenkins instance that will use the plugin manager. */ public LocalPluginManager(@NonNull Jenkins jenkins) { - this(jenkins.servletContext, jenkins.getRootDir()); + this(jenkins.getServletContext(), jenkins.getRootDir()); } /** @@ -62,7 +71,7 @@ public LocalPluginManager(@NonNull Jenkins jenkins) { * @param rootDir Jenkins home directory. */ public LocalPluginManager(@NonNull File rootDir) { - this(null, rootDir); + this((ServletContext) null, rootDir); } @Override diff --git a/core/src/main/java/hudson/Plugin.java b/core/src/main/java/hudson/Plugin.java index c87a2cbe9b3c..1427da9fda8a 100644 --- a/core/src/main/java/hudson/Plugin.java +++ b/core/src/main/java/hudson/Plugin.java @@ -33,25 +33,29 @@ import hudson.model.Saveable; import hudson.model.listeners.ItemListener; import hudson.model.listeners.SaveableListener; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.net.URL; import java.util.Locale; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.GlobalConfiguration; import jenkins.model.Jenkins; import jenkins.model.Loadable; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.SystemProperties; import net.sf.json.JSONObject; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.StaplerProxy; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * Base class of Hudson plugin. @@ -92,11 +96,11 @@ public abstract class Plugin implements Loadable, Saveable, StaplerProxy { /** * You do not need to create custom subtypes: *
      - *
    • {@code config.jelly}, {@link #configure(StaplerRequest, JSONObject)}, {@link #load}, and {@link #save} + *
    • {@code config.jelly}, {@link #configure(StaplerRequest2, JSONObject)}, {@link #load}, and {@link #save} * can be replaced by {@link GlobalConfiguration} *
    • {@link #start} and {@link #postInitialize} can be replaced by {@link Initializer} (or {@link ItemListener#onLoaded}) *
    • {@link #stop} can be replaced by {@link Terminator} - *
    • {@link #setServletContext} can be replaced by {@link Jenkins#servletContext} + *
    • {@link #setServletContext} can be replaced by {@link Jenkins#getServletContext} *
    * Note that every plugin gets a {@link DummyImpl} by default, * which will still route the URL space, serve {@link #getWrapper}, and so on. @@ -189,10 +193,10 @@ public void stop() throws Exception { /** * @since 1.233 - * @deprecated as of 1.305 override {@link #configure(StaplerRequest,JSONObject)} instead + * @deprecated as of 1.305 override {@link #configure(StaplerRequest2,JSONObject)} instead */ @Deprecated - public void configure(JSONObject formData) throws IOException, ServletException, FormException { + public void configure(JSONObject formData) throws IOException, javax.servlet.ServletException, FormException { } /** @@ -220,16 +224,60 @@ public void configure(JSONObject formData) throws IOException, ServletException, *

    * If you are using this method, you'll likely be interested in * using {@link #save()} and {@link #load()}. + * @since TODO + */ + public void configure(StaplerRequest2 req, JSONObject formData) throws IOException, ServletException, FormException { + try { + if (Util.isOverridden(Plugin.class, getClass(), "configure", StaplerRequest.class, JSONObject.class)) { + configure(StaplerRequest.fromStaplerRequest2(req), formData); + } else { + configure(formData); + } + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } + + /** + * @deprecated use {@link #configure(StaplerRequest2, JSONObject)} * @since 1.305 */ - public void configure(StaplerRequest req, JSONObject formData) throws IOException, ServletException, FormException { + @Deprecated + public void configure(StaplerRequest req, JSONObject formData) throws IOException, javax.servlet.ServletException, FormException { configure(formData); } /** * This method serves static resources in the plugin under {@code hudson/plugin/SHORTNAME}. + * + * @since TODO + */ + public void doDynamic(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Plugin.class, getClass(), "doDynamic", StaplerRequest.class, StaplerResponse.class)) { + try { + doDynamic(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doDynamicImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doDynamic(StaplerRequest2, StaplerResponse2)} */ - public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + @Deprecated + @StaplerNotDispatchable + public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doDynamicImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doDynamicImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { String path = req.getRestOfPath(); String pathUC = path.toUpperCase(Locale.ENGLISH); diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 16c22e9ca90c..e1f5d4cc1184 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -66,6 +66,10 @@ import hudson.util.Service; import hudson.util.VersionNumber; import hudson.util.XStream2; +import io.jenkins.servlet.ServletContextWrapper; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FilenameFilter; @@ -118,8 +122,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; import javax.xml.XMLConstants; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParserFactory; @@ -134,6 +136,7 @@ import jenkins.model.Jenkins; import jenkins.plugins.DetachedPluginsUtil; import jenkins.security.CustomClassFilter; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.SystemProperties; import jenkins.util.io.OnMaster; import jenkins.util.xml.RestrictiveEntityResolver; @@ -143,8 +146,8 @@ import org.apache.commons.fileupload2.core.DiskFileItemFactory; import org.apache.commons.fileupload2.core.FileItem; import org.apache.commons.fileupload2.core.FileUploadException; -import org.apache.commons.fileupload2.javax.JavaxServletDiskFileUpload; -import org.apache.commons.fileupload2.javax.JavaxServletFileUpload; +import org.apache.commons.fileupload2.jakarta.servlet5.JakartaServletDiskFileUpload; +import org.apache.commons.fileupload2.jakarta.servlet5.JakartaServletFileUpload; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; @@ -165,7 +168,8 @@ import org.kohsuke.stapler.StaplerOverridable; import org.kohsuke.stapler.StaplerProxy; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -237,11 +241,22 @@ PluginManager doCreate(@NonNull Class klass, return klass.getConstructor(Jenkins.class).newInstance(jenkins); } }, + SC_FILE2 { + @Override + @NonNull PluginManager doCreate(@NonNull Class klass, + @NonNull Jenkins jenkins) throws ReflectiveOperationException { + return klass.getConstructor(ServletContext.class, File.class).newInstance(jenkins.getServletContext(), jenkins.getRootDir()); + } + }, + /** + * @deprecated use {@link #SC_FILE2} + */ + @Deprecated SC_FILE { @Override @NonNull PluginManager doCreate(@NonNull Class klass, @NonNull Jenkins jenkins) throws ReflectiveOperationException { - return klass.getConstructor(ServletContext.class, File.class).newInstance(jenkins.servletContext, jenkins.getRootDir()); + return klass.getConstructor(javax.servlet.ServletContext.class, File.class).newInstance(jenkins.servletContext, jenkins.getRootDir()); } }, FILE { @@ -363,6 +378,9 @@ PluginManager doCreate(@NonNull Class klass, */ private final PluginStrategy strategy; + /** + * @since TODO + */ protected PluginManager(ServletContext context, File rootDir) { this.context = context; @@ -378,6 +396,14 @@ protected PluginManager(ServletContext context, File rootDir) { strategy = createPluginStrategy(); } + /** + * @deprecated use {@link #PluginManager(ServletContext, File)} + */ + @Deprecated + protected PluginManager(javax.servlet.ServletContext context, File rootDir) { + this(context != null ? ServletContextWrapper.toJakartaServletContext(context) : null, rootDir); + } + public Api getApi() { Jenkins.get().checkPermission(Jenkins.SYSTEM_READ); return new Api(this); @@ -655,7 +681,7 @@ void considerDetachedPlugin(String shortName, String source) { protected @NonNull Set loadPluginsFromWar(@NonNull String fromPath, @CheckForNull FilenameFilter filter) { Set names = new HashSet<>(); - ServletContext context = Jenkins.get().servletContext; + ServletContext context = Jenkins.get().getServletContext(); Set plugins = Util.fixNull(context.getResourcePaths(fromPath)); Set copiedPlugins = new HashSet<>(); Set dependencies = new HashSet<>(); @@ -723,7 +749,7 @@ protected static void addDependencies(URL hpiResUrl, String fromPath, Set d String dependencySpec = manifest.getMainAttributes().getValue("Plugin-Dependencies"); if (dependencySpec != null) { String[] dependencyTokens = dependencySpec.split(","); - ServletContext context = Jenkins.get().servletContext; + ServletContext context = Jenkins.get().getServletContext(); for (String dependencyToken : dependencyTokens) { if (dependencyToken.endsWith(";resolution:=optional")) { @@ -1597,7 +1623,7 @@ public HttpResponse doPlugins() { } @RequirePOST - public HttpResponse doUpdateSources(StaplerRequest req) throws IOException { + public HttpResponse doUpdateSources(StaplerRequest2 req) throws IOException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); if (req.hasParameter("remove")) { @@ -1632,7 +1658,7 @@ public void doInstallPluginsDone() { * Performs the installation of the plugins. */ @RequirePOST - public void doInstall(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doInstall(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); Set plugins = new LinkedHashSet<>(); @@ -1656,12 +1682,12 @@ public void doInstall(StaplerRequest req, StaplerResponse rsp) throws IOExceptio * @param req The request object. * @return A JSON response that includes a "correlationId" in the "data" element. * That "correlationId" can then be used in calls to - * {@link UpdateCenter#doInstallStatus(org.kohsuke.stapler.StaplerRequest)}. + * {@link UpdateCenter#doInstallStatus(org.kohsuke.stapler.StaplerRequest2)}. * @throws IOException Error reading JSON payload fro request. */ @RequirePOST @Restricted(DoNotUse.class) // WebOnly - public HttpResponse doInstallPlugins(StaplerRequest req) throws IOException { + public HttpResponse doInstallPlugins(StaplerRequest2 req) throws IOException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); String payload = IOUtils.toString(req.getInputStream(), req.getCharacterEncoding()); JSONObject request = JSONObject.fromObject(payload); @@ -1815,7 +1841,7 @@ public HttpResponse doSiteConfigure(@QueryParameter String site) throws IOExcept } @POST - public HttpResponse doProxyConfigure(StaplerRequest req) throws IOException, ServletException { + public HttpResponse doProxyConfigure(StaplerRequest2 req) throws IOException, ServletException { Jenkins jenkins = Jenkins.get(); jenkins.checkPermission(Jenkins.ADMINISTER); @@ -1880,14 +1906,39 @@ public void cleanup() { * Uploads a plugin. */ @RequirePOST - public HttpResponse doUploadPlugin(StaplerRequest req) throws IOException, ServletException { + public HttpResponse doUploadPlugin(StaplerRequest2 req) throws IOException, ServletException { + if (Util.isOverridden(PluginManager.class, getClass(), "doUploadPlugin", StaplerRequest.class)) { + try { + return doUploadPlugin(StaplerRequest.fromStaplerRequest2(req)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + return doUploadPluginImpl(req); + } + } + + /** + * @deprecated use {@link #doUploadPlugin(StaplerRequest2)} + */ + @Deprecated + @StaplerNotDispatchable + public HttpResponse doUploadPlugin(StaplerRequest req) throws IOException, javax.servlet.ServletException { + try { + return doUploadPluginImpl(StaplerRequest.toStaplerRequest2(req)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private HttpResponse doUploadPluginImpl(StaplerRequest2 req) throws IOException, ServletException { try { Jenkins.get().checkPermission(Jenkins.ADMINISTER); String fileName = ""; PluginCopier copier; File tmpDir = Files.createTempDirectory("uploadDir").toFile(); - JavaxServletFileUpload upload = new JavaxServletDiskFileUpload(DiskFileItemFactory.builder().setFile(tmpDir).get()); + JakartaServletFileUpload upload = new JakartaServletDiskFileUpload(DiskFileItemFactory.builder().setFile(tmpDir).get()); List items = upload.parseRequest(req); String string = items.get(1).getString(); if (string != null && !string.isBlank()) { @@ -1965,7 +2016,7 @@ public HttpResponse doUploadPlugin(StaplerRequest req) throws IOException, Servl } @Restricted(NoExternalUse.class) - @RequirePOST public FormValidation doCheckPluginUrl(StaplerRequest request, @QueryParameter String value) throws IOException { + @RequirePOST public FormValidation doCheckPluginUrl(StaplerRequest2 request, @QueryParameter String value) throws IOException { if (value != null && !value.isBlank()) { try { URL url = new URL(value); @@ -1984,7 +2035,7 @@ public HttpResponse doUploadPlugin(StaplerRequest req) throws IOException, Servl } @Restricted(NoExternalUse.class) - @RequirePOST public FormValidation doCheckUpdateSiteUrl(StaplerRequest request, @QueryParameter String value) throws InterruptedException { + @RequirePOST public FormValidation doCheckUpdateSiteUrl(StaplerRequest2 request, @QueryParameter String value) throws InterruptedException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); return checkUpdateSiteURL(value); } @@ -2217,7 +2268,7 @@ private void logPluginWarnings(Map.Entry requestedPlugin, } /** - * Like {@link #doInstallNecessaryPlugins(StaplerRequest)} but only checks if everything is installed + * Like {@link #doInstallNecessaryPlugins(StaplerRequest2)} but only checks if everything is installed * or if some plugins need updates or installation. * * This method runs without side-effect. I'm still requiring the ADMINISTER permission since @@ -2227,7 +2278,7 @@ private void logPluginWarnings(Map.Entry requestedPlugin, * @since 1.483 */ @RequirePOST - public JSONArray doPrevalidateConfig(StaplerRequest req) throws IOException { + public JSONArray doPrevalidateConfig(StaplerRequest2 req) throws IOException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); JSONArray response = new JSONArray(); @@ -2252,7 +2303,7 @@ public JSONArray doPrevalidateConfig(StaplerRequest req) throws IOException { * @since 1.483 */ @RequirePOST - public HttpResponse doInstallNecessaryPlugins(StaplerRequest req) throws IOException { + public HttpResponse doInstallNecessaryPlugins(StaplerRequest2 req) throws IOException { prevalidateConfig(req.getInputStream()); return HttpResponses.redirectViaContextPath("pluginManager/updates/"); } diff --git a/core/src/main/java/hudson/PluginWrapper.java b/core/src/main/java/hudson/PluginWrapper.java index 47cfcb02d955..c8cd9f5240a0 100644 --- a/core/src/main/java/hudson/PluginWrapper.java +++ b/core/src/main/java/hudson/PluginWrapper.java @@ -80,8 +80,8 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -1212,7 +1212,7 @@ public PluginWrapper getPlugin(String shortName) { /** * Depending on whether the user said "dismiss" or "correct", send him to the right place. */ - public void doAct(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doAct(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { if (req.hasParameter("correct")) { rsp.sendRedirect(req.getContextPath() + "/pluginManager"); diff --git a/core/src/main/java/hudson/ProxyConfigurationManager.java b/core/src/main/java/hudson/ProxyConfigurationManager.java index 52f15f84c87e..d3ae0d79ee0e 100644 --- a/core/src/main/java/hudson/ProxyConfigurationManager.java +++ b/core/src/main/java/hudson/ProxyConfigurationManager.java @@ -32,7 +32,7 @@ import net.sf.json.JSONObject; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; @Extension @Restricted(NoExternalUse.class) public class ProxyConfigurationManager extends GlobalConfiguration { @@ -48,7 +48,7 @@ public Descriptor getProxyDescriptor() { } @Override - public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { ProxyConfiguration pc = req.bindJSON(ProxyConfiguration.class, json); try { saveProxyConfiguration(pc); diff --git a/core/src/main/java/hudson/ResponseHeaderFilter.java b/core/src/main/java/hudson/ResponseHeaderFilter.java index 90fb0be87d37..416e5c4c6919 100644 --- a/core/src/main/java/hudson/ResponseHeaderFilter.java +++ b/core/src/main/java/hudson/ResponseHeaderFilter.java @@ -24,15 +24,15 @@ package hudson; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Enumeration; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletResponse; +import org.kohsuke.stapler.CompatibleFilter; /** * This filter allows you to modify headers set by the container or other servlets @@ -77,7 +77,7 @@ * * @author Mike Wille */ -public class ResponseHeaderFilter implements Filter { +public class ResponseHeaderFilter implements CompatibleFilter { private FilterConfig config; @Override diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index abe9f97d6551..5ca66e9c4424 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -125,6 +125,7 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Various utility methods that don't have more proper home. @@ -1850,9 +1851,11 @@ public static long daysElapsedSince(@NonNull Date date) { /** * Find the specific ancestor, or throw an exception. * Useful for an ancestor we know is inside the URL to ease readability + * + * @since TODO */ @Restricted(NoExternalUse.class) - public static @NonNull T getNearestAncestorOfTypeOrThrow(@NonNull StaplerRequest request, @NonNull Class clazz) { + public static @NonNull T getNearestAncestorOfTypeOrThrow(@NonNull StaplerRequest2 request, @NonNull Class clazz) { T t = request.findAncestorObject(clazz); if (t == null) { throw new IllegalArgumentException("No ancestor of type " + clazz.getName() + " in the request"); @@ -1860,6 +1863,15 @@ public static long daysElapsedSince(@NonNull Date date) { return t; } + /** + * @deprecated use {@link #getNearestAncestorOfTypeOrThrow(StaplerRequest2, Class)} + */ + @Deprecated + @Restricted(NoExternalUse.class) + public static @NonNull T getNearestAncestorOfTypeOrThrow(@NonNull StaplerRequest request, @NonNull Class clazz) { + return getNearestAncestorOfTypeOrThrow(StaplerRequest.toStaplerRequest2(request), clazz); + } + @Restricted(NoExternalUse.class) public static void printRedirect(String contextPath, String redirectUrl, String message, PrintWriter out) { out.printf( diff --git a/core/src/main/java/hudson/WebAppMain.java b/core/src/main/java/hudson/WebAppMain.java index 9f328328c710..986452797f90 100644 --- a/core/src/main/java/hudson/WebAppMain.java +++ b/core/src/main/java/hudson/WebAppMain.java @@ -45,6 +45,12 @@ import hudson.util.NoHomeDir; import hudson.util.NoTempDir; import hudson.util.RingBufferLogHandler; +import io.jenkins.servlet.ServletContextEventWrapper; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletContextEvent; +import jakarta.servlet.ServletContextListener; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.SessionTrackingMode; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -65,11 +71,6 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import javax.servlet.ServletResponse; -import javax.servlet.SessionTrackingMode; import jenkins.model.Jenkins; import jenkins.util.JenkinsJVM; import jenkins.util.SystemProperties; @@ -320,10 +321,21 @@ private void recordBootAttempt(File home) { } } + /** + * @since TODO + */ public static void installExpressionFactory(ServletContextEvent event) { JellyFacet.setExpressionFactory(event, new ExpressionFactory2()); } + /** + * @deprecated use {@link #installExpressionFactory(ServletContextEvent)} + */ + @Deprecated + public static void installExpressionFactory(javax.servlet.ServletContextEvent event) { + installExpressionFactory(ServletContextEventWrapper.toJakartaServletContextEvent(event)); + } + /** * Installs log handler to monitor all Hudson logs. */ diff --git a/core/src/main/java/hudson/cli/CLIAction.java b/core/src/main/java/hudson/cli/CLIAction.java index 9e29b141560c..a2fc5f590197 100644 --- a/core/src/main/java/hudson/cli/CLIAction.java +++ b/core/src/main/java/hudson/cli/CLIAction.java @@ -26,6 +26,8 @@ import hudson.Extension; import hudson.model.UnprotectedRootAction; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; @@ -45,8 +47,6 @@ import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.util.FullDuplexHttpService; import jenkins.util.SystemProperties; @@ -59,8 +59,8 @@ import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.core.Authentication; /** @@ -97,7 +97,7 @@ public String getUrlName() { return "cli"; } - public void doCommand(StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException { + public void doCommand(StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException { final Jenkins jenkins = Jenkins.get(); jenkins.checkPermission(Jenkins.READ); @@ -121,7 +121,7 @@ public boolean isWebSocketSupported() { /** * WebSocket endpoint. */ - public HttpResponse doWs(StaplerRequest req) { + public HttpResponse doWs(StaplerRequest2 req) { if (!WebSockets.isSupported()) { return HttpResponses.notFound(); } @@ -216,7 +216,7 @@ protected void closed(int statusCode, String reason) { @Override public Object getTarget() { - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); if (req.getRestOfPath().isEmpty() && "POST".equals(req.getMethod())) { // CLI connection request if ("false".equals(req.getParameter("remoting"))) { @@ -349,7 +349,7 @@ private class PlainCliEndpointResponse extends FullDuplexHttpService.Response { } @Override - protected FullDuplexHttpService createService(StaplerRequest req, UUID uuid) throws IOException { + protected FullDuplexHttpService createService(StaplerRequest2 req, UUID uuid) throws IOException { return new FullDuplexHttpService(uuid) { @Override protected void run(InputStream upload, OutputStream download) throws IOException, InterruptedException { diff --git a/core/src/main/java/hudson/cli/CliCrumbExclusion.java b/core/src/main/java/hudson/cli/CliCrumbExclusion.java index 4e3064f43178..08c204eb55b1 100644 --- a/core/src/main/java/hudson/cli/CliCrumbExclusion.java +++ b/core/src/main/java/hudson/cli/CliCrumbExclusion.java @@ -26,11 +26,11 @@ import hudson.Extension; import hudson.security.csrf.CrumbExclusion; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; diff --git a/core/src/main/java/hudson/cli/ReloadConfigurationCommand.java b/core/src/main/java/hudson/cli/ReloadConfigurationCommand.java index 6b29dcf52904..aab260747f65 100644 --- a/core/src/main/java/hudson/cli/ReloadConfigurationCommand.java +++ b/core/src/main/java/hudson/cli/ReloadConfigurationCommand.java @@ -50,7 +50,7 @@ protected int run() throws Exception { // Or perhaps simpler to inline the thread body of doReload? j.doReload(); Object app; - while ((app = WebApp.get(j.servletContext).getApp()) instanceof HudsonIsLoading) { + while ((app = WebApp.get(j.getServletContext()).getApp()) instanceof HudsonIsLoading) { Thread.sleep(100); } if (app instanceof Jenkins) { diff --git a/core/src/main/java/hudson/cli/UpdateNodeCommand.java b/core/src/main/java/hudson/cli/UpdateNodeCommand.java index c9210f89cc68..5909a2f0fcf2 100644 --- a/core/src/main/java/hudson/cli/UpdateNodeCommand.java +++ b/core/src/main/java/hudson/cli/UpdateNodeCommand.java @@ -26,8 +26,8 @@ import hudson.Extension; import hudson.model.Node; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import org.kohsuke.args4j.Argument; /** diff --git a/core/src/main/java/hudson/console/AnnotatedLargeText.java b/core/src/main/java/hudson/console/AnnotatedLargeText.java index 4e0d3b9908af..1798512f3e03 100644 --- a/core/src/main/java/hudson/console/AnnotatedLargeText.java +++ b/core/src/main/java/hudson/console/AnnotatedLargeText.java @@ -30,6 +30,7 @@ import edu.umd.cs.findbugs.annotations.CheckReturnValue; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import hudson.Util; import hudson.remoting.ObjectInputStreamEx; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -50,10 +51,13 @@ import javax.crypto.CipherOutputStream; import jenkins.model.Jenkins; import jenkins.security.CryptoConfidentialKey; +import jenkins.security.stapler.StaplerNotDispatchable; import org.jenkinsci.remoting.util.AnonymousClassWarnings; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.framework.io.ByteBuffer; import org.kohsuke.stapler.framework.io.LargeText; @@ -90,14 +94,44 @@ public AnnotatedLargeText(ByteBuffer memory, Charset charset, boolean completed, this.context = context; } + /** + * @since TODO + */ + public void doProgressiveHtml(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { + if (Util.isOverridden(AnnotatedLargeText.class, getClass(), "doProgressiveHtml", StaplerRequest.class, StaplerResponse.class)) { + doProgressiveHtml(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } else { + doProgressiveHtmlImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doProgressiveHtml(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable public void doProgressiveHtml(StaplerRequest req, StaplerResponse rsp) throws IOException { + doProgressiveHtmlImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + + private void doProgressiveHtmlImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { req.setAttribute("html", true); doProgressText(req, rsp); } /** * Aliasing what I think was a wrong name in {@link LargeText} + * + * @since TODO */ + public void doProgressiveText(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { + doProgressText(req, rsp); + } + + /** + * @deprecated use {@link #doProgressiveText(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated public void doProgressiveText(StaplerRequest req, StaplerResponse rsp) throws IOException { doProgressText(req, rsp); } @@ -107,16 +141,35 @@ public void doProgressiveText(StaplerRequest req, StaplerResponse rsp) throws IO * and use this request attribute to differentiate. */ private boolean isHtml() { - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); return req != null && req.getAttribute("html") != null; } + /** + * @since TODO + */ @Override + protected void setContentType(StaplerResponse2 rsp) { + if (Util.isOverridden(AnnotatedLargeText.class, getClass(), "setContentType", StaplerResponse.class)) { + setContentType(StaplerResponse.fromStaplerResponse2(rsp)); + } else { + setContentTypeImpl(rsp); + } + } + + /** + * @deprecated use {@link #setContentType(StaplerResponse2)} + */ + @Deprecated protected void setContentType(StaplerResponse rsp) { + setContentTypeImpl(StaplerResponse.toStaplerResponse2(rsp)); + } + + private void setContentTypeImpl(StaplerResponse2 rsp) { rsp.setContentType(isHtml() ? "text/html;charset=UTF-8" : "text/plain;charset=UTF-8"); } - private ConsoleAnnotator createAnnotator(StaplerRequest req) throws IOException { + private ConsoleAnnotator createAnnotator(StaplerRequest2 req) throws IOException { try { String base64 = req != null ? req.getHeader("X-ConsoleAnnotator") : null; if (base64 != null) { @@ -176,7 +229,7 @@ public long writeRawLogTo(long start, OutputStream out) throws IOException { @CheckReturnValue public long writeHtmlTo(long start, Writer w) throws IOException { ConsoleAnnotationOutputStream caw = new ConsoleAnnotationOutputStream<>( - w, createAnnotator(Stapler.getCurrentRequest()), context, charset); + w, createAnnotator(Stapler.getCurrentRequest2()), context, charset); long r = super.writeLogTo(start, caw); ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -185,7 +238,7 @@ public long writeHtmlTo(long start, Writer w) throws IOException { oos.writeLong(System.currentTimeMillis()); // send timestamp to prevent a replay attack oos.writeObject(caw.getConsoleAnnotator()); oos.close(); - StaplerResponse rsp = Stapler.getCurrentResponse(); + StaplerResponse2 rsp = Stapler.getCurrentResponse2(); if (rsp != null) rsp.setHeader("X-ConsoleAnnotator", Base64.getEncoder().encodeToString(baos.toByteArray())); return r; diff --git a/core/src/main/java/hudson/console/ConsoleAnnotationDescriptor.java b/core/src/main/java/hudson/console/ConsoleAnnotationDescriptor.java index bb68ccc66194..e63e2dab5cae 100644 --- a/core/src/main/java/hudson/console/ConsoleAnnotationDescriptor.java +++ b/core/src/main/java/hudson/console/ConsoleAnnotationDescriptor.java @@ -28,13 +28,13 @@ import hudson.DescriptorExtensionList; import hudson.ExtensionPoint; import hudson.model.Descriptor; +import jakarta.servlet.ServletException; import java.io.IOException; import java.net.URL; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; import jenkins.model.Jenkins; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; /** @@ -81,12 +81,12 @@ private URL hasResource(String name) { } @WebMethod(name = "script.js") - public void doScriptJs(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doScriptJs(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { rsp.serveFile(req, hasResource("/script.js"), TimeUnit.DAYS.toMillis(1)); } @WebMethod(name = "style.css") - public void doStyleCss(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doStyleCss(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { rsp.serveFile(req, hasResource("/style.css"), TimeUnit.DAYS.toMillis(1)); } diff --git a/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java b/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java index b2f6948fd155..3e56f80ed5d0 100644 --- a/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java +++ b/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java @@ -28,15 +28,15 @@ import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.model.Run; +import jakarta.servlet.ServletException; import java.io.IOException; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.net.URL; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; import org.jvnet.tiger_types.Types; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; /** @@ -113,12 +113,12 @@ private URL getResource(String fileName) { * Serves the JavaScript file associated with this console annotator factory. */ @WebMethod(name = "script.js") - public void doScriptJs(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doScriptJs(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { rsp.serveFile(req, getResource("/script.js"), TimeUnit.DAYS.toMillis(1)); } @WebMethod(name = "style.css") - public void doStyleCss(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doStyleCss(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { rsp.serveFile(req, getResource("/style.css"), TimeUnit.DAYS.toMillis(1)); } diff --git a/core/src/main/java/hudson/console/HyperlinkNote.java b/core/src/main/java/hudson/console/HyperlinkNote.java index 1e582dab2b4a..8aa011660592 100644 --- a/core/src/main/java/hudson/console/HyperlinkNote.java +++ b/core/src/main/java/hudson/console/HyperlinkNote.java @@ -37,7 +37,7 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Turns a text into a hyperlink by specifying the URL separately. @@ -62,7 +62,7 @@ public HyperlinkNote(String url, int length) { public ConsoleAnnotator annotate(Object context, MarkupText text, int charPos) { String url = this.url; if (url.startsWith("/")) { - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); if (req != null) { // if we are serving HTTP request, we want to use app relative URL url = req.getContextPath() + url; diff --git a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java index e2bfa4678fc9..425c52150949 100644 --- a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java +++ b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java @@ -65,8 +65,8 @@ import org.kohsuke.stapler.HttpRedirect; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -310,7 +310,7 @@ public Iterator getVersionList() { * Depending on whether the user said "yes" or "no", send him to the right place. */ @RequirePOST - public HttpResponse doAct(StaplerRequest req, StaplerResponse rsp) throws IOException { + public HttpResponse doAct(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { if (req.hasParameter("no")) { disable(true); return HttpResponses.redirectViaContextPath("/manage"); @@ -324,7 +324,7 @@ public HttpResponse doAct(StaplerRequest req, StaplerResponse rsp) throws IOExce * Remove those items from the data map. */ @RequirePOST - public HttpResponse doUpgrade(StaplerRequest req, StaplerResponse rsp) { + public HttpResponse doUpgrade(StaplerRequest2 req, StaplerResponse2 rsp) { final String thruVerParam = req.getParameter("thruVer"); final VersionNumber thruVer = thruVerParam.equals("all") ? null : new VersionNumber(thruVerParam); @@ -341,7 +341,7 @@ public HttpResponse doUpgrade(StaplerRequest req, StaplerResponse rsp) { * Remove those items from the data map. */ @RequirePOST - public HttpResponse doDiscard(StaplerRequest req, StaplerResponse rsp) { + public HttpResponse doDiscard(StaplerRequest2 req, StaplerResponse2 rsp) { saveAndRemoveEntries(entry -> entry.getValue().max == null); return HttpResponses.forwardToPreviousPage(); @@ -377,7 +377,7 @@ private void saveAndRemoveEntries(Predicate handleException(j, e, req, rsp, 500)); + UncaughtExceptionFilter.setUncaughtExceptionHandler(j.getServletContext(), (e, context, req, rsp) -> handleException(j, e, req, rsp, 500)); try { Thread.setDefaultUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler()); LOGGER.log(Level.FINE, "Successfully installed a global UncaughtExceptionHandler."); @@ -53,10 +53,10 @@ private static void handleException(Jenkins j, Throwable e, HttpServletRequest r String id = UUID.randomUUID().toString(); LOGGER.log(isEOFException(e) ? Level.FINE : Level.WARNING, "Caught unhandled exception with ID " + id, e); req.setAttribute("jenkins.exception.id", id); - req.setAttribute("javax.servlet.error.exception", e); + req.setAttribute("jakarta.servlet.error.exception", e); rsp.setStatus(code); try { - WebApp.get(j.servletContext).getSomeStapler().invoke(req, rsp, j, "/oops"); + WebApp.get(j.getServletContext()).getSomeStapler().invoke(req, rsp, j, "/oops"); } catch (ServletException | IOException x) { if (!Stapler.isSocketException(x)) { throw x; @@ -75,7 +75,7 @@ public HttpResponses.HttpResponseException handleError(int code, Throwable cause } return new HttpResponses.HttpResponseException(cause) { @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { handleException(Jenkins.get(), cause, req, rsp, code); } }; diff --git a/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java b/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java index 875a3e4ef7e0..c54a90d1c576 100644 --- a/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java +++ b/core/src/main/java/hudson/lifecycle/WindowsInstallerLink.java @@ -35,6 +35,7 @@ import hudson.model.TaskListener; import hudson.util.StreamTaskListener; import hudson.util.jna.DotNet; +import jakarta.servlet.ServletException; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -43,7 +44,6 @@ import java.nio.file.Files; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import org.apache.commons.io.FileUtils; @@ -52,8 +52,8 @@ import org.apache.tools.ant.taskdefs.Move; import org.apache.tools.ant.types.FileSet; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -116,7 +116,7 @@ public boolean isInstalled() { * Performs installation. */ @RequirePOST - public void doDoInstall(StaplerRequest req, StaplerResponse rsp, @QueryParameter("dir") String _dir) throws IOException, ServletException { + public void doDoInstall(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter("dir") String _dir) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); if (installationDir != null) { @@ -168,7 +168,7 @@ public void doDoInstall(StaplerRequest req, StaplerResponse rsp, @QueryParameter /** * Copies a single resource into the target folder, by the given name, and handle errors gracefully. */ - private void copy(StaplerRequest req, StaplerResponse rsp, File dir, URL src, String name) throws ServletException, IOException { + private void copy(StaplerRequest2 req, StaplerResponse2 rsp, File dir, URL src, String name) throws ServletException, IOException { try { FileUtils.copyURLToFile(src, new File(dir, name)); } catch (IOException e) { @@ -179,7 +179,7 @@ private void copy(StaplerRequest req, StaplerResponse rsp, File dir, URL src, St } @RequirePOST - public void doRestart(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRestart(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); if (installationDir == null) { @@ -250,11 +250,11 @@ private DefaultLogger createLogger() { /** * Displays the error in a page. */ - protected final void sendError(Exception e, StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException { + protected final void sendError(Exception e, StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException { sendError(e.getMessage(), req, rsp); } - protected final void sendError(String message, StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException { + protected final void sendError(String message, StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException { req.setAttribute("message", message); req.setAttribute("pre", true); rsp.forward(Jenkins.get(), "error", req); diff --git a/core/src/main/java/hudson/logging/LogRecorder.java b/core/src/main/java/hudson/logging/LogRecorder.java index 86aea6575048..ad4c40028547 100644 --- a/core/src/main/java/hudson/logging/LogRecorder.java +++ b/core/src/main/java/hudson/logging/LogRecorder.java @@ -48,6 +48,7 @@ import hudson.util.HttpResponses; import hudson.util.RingBufferLogHandler; import hudson.util.XStream2; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.io.Serializable; @@ -71,7 +72,6 @@ import java.util.logging.LogManager; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.model.Loadable; import jenkins.security.MasterToSlaveCallable; @@ -82,8 +82,8 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; @@ -439,7 +439,7 @@ public LogRecorderManager getParent() { * Accepts submission from the configuration page. */ @POST - public synchronized void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); JSONObject src = req.getSubmittedForm(); @@ -536,7 +536,7 @@ public int hashCode() { * Deletes this recorder, then go back to the parent. */ @RequirePOST - public synchronized void doDoDelete(StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doDoDelete(StaplerResponse2 rsp) throws IOException, ServletException { delete(); rsp.sendRedirect2(".."); } @@ -562,7 +562,7 @@ public void delete() throws IOException { /** * RSS feed for log entries. */ - public void doRss(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRss(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { LogRecorderManager.doRss(req, rsp, getLogRecords()); } diff --git a/core/src/main/java/hudson/logging/LogRecorderManager.java b/core/src/main/java/hudson/logging/LogRecorderManager.java index 70856024df12..2c589adaa612 100644 --- a/core/src/main/java/hudson/logging/LogRecorderManager.java +++ b/core/src/main/java/hudson/logging/LogRecorderManager.java @@ -38,6 +38,7 @@ import hudson.model.RSS; import hudson.util.CopyOnWriteMap; import hudson.util.FormValidation; +import jakarta.servlet.ServletException; import java.io.File; import java.io.FileFilter; import java.io.IOException; @@ -53,7 +54,6 @@ import java.util.logging.LogManager; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.model.JenkinsLocationConfiguration; import jenkins.model.ModelObjectWithChildren; @@ -68,8 +68,8 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -188,7 +188,7 @@ public FormValidation doCheckNewName(@QueryParameter String name) { } @Override - public ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + public ContextMenu doChildrenContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { ContextMenu menu = new ContextMenu(); menu.add("all", "All Jenkins Logs"); for (LogRecorder lr : recorders) { @@ -225,14 +225,14 @@ public HttpResponse doConfigLogger(@QueryParameter String name, @QueryParameter /** * RSS feed for log entries. */ - public void doRss(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRss(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { doRss(req, rsp, Jenkins.logRecords); } /** * Renders the given log recorders as RSS. */ - /*package*/ static void doRss(StaplerRequest req, StaplerResponse rsp, List logs) throws IOException, ServletException { + /*package*/ static void doRss(StaplerRequest2 req, StaplerResponse2 rsp, List logs) throws IOException, ServletException { // filter log records based on the log level String entryType = "all"; String level = req.getParameter("level"); diff --git a/core/src/main/java/hudson/markup/MarkupFormatter.java b/core/src/main/java/hudson/markup/MarkupFormatter.java index e588e0cfcc8e..a3bf53a739a1 100644 --- a/core/src/main/java/hudson/markup/MarkupFormatter.java +++ b/core/src/main/java/hudson/markup/MarkupFormatter.java @@ -28,6 +28,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.ExtensionPoint; import hudson.model.AbstractDescribableImpl; +import jakarta.servlet.ServletException; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; @@ -44,7 +45,8 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; import org.kohsuke.stapler.verb.GET; import org.kohsuke.stapler.verb.POST; @@ -138,7 +140,7 @@ public HttpResponse doPreviewDescription(@QueryParameter String text) throws IOE @GET @WebMethod(name = "previewDescription") @Restricted(NoExternalUse.class) - public HttpResponse previewsNowNeedPostForSecurity2153(@QueryParameter String text, StaplerRequest req) throws IOException { + public HttpResponse previewsNowNeedPostForSecurity2153(@QueryParameter String text, StaplerRequest2 req) throws IOException { LOGGER.log(Level.FINE, "Received a GET request at " + req.getRequestURL()); if (PREVIEWS_ALLOW_GET) { return doPreviewDescription(text); @@ -155,15 +157,18 @@ public HttpResponse previewsNowNeedPostForSecurity2153(@QueryParameter String te */ private static HttpResponse html(int status, @NonNull String html, @NonNull Map headers) { // TODO Move to Stapler's HttpResponses, (also add a corresponding 'text' method) - return (req, rsp, node) -> { - rsp.setContentType("text/html;charset=UTF-8"); - rsp.setStatus(status); - for (Map.Entry header : headers.entrySet()) { - rsp.setHeader(header.getKey(), header.getValue()); + return new HttpResponse() { + @Override + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { + rsp.setContentType("text/html;charset=UTF-8"); + rsp.setStatus(status); + for (Map.Entry header : headers.entrySet()) { + rsp.setHeader(header.getKey(), header.getValue()); + } + PrintWriter pw = rsp.getWriter(); + pw.print(html); + pw.flush(); } - PrintWriter pw = rsp.getWriter(); - pw.print(html); - pw.flush(); }; } } diff --git a/core/src/main/java/hudson/model/AbstractBuild.java b/core/src/main/java/hudson/model/AbstractBuild.java index 85d62df78896..d993d722eacb 100644 --- a/core/src/main/java/hudson/model/AbstractBuild.java +++ b/core/src/main/java/hudson/model/AbstractBuild.java @@ -62,6 +62,8 @@ import hudson.util.HttpResponses; import hudson.util.Iterators; import hudson.util.VariableResolver; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.io.InterruptedIOException; @@ -81,7 +83,6 @@ import java.util.TreeSet; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.model.lazy.BuildReference; import jenkins.model.lazy.LazyBuildMixIn; @@ -275,7 +276,7 @@ public Queue.Executable getParentExecutable() { */ @Deprecated(since = "2.364") public String getUpUrl() { - return Functions.getNearestAncestorUrl(Stapler.getCurrentRequest(), getParent()) + '/'; + return Functions.getNearestAncestorUrl(Stapler.getCurrentRequest2(), getParent()) + '/'; } /** @@ -1391,8 +1392,12 @@ public List getBuilds() { */ @Deprecated @RequirePOST // #doStop() should be preferred, but better to be safe - public void doStop(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { - doStop().generateResponse(req, rsp, this); + public void doStop(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doStop().generateResponse(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), this); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } /** diff --git a/core/src/main/java/hudson/model/AbstractItem.java b/core/src/main/java/hudson/model/AbstractItem.java index adebec8f289f..af64ff19df34 100644 --- a/core/src/main/java/hudson/model/AbstractItem.java +++ b/core/src/main/java/hudson/model/AbstractItem.java @@ -25,7 +25,7 @@ package hudson.model; -import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; +import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import com.infradna.tool.bridge_method_injector.WithBridgeMethods; import edu.umd.cs.findbugs.annotations.NonNull; @@ -47,6 +47,8 @@ import hudson.util.FormValidation; import hudson.util.IOUtils; import hudson.util.Secret; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.io.OutputStream; @@ -59,7 +61,6 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.ServletException; import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.sax.SAXSource; @@ -70,6 +71,7 @@ import jenkins.model.Loadable; import jenkins.model.queue.ItemDeletion; import jenkins.security.NotReallyRoleSensitiveCallable; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.SystemProperties; import jenkins.util.xml.XMLUtils; import org.apache.tools.ant.Project; @@ -87,7 +89,9 @@ import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerProxy; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -530,7 +534,7 @@ public void onCopiedFrom(Item src) { @Override public final String getUrl() { // try to stick to the current view if possible - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); String shortUrl = getShortUrl(); String uri = req == null ? null : req.getRequestURI(); if (req != null) { @@ -644,9 +648,36 @@ private Object readResolve() { /** * Accepts the new description. + * + * @since TODO */ @RequirePOST - public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(AbstractItem.class, getClass(), "doSubmitDescription", StaplerRequest.class, StaplerResponse.class)) { + try { + doSubmitDescription(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doSubmitDescriptionImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doSubmitDescription(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doSubmitDescriptionImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doSubmitDescriptionImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { checkPermission(CONFIGURE); setDescription(req.getParameter("description")); @@ -658,9 +689,32 @@ public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse * Note on the funny name: for reasons of historical compatibility, this URL is {@code /doDelete} * since it predates {@code }. {@code /delete} goes to a Jelly page * which should now be unused by core but is left in case plugins are still using it. + * + * @since TODO */ @RequirePOST - public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { + public void doDoDelete(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, InterruptedException { + if (Util.isOverridden(AbstractItem.class, getClass(), "doDoDelete", StaplerRequest.class, StaplerResponse.class)) { + try { + doDoDelete(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doDoDeleteImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doDoDelete(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException, InterruptedException { + doDoDeleteImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + + private void doDoDeleteImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, InterruptedException { delete(); if (req == null || rsp == null) { // CLI return; @@ -681,8 +735,28 @@ public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOExcepti rsp.sendRedirect2(req.getContextPath() + '/' + url); } + /** + * @since TODO + */ @Override - public void delete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void delete(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + deleteImpl(rsp); + } + + /** + * @deprecated use {@link #delete(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @Override + public void delete(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + deleteImpl(StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void deleteImpl(StaplerResponse2 rsp) throws IOException, ServletException { try { delete(); rsp.setStatus(204); @@ -755,10 +829,31 @@ protected void performDelete() throws IOException, InterruptedException { /** * Accepts {@code config.xml} submission, as well as serve it. + * + * @since TODO */ @WebMethod(name = "config.xml") + public void doConfigDotXml(StaplerRequest2 req, StaplerResponse2 rsp) + throws IOException { + if (Util.isOverridden(AbstractItem.class, getClass(), "doConfigDotXml", StaplerRequest.class, StaplerResponse.class)) { + doConfigDotXml(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } else { + doConfigDotXmlImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doConfigDotXml(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable public void doConfigDotXml(StaplerRequest req, StaplerResponse rsp) throws IOException { + doConfigDotXmlImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + + private void doConfigDotXmlImpl(StaplerRequest2 req, StaplerResponse2 rsp) + throws IOException { if (req.getMethod().equals("GET")) { // read rsp.setContentType("application/xml"); diff --git a/core/src/main/java/hudson/model/AbstractModelObject.java b/core/src/main/java/hudson/model/AbstractModelObject.java index f6c7104f8e42..87b42527a86e 100644 --- a/core/src/main/java/hudson/model/AbstractModelObject.java +++ b/core/src/main/java/hudson/model/AbstractModelObject.java @@ -29,11 +29,14 @@ import hudson.search.SearchIndex; import hudson.search.SearchIndexBuilder; import hudson.search.SearchableModelObject; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -45,33 +48,69 @@ public abstract class AbstractModelObject implements SearchableModelObject { /** * Displays the error in a page. */ - protected final void sendError(Exception e, StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException { + protected final void sendError(Exception e, StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException { req.setAttribute("exception", e); sendError(e.getMessage(), req, rsp); } + /** + * @deprecated use {@link #sendError(Exception, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + protected final void sendError(Exception e, StaplerRequest req, StaplerResponse rsp) throws javax.servlet.ServletException, IOException { + try { + sendError(e, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException ex) { + throw ServletExceptionWrapper.fromJakartaServletException(ex); + } + } + protected final void sendError(Exception e) throws ServletException, IOException { - sendError(e, Stapler.getCurrentRequest(), Stapler.getCurrentResponse()); + sendError(e, Stapler.getCurrentRequest2(), Stapler.getCurrentResponse2()); } - protected final void sendError(String message, StaplerRequest req, StaplerResponse rsp) throws ServletException, IOException { + protected final void sendError(String message, StaplerRequest2 req, StaplerResponse2 rsp) throws ServletException, IOException { req.setAttribute("message", message); rsp.forward(this, "error", req); } + /** + * @deprecated use {@link #sendError(String, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + protected final void sendError(String message, StaplerRequest req, StaplerResponse rsp) throws javax.servlet.ServletException, IOException { + try { + sendError(message, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + /** * @param pre * If true, the message is put in a PRE tag. */ - protected final void sendError(String message, StaplerRequest req, StaplerResponse rsp, boolean pre) throws ServletException, IOException { + protected final void sendError(String message, StaplerRequest2 req, StaplerResponse2 rsp, boolean pre) throws ServletException, IOException { req.setAttribute("message", message); if (pre) req.setAttribute("pre", true); rsp.forward(this, "error", req); } + /** + * @deprecated use {@link #sendError(String, StaplerRequest2, StaplerResponse2, boolean)} + */ + @Deprecated + protected final void sendError(String message, StaplerRequest req, StaplerResponse rsp, boolean pre) throws javax.servlet.ServletException, IOException { + try { + sendError(message, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), pre); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + protected final void sendError(String message) throws ServletException, IOException { - sendError(message, Stapler.getCurrentRequest(), Stapler.getCurrentResponse()); + sendError(message, Stapler.getCurrentRequest2(), Stapler.getCurrentResponse2()); } /** @@ -82,7 +121,7 @@ protected final void sendError(String message) throws ServletException, IOExcept */ @Deprecated protected final void requirePOST() throws ServletException { - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); if (req == null) return; // invoked outside the context of servlet String method = req.getMethod(); if (!method.equalsIgnoreCase("POST")) diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 917ff1f7b81f..a380943687f7 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -77,6 +77,8 @@ import hudson.util.AlternativeUiTextProvider.Message; import hudson.util.DescribableList; import hudson.util.FormValidation; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -96,7 +98,6 @@ import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.BlockedBecauseOfBuildInProgress; import jenkins.model.Jenkins; import jenkins.model.ParameterizedJobMixIn; @@ -120,7 +121,9 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; @@ -769,7 +772,7 @@ public List getProminentActions() { @Override @POST - public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { super.doConfigSubmit(req, rsp); updateTransientActions(); @@ -1726,10 +1729,14 @@ protected SearchIndexBuilder makeSearchIndex() { // // - /** @deprecated use {@link #doBuild(StaplerRequest, StaplerResponse, TimeDuration)} */ + /** @deprecated use {@link #doBuild(StaplerRequest2, StaplerResponse2, TimeDuration)} */ @Deprecated - public void doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { - doBuild(req, rsp, TimeDuration.fromString(req.getParameter("delay"))); + public void doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doBuild(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), TimeDuration.fromString(req.getParameter("delay"))); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } /** @@ -1739,7 +1746,7 @@ public void doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, * Inject {@link TimeDuration}. */ @Deprecated - public int getDelay(StaplerRequest req) throws ServletException { + public int getDelay(StaplerRequest req) throws javax.servlet.ServletException { String delay = req.getParameter("delay"); if (delay == null) return getQuietPeriod(); @@ -1749,26 +1756,59 @@ public int getDelay(StaplerRequest req) throws ServletException { if (delay.endsWith("secs")) delay = delay.substring(0, delay.length() - 4); return Integer.parseInt(delay); } catch (NumberFormatException e) { - throw new ServletException("Invalid delay parameter value: " + delay, e); + throw new javax.servlet.ServletException("Invalid delay parameter value: " + delay, e); } } - /** @deprecated use {@link #doBuildWithParameters(StaplerRequest, StaplerResponse, TimeDuration)} */ + /** @deprecated use {@link #doBuildWithParameters(StaplerRequest2, StaplerResponse2, TimeDuration)} */ @Deprecated - public void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { - doBuildWithParameters(req, rsp, TimeDuration.fromString(req.getParameter("delay"))); + public void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doBuildWithParameters(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), TimeDuration.fromString(req.getParameter("delay"))); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } @Override // in case schedulePolling was overridden - public void doPolling(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doPolling(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { BuildAuthorizationToken.checkPermission((Job) this, authToken, req, rsp); schedulePolling(); rsp.sendRedirect("."); } + /** + * @since TODO + */ + @Override + protected void submit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { + if (Util.isOverridden(AbstractProject.class, getClass(), "submit", StaplerRequest.class, StaplerResponse.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + super.submit(req, rsp); + submitImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated @Override - protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException, FormException { super.submit(req, rsp); + try { + submitImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void submitImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { JSONObject json = req.getSubmittedForm(); makeDisabled(!json.optBoolean("enable")); @@ -1835,14 +1875,18 @@ protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOExceptio /** * @deprecated - * As of 1.261. Use {@link #buildDescribable(StaplerRequest, List)} instead. + * As of 1.261. Use {@link #buildDescribable(StaplerRequest2, List)} instead. */ @Deprecated - protected final > List buildDescribable(StaplerRequest req, List> descriptors, String prefix) throws FormException, ServletException { - return buildDescribable(req, descriptors); + protected final > List buildDescribable(StaplerRequest req, List> descriptors, String prefix) throws FormException, javax.servlet.ServletException { + try { + return buildDescribable(StaplerRequest.toStaplerRequest2(req), descriptors); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } - protected final > List buildDescribable(StaplerRequest req, List> descriptors) + protected final > List buildDescribable(StaplerRequest2 req, List> descriptors) throws FormException, ServletException { JSONObject data = req.getSubmittedForm(); @@ -1860,7 +1904,7 @@ protected final > List buildDescribable(StaplerReque /** * Serves the workspace files. */ - public DirectoryBrowserSupport doWs(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { + public DirectoryBrowserSupport doWs(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, InterruptedException { checkPermission(Item.WORKSPACE); FilePath ws = getSomeWorkspace(); if (ws == null || !ws.exists()) { @@ -1887,7 +1931,7 @@ public DirectoryBrowserSupport doWs(StaplerRequest req, StaplerResponse rsp) thr * Wipes out the workspace. */ @RequirePOST - public HttpResponse doDoWipeOutWorkspace() throws IOException, ServletException, InterruptedException { + public HttpResponse doDoWipeOutWorkspace() throws IOException, InterruptedException { checkPermission(Functions.isWipeOutPermissionEnabled() ? WIPEOUT : BUILD); R b = getSomeBuildWithWorkspace(); FilePath ws = b != null ? b.getWorkspace() : null; diff --git a/core/src/main/java/hudson/model/Actionable.java b/core/src/main/java/hudson/model/Actionable.java index 7e3e695d9c4f..d8088319021b 100644 --- a/core/src/main/java/hudson/model/Actionable.java +++ b/core/src/main/java/hudson/model/Actionable.java @@ -37,8 +37,11 @@ import java.util.logging.Logger; import jenkins.model.ModelObjectWithContextMenu; import jenkins.model.TransientActionFactory; +import jenkins.security.stapler.StaplerNotDispatchable; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -338,7 +341,26 @@ public T getAction(Class type) { return null; } + /** + * @since TODO + */ + public Object getDynamic(String token, StaplerRequest2 req, StaplerResponse2 rsp) { + if (Util.isOverridden(Actionable.class, getClass(), "getDynamic", String.class, StaplerRequest.class, StaplerResponse.class)) { + return getDynamic(token, StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } else { + return getDynamicImpl(token, req, rsp); + } + } + + /** + * @deprecated use {@link #getDynamic(String, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { + return getDynamicImpl(token, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + + private Object getDynamicImpl(String token, StaplerRequest2 req, StaplerResponse2 rsp) { for (Action a : getAllActions()) { if (a == null) continue; // be defensive @@ -351,7 +373,29 @@ public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) return null; } - @Override public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + /** + * @since TODO + */ + @Override + public ContextMenu doContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { + if (Util.isOverridden(Actionable.class, getClass(), "doContextMenu", StaplerRequest.class, StaplerResponse.class)) { + return doContextMenu(StaplerRequest.fromStaplerRequest2(request), StaplerResponse.fromStaplerResponse2(response)); + } else { + return doContextMenuImpl(request, response); + } + } + + /** + * @deprecated use {@link #doContextMenu(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + @Override + public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + return doContextMenuImpl(StaplerRequest.toStaplerRequest2(request), StaplerResponse.toStaplerResponse2(response)); + } + + private ContextMenu doContextMenuImpl(StaplerRequest2 request, StaplerResponse2 response) throws Exception { return new ContextMenu().from(this, request, response); } diff --git a/core/src/main/java/hudson/model/AdministrativeMonitor.java b/core/src/main/java/hudson/model/AdministrativeMonitor.java index bdbfb48027d3..59518ba79e57 100644 --- a/core/src/main/java/hudson/model/AdministrativeMonitor.java +++ b/core/src/main/java/hudson/model/AdministrativeMonitor.java @@ -37,8 +37,8 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -175,7 +175,7 @@ public boolean isSecurity() { * URL binding to disable this monitor. */ @RequirePOST - public void doDisable(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doDisable(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); disable(true); rsp.sendRedirect2(req.getContextPath() + "/manage"); @@ -188,7 +188,7 @@ public void doDisable(StaplerRequest req, StaplerResponse rsp) throws IOExceptio * Changing this permission check to return {@link Jenkins#SYSTEM_READ} will make the active * administrative monitor appear on {@code manage.jelly} and on the globally visible * {@link jenkins.management.AdministrativeMonitorsDecorator} to users without Administer permission. - * {@link #doDisable(StaplerRequest, StaplerResponse)} will still always require Administer permission. + * {@link #doDisable(StaplerRequest2, StaplerResponse2)} will still always require Administer permission. *

    *

    * This method only allows for a single permission to be returned. If more complex permission checks are required, diff --git a/core/src/main/java/hudson/model/AllView.java b/core/src/main/java/hudson/model/AllView.java index ca1ef0d5cc0d..3972625ea7ab 100644 --- a/core/src/main/java/hudson/model/AllView.java +++ b/core/src/main/java/hudson/model/AllView.java @@ -26,7 +26,10 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.Extension; +import hudson.Util; import hudson.model.Descriptor.FormException; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.Collection; import java.util.List; @@ -34,12 +37,12 @@ import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.util.SystemProperties; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -91,7 +94,7 @@ public String getDisplayName() { @RequirePOST @Override - public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) + public Item doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { ItemGroup ig = getOwner().getItemGroup(); if (ig instanceof ModifiableItemGroup) @@ -110,7 +113,24 @@ public String getPostConstructLandingPage() { } @Override - protected void submit(StaplerRequest req) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest2 req) throws IOException, ServletException, FormException { + if (Util.isOverridden(AllView.class, getClass(), "submit", StaplerRequest.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + // noop + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2)} + */ + @Deprecated + @Override + protected void submit(StaplerRequest req) throws IOException, javax.servlet.ServletException, FormException { // noop } diff --git a/core/src/main/java/hudson/model/Api.java b/core/src/main/java/hudson/model/Api.java index 23e72072112f..4b16e1b0b540 100644 --- a/core/src/main/java/hudson/model/Api.java +++ b/core/src/main/java/hudson/model/Api.java @@ -25,6 +25,10 @@ package hudson.model; import hudson.ExtensionList; +import hudson.Util; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.io.StringReader; @@ -34,11 +38,10 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import javax.xml.transform.stream.StreamResult; import jenkins.model.Jenkins; import jenkins.security.SecureRequester; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.xml.FilteredFunctionContext; import org.dom4j.CharacterData; import org.dom4j.Document; @@ -52,7 +55,9 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.Flavor; import org.kohsuke.stapler.export.Model; @@ -96,7 +101,7 @@ public String getSearchUrl() { /** * Exposes the bean as XML. */ - public void doXml(StaplerRequest req, StaplerResponse rsp, + public void doXml(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String xpath, @QueryParameter String wrapper, @QueryParameter String tree, @@ -212,7 +217,7 @@ private boolean isSimpleOutput(Object result) { /** * Generate schema. */ - public void doSchema(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doSchema(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { setHeaders(rsp); rsp.setContentType("application/xml"); StreamResult r = new StreamResult(rsp.getOutputStream()); @@ -223,7 +228,32 @@ public void doSchema(StaplerRequest req, StaplerResponse rsp) throws IOException /** * Exposes the bean as JSON. */ - public void doJson(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doJson(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Api.class, getClass(), "doJson", StaplerRequest.class, StaplerResponse.class)) { + try { + doJson(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doJsonImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doJson(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doJson(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doJsonImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doJsonImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { if (req.getParameter("jsonp") == null || permit(req)) { setHeaders(rsp); rsp.serveExposedBean(req, bean, req.getParameter("jsonp") == null ? Flavor.JSON : Flavor.JSONP); @@ -235,12 +265,37 @@ public void doJson(StaplerRequest req, StaplerResponse rsp) throws IOException, /** * Exposes the bean as Python literal. */ - public void doPython(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doPython(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Api.class, getClass(), "doPython", StaplerRequest.class, StaplerResponse.class)) { + try { + doPython(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doPythonImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doPython(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doPython(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doPythonImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doPythonImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { setHeaders(rsp); rsp.serveExposedBean(req, bean, Flavor.PYTHON); } - private boolean permit(StaplerRequest req) { + private boolean permit(StaplerRequest2 req) { for (SecureRequester r : ExtensionList.lookup(SecureRequester.class)) { if (r.permit(req, bean)) { return true; @@ -250,7 +305,7 @@ private boolean permit(StaplerRequest req) { } @Restricted(NoExternalUse.class) - protected void setHeaders(StaplerResponse rsp) { + protected void setHeaders(StaplerResponse2 rsp) { rsp.setHeader("X-Jenkins", Jenkins.VERSION); rsp.setHeader("X-Jenkins-Session", Jenkins.SESSION_HASH); // to be really defensive against dumb browsers not taking into consideration the content-type being set diff --git a/core/src/main/java/hudson/model/AutoCompletionCandidates.java b/core/src/main/java/hudson/model/AutoCompletionCandidates.java index d2f5f17c255f..366f626e3144 100644 --- a/core/src/main/java/hudson/model/AutoCompletionCandidates.java +++ b/core/src/main/java/hudson/model/AutoCompletionCandidates.java @@ -28,16 +28,16 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.search.Search; import hudson.search.UserSearchProperty; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Locale; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.kohsuke.stapler.HttpResponse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Flavor; /** @@ -69,7 +69,7 @@ public List getValues() { } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object o) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object o) throws IOException, ServletException { Search.Result r = new Search.Result(); for (String value : values) { r.suggestions.add(new hudson.search.Search.Item(value)); diff --git a/core/src/main/java/hudson/model/BallColor.java b/core/src/main/java/hudson/model/BallColor.java index 5913f59466f9..3e8dc2f28802 100644 --- a/core/src/main/java/hudson/model/BallColor.java +++ b/core/src/main/java/hudson/model/BallColor.java @@ -113,7 +113,7 @@ public String getImage() { @Override public String getImageOf(String size) { - return Stapler.getCurrentRequest().getContextPath() + Jenkins.RESOURCE_PATH + "/images/" + size + '/' + image; + return Stapler.getCurrentRequest2().getContextPath() + Jenkins.RESOURCE_PATH + "/images/" + size + '/' + image; } /** diff --git a/core/src/main/java/hudson/model/BooleanParameterDefinition.java b/core/src/main/java/hudson/model/BooleanParameterDefinition.java index 6e9db32216fd..6bf1a50096e3 100644 --- a/core/src/main/java/hudson/model/BooleanParameterDefinition.java +++ b/core/src/main/java/hudson/model/BooleanParameterDefinition.java @@ -33,7 +33,7 @@ import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link ParameterDefinition} that is either 'true' or 'false'. @@ -79,7 +79,7 @@ public void setDefaultValue(boolean defaultValue) { } @Override - public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + public ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { BooleanParameterValue value = req.bindJSON(BooleanParameterValue.class, jo); value.setDescription(getDescription()); return value; diff --git a/core/src/main/java/hudson/model/BuildAuthorizationToken.java b/core/src/main/java/hudson/model/BuildAuthorizationToken.java index a09ed113e1cf..3611824fb54d 100644 --- a/core/src/main/java/hudson/model/BuildAuthorizationToken.java +++ b/core/src/main/java/hudson/model/BuildAuthorizationToken.java @@ -27,11 +27,13 @@ import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import hudson.Util; import hudson.security.ACL; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import javax.servlet.http.HttpServletResponse; import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.access.AccessDeniedException; /** @@ -51,7 +53,10 @@ public BuildAuthorizationToken(String token) { this.token = token; } - public static BuildAuthorizationToken create(StaplerRequest req) { + /** + * @since TODO + */ + public static BuildAuthorizationToken create(StaplerRequest2 req) { if (req.getParameter("pseudoRemoteTrigger") != null) { String token = Util.fixEmpty(req.getParameter("authToken")); if (token != null) @@ -61,11 +66,22 @@ public static BuildAuthorizationToken create(StaplerRequest req) { return null; } + /** + * @deprecated use {@link #create(StaplerRequest2)} + */ + @Deprecated + public static BuildAuthorizationToken create(StaplerRequest req) { + return create(StaplerRequest.toStaplerRequest2(req)); + } + @Deprecated public static void checkPermission(AbstractProject project, BuildAuthorizationToken token, StaplerRequest req, StaplerResponse rsp) throws IOException { - checkPermission((Job) project, token, req, rsp); + checkPermission((Job) project, token, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); } - public static void checkPermission(Job project, BuildAuthorizationToken token, StaplerRequest req, StaplerResponse rsp) throws IOException { + /** + * @since TODO + */ + public static void checkPermission(Job project, BuildAuthorizationToken token, StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { if (token != null && token.token != null) { //check the provided token String providedToken = req.getParameter("token"); @@ -86,6 +102,14 @@ public static void checkPermission(Job project, BuildAuthorizationToken to throw HttpResponses.forwardToView(project, "requirePOST.jelly"); } + /** + * @deprecated use {@link #checkPermission(Job, BuildAuthorizationToken, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + public static void checkPermission(Job project, BuildAuthorizationToken token, StaplerRequest req, StaplerResponse rsp) throws IOException { + checkPermission(project, token, StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + public String getToken() { return token; } diff --git a/core/src/main/java/hudson/model/BuildTimelineWidget.java b/core/src/main/java/hudson/model/BuildTimelineWidget.java index 9691969162d4..4f5ccbf1c67a 100644 --- a/core/src/main/java/hudson/model/BuildTimelineWidget.java +++ b/core/src/main/java/hudson/model/BuildTimelineWidget.java @@ -25,12 +25,15 @@ package hudson.model; import hudson.util.RunList; +import jakarta.servlet.ServletException; +import java.io.IOException; import java.util.ArrayList; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * UI widget for showing the SIMILE timeline control. @@ -60,12 +63,15 @@ public BuildTimelineWidget(RunList builds) { return builds.getLastBuild(); } - public HttpResponse doData(StaplerRequest req, @QueryParameter long min, @QueryParameter long max) { - return (req1, rsp, node) -> { - JSONObject o = new JSONObject(); - o.put("events", JSONArray.fromObject(new ArrayList<>())); - rsp.setContentType("text/javascript;charset=UTF-8"); - o.write(rsp.getWriter()); + public HttpResponse doData(StaplerRequest2 req, @QueryParameter long min, @QueryParameter long max) { + return new HttpResponse() { + @Override + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { + JSONObject o = new JSONObject(); + o.put("events", JSONArray.fromObject(new ArrayList<>())); + rsp.setContentType("text/javascript;charset=UTF-8"); + o.write(rsp.getWriter()); + } }; } diff --git a/core/src/main/java/hudson/model/ChoiceParameterDefinition.java b/core/src/main/java/hudson/model/ChoiceParameterDefinition.java index 7b12a9b2cee3..98bdcf2e8072 100644 --- a/core/src/main/java/hudson/model/ChoiceParameterDefinition.java +++ b/core/src/main/java/hudson/model/ChoiceParameterDefinition.java @@ -20,7 +20,7 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; /** @@ -152,7 +152,7 @@ public boolean isValid(ParameterValue value) { } @Override - public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + public ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { StringParameterValue value = req.bindJSON(StringParameterValue.class, jo); value.setDescription(getDescription()); checkValue(value, value.getValue()); @@ -218,7 +218,7 @@ public String getHelpFile() { /* * We need this for JENKINS-26143 -- reflective creation cannot handle setChoices(Object). See that method for context. */ - public ParameterDefinition newInstance(@Nullable StaplerRequest req, @NonNull JSONObject formData) throws FormException { + public ParameterDefinition newInstance(@Nullable StaplerRequest2 req, @NonNull JSONObject formData) throws FormException { String name = formData.getString("name"); String desc = formData.getString("description"); String choiceText = formData.getString("choices"); diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index 14a311381a37..a4878a2c8f91 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -26,7 +26,7 @@ package hudson.model; -import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; +import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; @@ -73,6 +73,7 @@ import hudson.util.RemotingDiagnostics; import hudson.util.RemotingDiagnostics.HeapDump; import hudson.util.RunList; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -105,7 +106,6 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.security.ImpersonatingExecutorService; import jenkins.security.MasterToSlaveCallable; @@ -129,8 +129,8 @@ import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -227,7 +227,7 @@ * @since 1.607 */ public void recordTermination() { - StaplerRequest request = Stapler.getCurrentRequest(); + StaplerRequest2 request = Stapler.getCurrentRequest2(); if (request != null) { terminatedBy.add(new TerminationRequest( String.format("Termination requested at %s by %s [id=%d] from HTTP request for %s", @@ -416,7 +416,7 @@ public String getOfflineCauseReason() { /** * If {@link #getChannel()}==null, attempts to relaunch the agent. */ - public abstract void doLaunchSlaveAgent(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; + public abstract void doLaunchSlaveAgent(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException; /** * @deprecated since 2009-01-06. Use {@link #connect(boolean)} @@ -427,7 +427,7 @@ public final void launch() { } /** - * Do the same as {@link #doLaunchSlaveAgent(StaplerRequest, StaplerResponse)} + * Do the same as {@link #doLaunchSlaveAgent(StaplerRequest2, StaplerResponse2)} * but outside the context of serving a request. * *

    @@ -1391,12 +1391,12 @@ public String call() throws IOException { // // @Restricted(DoNotUse.class) - public void doRssAll(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssAll(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (all builds)", getUrl(), getBuilds()); } @Restricted(DoNotUse.class) - public void doRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssFailed(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (failed builds)", getUrl(), getBuilds().failureOnly()); } @@ -1407,7 +1407,7 @@ public void doRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOExcept * @since 2.215 */ @Restricted(DoNotUse.class) - public void doRssLatest(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssLatest(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { final List lastBuilds = new ArrayList<>(); for (AbstractProject p : Jenkins.get().allItems(AbstractProject.class)) { if (p.getLastBuild() != null) { @@ -1452,7 +1452,7 @@ public Api getApi() { /** * Dumps the contents of the export table. */ - public void doDumpExportTable(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { + public void doDumpExportTable(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, InterruptedException { // this is a debug probe and may expose sensitive information checkPermission(Jenkins.ADMINISTER); @@ -1488,18 +1488,18 @@ public String call() throws IOException { * For system diagnostics. * Run arbitrary Groovy script. */ - public void doScript(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doScript(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { _doScript(req, rsp, "_script.jelly"); } /** * Run arbitrary Groovy script and return result as plain text. */ - public void doScriptText(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doScriptText(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { _doScript(req, rsp, "_scriptText.jelly"); } - protected void _doScript(StaplerRequest req, StaplerResponse rsp, String view) throws IOException, ServletException { + protected void _doScript(StaplerRequest2 req, StaplerResponse2 rsp, String view) throws IOException, ServletException { Jenkins._doScript(req, rsp, req.getView(this, view), getChannel(), getACL()); } @@ -1507,7 +1507,7 @@ protected void _doScript(StaplerRequest req, StaplerResponse rsp, String view) t * Accepts the update to the node configuration. */ @POST - public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { checkPermission(CONFIGURE); String proposedName = Util.fixEmptyAndTrim(req.getSubmittedForm().getString("name")); @@ -1547,7 +1547,7 @@ public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOExc * Accepts {@code config.xml} submission, as well as serve it. */ @WebMethod(name = "config.xml") - public void doConfigDotXml(StaplerRequest req, StaplerResponse rsp) + public void doConfigDotXml(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { if (req.getMethod().equals("GET")) { @@ -1626,7 +1626,7 @@ public void waitUntilOffline() throws InterruptedException { /** * Handles incremental log. */ - public void doProgressiveLog(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doProgressiveLog(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { getLogText().doProgressText(req, rsp); } diff --git a/core/src/main/java/hudson/model/ComputerSet.java b/core/src/main/java/hudson/model/ComputerSet.java index 5cb798978dea..f25d25a19a50 100644 --- a/core/src/main/java/hudson/model/ComputerSet.java +++ b/core/src/main/java/hudson/model/ComputerSet.java @@ -41,6 +41,7 @@ import hudson.util.DescribableList; import hudson.util.FormApply; import hudson.util.FormValidation; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.lang.reflect.InvocationTargetException; @@ -52,7 +53,6 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.model.ModelObjectWithChildren; import jenkins.model.ModelObjectWithContextMenu.ContextMenu; @@ -61,8 +61,8 @@ import net.sf.json.JSONObject; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -112,7 +112,7 @@ public Computer[] get_all() { } @Override - public ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + public ContextMenu doChildrenContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { ContextMenu m = new ContextMenu(); for (Computer c : get_all()) { m.add(c); @@ -206,12 +206,12 @@ public String getSearchUrl() { return "/computers/"; } - public Computer getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { + public Computer getDynamic(String token, StaplerRequest2 req, StaplerResponse2 rsp) { return Jenkins.get().getComputer(token); } @RequirePOST - public void do_launchAll(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void do_launchAll(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); for (Computer c : get_all()) { @@ -227,7 +227,7 @@ public void do_launchAll(StaplerRequest req, StaplerResponse rsp) throws IOExcep * TODO: ajax on the client side to wait until the update completion might be nice. */ @RequirePOST - public void doUpdateNow(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doUpdateNow(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.MANAGE); for (NodeMonitor nodeMonitor : NodeMonitor.getAll()) { @@ -244,7 +244,7 @@ public void doUpdateNow(StaplerRequest req, StaplerResponse rsp) throws IOExcept * First check point in creating a new agent. */ @RequirePOST - public synchronized void doCreateItem(StaplerRequest req, StaplerResponse rsp, + public synchronized void doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String name, @QueryParameter String mode, @QueryParameter String from) throws IOException, ServletException { final Jenkins app = Jenkins.get(); @@ -290,7 +290,7 @@ public synchronized void doCreateItem(StaplerRequest req, StaplerResponse rsp, * Really creates a new agent. */ @POST - public synchronized void doDoCreateItem(StaplerRequest req, StaplerResponse rsp, + public synchronized void doDoCreateItem(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String name, @QueryParameter String type) throws IOException, ServletException, FormException { final Jenkins app = Jenkins.get(); @@ -348,7 +348,7 @@ public FormValidation doCheckName(@QueryParameter String value) throws IOExcepti * Accepts submission from the configuration page. */ @POST - public synchronized HttpResponse doConfigSubmit(StaplerRequest req) throws IOException, ServletException, FormException { + public synchronized HttpResponse doConfigSubmit(StaplerRequest2 req) throws IOException, ServletException, FormException { BulkChange bc = new BulkChange(MONITORS_OWNER); try { Jenkins.get().checkPermission(Jenkins.MANAGE); diff --git a/core/src/main/java/hudson/model/Descriptor.java b/core/src/main/java/hudson/model/Descriptor.java index b5eb07784d27..e2067bfc6944 100644 --- a/core/src/main/java/hudson/model/Descriptor.java +++ b/core/src/main/java/hudson/model/Descriptor.java @@ -25,7 +25,7 @@ package hudson.model; import static hudson.util.QuotedStringTokenizer.quote; -import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; +import static jakarta.servlet.http.HttpServletResponse.SC_NOT_FOUND; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; @@ -45,6 +45,9 @@ import hudson.util.ReflectionUtils; import hudson.util.ReflectionUtils.Parameter; import hudson.views.ListViewColumn; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletException; import java.beans.Introspector; import java.io.File; import java.io.IOException; @@ -71,13 +74,12 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; import jenkins.model.GlobalConfiguration; import jenkins.model.GlobalConfigurationCategory; import jenkins.model.Jenkins; import jenkins.model.Loadable; import jenkins.security.RedactSecretJsonInErrorMessageSanitizer; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.io.OnMaster; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -92,7 +94,9 @@ import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebApp; import org.kohsuke.stapler.jelly.JellyCompatibleFacet; import org.kohsuke.stapler.lang.Klass; @@ -382,7 +386,7 @@ public final String getDescriptorFullUrl() { * @since 1.402 */ public static String getCurrentDescriptorByNameUrl() { - StaplerRequest req = Stapler.getCurrentRequest(); + StaplerRequest2 req = Stapler.getCurrentRequest2(); // this override allows RenderOnDemandClosure to preserve the proper value Object url = req.getAttribute("currentDescriptorByNameUrl"); @@ -576,16 +580,33 @@ public T newInstance(StaplerRequest req) throws FormException { * * @throws FormException * Signals a problem in the submitted form. + * @since TODO + */ + public T newInstance(@Nullable StaplerRequest2 req, @NonNull JSONObject formData) throws FormException { + if (Util.isOverridden(Descriptor.class, getClass(), "newInstance", StaplerRequest.class, JSONObject.class)) { + return newInstance(req != null ? StaplerRequest.fromStaplerRequest2(req) : null, formData); + } else { + return newInstanceImpl(req, formData); + } + } + + /** + * @deprecated use {@link #newInstance(StaplerRequest2, JSONObject)} * @since 1.145 */ + @Deprecated public T newInstance(@Nullable StaplerRequest req, @NonNull JSONObject formData) throws FormException { + return newInstanceImpl(req != null ? StaplerRequest.toStaplerRequest2(req) : null, formData); + } + + private T newInstanceImpl(@Nullable StaplerRequest2 req, @NonNull JSONObject formData) throws FormException { try { Method m = getClass().getMethod("newInstance", StaplerRequest.class); if (!Modifier.isAbstract(m.getDeclaringClass().getModifiers())) { // this class overrides newInstance(StaplerRequest). // maintain the backward compatible behavior - return verifyNewInstance(newInstance(req)); + return verifyNewInstance(newInstance(StaplerRequest.fromStaplerRequest2(req))); } else { if (req == null) { // yes, req is supposed to be always non-null, but see the note above @@ -602,16 +623,25 @@ public T newInstance(@Nullable StaplerRequest req, @NonNull JSONObject formData) } /** - * Replacement for {@link StaplerRequest#bindJSON(Class, JSONObject)} which honors {@link #newInstance(StaplerRequest, JSONObject)}. - * This is automatically used inside {@link #newInstance(StaplerRequest, JSONObject)} so a direct call would only be necessary - * in case the top level binding might use a {@link Descriptor} which overrides {@link #newInstance(StaplerRequest, JSONObject)}. + * Replacement for {@link StaplerRequest2#bindJSON(Class, JSONObject)} which honors {@link #newInstance(StaplerRequest2, JSONObject)}. + * This is automatically used inside {@link #newInstance(StaplerRequest2, JSONObject)} so a direct call would only be necessary + * in case the top level binding might use a {@link Descriptor} which overrides {@link #newInstance(StaplerRequest2, JSONObject)}. + * @since TODO + */ + public static T bindJSON(StaplerRequest2 req, Class type, JSONObject src) { + return bindJSON(req, type, src, false); + } + + /** + * @deprecated use {@link #bindJSON(StaplerRequest2, Class, JSONObject)} * @since 2.342 */ + @Deprecated public static T bindJSON(StaplerRequest req, Class type, JSONObject src) { - return bindJSON(req, type, src, false); + return bindJSON(StaplerRequest.toStaplerRequest2(req), type, src); } - private static T bindJSON(StaplerRequest req, Class type, JSONObject src, boolean fromNewInstance) { + private static T bindJSON(StaplerRequest2 req, Class type, JSONObject src, boolean fromNewInstance) { BindInterceptor oldInterceptor = req.getBindInterceptor(); try { NewInstanceBindInterceptor interceptor; @@ -631,9 +661,9 @@ private static T bindJSON(StaplerRequest req, Class type, JSONObject src, } /** - * Ensures that calls to {@link StaplerRequest#bindJSON(Class, JSONObject)} from {@link #newInstance(StaplerRequest, JSONObject)} recurse properly. + * Ensures that calls to {@link StaplerRequest2#bindJSON(Class, JSONObject)} from {@link #newInstance(StaplerRequest2, JSONObject)} recurse properly. * {@code doConfigSubmit}-like methods will wind up calling {@code newInstance} directly - * or via {@link #newInstancesFromHeteroList(StaplerRequest, Object, Collection)}, + * or via {@link #newInstancesFromHeteroList(StaplerRequest2, Object, Collection)}, * which consult any custom {@code newInstance} overrides for top-level {@link Describable} objects. * But for nested describable objects Stapler would know nothing about {@code newInstance} without this trick. */ @@ -671,7 +701,7 @@ public Object instantiate(Class actualType, JSONObject json) { try { final Descriptor descriptor = Jenkins.get().getDescriptor(actualType); if (descriptor != null) { - return descriptor.newInstance(Stapler.getCurrentRequest(), json); + return descriptor.newInstance(Stapler.getCurrentRequest2(), json); } else { LOGGER.log(Level.WARNING, "Descriptor not found. Falling back to default instantiation " + actualType.getName() + " " + json); @@ -694,7 +724,7 @@ public Object onConvert(Type targetType, Class targetTypeErasure, Object jsonSou if (isApplicable(targetTypeErasure, json)) { LOGGER.log(Level.FINE, "switching to newInstance {0} {1}", new Object[] {targetTypeErasure.getName(), json}); try { - return Jenkins.get().getDescriptor(targetTypeErasure).newInstance(Stapler.getCurrentRequest(), json); + return Jenkins.get().getDescriptor(targetTypeErasure).newInstance(Stapler.getCurrentRequest2(), json); } catch (Exception x) { LOGGER.log(Level.WARNING, "falling back to default instantiation " + targetTypeErasure.getName() + " " + json, x); } @@ -776,13 +806,13 @@ public String getHelpFile(Klass clazz, String fieldName) { } try { - if (Stapler.getCurrentRequest().getView(c, "help" + suffix) != null) + if (Stapler.getCurrentRequest2().getView(c, "help" + suffix) != null) return page; } catch (IOException e) { throw new Error(e); } - if (getStaticHelpUrl(Stapler.getCurrentRequest(), c, suffix) != null) return page; + if (getStaticHelpUrl(Stapler.getCurrentRequest2(), c, suffix) != null) return page; } return null; } @@ -812,7 +842,7 @@ public final boolean isSubTypeOf(Class type) { /** * @deprecated - * As of 1.239, use {@link #configure(StaplerRequest, JSONObject)}. + * As of 1.239, use {@link #configure(StaplerRequest2, JSONObject)}. */ @Deprecated public boolean configure(StaplerRequest req) throws FormException { @@ -829,7 +859,21 @@ public boolean configure(StaplerRequest req) throws FormException { * See the developer documentation. * @return false * to keep the client in the same config page. + * @since TODO */ + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { + if (Util.isOverridden(Descriptor.class, getClass(), "configure", StaplerRequest.class, JSONObject.class)) { + return configure(StaplerRequest.fromStaplerRequest2(req), json); + } else { + // compatibility + return configure(StaplerRequest.fromStaplerRequest2(req)); + } + } + + /** + * @deprecated use {@link #configure(StaplerRequest2, JSONObject)} + */ + @Deprecated public boolean configure(StaplerRequest req, JSONObject json) throws FormException { // compatibility return configure(req); @@ -895,7 +939,7 @@ protected final String getViewPage(Class clazz, String pageName) { protected List getPossibleViewNames(String baseName) { List names = new ArrayList<>(); - for (Facet f : WebApp.get(Jenkins.get().servletContext).facets) { + for (Facet f : WebApp.get(Jenkins.get().getServletContext()).facets) { if (f instanceof JellyCompatibleFacet jcf) { for (String ext : jcf.getScriptExtensions()) names.add(baseName + ext); @@ -957,7 +1001,32 @@ protected PluginWrapper getPlugin() { /** * Serves {@code help.html} from the resource of {@link #clazz}. */ - public void doHelp(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doHelp(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Descriptor.class, getClass(), "doHelp", StaplerRequest.class, StaplerResponse.class)) { + try { + doHelp(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doHelpImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doHelp(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doHelp(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doHelpImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doHelpImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { String path = req.getRestOfPath(); if (path.contains("..")) throw new ServletException("Illegal path: " + path); @@ -972,13 +1041,13 @@ public void doHelp(StaplerRequest req, StaplerResponse rsp) throws IOException, } for (Klass c = getKlass(); c != null; c = c.getSuperClass()) { - RequestDispatcher rd = Stapler.getCurrentRequest().getView(c, "help" + path); + RequestDispatcher rd = Stapler.getCurrentRequest2().getView(c, "help" + path); if (rd != null) { // template based help page rd.forward(req, rsp); return; } - URL url = getStaticHelpUrl(Stapler.getCurrentRequest(), c, path); + URL url = getStaticHelpUrl(Stapler.getCurrentRequest2(), c, path); if (url != null) { // TODO: generalize macro expansion and perhaps even support JEXL rsp.setContentType("text/html;charset=UTF-8"); @@ -992,8 +1061,11 @@ public void doHelp(StaplerRequest req, StaplerResponse rsp) throws IOException, rsp.sendError(SC_NOT_FOUND); } + /** + * @since TODO + */ @Restricted(NoExternalUse.class) - public static URL getStaticHelpUrl(StaplerRequest req, Klass c, String suffix) { + public static URL getStaticHelpUrl(StaplerRequest2 req, Klass c, String suffix) { String base = "help" + suffix; URL url; @@ -1017,6 +1089,15 @@ public static URL getStaticHelpUrl(StaplerRequest req, Klass c, String suffix return c.getResource(base + ".html"); } + /** + * @deprecated use {@link #getStaticHelpUrl(StaplerRequest2, Klass, String)} + */ + @Deprecated + @Restricted(NoExternalUse.class) + public static URL getStaticHelpUrl(StaplerRequest req, Klass c, String suffix) { + return getStaticHelpUrl(StaplerRequest.toStaplerRequest2(req), c, suffix); + } + // // static methods @@ -1061,16 +1142,30 @@ Map, T> toMap(Iterable describables) { * List of descriptors to create instances from. * @return * Can be empty but never null. + * @since TODO */ public static > - List newInstancesFromHeteroList(StaplerRequest req, JSONObject formData, String key, + List newInstancesFromHeteroList(StaplerRequest2 req, JSONObject formData, String key, Collection> descriptors) throws FormException { return newInstancesFromHeteroList(req, formData.get(key), descriptors); } + /** + * @deprecated use {@link #newInstancesFromHeteroList(StaplerRequest2, JSONObject, String, Collection)} + */ + @Deprecated + public static > + List newInstancesFromHeteroList(StaplerRequest req, JSONObject formData, String key, + Collection> descriptors) throws FormException { + return newInstancesFromHeteroList(StaplerRequest.toStaplerRequest2(req), formData, key, descriptors); + } + + /** + * @since TODO + */ public static > - List newInstancesFromHeteroList(StaplerRequest req, Object formData, + List newInstancesFromHeteroList(StaplerRequest2 req, Object formData, Collection> descriptors) throws FormException { List items = new ArrayList<>(); @@ -1086,7 +1181,7 @@ List newInstancesFromHeteroList(StaplerRequest req, Object formData, if (kind != null) { // Only applies when Descriptor.getId is overridden. // Note that kind is only supported here, - // *not* inside the StaplerRequest.bindJSON which is normally called by newInstance + // *not* inside the StaplerRequest2.bindJSON which is normally called by newInstance // (since Descriptor.newInstance is not itself available to Stapler). // If you merely override getId for some reason, but use @DataBoundConstructor on your Describable, // there is no problem; but you can only rely on newInstance being called at top level. @@ -1114,6 +1209,16 @@ List newInstancesFromHeteroList(StaplerRequest req, Object formData, return items; } + /** + * @deprecated use {@link #newInstancesFromHeteroList(StaplerRequest2, JSONObject, String, Collection)} + */ + @Deprecated + public static > + List newInstancesFromHeteroList(StaplerRequest req, Object formData, + Collection> descriptors) throws FormException { + return newInstancesFromHeteroList(StaplerRequest.toStaplerRequest2(req), formData, descriptors); + } + /** * Finds a descriptor from a collection by its ID. * @param id should match {@link #getId} @@ -1199,7 +1304,7 @@ public String getFormField() { } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { if (FormApply.isApply(req)) { FormApply.applyResponse("notificationBar.show(" + quote(getMessage()) + ",notificationBar.ERROR)") .generateResponse(req, rsp, node); diff --git a/core/src/main/java/hudson/model/DirectlyModifiableView.java b/core/src/main/java/hudson/model/DirectlyModifiableView.java index 61362272c248..138f33a6a32c 100644 --- a/core/src/main/java/hudson/model/DirectlyModifiableView.java +++ b/core/src/main/java/hudson/model/DirectlyModifiableView.java @@ -26,8 +26,8 @@ import edu.umd.cs.findbugs.annotations.NonNull; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.interceptor.RequirePOST; diff --git a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java index 9d455f4c1bd3..72da0c7514c1 100644 --- a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java +++ b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java @@ -27,6 +27,9 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.FilePath; import hudson.Util; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -55,8 +58,6 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.security.MasterToSlaveCallable; import jenkins.security.ResourceDomainConfiguration; @@ -70,7 +71,9 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * Has convenience methods to serve file system. @@ -157,7 +160,7 @@ public DirectoryBrowserSupport(ModelObject owner, VirtualFile base, String title } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { if (!ResourceDomainConfiguration.isResourceRequest(req) && ResourceDomainConfiguration.isResourceDomainConfigured()) { resourceToken = ResourceDomainRootAction.get().getToken(this, req); } @@ -191,11 +194,15 @@ public void setIndexFileName(String fileName) { * from the {@code doXYZ} method and let Stapler generate a response for you. */ @Deprecated - public void serveFile(StaplerRequest req, StaplerResponse rsp, FilePath root, String icon, boolean serveDirIndex) throws IOException, ServletException, InterruptedException { - serveFile(req, rsp, root.toVirtualFile(), icon, serveDirIndex); + public void serveFile(StaplerRequest req, StaplerResponse rsp, FilePath root, String icon, boolean serveDirIndex) throws IOException, javax.servlet.ServletException, InterruptedException { + try { + serveFile(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), root.toVirtualFile(), icon, serveDirIndex); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } - private void serveFile(StaplerRequest req, StaplerResponse rsp, VirtualFile root, String icon, boolean serveDirIndex) throws IOException, ServletException, InterruptedException { + private void serveFile(StaplerRequest2 req, StaplerResponse2 rsp, VirtualFile root, String icon, boolean serveDirIndex) throws IOException, ServletException, InterruptedException { // handle form submission String pattern = req.getParameter("pattern"); if (pattern == null) @@ -492,7 +499,7 @@ private boolean isDescendant(VirtualFile root, String relativePath) { } } - private String getPath(StaplerRequest req) { + private String getPath(StaplerRequest2 req) { String path = req.getRestOfPath(); if (path.isEmpty()) path = "/"; @@ -521,7 +528,7 @@ private static String createBackRef(int times) { return "../".repeat(times); } - private static void zip(StaplerResponse rsp, VirtualFile root, VirtualFile dir, String glob) throws IOException, InterruptedException { + private static void zip(StaplerResponse2 rsp, VirtualFile root, VirtualFile dir, String glob) throws IOException, InterruptedException { OutputStream outputStream = rsp.getOutputStream(); try (ZipOutputStream zos = new ZipOutputStream(outputStream)) { zos.setEncoding(Charset.defaultCharset().displayName()); // TODO JENKINS-20663 make this overridable via query parameter diff --git a/core/src/main/java/hudson/model/Executor.java b/core/src/main/java/hudson/model/Executor.java index 020399bdd5b8..94aa1c770d21 100644 --- a/core/src/main/java/hudson/model/Executor.java +++ b/core/src/main/java/hudson/model/Executor.java @@ -59,7 +59,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -import javax.servlet.ServletException; import jenkins.model.CauseOfInterruption; import jenkins.model.CauseOfInterruption.UserInterruption; import jenkins.model.InterruptedBuildAction; @@ -852,7 +851,7 @@ public void start() { */ @RequirePOST @Deprecated - public void doStop(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doStop(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { doStop().generateResponse(req, rsp, this); } diff --git a/core/src/main/java/hudson/model/Failure.java b/core/src/main/java/hudson/model/Failure.java index 71318dd0464b..0546f0a7e090 100644 --- a/core/src/main/java/hudson/model/Failure.java +++ b/core/src/main/java/hudson/model/Failure.java @@ -25,12 +25,12 @@ package hudson.model; import edu.umd.cs.findbugs.annotations.CheckForNull; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.kohsuke.stapler.HttpResponse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * Represents an error induced by user, encountered during HTTP request processing. @@ -55,7 +55,7 @@ public Failure(String message, boolean pre) { this.pre = pre; } - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node, @CheckForNull Throwable throwable) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node, @CheckForNull Throwable throwable) throws IOException, ServletException { if (throwable != null) { req.setAttribute("exception", throwable); } @@ -63,7 +63,7 @@ public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object nod } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { req.setAttribute("message", getMessage()); if (pre) req.setAttribute("pre", true); diff --git a/core/src/main/java/hudson/model/FileParameterDefinition.java b/core/src/main/java/hudson/model/FileParameterDefinition.java index 25cb08336da3..b8332f5911c5 100644 --- a/core/src/main/java/hudson/model/FileParameterDefinition.java +++ b/core/src/main/java/hudson/model/FileParameterDefinition.java @@ -29,17 +29,17 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Extension; import hudson.cli.CLICommand; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.Objects; -import javax.servlet.ServletException; import net.sf.json.JSONObject; import org.apache.commons.fileupload2.core.FileItem; import org.apache.commons.io.FileUtils; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link ParameterDefinition} for doing file upload. @@ -65,7 +65,7 @@ public FileParameterDefinition(@NonNull String name, @CheckForNull String descri } @Override - public FileParameterValue createValue(StaplerRequest req, JSONObject jo) { + public FileParameterValue createValue(StaplerRequest2 req, JSONObject jo) { FileParameterValue p = req.bindJSON(FileParameterValue.class, jo); p.setLocation(getName()); p.setDescription(getDescription()); @@ -87,7 +87,7 @@ public String getHelpFile() { } @Override - public ParameterValue createValue(StaplerRequest req) { + public ParameterValue createValue(StaplerRequest2 req) { FileItem src; try { src = req.getFileItem2(getName()); diff --git a/core/src/main/java/hudson/model/FileParameterValue.java b/core/src/main/java/hudson/model/FileParameterValue.java index 343e30bb64f4..abeb1f41816a 100644 --- a/core/src/main/java/hudson/model/FileParameterValue.java +++ b/core/src/main/java/hudson/model/FileParameterValue.java @@ -50,8 +50,8 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * {@link ParameterValue} for {@link FileParameterDefinition}. @@ -235,9 +235,9 @@ public String toString() { } /** - * Serve this file parameter in response to a {@link StaplerRequest}. + * Serve this file parameter in response to a {@link StaplerRequest2}. */ - public DirectoryBrowserSupport doDynamic(StaplerRequest request, StaplerResponse response) { + public DirectoryBrowserSupport doDynamic(StaplerRequest2 request, StaplerResponse2 response) { AbstractBuild build = (AbstractBuild) request.findAncestor(AbstractBuild.class).getObject(); File fileParameter = getFileParameterFolderUnderBuild(build); return new DirectoryBrowserSupport(build, new FilePath(fileParameter), Messages.FileParameterValue_IndexTitle(), "folder.png", false); diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 784fa47da20e..7d45fd63d749 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -38,14 +38,16 @@ import hudson.slaves.ComputerListener; import hudson.util.CopyOnWriteList; import hudson.util.FormValidation; +import io.jenkins.servlet.ServletContextWrapper; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.text.NumberFormat; import java.text.ParseException; import java.util.List; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import org.jvnet.hudson.reactor.ReactorException; import org.kohsuke.stapler.QueryParameter; @@ -78,14 +80,36 @@ public static Hudson getInstance() { return (Hudson) Jenkins.get(); } + /** + * @since TODO + */ public Hudson(File root, ServletContext context) throws IOException, InterruptedException, ReactorException { this(root, context, null); } + /** + * @deprecated use {@link #Hudson(File, ServletContext)} + */ + @Deprecated + public Hudson(File root, javax.servlet.ServletContext context) throws IOException, InterruptedException, ReactorException { + this(root, ServletContextWrapper.toJakartaServletContext(context)); + } + + /** + * @since TODO + */ public Hudson(File root, ServletContext context, PluginManager pluginManager) throws IOException, InterruptedException, ReactorException { super(root, context, pluginManager); } + /** + * @deprecated use {@link #Hudson(File, ServletContext, PluginManager)} + */ + @Deprecated + public Hudson(File root, javax.servlet.ServletContext context, PluginManager pluginManager) throws IOException, InterruptedException, ReactorException { + this(root, ServletContextWrapper.toJakartaServletContext(context), pluginManager); + } + /** * Gets all the installed {@link ItemListener}s. * @@ -173,8 +197,12 @@ public TopLevelItem getJobCaseInsensitive(String name) { */ @Deprecated @RequirePOST - public synchronized void doQuietDown(StaplerResponse rsp) throws IOException, ServletException { - doQuietDown().generateResponse(null, rsp, this); + public synchronized void doQuietDown(StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doQuietDown().generateResponse(null, StaplerResponse.toStaplerResponse2(rsp), this); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } /** @@ -184,7 +212,7 @@ public synchronized void doQuietDown(StaplerResponse rsp) throws IOException, Se * As on 1.267, moved to "/log/rss..." */ @Deprecated - public void doLogRss(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doLogRss(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { String qs = req.getQueryString(); rsp.sendRedirect2("./log/rss" + (qs == null ? "" : '?' + qs)); } @@ -194,7 +222,7 @@ public void doLogRss(StaplerRequest req, StaplerResponse rsp) throws IOException * Define your own check method, instead of relying on this generic one. */ @Deprecated - public void doFieldCheck(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doFieldCheck(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { doFieldCheck( fixEmpty(req.getParameter("value")), fixEmpty(req.getParameter("type")), diff --git a/core/src/main/java/hudson/model/Item.java b/core/src/main/java/hudson/model/Item.java index a57011579b15..838f4e6f75a7 100644 --- a/core/src/main/java/hudson/model/Item.java +++ b/core/src/main/java/hudson/model/Item.java @@ -41,7 +41,7 @@ import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import jenkins.util.io.OnMaster; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Basic configuration unit in Hudson. @@ -183,7 +183,7 @@ default String getRelativeNameFrom(@NonNull Item item) { /** * Returns the absolute URL of this item. This relies on the current - * {@link StaplerRequest} to figure out what the host name is, + * {@link StaplerRequest2} to figure out what the host name is, * so can be used only during processing client requests. * * @return diff --git a/core/src/main/java/hudson/model/ItemGroupMixIn.java b/core/src/main/java/hudson/model/ItemGroupMixIn.java index faa214dee621..62a46f395247 100644 --- a/core/src/main/java/hudson/model/ItemGroupMixIn.java +++ b/core/src/main/java/hudson/model/ItemGroupMixIn.java @@ -32,6 +32,9 @@ import hudson.util.CopyOnWriteMap; import hudson.util.Function1; import hudson.util.Secret; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -42,8 +45,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import javax.xml.transform.TransformerException; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; @@ -51,7 +52,9 @@ import jenkins.security.NotReallyRoleSensitiveCallable; import jenkins.util.xml.XMLUtils; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.access.AccessDeniedException; import org.xml.sax.SAXException; @@ -140,8 +143,10 @@ public static Map loadChildren(ItemGroup parent, File /** * Creates a {@link TopLevelItem} for example from the submission of the {@code /lib/hudson/newFromList/form} tag * or throws an exception if it fails. + * + * @since TODO */ - public synchronized TopLevelItem createTopLevelItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized TopLevelItem createTopLevelItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { acl.checkPermission(Item.CREATE); TopLevelItem result; @@ -206,10 +211,22 @@ public synchronized TopLevelItem createTopLevelItem(StaplerRequest req, StaplerR return result; } + /** + * @deprecated use {@link #createTopLevelItem(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + public synchronized TopLevelItem createTopLevelItem(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + return createTopLevelItem(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + /** * Computes the redirection target URL for the newly created {@link TopLevelItem}. */ - protected String redirectAfterCreateItem(StaplerRequest req, TopLevelItem result) throws IOException { + protected String redirectAfterCreateItem(StaplerRequest2 req, TopLevelItem result) throws IOException { return req.getContextPath() + '/' + result.getUrl() + "configure"; } diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index 4bd28ff2e325..10637d666d68 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -24,8 +24,8 @@ package hudson.model; -import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; -import static javax.servlet.http.HttpServletResponse.SC_NO_CONTENT; +import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST; +import static jakarta.servlet.http.HttpServletResponse.SC_NO_CONTENT; import com.infradna.tool.bridge_method_injector.WithBridgeMethods; import edu.umd.cs.findbugs.annotations.CheckForNull; @@ -69,6 +69,8 @@ import hudson.widgets.HistoryWidget; import hudson.widgets.HistoryWidget.Adapter; import hudson.widgets.Widget; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.awt.Color; import java.awt.Paint; import java.io.File; @@ -85,7 +87,6 @@ import java.util.SortedMap; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.BuildDiscarder; import jenkins.model.BuildDiscarderProperty; import jenkins.model.DirectlyModifiableTopLevelItemGroup; @@ -98,6 +99,7 @@ import jenkins.model.lazy.LazyBuildMixIn; import jenkins.scm.RunWithSCM; import jenkins.security.HexStringConfidentialKey; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.triggers.SCMTriggerItem; import jenkins.widgets.HasWidgets; import net.sf.json.JSONException; @@ -122,7 +124,9 @@ import org.kohsuke.args4j.CmdLineException; import org.kohsuke.stapler.StaplerOverridable; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; @@ -854,9 +858,43 @@ public RunT getNearestOldBuild(int n) { return m.get(m.firstKey()); } + /** + * @since TODO + */ + @Override + public Object getDynamic(String token, StaplerRequest2 req, + StaplerResponse2 rsp) { + if (Util.isOverridden(Job.class, getClass(), "getDynamic", String.class, StaplerRequest.class, StaplerResponse.class)) { + return getDynamic(token, StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } + try { + // try to interpret the token as build number + return getBuildByNumber(Integer.parseInt(token)); + } catch (NumberFormatException e) { + // try to map that to widgets + for (Widget w : getWidgets()) { + if (w.getUrlName().equals(token)) + return w; + } + + // is this a permalink? + for (Permalink p : getPermalinks()) { + if (p.getId().equals(token)) + return p.resolve(this); + } + + return super.getDynamic(token, req, rsp); + } + } + + /** + * @deprecated use {@link #getDynamic(String, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated @Override public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { + // Intentionally not factoring this out into a common implementation method because it contains a call to super. try { // try to interpret the token as build number return getBuildByNumber(Integer.parseInt(token)); @@ -1092,7 +1130,7 @@ public PermalinkList getPermalinks() { * * @since 2.60 */ - public void doRssChangelog(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssChangelog(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { class FeedItem { ChangeLogSet.Entry e; int idx; @@ -1168,8 +1206,29 @@ public String getEntryAuthor(FeedItem entry) { } + /** + * @since TODO + */ + @Override + public ContextMenu doChildrenContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { + if (Util.isOverridden(Job.class, getClass(), "doChildrenContextMenu", StaplerRequest.class, StaplerResponse.class)) { + return doChildrenContextMenu(StaplerRequest.fromStaplerRequest2(request), StaplerResponse.fromStaplerResponse2(response)); + } else { + return doChildrenContextMenuImpl(request, response); + } + } - @Override public ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + /** + * @deprecated use {@link #doChildrenContextMenu(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + @Override + public ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + return doChildrenContextMenuImpl(StaplerRequest.toStaplerRequest2(request), StaplerResponse.toStaplerResponse2(response)); + } + + private ContextMenu doChildrenContextMenuImpl(StaplerRequest2 request, StaplerResponse2 response) { // not sure what would be really useful here. This needs more thoughts. // for the time being, I'm starting with permalinks ContextMenu menu = new ContextMenu(); @@ -1327,8 +1386,8 @@ private HealthReport getBuildStabilityHealthReport() { * Accepts submission from the configuration page. */ @POST - public synchronized void doConfigSubmit(StaplerRequest req, - StaplerResponse rsp) throws IOException, ServletException, FormException { + public synchronized void doConfigSubmit(StaplerRequest2 req, + StaplerResponse2 rsp) throws IOException, ServletException, FormException { checkPermission(CONFIGURE); description = req.getParameter("description"); @@ -1373,15 +1432,32 @@ public synchronized void doConfigSubmit(StaplerRequest req, /** * Derived class can override this to perform additional config submission * work. + * + * @since TODO */ - protected void submit(StaplerRequest req, StaplerResponse rsp) + protected void submit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { + if (Util.isOverridden(Job.class, getClass(), "submit", StaplerRequest.class, StaplerResponse.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + protected void submit(StaplerRequest req, StaplerResponse rsp) + throws IOException, javax.servlet.ServletException, FormException { } /** * Accepts and serves the job description */ - public void doDescription(StaplerRequest req, StaplerResponse rsp) + public void doDescription(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { if (req.getMethod().equals("GET")) { //read @@ -1407,7 +1483,7 @@ public void doDescription(StaplerRequest req, StaplerResponse rsp) /** * Returns the image that shows the current buildCommand status. */ - public void doBuildStatus(StaplerRequest req, StaplerResponse rsp) + public void doBuildStatus(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { rsp.sendRedirect2(req.getContextPath() + "/images/48x48/" + getBuildStatusUrl()); } @@ -1577,7 +1653,7 @@ private Calendar getLastBuildTime() { @RequirePOST public/* not synchronized. see renameTo() */void doDoRename( StaplerRequest req, StaplerResponse rsp) throws IOException, - ServletException { + javax.servlet.ServletException { String newName = req.getParameter("newName"); doConfirmRename(newName).generateResponse(req, rsp, null); } @@ -1589,12 +1665,12 @@ protected void checkRename(String newName) throws Failure { } } - public void doRssAll(StaplerRequest req, StaplerResponse rsp) + public void doRssAll(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (all builds)", getUrl(), getBuilds().newBuilds()); } - public void doRssFailed(StaplerRequest req, StaplerResponse rsp) + public void doRssFailed(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (failed builds)", getUrl(), getBuilds().failureOnly().newBuilds()); } diff --git a/core/src/main/java/hudson/model/JobProperty.java b/core/src/main/java/hudson/model/JobProperty.java index 14ff87591fe9..70ef159547c0 100644 --- a/core/src/main/java/hudson/model/JobProperty.java +++ b/core/src/main/java/hudson/model/JobProperty.java @@ -27,6 +27,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.ExtensionPoint; import hudson.Launcher; +import hudson.Util; import hudson.model.Descriptor.FormException; import hudson.model.queue.SubTask; import hudson.tasks.BuildStep; @@ -41,6 +42,7 @@ import jenkins.model.OptionalJobProperty; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.ExportedBean; /** @@ -183,8 +185,28 @@ public Collection getJobOverrides() { return Collections.emptyList(); } + /** + * @since TODO + */ + @Override + public JobProperty reconfigure(StaplerRequest2 req, JSONObject form) throws FormException { + if (Util.isOverridden(JobProperty.class, getClass(), "reconfigure", StaplerRequest.class, JSONObject.class)) { + return reconfigure(StaplerRequest.fromStaplerRequest2(req), form); + } else { + return reconfigureImpl(req, form); + } + } + + /** + * @deprecated use {@link #reconfigure(StaplerRequest2, JSONObject)} + */ + @Deprecated @Override public JobProperty reconfigure(StaplerRequest req, JSONObject form) throws FormException { + return reconfigureImpl(StaplerRequest.toStaplerRequest2(req), form); + } + + private JobProperty reconfigureImpl(StaplerRequest2 req, JSONObject form) throws FormException { return form == null ? null : getDescriptor().newInstance(req, form); } diff --git a/core/src/main/java/hudson/model/JobPropertyDescriptor.java b/core/src/main/java/hudson/model/JobPropertyDescriptor.java index 1f1c3aa7e6f0..eb9b990b7056 100644 --- a/core/src/main/java/hudson/model/JobPropertyDescriptor.java +++ b/core/src/main/java/hudson/model/JobPropertyDescriptor.java @@ -24,6 +24,7 @@ package hudson.model; +import hudson.Util; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; @@ -34,6 +35,7 @@ import net.sf.json.JSONObject; import org.jvnet.tiger_types.Types; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link Descriptor} for {@link JobProperty}. @@ -61,6 +63,23 @@ protected JobPropertyDescriptor() { * null to avoid setting an instance of {@link JobProperty} to the target project (or just use {@link OptionalJobProperty}) */ @Override + public JobProperty newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { + if (Util.isOverridden(JobPropertyDescriptor.class, getClass(), "newInstance", StaplerRequest.class, JSONObject.class)) { + return newInstance(req != null ? StaplerRequest.fromStaplerRequest2(req) : null, formData); + } else { + // JobPropertyDescriptors are bit different in that we allow them even without any user-visible configuration parameter, + // so replace the lack of form data by an empty one. + if (formData.isNullObject()) formData = new JSONObject(); + + return super.newInstance(req, formData); + } + } + + /** + * @deprecated use {@link #newInstance(StaplerRequest2, JSONObject)} + */ + @Deprecated + @Override public JobProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException { // JobPropertyDescriptors are bit different in that we allow them even without any user-visible configuration parameter, // so replace the lack of form data by an empty one. diff --git a/core/src/main/java/hudson/model/Label.java b/core/src/main/java/hudson/model/Label.java index 88661c6df690..53c51db9cc4b 100644 --- a/core/src/main/java/hudson/model/Label.java +++ b/core/src/main/java/hudson/model/Label.java @@ -71,8 +71,8 @@ import org.antlr.v4.runtime.CommonTokenStream; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -548,7 +548,7 @@ public String toString() { } @Override - public ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + public ContextMenu doChildrenContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { ContextMenu menu = new ContextMenu(); for (Node node : getNodes()) { menu.add(node); diff --git a/core/src/main/java/hudson/model/ListView.java b/core/src/main/java/hudson/model/ListView.java index d8f6a8d48bcb..a2e25f1f1d1b 100644 --- a/core/src/main/java/hudson/model/ListView.java +++ b/core/src/main/java/hudson/model/ListView.java @@ -41,6 +41,8 @@ import hudson.views.ListViewColumn; import hudson.views.StatusFilter; import hudson.views.ViewJobFilter; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; @@ -55,7 +57,6 @@ import java.util.logging.Logger; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import net.jcip.annotations.GuardedBy; import net.sf.json.JSONObject; @@ -67,7 +68,8 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; import org.springframework.security.access.AccessDeniedException; @@ -97,7 +99,7 @@ public class ListView extends View implements DirectlyModifiableView { /** * Whether to recurse in ItemGroups */ - private boolean recurse; + private volatile boolean recurse; /** * Compiled include pattern from the includeRegex string. @@ -357,7 +359,7 @@ public boolean isAddToCurrentView() { } } - private boolean needToAddToCurrentView(StaplerRequest req) throws ServletException { + private boolean needToAddToCurrentView(StaplerRequest2 req) throws ServletException { String json = req.getParameter("json"); if (json != null && !json.isEmpty()) { // Submitted via UI @@ -371,7 +373,7 @@ private boolean needToAddToCurrentView(StaplerRequest req) throws ServletExcepti @Override @POST - public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public Item doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { ItemGroup ig = getOwner().getItemGroup(); if (ig instanceof ModifiableItemGroup) { TopLevelItem item = ((ModifiableItemGroup) ig).doCreateItem(req, rsp); @@ -439,7 +441,32 @@ public HttpResponse doRemoveJobFromView(@QueryParameter String name) throws IOEx * Load view-specific properties here. */ @Override - protected void submit(StaplerRequest req) throws ServletException, FormException, IOException { + protected void submit(StaplerRequest2 req) throws ServletException, FormException, IOException { + if (Util.isOverridden(View.class, getClass(), "submit", StaplerRequest.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + submitImpl(req); + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2)} + */ + @Deprecated + @Override + protected void submit(StaplerRequest req) throws javax.servlet.ServletException, FormException, IOException { + try { + submitImpl(StaplerRequest.toStaplerRequest2(req)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void submitImpl(StaplerRequest2 req) throws ServletException, FormException, IOException { JSONObject json = req.getSubmittedForm(); synchronized (this) { recurse = json.optBoolean("recurse", true); diff --git a/core/src/main/java/hudson/model/ManageJenkinsAction.java b/core/src/main/java/hudson/model/ManageJenkinsAction.java index c6c37a57662a..776b37c4f265 100644 --- a/core/src/main/java/hudson/model/ManageJenkinsAction.java +++ b/core/src/main/java/hudson/model/ManageJenkinsAction.java @@ -36,8 +36,8 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerFallback; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * Adds the "Manage Jenkins" link to the top page. @@ -70,7 +70,7 @@ public Object getStaplerFallback() { } @Override - public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws JellyException, IOException { + public ContextMenu doContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws JellyException, IOException { return new ContextMenu().from(this, request, response, "index"); } @@ -80,7 +80,7 @@ public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse respons */ @Restricted(NoExternalUse.class) public void addContextMenuItem(ContextMenu menu, String url, String icon, String iconXml, String text, boolean post, boolean requiresConfirmation, Badge badge, String message) { - if (Stapler.getCurrentRequest().findAncestorObject(this.getClass()) != null || !Util.isSafeToRedirectTo(url)) { + if (Stapler.getCurrentRequest2().findAncestorObject(this.getClass()) != null || !Util.isSafeToRedirectTo(url)) { // Default behavior if the URL is absolute or scheme-relative, or the current object is an ancestor (i.e. would resolve correctly) menu.add(url, icon, iconXml, text, post, requiresConfirmation, badge, message); return; diff --git a/core/src/main/java/hudson/model/ModifiableItemGroup.java b/core/src/main/java/hudson/model/ModifiableItemGroup.java index 726a0455dc74..35e41305afb5 100644 --- a/core/src/main/java/hudson/model/ModifiableItemGroup.java +++ b/core/src/main/java/hudson/model/ModifiableItemGroup.java @@ -24,10 +24,15 @@ package hudson.model; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; +import jenkins.security.stapler.StaplerNotDispatchable; +import org.kohsuke.stapler.ReflectionUtils; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * {@link ItemGroup} that is a general purpose container, which allows users and the rest of the program @@ -45,5 +50,45 @@ public interface ModifiableItemGroup extends ItemGroup { * The request format follows that of {@code <n:form xmlns:n="/lib/form">}. * */ - T doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; + @StaplerNotDispatchable + default T doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (ReflectionUtils.isOverridden( + ModifiableItemGroup.class, + getClass(), + "doCreateItem", + StaplerRequest.class, + StaplerResponse.class)) { + try { + return doCreateItem(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + ModifiableItemGroup.class.getSimpleName() + ".doCreateItem methods"); + } + } + + /** + * @deprecated use {@link #doCreateItem(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + default T doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + if (ReflectionUtils.isOverridden( + ModifiableItemGroup.class, + getClass(), + "doCreateItem", + StaplerRequest2.class, + StaplerResponse2.class)) { + try { + return doCreateItem(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + ModifiableItemGroup.class.getSimpleName() + ".doCreateItem methods"); + } + } } diff --git a/core/src/main/java/hudson/model/MultiStageTimeSeries.java b/core/src/main/java/hudson/model/MultiStageTimeSeries.java index ea9d25a043c0..84963cde928f 100644 --- a/core/src/main/java/hudson/model/MultiStageTimeSeries.java +++ b/core/src/main/java/hudson/model/MultiStageTimeSeries.java @@ -26,6 +26,7 @@ import hudson.util.ChartUtil; import hudson.util.NoOverlapCategoryAxis; +import jakarta.servlet.ServletException; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; @@ -39,7 +40,6 @@ import java.util.List; import java.util.Locale; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; @@ -53,7 +53,9 @@ import org.jvnet.localizer.Localizable; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -298,8 +300,8 @@ protected void configurePlot(CategoryPlot plot) { * Renders this object as an image. */ @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { - ChartUtil.generateGraph(req, rsp, createChart(), 500, 400); + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { + ChartUtil.generateGraph(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp), createChart(), 500, 400); } } diff --git a/core/src/main/java/hudson/model/MyView.java b/core/src/main/java/hudson/model/MyView.java index bc98d9a55f7f..93c9967e0e86 100644 --- a/core/src/main/java/hudson/model/MyView.java +++ b/core/src/main/java/hudson/model/MyView.java @@ -26,18 +26,21 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.Extension; +import hudson.Util; import hudson.model.Descriptor.FormException; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -64,7 +67,7 @@ public boolean contains(TopLevelItem item) { @RequirePOST @Override - public TopLevelItem doCreateItem(StaplerRequest req, StaplerResponse rsp) + public TopLevelItem doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { ItemGroup ig = getOwner().getItemGroup(); if (ig instanceof ModifiableItemGroup) { @@ -85,7 +88,24 @@ public String getPostConstructLandingPage() { } @Override - protected void submit(StaplerRequest req) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest2 req) throws IOException, ServletException, FormException { + if (Util.isOverridden(MyView.class, getClass(), "submit", StaplerRequest.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + // noop + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2)} + */ + @Deprecated + @Override + protected void submit(StaplerRequest req) throws IOException, javax.servlet.ServletException, FormException { // noop } diff --git a/core/src/main/java/hudson/model/MyViewsProperty.java b/core/src/main/java/hudson/model/MyViewsProperty.java index 49fdfac48d2d..32ef03f73ecd 100644 --- a/core/src/main/java/hudson/model/MyViewsProperty.java +++ b/core/src/main/java/hudson/model/MyViewsProperty.java @@ -35,13 +35,13 @@ import hudson.util.FormValidation; import hudson.views.MyViewsTabBar; import hudson.views.ViewsTabBar; +import jakarta.servlet.ServletException; import java.io.IOException; import java.text.ParseException; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import net.sf.json.JSONObject; @@ -54,8 +54,8 @@ import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerFallback; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.verb.POST; /** @@ -196,7 +196,7 @@ public HttpResponse doIndex() { } @POST - public synchronized void doCreateView(StaplerRequest req, StaplerResponse rsp) + public synchronized void doCreateView(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, ParseException, FormException { checkPermission(View.CREATE); addView(View.create(req, rsp, this)); @@ -276,7 +276,7 @@ public UserProperty newInstance(User user) { } @Override - public UserProperty reconfigure(StaplerRequest req, JSONObject form) throws FormException { + public UserProperty reconfigure(StaplerRequest2 req, JSONObject form) throws FormException { req.bindJSON(this, form); return this; } diff --git a/core/src/main/java/hudson/model/Node.java b/core/src/main/java/hudson/model/Node.java index 8ba16e77d4d3..55cacd269133 100644 --- a/core/src/main/java/hudson/model/Node.java +++ b/core/src/main/java/hudson/model/Node.java @@ -79,6 +79,7 @@ import org.kohsuke.stapler.BindInterceptor; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.springframework.security.core.Authentication; @@ -560,8 +561,25 @@ public ACL getACL() { return Jenkins.get().getAuthorizationStrategy().getACL(this); } + @Override + public Node reconfigure(@NonNull final StaplerRequest2 req, JSONObject form) throws FormException { + if (Util.isOverridden(Node.class, getClass(), "reconfigure", StaplerRequest.class, JSONObject.class)) { + return reconfigure(StaplerRequest.fromStaplerRequest2(req), form); + } else { + return reconfigureImpl(req, form); + } + } + + /** + * @deprecated use {@link #reconfigure(StaplerRequest2, JSONObject)} + */ + @Deprecated @Override public Node reconfigure(@NonNull final StaplerRequest req, JSONObject form) throws FormException { + return reconfigureImpl(StaplerRequest.toStaplerRequest2(req), form); + } + + private Node reconfigureImpl(@NonNull final StaplerRequest2 req, JSONObject form) throws FormException { if (form == null) return null; final JSONObject jsonForProperties = form.optJSONObject("nodeProperties"); diff --git a/core/src/main/java/hudson/model/PaneStatusProperties.java b/core/src/main/java/hudson/model/PaneStatusProperties.java index 4807020ca714..12cb0003d671 100644 --- a/core/src/main/java/hudson/model/PaneStatusProperties.java +++ b/core/src/main/java/hudson/model/PaneStatusProperties.java @@ -6,8 +6,8 @@ import hudson.Extension; import hudson.model.userproperty.UserPropertyCategory; import hudson.util.PersistedList; +import jakarta.servlet.http.HttpSession; import java.io.IOException; -import javax.servlet.http.HttpSession; import org.jenkinsci.Symbol; import org.kohsuke.stapler.Stapler; @@ -70,13 +70,13 @@ private static class PaneStatusPropertiesSessionFallback extends PaneStatusPrope @Override public boolean isCollapsed(String paneId) { - final HttpSession session = Stapler.getCurrentRequest().getSession(); + final HttpSession session = Stapler.getCurrentRequest2().getSession(); return session.getAttribute(format(attribute, paneId)) != null; } @Override public boolean toggleCollapsed(String paneId) { - final HttpSession session = Stapler.getCurrentRequest().getSession(); + final HttpSession session = Stapler.getCurrentRequest2().getSession(); final String property = format(attribute, paneId); final Object collapsed = session.getAttribute(property); if (collapsed == null) { diff --git a/core/src/main/java/hudson/model/ParameterDefinition.java b/core/src/main/java/hudson/model/ParameterDefinition.java index 262b632ab5a2..29653c0250f4 100644 --- a/core/src/main/java/hudson/model/ParameterDefinition.java +++ b/core/src/main/java/hudson/model/ParameterDefinition.java @@ -41,6 +41,7 @@ import net.sf.json.JSONObject; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -59,7 +60,7 @@ *

    * Three classes are used to model build parameters. First is the * {@link ParameterDescriptor}, which tells Hudson what kind of implementations are - * available. From {@link ParameterDescriptor#newInstance(StaplerRequest, JSONObject)}, + * available. From {@link ParameterDescriptor#newInstance(StaplerRequest2, JSONObject)}, * Hudson creates {@link ParameterDefinition}s based on the job configuration. * For example, if the user defines two string parameters "database-type" and * "appserver-type", we'll get two {@link StringParameterDefinition} instances @@ -69,7 +70,7 @@ * When a job is configured with {@link ParameterDefinition} (or more precisely, * {@link ParametersDefinitionProperty}, which in turns retains {@link ParameterDefinition}s), * user would have to enter the values for the defined build parameters. - * The {@link #createValue(StaplerRequest, JSONObject)} method is used to convert this + * The {@link #createValue(StaplerRequest2, JSONObject)} method is used to convert this * form submission into {@link ParameterValue} objects, which are then accessible * during a build. * @@ -85,12 +86,12 @@ *

    config.jelly

    * {@link ParameterDefinition} class uses {@code config.jelly} to contribute a form * fragment in the job configuration screen. Values entered there are fed back to - * {@link ParameterDescriptor#newInstance(StaplerRequest, JSONObject)} to create {@link ParameterDefinition}s. + * {@link ParameterDescriptor#newInstance(StaplerRequest2, JSONObject)} to create {@link ParameterDefinition}s. * *

    index.jelly

    * The {@code index.jelly} view contributes a form fragment in the page where the user * enters actual values of parameters for a build. The result of this form submission - * is then fed to {@link ParameterDefinition#createValue(StaplerRequest, JSONObject)} to + * is then fed to {@link ParameterDefinition#createValue(StaplerRequest2, JSONObject)} to * create {@link ParameterValue}s. * * @see StringParameterDefinition @@ -183,14 +184,37 @@ public ParameterDescriptor getDescriptor() { * and submits it to the server. */ @CheckForNull - public abstract ParameterValue createValue(StaplerRequest req, JSONObject jo); + public /* abstract */ ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { + return Util.ifOverridden( + () -> createValue(StaplerRequest.fromStaplerRequest2(req), jo), + ParameterDefinition.class, + getClass(), + "createValue", + StaplerRequest.class, + JSONObject.class); + } + + /** + * @deprecated use {@link #createValue(StaplerRequest2, JSONObject)} + */ + @CheckForNull + @Deprecated + public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + return Util.ifOverridden( + () -> createValue(StaplerRequest.toStaplerRequest2(req), jo), + ParameterDefinition.class, + getClass(), + "createValue", + StaplerRequest2.class, + JSONObject.class); + } /** * Create a parameter value from a GET with query string. * If no value is available in the request, it returns a default value if possible, or null. * *

    - * Unlike {@link #createValue(StaplerRequest, JSONObject)}, this method is intended to support + * Unlike {@link #createValue(StaplerRequest2, JSONObject)}, this method is intended to support * the programmatic POST-ing of the build URL. This form is less expressive (as it doesn't support * the tree form), but it's more scriptable. * @@ -202,8 +226,28 @@ public ParameterDescriptor getDescriptor() { * If the parameter is deemed required but was missing in the submission. */ @CheckForNull - public abstract ParameterValue createValue(StaplerRequest req); + public /* abstract */ ParameterValue createValue(StaplerRequest2 req) { + return Util.ifOverridden( + () -> createValue(StaplerRequest.fromStaplerRequest2(req)), + ParameterDefinition.class, + getClass(), + "createValue", + StaplerRequest.class); + } + /** + * @deprecated use {@link #createValue(StaplerRequest2)} + */ + @CheckForNull + @Deprecated + public ParameterValue createValue(StaplerRequest req) { + return Util.ifOverridden( + () -> createValue(StaplerRequest.toStaplerRequest2(req)), + ParameterDefinition.class, + getClass(), + "createValue", + StaplerRequest2.class); + } /** * Create a parameter value from the string given in the CLI. diff --git a/core/src/main/java/hudson/model/ParameterValue.java b/core/src/main/java/hudson/model/ParameterValue.java index 5da680b3bb76..2fd481446f4b 100644 --- a/core/src/main/java/hudson/model/ParameterValue.java +++ b/core/src/main/java/hudson/model/ParameterValue.java @@ -43,14 +43,14 @@ import net.sf.json.JSONObject; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; /** * A value for a parameter in a build. * - * Created by {@link ParameterDefinition#createValue(StaplerRequest, JSONObject)} for + * Created by {@link ParameterDefinition#createValue(StaplerRequest2, JSONObject)} for * a particular build (although this 'owner' build object is passed in for every method * call as a parameter so that the parameter won't have to persist it.) * @@ -240,7 +240,7 @@ public VariableResolver createVariableResolver(AbstractBuild build * @deprecated since 2008-09-20. * parameter definition may change any time. So if you find yourself * in need of accessing the information from {@link ParameterDefinition}, - * instead copy them in {@link ParameterDefinition#createValue(StaplerRequest, JSONObject)} + * instead copy them in {@link ParameterDefinition#createValue(StaplerRequest2, JSONObject)} * into {@link ParameterValue}. */ @Deprecated diff --git a/core/src/main/java/hudson/model/ParametersDefinitionProperty.java b/core/src/main/java/hudson/model/ParametersDefinitionProperty.java index 66a70047e89d..a9019e5a8f1f 100644 --- a/core/src/main/java/hudson/model/ParametersDefinitionProperty.java +++ b/core/src/main/java/hudson/model/ParametersDefinitionProperty.java @@ -25,8 +25,8 @@ package hudson.model; -import static javax.servlet.http.HttpServletResponse.SC_CREATED; -import static javax.servlet.http.HttpServletResponse.SC_SEE_OTHER; +import static jakarta.servlet.http.HttpServletResponse.SC_CREATED; +import static jakarta.servlet.http.HttpServletResponse.SC_SEE_OTHER; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; @@ -35,6 +35,8 @@ import hudson.model.Queue.WaitingItem; import hudson.model.queue.ScheduleResult; import hudson.util.AlternativeUiTextProvider; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.AbstractList; import java.util.ArrayList; @@ -43,7 +45,6 @@ import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.model.OptionalJobProperty; import jenkins.model.ParameterizedJobMixIn; @@ -56,7 +57,9 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -133,19 +136,23 @@ public Collection getJobActions(AbstractProject job) { return (AbstractProject) owner; } - /** @deprecated use {@link #_doBuild(StaplerRequest, StaplerResponse, TimeDuration)} */ + /** @deprecated use {@link #_doBuild(StaplerRequest2, StaplerResponse2, TimeDuration)} */ @Deprecated - public void _doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { - _doBuild(req, rsp, TimeDuration.fromString(req.getParameter("delay"))); + public void _doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + _doBuild(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), TimeDuration.fromString(req.getParameter("delay"))); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } /** * Interprets the form submission and schedules a build for a parameterized job. * *

    - * This method is supposed to be invoked from {@link ParameterizedJobMixIn#doBuild(StaplerRequest, StaplerResponse, TimeDuration)}. + * This method is supposed to be invoked from {@link ParameterizedJobMixIn#doBuild(StaplerRequest2, StaplerResponse2, TimeDuration)}. */ - public void _doBuild(StaplerRequest req, StaplerResponse rsp, @QueryParameter TimeDuration delay) throws IOException, ServletException { + public void _doBuild(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter TimeDuration delay) throws IOException, ServletException { if (delay == null) delay = new TimeDuration(TimeUnit.MILLISECONDS.convert(getJob().getQuietPeriod(), TimeUnit.SECONDS)); @@ -185,13 +192,17 @@ public void _doBuild(StaplerRequest req, StaplerResponse rsp, @QueryParameter Ti rsp.sendRedirect("."); } - /** @deprecated use {@link #buildWithParameters(StaplerRequest, StaplerResponse, TimeDuration)} */ + /** @deprecated use {@link #buildWithParameters(StaplerRequest2, StaplerResponse2, TimeDuration)} */ @Deprecated - public void buildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { - buildWithParameters(req, rsp, TimeDuration.fromString(req.getParameter("delay"))); + public void buildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + buildWithParameters(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), TimeDuration.fromString(req.getParameter("delay"))); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } } - public void buildWithParameters(StaplerRequest req, StaplerResponse rsp, @CheckForNull TimeDuration delay) throws IOException, ServletException { + public void buildWithParameters(StaplerRequest2 req, StaplerResponse2 rsp, @CheckForNull TimeDuration delay) throws IOException, ServletException { List values = new ArrayList<>(); for (ParameterDefinition d : parameterDefinitions) { ParameterValue value = d.createValue(req); @@ -232,7 +243,7 @@ public ParameterDefinition getParameterDefinition(String name) { @Symbol("parameters") public static class DescriptorImpl extends OptionalJobPropertyDescriptor { @Override - public ParametersDefinitionProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public ParametersDefinitionProperty newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { ParametersDefinitionProperty prop = (ParametersDefinitionProperty) super.newInstance(req, formData); if (prop != null && prop.parameterDefinitions.isEmpty()) { return null; diff --git a/core/src/main/java/hudson/model/PasswordParameterDefinition.java b/core/src/main/java/hudson/model/PasswordParameterDefinition.java index 8074740088f0..901f1ee66712 100644 --- a/core/src/main/java/hudson/model/PasswordParameterDefinition.java +++ b/core/src/main/java/hudson/model/PasswordParameterDefinition.java @@ -36,7 +36,7 @@ import org.kohsuke.accmod.restrictions.DoNotUse; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Parameter whose value is a {@link Secret} and is hidden from the UI. @@ -80,7 +80,7 @@ public ParameterValue createValue(String value) { } @Override - public PasswordParameterValue createValue(StaplerRequest req, JSONObject jo) { + public PasswordParameterValue createValue(StaplerRequest2 req, JSONObject jo) { PasswordParameterValue value = req.bindJSON(PasswordParameterValue.class, jo); if (value.getValue().getPlainText().equals(DEFAULT_VALUE)) { value = new PasswordParameterValue(getName(), getDefaultValue()); diff --git a/core/src/main/java/hudson/model/Project.java b/core/src/main/java/hudson/model/Project.java index 7dc8b692d940..eb31add23938 100644 --- a/core/src/main/java/hudson/model/Project.java +++ b/core/src/main/java/hudson/model/Project.java @@ -40,6 +40,8 @@ import hudson.triggers.SCMTrigger; import hudson.triggers.Trigger; import hudson.util.DescribableList; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.Collection; import java.util.HashSet; @@ -49,11 +51,12 @@ import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.triggers.SCMTriggerItem; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * Buildable software project. @@ -223,10 +226,39 @@ public MavenInstallation inferMavenInstallation() { // actions // // + + /** + * @since TODO + */ + @Override + protected void submit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { + if (Util.isOverridden(Project.class, getClass(), "submit", StaplerRequest.class, StaplerResponse.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + super.submit(req, rsp); + submitImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated @Override - protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException, FormException { super.submit(req, rsp); + try { + submitImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw new javax.servlet.ServletException(e); + } + } + private void submitImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { JSONObject json = req.getSubmittedForm(); getBuildWrappersList().rebuild(req, json, BuildWrappers.getFor(this)); diff --git a/core/src/main/java/hudson/model/ProxyView.java b/core/src/main/java/hudson/model/ProxyView.java index b3d19282752c..41aa51df389e 100644 --- a/core/src/main/java/hudson/model/ProxyView.java +++ b/core/src/main/java/hudson/model/ProxyView.java @@ -29,9 +29,10 @@ import hudson.Util; import hudson.model.Descriptor.FormException; import hudson.util.FormValidation; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.Collection; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; @@ -39,7 +40,8 @@ import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerFallback; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; /** @@ -98,7 +100,32 @@ public TopLevelItem getItem(String name) { } @Override - protected void submit(StaplerRequest req) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest2 req) throws IOException, ServletException, FormException { + if (Util.isOverridden(ProxyView.class, getClass(), "submit", StaplerRequest.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + submitImpl(req); + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2)} + */ + @Deprecated + @Override + protected void submit(StaplerRequest req) throws IOException, javax.servlet.ServletException, FormException { + try { + submitImpl(StaplerRequest.toStaplerRequest2(req)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void submitImpl(StaplerRequest2 req) throws ServletException, FormException { String proxiedViewName = req.getSubmittedForm().getString("proxiedViewName"); if (Jenkins.get().getView(proxiedViewName) == null) { throw new FormException("Not an existing global view", "proxiedViewName"); @@ -108,7 +135,7 @@ protected void submit(StaplerRequest req) throws IOException, ServletException, @RequirePOST @Override - public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public Item doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { return getProxiedView().doCreateItem(req, rsp); } @@ -139,7 +166,7 @@ public String getDisplayName() { @Override public boolean isInstantiable() { // doesn't make sense to add a ProxyView to the global views - return !(Stapler.getCurrentRequest().findAncestorObject(ViewGroup.class) instanceof Jenkins); + return !(Stapler.getCurrentRequest2().findAncestorObject(ViewGroup.class) instanceof Jenkins); } } diff --git a/core/src/main/java/hudson/model/Queue.java b/core/src/main/java/hudson/model/Queue.java index 0d299fb9426d..a8d4ca08ea0d 100644 --- a/core/src/main/java/hudson/model/Queue.java +++ b/core/src/main/java/hudson/model/Queue.java @@ -76,6 +76,8 @@ import hudson.util.ConsistentHash; import hudson.util.Futures; import hudson.util.XStream2; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.lang.ref.WeakReference; @@ -107,8 +109,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.model.queue.AsynchronousExecution; import jenkins.model.queue.CompositeCauseOfBlockage; @@ -130,7 +130,7 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -2415,7 +2415,7 @@ public Api getApi() throws AccessDeniedException { } } - public HttpResponse doIndex(StaplerRequest req) { + public HttpResponse doIndex(StaplerRequest2 req) { return HttpResponses.text("Queue item exists. For details check, for example, " + req.getRequestURI() + "api/json?tree=cancelled,executable[url]"); } diff --git a/core/src/main/java/hudson/model/RSS.java b/core/src/main/java/hudson/model/RSS.java index 19727656e729..bb41c8af10a2 100644 --- a/core/src/main/java/hudson/model/RSS.java +++ b/core/src/main/java/hudson/model/RSS.java @@ -26,13 +26,17 @@ import hudson.FeedAdapter; import hudson.util.RunList; +import io.jenkins.servlet.ServletExceptionWrapper; +import io.jenkins.servlet.http.HttpServletResponseWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collection; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * RSS related code. @@ -52,8 +56,9 @@ public final class RSS { * Entries to be listed in the RSS feed. * @param adapter * Controls how to render entries to RSS. + * @since TODO */ - public static void forwardToRss(String title, String url, Collection entries, FeedAdapter adapter, StaplerRequest req, HttpServletResponse rsp) throws IOException, ServletException { + public static void forwardToRss(String title, String url, Collection entries, FeedAdapter adapter, StaplerRequest2 req, HttpServletResponse rsp) throws IOException, ServletException { req.setAttribute("adapter", adapter); req.setAttribute("title", title); req.setAttribute("url", url); @@ -72,6 +77,18 @@ public static void forwardToRss(String title, String url, Collection void forwardToRss(String title, String url, Collection entries, FeedAdapter adapter, StaplerRequest req, javax.servlet.http.HttpServletResponse rsp) throws IOException, javax.servlet.ServletException { + try { + forwardToRss(title, url, entries, adapter, StaplerRequest.toStaplerRequest2(req), HttpServletResponseWrapper.toJakartaHttpServletResponse(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + /** * Sends the RSS feed to the client using a default feed adapter. * @@ -81,12 +98,25 @@ public static void forwardToRss(String title, String url, Collection feedAdapter) throws IOException, ServletException { + public static void rss(StaplerRequest2 req, StaplerResponse2 rsp, String title, String url, RunList runList, FeedAdapter feedAdapter) throws IOException, ServletException { final FeedAdapter feedAdapter_ = feedAdapter == null ? Run.FEED_ADAPTER : feedAdapter; forwardToRss(title, url, runList, feedAdapter_, req, rsp); } + + /** + * @deprecated use {@link #rss(StaplerRequest2, StaplerResponse2, String, String, RunList, FeedAdapter)} + * @since 2.215 + */ + @Deprecated + public static void rss(StaplerRequest req, StaplerResponse rsp, String title, String url, RunList runList, FeedAdapter feedAdapter) throws IOException, javax.servlet.ServletException { + try { + rss(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), title, url, runList, feedAdapter); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } } diff --git a/core/src/main/java/hudson/model/ReconfigurableDescribable.java b/core/src/main/java/hudson/model/ReconfigurableDescribable.java index 1747fdb452c1..c044391b77ad 100644 --- a/core/src/main/java/hudson/model/ReconfigurableDescribable.java +++ b/core/src/main/java/hudson/model/ReconfigurableDescribable.java @@ -26,10 +26,13 @@ import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.NonNull; +import hudson.Util; import hudson.model.Descriptor.FormException; import hudson.slaves.NodeProperty; +import jenkins.security.stapler.StaplerNotDispatchable; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Marks modern {@link Describable}s that allow the current instances to pass information down to the next @@ -44,7 +47,7 @@ * Invisible Property: * This mechanism can be used to create an entirely invisible {@link Describable}, which is handy * for {@link NodeProperty}, {@link JobProperty}, etc. To do so, define an empty config.jelly to prevent it from - * showing up in the config UI, then implement {@link #reconfigure(StaplerRequest, JSONObject)} + * showing up in the config UI, then implement {@link #reconfigure(StaplerRequest2, JSONObject)} * and simply return {@code this}. * *

    @@ -78,5 +81,29 @@ public interface ReconfigurableDescribable bytes) { return new String(byteArray, getCharset()); } - public void doBuildStatus(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doBuildStatus(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { rsp.sendRedirect2(req.getContextPath() + "/images/48x48/" + getBuildStatusUrl()); } @@ -2260,7 +2264,7 @@ public abstract static class StatusSummarizer implements ExtensionPoint { /** * Returns the build number in the body. */ - public void doBuildNumber(StaplerResponse rsp) throws IOException { + public void doBuildNumber(StaplerResponse2 rsp) throws IOException { rsp.setContentType("text/plain"); rsp.setCharacterEncoding("US-ASCII"); rsp.setStatus(HttpServletResponse.SC_OK); @@ -2270,7 +2274,7 @@ public void doBuildNumber(StaplerResponse rsp) throws IOException { /** * Returns the build time stamp in the body. */ - public void doBuildTimestamp(StaplerRequest req, StaplerResponse rsp, @QueryParameter String format) throws IOException { + public void doBuildTimestamp(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String format) throws IOException { rsp.setContentType("text/plain"); rsp.setCharacterEncoding("US-ASCII"); rsp.setStatus(HttpServletResponse.SC_OK); @@ -2282,8 +2286,27 @@ public void doBuildTimestamp(StaplerRequest req, StaplerResponse rsp, @QueryPara /** * Sends out the raw console output. + * + * @since TODO */ + public void doConsoleText(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { + if (Util.isOverridden(Run.class, getClass(), "doConsoleText", StaplerRequest.class, StaplerResponse.class)) { + doConsoleText(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } else { + doConsoleTextImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doConsoleText(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable public void doConsoleText(StaplerRequest req, StaplerResponse rsp) throws IOException { + doConsoleTextImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } + + private void doConsoleTextImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { rsp.setContentType("text/plain;charset=UTF-8"); try (InputStream input = getLogInputStream(); OutputStream os = rsp.getOutputStream(); @@ -2299,7 +2322,7 @@ public void doConsoleText(StaplerRequest req, StaplerResponse rsp) throws IOExce */ @Deprecated public void doProgressiveLog(StaplerRequest req, StaplerResponse rsp) throws IOException { - getLogText().doProgressText(req, rsp); + getLogText().doProgressText(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); } /** @@ -2320,7 +2343,7 @@ public boolean canToggleLogKeep() { } @RequirePOST - public void doToggleLogKeep(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doToggleLogKeep(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { keepLog(!keepLog); rsp.forwardToPreviousPage(req); } @@ -2341,9 +2364,37 @@ public void keepLog(boolean newValue) throws IOException { /** * Deletes the build when the button is pressed. + * + * @since TODO */ @RequirePOST - public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doDoDelete(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Run.class, getClass(), "doDoDelete", StaplerRequest.class, StaplerResponse.class)) { + try { + doDoDelete(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + return; + } else { + doDoDeleteImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doDoDelete(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doDoDeleteImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doDoDeleteImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { checkPermission(DELETE); // We should not simply delete the build if it has been explicitly @@ -2376,7 +2427,7 @@ public void setDescription(String description) throws IOException { * Accepts the new description. */ @RequirePOST - public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { setDescription(req.getParameter("description")); rsp.sendRedirect("."); // go to the top page } @@ -2507,7 +2558,7 @@ public long getEstimatedDuration() { } @POST - public @NonNull HttpResponse doConfigSubmit(StaplerRequest req) throws IOException, ServletException, FormException { + public @NonNull HttpResponse doConfigSubmit(StaplerRequest2 req) throws IOException, ServletException, FormException { checkPermission(UPDATE); try (BulkChange bc = new BulkChange(this)) { JSONObject json = req.getSubmittedForm(); @@ -2625,9 +2676,27 @@ public String getEntryAuthor(Run entry) { } } + @Override + public Object getDynamic(String token, StaplerRequest2 req, StaplerResponse2 rsp) { + if (Util.isOverridden(Run.class, getClass(), "getDynamic", String.class, StaplerRequest.class, StaplerResponse.class)) { + return getDynamic(token, StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } else { + Object returnedResult = super.getDynamic(token, req, rsp); + return getDynamicImpl(token, returnedResult); + } + } + + /** + * @deprecated use {@link #getDynamic(String, StaplerRequest2, StaplerResponse2)} + */ + @Deprecated @Override public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { Object returnedResult = super.getDynamic(token, req, rsp); + return getDynamicImpl(token, returnedResult); + } + + private Object getDynamicImpl(String token, Object returnedResult) { if (returnedResult == null) { //check transient actions too for (Action action : getTransientActions()) { @@ -2669,7 +2738,7 @@ public Object getTarget() { public static class RedirectUp { - public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doDynamic(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { // Compromise to handle both browsers (auto-redirect) and programmatic access // (want accurate 404 response).. send 404 with javascript to redirect browsers. rsp.setStatus(HttpServletResponse.SC_NOT_FOUND); diff --git a/core/src/main/java/hudson/model/RunParameterDefinition.java b/core/src/main/java/hudson/model/RunParameterDefinition.java index 9aec159686b9..487d895839dd 100644 --- a/core/src/main/java/hudson/model/RunParameterDefinition.java +++ b/core/src/main/java/hudson/model/RunParameterDefinition.java @@ -38,7 +38,7 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; public class RunParameterDefinition extends SimpleParameterDefinition { @@ -155,7 +155,7 @@ public String getHelpFile() { } @Override - public ParameterDefinition newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public ParameterDefinition newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { return req.bindJSON(RunParameterDefinition.class, formData); } @@ -202,7 +202,7 @@ public ParameterValue getDefaultParameterValue() { } @Override - public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + public ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { RunParameterValue value = req.bindJSON(RunParameterValue.class, jo); value.setDescription(getDescription()); return value; diff --git a/core/src/main/java/hudson/model/SimpleParameterDefinition.java b/core/src/main/java/hudson/model/SimpleParameterDefinition.java index 0be175bb4a86..f52f9a338922 100644 --- a/core/src/main/java/hudson/model/SimpleParameterDefinition.java +++ b/core/src/main/java/hudson/model/SimpleParameterDefinition.java @@ -5,7 +5,7 @@ import hudson.cli.CLICommand; import java.io.IOException; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Convenient base class for {@link ParameterDefinition} whose value can be represented in a context-independent single string token. @@ -31,7 +31,7 @@ protected SimpleParameterDefinition(@NonNull String name, @CheckForNull String d public abstract ParameterValue createValue(String value); @Override - public final ParameterValue createValue(StaplerRequest req) { + public final ParameterValue createValue(StaplerRequest2 req) { String[] value = req.getParameterValues(getName()); if (value == null) { return getDefaultParameterValue(); diff --git a/core/src/main/java/hudson/model/Slave.java b/core/src/main/java/hudson/model/Slave.java index 4ad75e039386..588dbf70b40d 100644 --- a/core/src/main/java/hudson/model/Slave.java +++ b/core/src/main/java/hudson/model/Slave.java @@ -51,6 +51,7 @@ import hudson.util.ClockDifference; import hudson.util.DescribableList; import hudson.util.FormValidation; +import jakarta.servlet.ServletException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -69,7 +70,6 @@ import java.util.jar.Manifest; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.security.MasterToSlaveCallable; import jenkins.slaves.WorkspaceLocator; @@ -80,8 +80,8 @@ import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * Information about a Hudson agent node. @@ -418,7 +418,7 @@ public JnlpJar(String fileName) { this.fileName = fileName; } - public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doIndex(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { URLConnection con = connect(); // since we end up redirecting users to jnlpJars/foo.jar/, set the content disposition // so that browsers can download them in the right file name. @@ -430,7 +430,7 @@ public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { doIndex(req, rsp); } @@ -465,7 +465,7 @@ public URL getURL() throws IOException { } } - URL res = Jenkins.get().servletContext.getResource("/WEB-INF/" + name); + URL res = Jenkins.get().getServletContext().getResource("/WEB-INF/" + name); if (res == null) { throw new FileNotFoundException(name); // giving up } else { @@ -622,7 +622,7 @@ public FormValidation doCheckNumExecutors(@QueryParameter String value) { /** * Performs syntactical check on the remote FS for agents. */ - public FormValidation doCheckRemoteFS(@QueryParameter String value) throws IOException, ServletException { + public FormValidation doCheckRemoteFS(@QueryParameter String value) throws IOException { if (Util.fixEmptyAndTrim(value) == null) return FormValidation.error(Messages.Slave_Remote_Director_Mandatory()); diff --git a/core/src/main/java/hudson/model/StockStatusIcon.java b/core/src/main/java/hudson/model/StockStatusIcon.java index 00ce50b0453b..4fb1a9bfa007 100644 --- a/core/src/main/java/hudson/model/StockStatusIcon.java +++ b/core/src/main/java/hudson/model/StockStatusIcon.java @@ -29,9 +29,9 @@ public StockStatusIcon(String image, Localizable description) { @Override public String getImageOf(String size) { if (image.endsWith(".svg")) { - return Stapler.getCurrentRequest().getContextPath() + Jenkins.RESOURCE_PATH + "/images/svgs/" + image; + return Stapler.getCurrentRequest2().getContextPath() + Jenkins.RESOURCE_PATH + "/images/svgs/" + image; } else { - return Stapler.getCurrentRequest().getContextPath() + Jenkins.RESOURCE_PATH + + return Stapler.getCurrentRequest2().getContextPath() + Jenkins.RESOURCE_PATH + "/images/" + size + "/" + image; } } diff --git a/core/src/main/java/hudson/model/StringParameterDefinition.java b/core/src/main/java/hudson/model/StringParameterDefinition.java index 8a5dfa9f1b04..160e1b1a9c0c 100644 --- a/core/src/main/java/hudson/model/StringParameterDefinition.java +++ b/core/src/main/java/hudson/model/StringParameterDefinition.java @@ -36,7 +36,7 @@ import org.kohsuke.accmod.restrictions.DoNotUse; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Parameter whose value is a string value. @@ -147,7 +147,7 @@ public String getHelpFile() { } @Override - public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + public ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { StringParameterValue value = req.bindJSON(StringParameterValue.class, jo); if (isTrim()) { value.doTrim(); diff --git a/core/src/main/java/hudson/model/TaskAction.java b/core/src/main/java/hudson/model/TaskAction.java index 60ca66ac0536..e0597218f5d5 100644 --- a/core/src/main/java/hudson/model/TaskAction.java +++ b/core/src/main/java/hudson/model/TaskAction.java @@ -27,12 +27,12 @@ import hudson.console.AnnotatedLargeText; import hudson.security.ACL; import hudson.security.Permission; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.ref.WeakReference; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.framework.io.LargeText; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -113,7 +113,7 @@ public TaskThread getWorkerThread() { /** * Handles incremental log output. */ - public void doProgressiveLog(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doProgressiveLog(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { AnnotatedLargeText text = obtainLog(); if (text != null) { text.doProgressText(req, rsp); @@ -125,7 +125,7 @@ public void doProgressiveLog(StaplerRequest req, StaplerResponse rsp) throws IOE /** * Handles incremental log output. */ - public void doProgressiveHtml(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doProgressiveHtml(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { AnnotatedLargeText text = obtainLog(); if (text != null) { text.doProgressiveHtml(req, rsp); @@ -138,7 +138,7 @@ public void doProgressiveHtml(StaplerRequest req, StaplerResponse rsp) throws IO * Clears the error status. */ @RequirePOST - public synchronized void doClearError(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doClearError(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { getACL().checkPermission(getPermission()); if (workerThread != null && !workerThread.isRunning()) diff --git a/core/src/main/java/hudson/model/TextParameterDefinition.java b/core/src/main/java/hudson/model/TextParameterDefinition.java index a22b1903e59b..96d973dc765a 100644 --- a/core/src/main/java/hudson/model/TextParameterDefinition.java +++ b/core/src/main/java/hudson/model/TextParameterDefinition.java @@ -32,7 +32,7 @@ import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link StringParameterDefinition} that uses textarea, instead of text box. @@ -68,7 +68,7 @@ public StringParameterValue getDefaultParameterValue() { } @Override - public ParameterValue createValue(StaplerRequest req, JSONObject jo) { + public ParameterValue createValue(StaplerRequest2 req, JSONObject jo) { TextParameterValue value = req.bindJSON(TextParameterValue.class, jo); value.setDescription(getDescription()); return value; diff --git a/core/src/main/java/hudson/model/TopLevelItemDescriptor.java b/core/src/main/java/hudson/model/TopLevelItemDescriptor.java index d84e4a684f22..817c1194a3d5 100644 --- a/core/src/main/java/hudson/model/TopLevelItemDescriptor.java +++ b/core/src/main/java/hudson/model/TopLevelItemDescriptor.java @@ -164,7 +164,7 @@ public String getDescription() { DefaultScriptInvoker dsi = new DefaultScriptInvoker(); StringWriter sw = new StringWriter(); XMLOutput xml = dsi.createXMLOutput(sw, true); - dsi.invokeScript(Stapler.getCurrentRequest(), Stapler.getCurrentResponse(), s, this, xml); + dsi.invokeScript(Stapler.getCurrentRequest2(), Stapler.getCurrentResponse2(), s, this, xml); return sw.toString(); } catch (Exception e) { LOGGER.log(Level.WARNING, null, e); diff --git a/core/src/main/java/hudson/model/UpdateCenter.java b/core/src/main/java/hudson/model/UpdateCenter.java index 4df95b7b3f45..437444feb434 100644 --- a/core/src/main/java/hudson/model/UpdateCenter.java +++ b/core/src/main/java/hudson/model/UpdateCenter.java @@ -58,6 +58,7 @@ import hudson.util.PersistedList; import hudson.util.VersionNumber; import hudson.util.XStream2; +import jakarta.servlet.ServletException; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -107,7 +108,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.net.ssl.SSLHandshakeException; -import javax.servlet.ServletException; import jenkins.MissingDependencyException; import jenkins.RestartRequiredException; import jenkins.install.InstallUtil; @@ -115,6 +115,7 @@ import jenkins.model.Jenkins; import jenkins.model.Loadable; import jenkins.security.stapler.StaplerDispatchable; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.SystemProperties; import jenkins.util.Timer; import jenkins.util.io.OnMaster; @@ -129,7 +130,8 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.StaplerProxy; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -439,7 +441,25 @@ public Badge getBadge() { * @return The current connection status. */ @Restricted(DoNotUse.class) + public HttpResponse doConnectionStatus(StaplerRequest2 request) { + if (Util.isOverridden(UpdateCenter.class, getClass(), "doConnectionStatus", StaplerRequest.class)) { + return doConnectionStatus(StaplerRequest.fromStaplerRequest2(request)); + } else { + return doConnectionStatusImpl(request); + } + } + + /** + * @deprecated use {@link #doConnectionStatus(StaplerRequest2)} + */ + @Deprecated + @StaplerNotDispatchable + @Restricted(DoNotUse.class) public HttpResponse doConnectionStatus(StaplerRequest request) { + return doConnectionStatusImpl(StaplerRequest.toStaplerRequest2(request)); + } + + private HttpResponse doConnectionStatusImpl(StaplerRequest2 request) { Jenkins.get().checkPermission(Jenkins.SYSTEM_READ); try { String siteId = request.getParameter("siteId"); @@ -536,12 +556,12 @@ public synchronized void persistInstallStatus() { *

    * Supports a "correlationId" request parameter if you only want to get the * install status of a set of plugins requested for install through - * {@link PluginManager#doInstallPlugins(org.kohsuke.stapler.StaplerRequest)}. + * {@link PluginManager#doInstallPlugins(org.kohsuke.stapler.StaplerRequest2)}. * * @return The current installation status of a plugin set. */ @Restricted(DoNotUse.class) - public HttpResponse doInstallStatus(StaplerRequest request) { + public HttpResponse doInstallStatus(StaplerRequest2 request) { try { String correlationId = request.getParameter("correlationId"); Map response = new HashMap<>(); @@ -754,7 +774,7 @@ private boolean checkMinVersion(@CheckForNull Plugin p, @CheckForNull VersionNum * Schedules a Jenkins upgrade. */ @RequirePOST - public void doUpgrade(StaplerResponse rsp) throws IOException, ServletException { + public void doUpgrade(StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); HudsonUpgradeJob job = new HudsonUpgradeJob(getCoreSource(), Jenkins.getAuthentication2()); if (!Lifecycle.get().canRewriteHudsonWar()) { @@ -786,7 +806,7 @@ public HttpResponse doInvalidateData() { * Schedules a Jenkins restart. */ @RequirePOST - public void doSafeRestart(StaplerRequest request, StaplerResponse response) throws IOException, ServletException { + public void doSafeRestart(StaplerRequest2 request, StaplerResponse2 response) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); synchronized (jobs) { if (!isRestartScheduled()) { @@ -801,7 +821,7 @@ public void doSafeRestart(StaplerRequest request, StaplerResponse response) thro * Cancel all scheduled jenkins restarts */ @RequirePOST - public void doCancelRestart(StaplerResponse response) throws IOException, ServletException { + public void doCancelRestart(StaplerResponse2 response) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); synchronized (jobs) { for (UpdateCenterJob job : jobs) { @@ -860,7 +880,7 @@ public boolean isDowngradable() { * Performs hudson downgrade. */ @RequirePOST - public void doDowngrade(StaplerResponse rsp) throws IOException, ServletException { + public void doDowngrade(StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); if (!isDowngradable()) { sendError("Jenkins downgrade is not possible, probably backup does not exist"); @@ -877,7 +897,7 @@ public void doDowngrade(StaplerResponse rsp) throws IOException, ServletExceptio * Performs hudson downgrade. */ @RequirePOST - public void doRestart(StaplerResponse rsp) throws IOException, ServletException { + public void doRestart(StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); HudsonDowngradeJob job = new HudsonDowngradeJob(getCoreSource(), Jenkins.getAuthentication2()); LOGGER.info("Scheduling the core downgrade"); @@ -2392,7 +2412,7 @@ private File getCached(DownloadJob job) { * Could make PluginManager#getDetachedLocation public and consume it here, but this method is * best-effort anyway. */ - src = Jenkins.get().servletContext.getResource(String.format("/WEB-INF/detached-plugins/%s.hpi", plugin.name)); + src = Jenkins.get().getServletContext().getResource(String.format("/WEB-INF/detached-plugins/%s.hpi", plugin.name)); } catch (MalformedURLException e) { return null; } diff --git a/core/src/main/java/hudson/model/UsageStatistics.java b/core/src/main/java/hudson/model/UsageStatistics.java index 341f135c52f1..04d1be58209a 100644 --- a/core/src/main/java/hudson/model/UsageStatistics.java +++ b/core/src/main/java/hudson/model/UsageStatistics.java @@ -67,7 +67,7 @@ import jenkins.security.FIPS140; import jenkins.util.SystemProperties; import net.sf.json.JSONObject; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * @author Kohsuke Kawaguchi @@ -138,7 +138,7 @@ public String getStatData() throws IOException { JSONObject o = new JSONObject(); o.put("stat", 1); o.put("install", j.getLegacyInstanceId()); - o.put("servletContainer", j.servletContext.getServerInfo()); + o.put("servletContainer", j.getServletContext().getServerInfo()); o.put("version", Jenkins.VERSION); List nodes = new ArrayList<>(); @@ -212,7 +212,7 @@ public Permission getRequiredGlobalConfigPagePermission() { } @Override - public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { try { // for backward compatibility reasons, this configuration is stored in Jenkins if (DISABLED) { diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java index 792622eb3c54..685a80e540a9 100644 --- a/core/src/main/java/hudson/model/User.java +++ b/core/src/main/java/hudson/model/User.java @@ -47,6 +47,8 @@ import hudson.util.FormValidation; import hudson.util.RunList; import hudson.util.XStream2; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -64,8 +66,6 @@ import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletResponse; import jenkins.model.IdStrategy; import jenkins.model.Jenkins; import jenkins.model.Loadable; @@ -79,8 +79,8 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.StaplerProxy; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -485,7 +485,7 @@ private LegitimateButUnknownUserDetails(String username) throws IllegalArgumentE * Accepts the new description. */ @RequirePOST - public void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { checkPermission(Jenkins.ADMINISTER); description = req.getParameter("description"); @@ -882,7 +882,7 @@ public Api getApi() { * Deletes this user from Hudson. */ @RequirePOST - public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doDoDelete(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { checkPermission(Jenkins.ADMINISTER); if (idStrategy().equals(id, Jenkins.getAuthentication2().getName())) { rsp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Cannot delete self"); @@ -894,15 +894,15 @@ public void doDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOExcepti rsp.sendRedirect2("../.."); } - public void doRssAll(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssAll(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (all builds)", getUrl(), getBuilds().newBuilds()); } - public void doRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssFailed(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (failed builds)", getUrl(), getBuilds().regressionOnly()); } - public void doRssLatest(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssLatest(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { final List lastBuilds = new ArrayList<>(); for (Job p : Jenkins.get().allItems(Job.class)) { for (Run b = p.getLastBuild(); b != null; b = b.getPreviousBuild()) { @@ -1010,7 +1010,7 @@ public List getTransientActions() { } @Override - public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + public ContextMenu doContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { return new ContextMenu().from(this, request, response); } diff --git a/core/src/main/java/hudson/model/UserProperty.java b/core/src/main/java/hudson/model/UserProperty.java index a6ebeb738b23..9813cfaba62b 100644 --- a/core/src/main/java/hudson/model/UserProperty.java +++ b/core/src/main/java/hudson/model/UserProperty.java @@ -27,6 +27,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; import hudson.DescriptorExtensionList; import hudson.ExtensionPoint; +import hudson.Util; import hudson.model.Descriptor.FormException; import hudson.model.userproperty.UserPropertyCategory; import java.util.ArrayList; @@ -34,6 +35,7 @@ import jenkins.model.Jenkins; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.ExportedBean; /** @@ -101,8 +103,22 @@ public static List allByCategoryClass(@NonNull Class - * This method should call {@link ModifiableItemGroup#doCreateItem(StaplerRequest, StaplerResponse)} + * This method should call {@link ModifiableItemGroup#doCreateItem(StaplerRequest2, StaplerResponse2)} * and then add the newly created item to this view. * * @return * null if fails. + * @since TODO */ - public abstract Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; + @RequirePOST + public /* abstract */ Item doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(View.class, getClass(), "doCreateItem", StaplerRequest.class, StaplerResponse.class)) { + try { + return doCreateItem(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + View.class.getSimpleName() + ".doCreateItem methods"); + } + } + + /** + * @deprecated use {@link #doCreateItem(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + if (Util.isOverridden(View.class, getClass(), "doCreateItem", StaplerRequest2.class, StaplerResponse2.class)) { + try { + return doCreateItem(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + View.class.getSimpleName() + ".doCreateItem methods"); + } + } /** * Makes sure that the given name is good as a job name. @@ -774,7 +859,7 @@ public FormValidation doCheckJobName(@QueryParameter String value) { * @return A {@link Categories} entity that is shown as JSON file. */ @Restricted(DoNotUse.class) - public Categories doItemCategories(StaplerRequest req, StaplerResponse rsp, @QueryParameter String iconStyle) throws IOException, ServletException { + public Categories doItemCategories(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String iconStyle) throws IOException, ServletException { getOwner().checkPermission(Item.CREATE); rsp.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); @@ -833,11 +918,11 @@ public Categories doItemCategories(StaplerRequest req, StaplerResponse rsp, @Que return categories; } - public void doRssAll(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssAll(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (all builds)", getUrl(), getBuilds().newBuilds()); } - public void doRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssFailed(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { RSS.rss(req, rsp, "Jenkins:" + getDisplayName() + " (failed builds)", getUrl(), getBuilds().failureOnly().newBuilds()); } @@ -851,7 +936,7 @@ public BuildTimelineWidget getTimeline() { return new BuildTimelineWidget(getBuilds()); } - public void doRssLatest(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doRssLatest(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { List lastBuilds = new ArrayList<>(); for (TopLevelItem item : getItems()) { if (item instanceof Job job) { @@ -866,13 +951,13 @@ public void doRssLatest(StaplerRequest req, StaplerResponse rsp) throws IOExcept * Accepts {@code config.xml} submission, as well as serve it. */ @WebMethod(name = "config.xml") - public HttpResponse doConfigDotXml(StaplerRequest req) throws IOException { + public HttpResponse doConfigDotXml(StaplerRequest2 req) throws IOException { if (req.getMethod().equals("GET")) { // read checkPermission(READ); return new HttpResponse() { @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { rsp.setContentType("application/xml"); View.this.writeXml(rsp.getOutputStream()); } @@ -940,7 +1025,7 @@ public void updateByXml(Source source) throws IOException { } @Override - public ModelObjectWithContextMenu.ContextMenu doChildrenContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { + public ModelObjectWithContextMenu.ContextMenu doChildrenContextMenu(StaplerRequest2 request, StaplerResponse2 response) throws Exception { ModelObjectWithContextMenu.ContextMenu m = new ModelObjectWithContextMenu.ContextMenu(); for (TopLevelItem i : getItems()) m.add(Functions.getRelativeLinkTo(i), Functions.getRelativeDisplayNameFrom(i, getOwner().getItemGroup())); @@ -964,15 +1049,15 @@ public static DescriptorExtensionList all() { /** * Returns the {@link ViewDescriptor} instances that can be instantiated for the {@link ViewGroup} in the current - * {@link StaplerRequest}. + * {@link StaplerRequest2}. *

    - * NOTE: Historically this method is only ever called from a {@link StaplerRequest} - * @return the list of instantiable {@link ViewDescriptor} instances for the current {@link StaplerRequest} + * NOTE: Historically this method is only ever called from a {@link StaplerRequest2} + * @return the list of instantiable {@link ViewDescriptor} instances for the current {@link StaplerRequest2} */ @NonNull public static List allInstantiable() { List r = new ArrayList<>(); - StaplerRequest request = Stapler.getCurrentRequest(); + StaplerRequest2 request = Stapler.getCurrentRequest2(); if (request == null) { throw new IllegalStateException("This method can only be invoked from a stapler request"); } @@ -1018,7 +1103,10 @@ public static Permission getItemCreatePermission() { return Item.CREATE; } - public static View create(StaplerRequest req, StaplerResponse rsp, ViewGroup owner) + /** + * @since TODO + */ + public static View create(StaplerRequest2 req, StaplerResponse2 rsp, ViewGroup owner) throws FormException, IOException, ServletException { String mode = req.getParameter("mode"); @@ -1070,7 +1158,20 @@ public static View create(StaplerRequest req, StaplerResponse rsp, ViewGroup own return v; } - private static View copy(StaplerRequest req, ViewGroup owner, String name) throws IOException { + /** + * @deprecated use {@link #create(StaplerRequest2, StaplerResponse2, ViewGroup)} + */ + @Deprecated + public static View create(StaplerRequest req, StaplerResponse rsp, ViewGroup owner) + throws FormException, IOException, javax.servlet.ServletException { + try { + return create(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp), owner); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private static View copy(StaplerRequest2 req, ViewGroup owner, String name) throws IOException { View v; String from = req.getParameter("from"); View src = owner.getView(from); diff --git a/core/src/main/java/hudson/model/ViewDescriptor.java b/core/src/main/java/hudson/model/ViewDescriptor.java index f38e5d846d9a..e140ac474054 100644 --- a/core/src/main/java/hudson/model/ViewDescriptor.java +++ b/core/src/main/java/hudson/model/ViewDescriptor.java @@ -40,7 +40,7 @@ import org.kohsuke.stapler.AncestorInPath; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link Descriptor} for {@link View}. @@ -108,7 +108,7 @@ public AutoCompletionCandidates doAutoCompleteCopyNewItemFrom(@QueryParameter fi * Possible {@link ListViewColumnDescriptor}s that can be used with this view. */ public List> getColumnsDescriptors() { - StaplerRequest request = Stapler.getCurrentRequest(); + StaplerRequest2 request = Stapler.getCurrentRequest2(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ListViewColumn.all()) @@ -121,7 +121,7 @@ public List> getColumnsDescriptors() { * Possible {@link ViewJobFilter} types that can be used with this view. */ public List> getJobFiltersDescriptors() { - StaplerRequest request = Stapler.getCurrentRequest(); + StaplerRequest2 request = Stapler.getCurrentRequest2(); if (request != null) { View view = request.findAncestorObject(clazz); return view == null ? DescriptorVisibilityFilter.applyType(clazz, ViewJobFilter.all()) diff --git a/core/src/main/java/hudson/model/ViewJob.java b/core/src/main/java/hudson/model/ViewJob.java index 0da32700c1bd..055b98cafdb5 100644 --- a/core/src/main/java/hudson/model/ViewJob.java +++ b/core/src/main/java/hudson/model/ViewJob.java @@ -25,7 +25,10 @@ package hudson.model; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import hudson.Util; import hudson.model.Descriptor.FormException; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.util.LinkedHashSet; @@ -34,11 +37,12 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * {@link Job} that monitors activities that happen outside Hudson, @@ -165,8 +169,30 @@ private void _reload() { protected abstract void reload(); @Override - protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + protected void submit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { + if (Util.isOverridden(ViewJob.class, getClass(), "submit", StaplerRequest.class, StaplerResponse.class)) { + try { + submit(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + super.submit(req, rsp); + submitImpl(); + } + } + + /** + * @deprecated use {@link #submit(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @Override + protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException, FormException { super.submit(req, rsp); + submitImpl(); + } + + private void submitImpl() { // make sure to reload to reflect this config change. nextUpdate = 0; } diff --git a/core/src/main/java/hudson/model/ViewProperty.java b/core/src/main/java/hudson/model/ViewProperty.java index 31ad3078d449..15f0e62164c4 100644 --- a/core/src/main/java/hudson/model/ViewProperty.java +++ b/core/src/main/java/hudson/model/ViewProperty.java @@ -26,9 +26,11 @@ import hudson.DescriptorExtensionList; import hudson.ExtensionPoint; +import hudson.Util; import jenkins.model.Jenkins; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Extensible property of {@link View}. @@ -68,8 +70,22 @@ public static DescriptorExtensionList all( return Jenkins.get().getDescriptorList(ViewProperty.class); } + @Override + public ViewProperty reconfigure(StaplerRequest2 req, JSONObject form) throws Descriptor.FormException { + if (Util.isOverridden(ViewProperty.class, getClass(), "reconfigure", StaplerRequest.class, JSONObject.class)) { + return reconfigure(StaplerRequest.fromStaplerRequest2(req), form); + } else { + return reconfigureImpl(req, form); + } + } + + @Deprecated @Override public ViewProperty reconfigure(StaplerRequest req, JSONObject form) throws Descriptor.FormException { + return reconfigureImpl(StaplerRequest.toStaplerRequest2(req), form); + } + + private ViewProperty reconfigureImpl(StaplerRequest2 req, JSONObject form) throws Descriptor.FormException { return form == null ? null : getDescriptor().newInstance(req, form); } } diff --git a/core/src/main/java/hudson/model/labels/LabelAtom.java b/core/src/main/java/hudson/model/labels/LabelAtom.java index 84ee083c488d..f5e597b71b30 100644 --- a/core/src/main/java/hudson/model/labels/LabelAtom.java +++ b/core/src/main/java/hudson/model/labels/LabelAtom.java @@ -46,6 +46,7 @@ import hudson.util.QuotedStringTokenizer; import hudson.util.VariableResolver; import hudson.util.XStream2; +import jakarta.servlet.ServletException; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -56,13 +57,12 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; @@ -221,7 +221,7 @@ public List getApplicablePropertyDescriptors() { * Accepts the update to the node configuration. */ @POST - public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { final Jenkins app = Jenkins.get(); app.checkPermission(Jenkins.ADMINISTER); @@ -249,7 +249,7 @@ private boolean isInvalidName() { */ @RequirePOST @Restricted(DoNotUse.class) - public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public synchronized void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { Jenkins.get().checkPermission(Jenkins.ADMINISTER); setDescription(req.getParameter("description")); diff --git a/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAccountAction.java b/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAccountAction.java index 822cdc6f4c99..c0424e828419 100644 --- a/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAccountAction.java +++ b/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAccountAction.java @@ -32,20 +32,20 @@ import hudson.model.User; import hudson.model.UserProperty; import hudson.model.UserPropertyDescriptor; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import jenkins.security.UserDetailsCache; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.verb.POST; @Restricted(NoExternalUse.class) @@ -91,7 +91,7 @@ private static List allByTwoCategoryClasses( } @POST - public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, Descriptor.FormException { + public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, Descriptor.FormException { User targetUser = this.getTargetUser(); targetUser.checkPermission(Jenkins.ADMINISTER); diff --git a/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAction.java b/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAction.java index caec7c1bdf88..6eadb9f89ece 100644 --- a/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAction.java +++ b/core/src/main/java/hudson/model/userproperty/UserPropertyCategoryAction.java @@ -6,14 +6,14 @@ import hudson.model.UserProperty; import hudson.model.UserPropertyDescriptor; import hudson.util.FormApply; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import net.sf.json.JSONObject; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.verb.POST; public abstract class UserPropertyCategoryAction { @@ -31,7 +31,7 @@ public UserPropertyCategoryAction(User targetUser) { public @NonNull abstract List getMyCategoryDescriptors(); @POST - public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, Descriptor.FormException { + public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, Descriptor.FormException { this.targetUser.checkPermission(Jenkins.ADMINISTER); JSONObject json = req.getSubmittedForm(); diff --git a/core/src/main/java/hudson/scm/AbstractScmTagAction.java b/core/src/main/java/hudson/scm/AbstractScmTagAction.java index b861a90b15fe..3bf14e753242 100644 --- a/core/src/main/java/hudson/scm/AbstractScmTagAction.java +++ b/core/src/main/java/hudson/scm/AbstractScmTagAction.java @@ -24,17 +24,22 @@ package hudson.scm; +import hudson.Util; import hudson.model.AbstractBuild; import hudson.model.BuildBadgeAction; import hudson.model.Run; import hudson.model.TaskAction; import hudson.security.ACL; import hudson.security.Permission; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import jenkins.model.RunAction2; +import jenkins.security.stapler.StaplerNotDispatchable; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; /** * Common part of {@code CVSSCM.TagAction} and {@code SubversionTagAction}. @@ -108,7 +113,32 @@ protected ACL getACL() { return run.getACL(); } - public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doIndex(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(AbstractScmTagAction.class, getClass(), "doIndex", StaplerRequest.class, StaplerResponse.class)) { + try { + doIndex(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doIndexImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doIndex(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doIndexImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doIndexImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { req.getView(this, chooseAction()).forward(req, rsp); } diff --git a/core/src/main/java/hudson/scm/RepositoryBrowsers.java b/core/src/main/java/hudson/scm/RepositoryBrowsers.java index 0a1e28d1a152..3562f1c13964 100644 --- a/core/src/main/java/hudson/scm/RepositoryBrowsers.java +++ b/core/src/main/java/hudson/scm/RepositoryBrowsers.java @@ -32,6 +32,7 @@ import java.util.List; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * List of all installed {@link RepositoryBrowsers}. @@ -63,7 +64,7 @@ public static List>> filter(Class @@ -82,13 +83,23 @@ T createInstance(Class type, StaplerRequest req, String fieldName) throws For /** * Creates an instance of {@link RepositoryBrowser} from a form submission. * - * @since 1.227 + * @since TODO */ public static - T createInstance(Class type, StaplerRequest req, JSONObject parent, String fieldName) throws FormException { + T createInstance(Class type, StaplerRequest2 req, JSONObject parent, String fieldName) throws FormException { JSONObject o = (JSONObject) parent.get(fieldName); if (o == null) return null; return req.bindJSON(type, o); } + + /** + * @deprecated use {@link #createInstance(Class, StaplerRequest2, JSONObject, String)} + * @since 1.227 + */ + @Deprecated + public static + T createInstance(Class type, StaplerRequest req, JSONObject parent, String fieldName) throws FormException { + return createInstance(type, StaplerRequest.toStaplerRequest2(req), parent, fieldName); + } } diff --git a/core/src/main/java/hudson/scm/SCMS.java b/core/src/main/java/hudson/scm/SCMS.java index a8fd4ddc4dc1..de92d453d248 100644 --- a/core/src/main/java/hudson/scm/SCMS.java +++ b/core/src/main/java/hudson/scm/SCMS.java @@ -28,9 +28,11 @@ import hudson.model.AbstractProject; import hudson.model.Descriptor.FormException; import hudson.util.DescriptorList; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.util.List; -import javax.servlet.ServletException; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * List of all installed SCMs. @@ -53,7 +55,7 @@ public class SCMS { * The project for which this SCM is configured to. */ @SuppressWarnings("deprecation") - public static SCM parseSCM(StaplerRequest req, AbstractProject target) throws FormException, ServletException { + public static SCM parseSCM(StaplerRequest2 req, AbstractProject target) throws FormException, ServletException { SCM scm = SCM.all().newInstanceFromRadioList(req.getSubmittedForm().getJSONObject("scm")); if (scm == null) { scm = new NullSCM(); // JENKINS-36043 workaround for AbstractMultiBranchProject.submit @@ -62,12 +64,24 @@ public static SCM parseSCM(StaplerRequest req, AbstractProject target) throws Fo return scm; } + /** + * @deprecated use {@link #parseSCM(StaplerRequest2, AbstractProject)} + */ + @Deprecated + public static SCM parseSCM(StaplerRequest req, AbstractProject target) throws FormException, javax.servlet.ServletException { + try { + return parseSCM(StaplerRequest.toStaplerRequest2(req), target); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + /** * @deprecated as of 1.294 - * Use {@link #parseSCM(StaplerRequest, AbstractProject)} and pass in the caller's project type. + * Use {@link #parseSCM(StaplerRequest2, AbstractProject)} and pass in the caller's project type. */ @Deprecated - public static SCM parseSCM(StaplerRequest req) throws FormException, ServletException { + public static SCM parseSCM(StaplerRequest req) throws FormException, javax.servlet.ServletException { return parseSCM(req, null); } diff --git a/core/src/main/java/hudson/search/Search.java b/core/src/main/java/hudson/search/Search.java index a3a674ae1106..7773d9e9d696 100644 --- a/core/src/main/java/hudson/search/Search.java +++ b/core/src/main/java/hudson/search/Search.java @@ -25,12 +25,14 @@ package hudson.search; -import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; +import static jakarta.servlet.http.HttpServletResponse.SC_NOT_FOUND; import edu.umd.cs.findbugs.annotations.CheckForNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Util; import hudson.util.EditDistance; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.AbstractList; import java.util.ArrayList; @@ -40,8 +42,8 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.Jenkins; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.MemoryReductionUtil; import jenkins.util.SystemProperties; import org.kohsuke.accmod.Restricted; @@ -50,7 +52,9 @@ import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerProxy; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.DataWriter; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -73,7 +77,32 @@ public class Search implements StaplerProxy { */ private static /* nonfinal for Jenkins script console */ int MAX_SEARCH_SIZE = Integer.getInteger(Search.class.getName() + ".MAX_SEARCH_SIZE", 500); - public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doIndex(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(Search.class, getClass(), "doIndex", StaplerRequest.class, StaplerResponse.class)) { + try { + doIndex(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doIndexImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doIndex(StaplerRequest2, StaplerResponse2)} + */ + @Deprecated + @StaplerNotDispatchable + public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doIndexImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + private void doIndexImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { List l = req.getAncestors(); for (int i = l.size() - 1; i >= 0; i--) { Ancestor a = l.get(i); @@ -110,7 +139,7 @@ public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException, * * See http://developer.mozilla.org/en/docs/Supporting_search_suggestions_in_search_plugins */ - public void doSuggestOpenSearch(StaplerRequest req, StaplerResponse rsp, @QueryParameter String q) throws IOException, ServletException { + public void doSuggestOpenSearch(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String q) throws IOException, ServletException { rsp.setContentType(Flavor.JSON.contentType); DataWriter w = Flavor.JSON.createDataWriter(null, rsp); w.startArray(); @@ -126,7 +155,7 @@ public void doSuggestOpenSearch(StaplerRequest req, StaplerResponse rsp, @QueryP /** * Used by search box auto-completion. Returns JSON array. */ - public void doSuggest(StaplerRequest req, StaplerResponse rsp, @QueryParameter String query) throws IOException, ServletException { + public void doSuggest(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String query) throws IOException, ServletException { Result r = new Result(); for (SuggestedItem item : getSuggestions(req, query)) r.suggestions.add(new Item(item.getPath())); @@ -141,7 +170,23 @@ public void doSuggest(StaplerRequest req, StaplerResponse rsp, @QueryParameter S * can be empty but never null. The size of the list is always smaller than * a certain threshold to avoid showing too many options. */ + public SearchResult getSuggestions(StaplerRequest2 req, String query) { + if (Util.isOverridden(Search.class, getClass(), "getSuggestions", StaplerRequest.class, String.class)) { + return getSuggestions(StaplerRequest.fromStaplerRequest2(req), query); + } else { + return getSuggestionsImpl(req, query); + } + } + + /** + * @deprecated use {@link #getSuggestions(StaplerRequest2, String)} + */ + @Deprecated public SearchResult getSuggestions(StaplerRequest req, String query) { + return getSuggestionsImpl(StaplerRequest.toStaplerRequest2(req), query); + } + + private SearchResult getSuggestionsImpl(StaplerRequest2 req, String query) { Set paths = new HashSet<>(); // paths already added, to control duplicates SearchResultImpl r = new SearchResultImpl(); int max = Math.min( @@ -164,7 +209,7 @@ public int getMaxSearchSize() { return MAX_SEARCH_SIZE; } - private @CheckForNull SearchableModelObject findClosestSearchableModelObject(StaplerRequest req) { + private @CheckForNull SearchableModelObject findClosestSearchableModelObject(StaplerRequest2 req) { List l = req.getAncestors(); for (int i = l.size() - 1; i >= 0; i--) { Ancestor a = l.get(i); @@ -178,7 +223,7 @@ public int getMaxSearchSize() { /** * Creates merged search index for suggestion. */ - private SearchIndex makeSuggestIndex(StaplerRequest req) { + private SearchIndex makeSuggestIndex(StaplerRequest2 req) { SearchIndexBuilder builder = new SearchIndexBuilder(); for (Ancestor a : req.getAncestors()) { if (a.getObject() instanceof SearchableModelObject) { diff --git a/core/src/main/java/hudson/search/UserSearchProperty.java b/core/src/main/java/hudson/search/UserSearchProperty.java index a3515dd08874..7f36476b112b 100644 --- a/core/src/main/java/hudson/search/UserSearchProperty.java +++ b/core/src/main/java/hudson/search/UserSearchProperty.java @@ -8,7 +8,7 @@ import hudson.model.userproperty.UserPropertyCategory; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.export.Exported; public class UserSearchProperty extends hudson.model.UserProperty { @@ -51,7 +51,7 @@ public UserProperty newInstance(User user) { } @Override - public UserProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public UserProperty newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { return new UserSearchProperty(formData.optBoolean("insensitiveSearch")); } diff --git a/core/src/main/java/hudson/security/AccessDeniedException2.java b/core/src/main/java/hudson/security/AccessDeniedException2.java index 00daee721251..e745669bad67 100644 --- a/core/src/main/java/hudson/security/AccessDeniedException2.java +++ b/core/src/main/java/hudson/security/AccessDeniedException2.java @@ -1,5 +1,6 @@ package hudson.security; +import io.jenkins.servlet.http.HttpServletResponseWrapper; import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import jenkins.util.SystemProperties; @@ -42,7 +43,7 @@ public AccessDeniedException2(Throwable t, Authentication authentication, Permis * Reports the details of the access failure in HTTP headers to assist diagnosis. */ public void reportAsHeaders(HttpServletResponse rsp) { - toSpring().reportAsHeaders(rsp); + toSpring().reportAsHeaders(HttpServletResponseWrapper.toJakartaHttpServletResponse(rsp)); } /** diff --git a/core/src/main/java/hudson/security/AccessDeniedException3.java b/core/src/main/java/hudson/security/AccessDeniedException3.java index 82f5d50428ce..90fc521dfd7b 100644 --- a/core/src/main/java/hudson/security/AccessDeniedException3.java +++ b/core/src/main/java/hudson/security/AccessDeniedException3.java @@ -1,7 +1,8 @@ package hudson.security; +import io.jenkins.servlet.http.HttpServletResponseWrapper; +import jakarta.servlet.http.HttpServletResponse; import java.io.PrintWriter; -import javax.servlet.http.HttpServletResponse; import jenkins.util.SystemProperties; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.core.Authentication; @@ -43,6 +44,18 @@ public AccessDeniedException3(Throwable t, Authentication authentication, Permis * Reports the details of the access failure in HTTP headers to assist diagnosis. */ public void reportAsHeaders(HttpServletResponse rsp) { + reportAsHeadersImpl(rsp); + } + + /** + * @deprecated use {@link #reportAsHeaders(HttpServletResponse)} + */ + @Deprecated + public void reportAsHeaders(javax.servlet.http.HttpServletResponse rsp) { + reportAsHeadersImpl(HttpServletResponseWrapper.toJakartaHttpServletResponse(rsp)); + } + + private void reportAsHeadersImpl(HttpServletResponse rsp) { rsp.addHeader("X-You-Are-Authenticated-As", authentication.getName()); if (REPORT_GROUP_HEADERS) { for (GrantedAuthority auth : authentication.getAuthorities()) { diff --git a/core/src/main/java/hudson/security/AccessDeniedHandlerImpl.java b/core/src/main/java/hudson/security/AccessDeniedHandlerImpl.java index 68843cfddd16..b1f1e35e1fc8 100644 --- a/core/src/main/java/hudson/security/AccessDeniedHandlerImpl.java +++ b/core/src/main/java/hudson/security/AccessDeniedHandlerImpl.java @@ -24,10 +24,10 @@ package hudson.security; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -53,7 +53,7 @@ public void handle(HttpServletRequest req, HttpServletResponse rsp, AccessDenied ((AccessDeniedException3) cause).reportAsHeaders(rsp); } - WebApp.get(Jenkins.get().servletContext).getSomeStapler() + WebApp.get(Jenkins.get().getServletContext()).getSomeStapler() .invoke(req, rsp, Jenkins.get(), "/accessDenied"); } } diff --git a/core/src/main/java/hudson/security/AuthenticationProcessingFilter2.java b/core/src/main/java/hudson/security/AuthenticationProcessingFilter2.java index 2714ec8eba63..0c9559bf140f 100644 --- a/core/src/main/java/hudson/security/AuthenticationProcessingFilter2.java +++ b/core/src/main/java/hudson/security/AuthenticationProcessingFilter2.java @@ -26,14 +26,14 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.User; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import jenkins.security.SecurityListener; import jenkins.security.seed.UserSeedProperty; import jenkins.util.SystemProperties; diff --git a/core/src/main/java/hudson/security/AuthorizationStrategy.java b/core/src/main/java/hudson/security/AuthorizationStrategy.java index f77385829730..db3001fc40f2 100644 --- a/core/src/main/java/hudson/security/AuthorizationStrategy.java +++ b/core/src/main/java/hudson/security/AuthorizationStrategy.java @@ -47,7 +47,7 @@ import jenkins.security.stapler.StaplerAccessibleType; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Controls authorization throughout Hudson. @@ -241,7 +241,7 @@ public String getDisplayName() { } @Override - public @NonNull AuthorizationStrategy newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public @NonNull AuthorizationStrategy newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { return UNSECURED; } } diff --git a/core/src/main/java/hudson/security/BasicAuthenticationFilter.java b/core/src/main/java/hudson/security/BasicAuthenticationFilter.java index b2a06024278b..8586fb0317a0 100644 --- a/core/src/main/java/hudson/security/BasicAuthenticationFilter.java +++ b/core/src/main/java/hudson/security/BasicAuthenticationFilter.java @@ -27,24 +27,24 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.User; import hudson.util.Scrambler; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.RequestDispatcher; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.security.BasicApiTokenHelper; import jenkins.security.SecurityListener; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.CompatibleFilter; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; @@ -68,7 +68,7 @@ * This causes the container to perform authentication, but there's no way * to find out whether the user has been successfully authenticated or not. * So to find this out, we then redirect the user to - * {@link jenkins.model.Jenkins#doSecured(StaplerRequest, StaplerResponse) /secured/... page}. + * {@link jenkins.model.Jenkins#doSecured(StaplerRequest2, StaplerResponse2) /secured/... page}. * *

    * The handler of the above URL checks if the user is authenticated, @@ -91,7 +91,7 @@ * * @author Kohsuke Kawaguchi */ -public class BasicAuthenticationFilter implements Filter { +public class BasicAuthenticationFilter implements CompatibleFilter { private ServletContext servletContext; @Override diff --git a/core/src/main/java/hudson/security/ChainedServletFilter.java b/core/src/main/java/hudson/security/ChainedServletFilter.java index 74e1e463f565..98bc725c2b1a 100644 --- a/core/src/main/java/hudson/security/ChainedServletFilter.java +++ b/core/src/main/java/hudson/security/ChainedServletFilter.java @@ -24,27 +24,28 @@ package hudson.security; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import org.kohsuke.stapler.CompatibleFilter; /** * Servlet {@link Filter} that chains multiple {@link Filter}s. * * @author Kohsuke Kawaguchi */ -public class ChainedServletFilter implements Filter { +public class ChainedServletFilter implements CompatibleFilter { // array is assumed to be immutable once set protected volatile Filter[] filters; diff --git a/core/src/main/java/hudson/security/ContainerAuthentication.java b/core/src/main/java/hudson/security/ContainerAuthentication.java index be7bdc01ab62..571b5cc782e8 100644 --- a/core/src/main/java/hudson/security/ContainerAuthentication.java +++ b/core/src/main/java/hudson/security/ContainerAuthentication.java @@ -24,12 +24,12 @@ package hudson.security; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.security.Principal; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import javax.servlet.ServletRequest; -import javax.servlet.http.HttpServletRequest; import jenkins.model.Jenkins; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; diff --git a/core/src/main/java/hudson/security/FederatedLoginService.java b/core/src/main/java/hudson/security/FederatedLoginService.java index 2d176290d8be..38d91f7da901 100644 --- a/core/src/main/java/hudson/security/FederatedLoginService.java +++ b/core/src/main/java/hudson/security/FederatedLoginService.java @@ -30,13 +30,13 @@ import hudson.ExtensionPoint; import hudson.model.User; import hudson.model.UserProperty; +import jakarta.servlet.ServletException; import java.io.IOException; import java.io.Serializable; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.kohsuke.stapler.HttpResponse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; @@ -245,7 +245,7 @@ public UnclaimedIdentityException(FederatedIdentity identity) { } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { SecurityRealm sr = Jenkins.get().getSecurityRealm(); if (sr.allowsSignup()) { try { diff --git a/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java b/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java index 4c9dc1add7e7..a8657df65685 100644 --- a/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java +++ b/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java @@ -35,13 +35,13 @@ import hudson.model.Descriptor.FormException; import hudson.model.ManagementLink; import hudson.util.FormApply; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.Set; import java.util.TreeSet; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletException; import jenkins.model.GlobalConfigurationCategory; import jenkins.model.Jenkins; import jenkins.util.ServerTcpPort; @@ -51,8 +51,8 @@ import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.verb.POST; /** @@ -108,7 +108,7 @@ public Category getCategory() { } @POST - public synchronized void doConfigure(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { + public synchronized void doConfigure(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException { // for compatibility reasons, the actual value is stored in Jenkins JSONObject json = req.getSubmittedForm(); BulkChange bc = new BulkChange(Jenkins.get()); @@ -125,7 +125,7 @@ public synchronized void doConfigure(StaplerRequest req, StaplerResponse rsp) th } } - public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { // for compatibility reasons, the actual value is stored in Jenkins Jenkins j = Jenkins.get(); j.checkPermission(Jenkins.ADMINISTER); @@ -171,7 +171,7 @@ public boolean configure(StaplerRequest req, JSONObject json) throws FormExcepti return result; } - private boolean configureDescriptor(StaplerRequest req, JSONObject json, Descriptor d) throws FormException { + private boolean configureDescriptor(StaplerRequest2 req, JSONObject json, Descriptor d) throws FormException { // collapse the structure to remain backward compatible with the JSON structure before 1. String name = d.getJsonSafeClassName(); JSONObject js = json.has(name) ? json.getJSONObject(name) : new JSONObject(); // if it doesn't have the property, the method returns invalid null object. diff --git a/core/src/main/java/hudson/security/HttpSessionContextIntegrationFilter2.java b/core/src/main/java/hudson/security/HttpSessionContextIntegrationFilter2.java index 786df5d72879..c2c0d8a6abe1 100644 --- a/core/src/main/java/hudson/security/HttpSessionContextIntegrationFilter2.java +++ b/core/src/main/java/hudson/security/HttpSessionContextIntegrationFilter2.java @@ -25,13 +25,13 @@ package hudson.security; import hudson.model.User; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import java.io.IOException; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; import jenkins.security.seed.UserSeedProperty; import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.core.Authentication; diff --git a/core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java b/core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java index e99dfdc14f74..950cf3614c82 100644 --- a/core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java +++ b/core/src/main/java/hudson/security/HudsonAuthenticationEntryPoint.java @@ -24,19 +24,19 @@ package hudson.security; -import static javax.servlet.http.HttpServletResponse.SC_FORBIDDEN; +import static jakarta.servlet.http.HttpServletResponse.SC_FORBIDDEN; import hudson.Functions; import hudson.Util; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.text.MessageFormat; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.springframework.security.authentication.InsufficientAuthenticationException; diff --git a/core/src/main/java/hudson/security/HudsonFilter.java b/core/src/main/java/hudson/security/HudsonFilter.java index 333180b32ead..4438874b6030 100644 --- a/core/src/main/java/hudson/security/HudsonFilter.java +++ b/core/src/main/java/hudson/security/HudsonFilter.java @@ -26,17 +26,18 @@ import static java.util.logging.Level.SEVERE; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.logging.Logger; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; +import org.kohsuke.stapler.CompatibleFilter; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.web.authentication.RememberMeServices; @@ -52,7 +53,7 @@ * @author Kohsuke Kawaguchi * @since 1.160 */ -public class HudsonFilter implements Filter { +public class HudsonFilter implements CompatibleFilter { /** * The SecurityRealm specific filter. */ diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index bd122244c7e2..1a6ebe66f749 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -24,7 +24,7 @@ package hudson.security; -import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; +import static jakarta.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; import com.thoughtworks.xstream.converters.UnmarshallingContext; import edu.umd.cs.findbugs.annotations.NonNull; @@ -47,6 +47,15 @@ import hudson.util.Protector; import hudson.util.Scrambler; import hudson.util.XStream2; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import java.io.IOException; import java.lang.reflect.Constructor; import java.nio.charset.StandardCharsets; @@ -67,15 +76,6 @@ import java.util.regex.Pattern; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import jenkins.model.Jenkins; import jenkins.security.FIPS140; import jenkins.security.SecurityListener; @@ -85,14 +85,15 @@ import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; +import org.kohsuke.stapler.CompatibleFilter; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.ForwardToView; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; import org.mindrot.jbcrypt.BCrypt; import org.springframework.security.authentication.BadCredentialsException; @@ -236,10 +237,10 @@ protected UserDetails authenticate2(String username, String password) throws Aut @Override public HttpResponse commenceSignup(final FederatedIdentity identity) { // store the identity in the session so that we can use this later - Stapler.getCurrentRequest().getSession().setAttribute(FEDERATED_IDENTITY_SESSION_KEY, identity); + Stapler.getCurrentRequest2().getSession().setAttribute(FEDERATED_IDENTITY_SESSION_KEY, identity); return new ForwardToView(this, "signupWithFederatedIdentity.jelly") { @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { SignupInfo si = new SignupInfo(identity); si.errorMessage = Messages.HudsonPrivateSecurityRealm_WouldYouLikeToSignUp(identity.getPronoun(), identity.getIdentifier()); req.setAttribute("data", si); @@ -253,7 +254,7 @@ public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object nod * with {@link #commenceSignup}. */ @RequirePOST - public User doCreateAccountWithFederatedIdentity(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public User doCreateAccountWithFederatedIdentity(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { User u = _doCreateAccount(req, rsp, "signupWithFederatedIdentity.jelly"); if (u != null) ((FederatedIdentity) req.getSession().getAttribute(FEDERATED_IDENTITY_SESSION_KEY)).addTo(u); @@ -266,11 +267,11 @@ public User doCreateAccountWithFederatedIdentity(StaplerRequest req, StaplerResp * Creates an user account. Used for self-registration. */ @RequirePOST - public User doCreateAccount(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public User doCreateAccount(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { return _doCreateAccount(req, rsp, "signup.jelly"); } - private User _doCreateAccount(StaplerRequest req, StaplerResponse rsp, String formView) throws ServletException, IOException { + private User _doCreateAccount(StaplerRequest2 req, StaplerResponse2 rsp, String formView) throws ServletException, IOException { if (!allowsSignup()) throw HttpResponses.errorWithoutStack(SC_UNAUTHORIZED, "User sign up is prohibited"); @@ -287,7 +288,7 @@ private User _doCreateAccount(StaplerRequest req, StaplerResponse rsp, String fo /** * Lets the current user silently login as the given user and report back accordingly. */ - private void loginAndTakeBack(StaplerRequest req, StaplerResponse rsp, User u) throws ServletException, IOException { + private void loginAndTakeBack(StaplerRequest2 req, StaplerResponse2 rsp, User u) throws ServletException, IOException { HttpSession session = req.getSession(false); if (session != null) { // avoid session fixation @@ -309,11 +310,11 @@ private void loginAndTakeBack(StaplerRequest req, StaplerResponse rsp, User u) t /** * Creates a user account. Used by admins. * - * This version behaves differently from {@link #doCreateAccount(StaplerRequest, StaplerResponse)} in that + * This version behaves differently from {@link #doCreateAccount(StaplerRequest2, StaplerResponse2)} in that * this is someone creating another user. */ @RequirePOST - public void doCreateAccountByAdmin(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doCreateAccountByAdmin(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { createAccountByAdmin(req, rsp, "addUser.jelly", "."); // send the user back to the listing page on success } @@ -321,7 +322,7 @@ public void doCreateAccountByAdmin(StaplerRequest req, StaplerResponse rsp) thro * Creates a user account. Requires {@link Jenkins#ADMINISTER} */ @Restricted(NoExternalUse.class) - public User createAccountByAdmin(StaplerRequest req, StaplerResponse rsp, String addUserView, String successView) throws IOException, ServletException { + public User createAccountByAdmin(StaplerRequest2 req, StaplerResponse2 rsp, String addUserView, String successView) throws IOException, ServletException { checkPermission(Jenkins.ADMINISTER); User u = createAccount(req, rsp, false, addUserView); if (u != null && successView != null) { @@ -340,7 +341,7 @@ public User createAccountByAdmin(StaplerRequest req, StaplerResponse rsp, String * @throws AccountCreationFailedException if account creation failed due to invalid form input */ @Restricted(NoExternalUse.class) - public User createAccountFromSetupWizard(StaplerRequest req) throws IOException, AccountCreationFailedException { + public User createAccountFromSetupWizard(StaplerRequest2 req) throws IOException, AccountCreationFailedException { checkPermission(Jenkins.ADMINISTER); SignupInfo si = validateAccountCreationForm(req, false); if (!si.errors.isEmpty()) { @@ -366,7 +367,7 @@ private String getErrorMessages(SignupInfo si) { * This can be run by anyone, but only to create the very first user account. */ @RequirePOST - public void doCreateFirstAccount(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void doCreateFirstAccount(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { if (hasSomeUser()) { rsp.sendError(SC_UNAUTHORIZED, "First user was already created"); return; @@ -400,7 +401,7 @@ private void tryToMakeAdmin(User u) { * null if failed. The browser is already redirected to retry by the time this method returns. * a valid {@link User} object if the user creation was successful. */ - private User createAccount(StaplerRequest req, StaplerResponse rsp, boolean validateCaptcha, String formView) throws ServletException, IOException { + private User createAccount(StaplerRequest2 req, StaplerResponse2 rsp, boolean validateCaptcha, String formView) throws ServletException, IOException { SignupInfo si = validateAccountCreationForm(req, validateCaptcha); if (!si.errors.isEmpty()) { @@ -416,11 +417,11 @@ private User createAccount(StaplerRequest req, StaplerResponse rsp, boolean vali * @param req the request to process * @param validateCaptcha whether to attempt to validate a captcha in the request * - * @return a {@link SignupInfo#SignupInfo(StaplerRequest) SignupInfo from given request}, with {@link + * @return a {@link SignupInfo#SignupInfo(StaplerRequest2) SignupInfo from given request}, with {@link * SignupInfo#errors} containing errors (keyed by field name), if any of the supported fields are invalid */ @SuppressFBWarnings(value = "UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD", justification = "written to by Stapler") - private SignupInfo validateAccountCreationForm(StaplerRequest req, boolean validateCaptcha) { + private SignupInfo validateAccountCreationForm(StaplerRequest2 req, boolean validateCaptcha) { // form field validation // this pattern needs to be generalized and moved to stapler SignupInfo si = new SignupInfo(req); @@ -632,7 +633,7 @@ public static final class SignupInfo { public SignupInfo() { } - public SignupInfo(StaplerRequest req) { + public SignupInfo(StaplerRequest2 req) { req.bindParameters(this); } @@ -707,7 +708,7 @@ public boolean isPasswordCorrect(String candidate) { public String getProtectedPassword() { // put session Id in it to prevent a replay attack. - return Protector.protect(Stapler.getCurrentRequest().getSession().getId() + ':' + getPassword()); + return Protector.protect(Stapler.getCurrentRequest2().getSession().getId() + ':' + getPassword()); } public String getUsername() { @@ -825,7 +826,7 @@ public String getDisplayName() { } @Override - public Details newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public Details newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { if (req == null) { // Should never happen, see newInstance() Javadoc throw new FormException("Stapler request is missing in the call", "staplerRequest"); @@ -858,7 +859,7 @@ public Details newInstance(StaplerRequest req, JSONObject formData) throws FormE } if (data != null) { - String prefix = Stapler.getCurrentRequest().getSession().getId() + ':'; + String prefix = Stapler.getCurrentRequest2().getSession().getId() + ':'; if (data.startsWith(prefix)) { return Details.fromHashedPassword(data.substring(prefix.length())); } @@ -1153,7 +1154,7 @@ public FormValidation doCheckAllowsSignup(@QueryParameter boolean value) { } } - private static final Filter CREATE_FIRST_USER_FILTER = new Filter() { + private static final Filter CREATE_FIRST_USER_FILTER = new CompatibleFilter() { @Override public void init(FilterConfig config) throws ServletException { } diff --git a/core/src/main/java/hudson/security/LegacySecurityRealm.java b/core/src/main/java/hudson/security/LegacySecurityRealm.java index 1e869475caf2..94c895782f74 100644 --- a/core/src/main/java/hudson/security/LegacySecurityRealm.java +++ b/core/src/main/java/hudson/security/LegacySecurityRealm.java @@ -28,10 +28,10 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.Extension; import hudson.model.Descriptor; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterConfig; import java.util.ArrayList; import java.util.List; -import javax.servlet.Filter; -import javax.servlet.FilterConfig; import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; diff --git a/core/src/main/java/hudson/security/NoopFilter.java b/core/src/main/java/hudson/security/NoopFilter.java index 3000bb2e81c0..2b2db184fc5f 100644 --- a/core/src/main/java/hudson/security/NoopFilter.java +++ b/core/src/main/java/hudson/security/NoopFilter.java @@ -24,20 +24,21 @@ package hudson.security; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; import java.io.IOException; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; +import org.kohsuke.stapler.CompatibleFilter; /** * {@link Filter} that does nothing. * * @author Kohsuke Kawaguchi */ -public class NoopFilter implements Filter { +public class NoopFilter implements CompatibleFilter { @Override public void init(FilterConfig filterConfig) throws ServletException { } diff --git a/core/src/main/java/hudson/security/RememberMeServicesProxy.java b/core/src/main/java/hudson/security/RememberMeServicesProxy.java index 2220e313b0cc..1020002794ed 100644 --- a/core/src/main/java/hudson/security/RememberMeServicesProxy.java +++ b/core/src/main/java/hudson/security/RememberMeServicesProxy.java @@ -24,8 +24,8 @@ package hudson.security; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.security.ConfidentialStore; import org.kohsuke.accmod.Restricted; diff --git a/core/src/main/java/hudson/security/SecurityRealm.java b/core/src/main/java/hudson/security/SecurityRealm.java index b969a57eb781..d10e7994ae22 100644 --- a/core/src/main/java/hudson/security/SecurityRealm.java +++ b/core/src/main/java/hudson/security/SecurityRealm.java @@ -36,6 +36,14 @@ import hudson.security.captcha.CaptchaSupport; import hudson.util.DescriptorList; import hudson.util.PluginServletFilter; +import io.jenkins.servlet.FilterConfigWrapper; +import io.jenkins.servlet.FilterWrapper; +import io.jenkins.servlet.ServletExceptionWrapper; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpSession; import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -44,16 +52,12 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.Filter; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpSession; import jenkins.model.IdStrategy; import jenkins.model.Jenkins; import jenkins.security.AcegiSecurityExceptionFilter; import jenkins.security.AuthenticationSuccessHandler; import jenkins.security.BasicHeaderProcessor; +import jenkins.security.stapler.StaplerNotDispatchable; import jenkins.util.SystemProperties; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; @@ -62,7 +66,9 @@ import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerResponse2; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; @@ -264,7 +270,7 @@ public boolean canLogOut() { * of Hudson, but you can return arbitrary URL. * * @param req - * {@link StaplerRequest} that represents the current request. Primarily so that + * {@link StaplerRequest2} that represents the current request. Primarily so that * you can get the context path. By the time this method is called, the session * is already invalidated. Never null. * @param auth @@ -272,14 +278,31 @@ public boolean canLogOut() { * This parameter allows you to redirect people to different pages depending on who they are. * @return * never null. + * @since TODO + * @see #doLogout(StaplerRequest2, StaplerResponse2) + */ + protected String getPostLogOutUrl2(StaplerRequest2 req, Authentication auth) { + if (Util.isOverridden(SecurityRealm.class, getClass(), "getPostLogOutUrl2", StaplerRequest.class, Authentication.class)) { + return getPostLogOutUrl2(StaplerRequest.fromStaplerRequest2(req), auth); + } else { + return getPostLogOutUrl2Impl(req, auth); + } + } + + /** + * @deprecated use {@link #getPostLogOutUrl2(StaplerRequest2, Authentication)} * @since 2.266 - * @see #doLogout(StaplerRequest, StaplerResponse) */ + @Deprecated protected String getPostLogOutUrl2(StaplerRequest req, Authentication auth) { + return getPostLogOutUrl2Impl(StaplerRequest.toStaplerRequest2(req), auth); + } + + private String getPostLogOutUrl2Impl(StaplerRequest2 req, Authentication auth) { if (Util.isOverridden(SecurityRealm.class, getClass(), "getPostLogOutUrl", StaplerRequest.class, org.acegisecurity.Authentication.class) && !insideGetPostLogOutUrl.get()) { insideGetPostLogOutUrl.set(true); try { - return getPostLogOutUrl(req, org.acegisecurity.Authentication.fromSpring(auth)); + return getPostLogOutUrl(StaplerRequest.fromStaplerRequest2(req), org.acegisecurity.Authentication.fromSpring(auth)); } finally { insideGetPostLogOutUrl.set(false); } @@ -295,7 +318,7 @@ protected String getPostLogOutUrl2(StaplerRequest req, Authentication auth) { */ @Deprecated protected String getPostLogOutUrl(StaplerRequest req, org.acegisecurity.Authentication auth) { - return getPostLogOutUrl2(req, auth.toSpring()); + return getPostLogOutUrl2(StaplerRequest.toStaplerRequest2(req), auth.toSpring()); } public CaptchaSupport getCaptchaSupport() { @@ -315,11 +338,37 @@ public List> getCaptchaSupportDescriptors() { * *

    * The default implementation erases the session and do a few other clean up, then - * redirect the user to the URL specified by {@link #getPostLogOutUrl2(StaplerRequest, Authentication)}. + * redirect the user to the URL specified by {@link #getPostLogOutUrl2(StaplerRequest2, Authentication)}. * + * @since TODO + */ + public void doLogout(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { + if (Util.isOverridden(SecurityRealm.class, getClass(), "doLogout", StaplerRequest.class, StaplerResponse.class)) { + try { + doLogout(StaplerRequest.fromStaplerRequest2(req), StaplerResponse.fromStaplerResponse2(rsp)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + doLogoutImpl(req, rsp); + } + } + + /** + * @deprecated use {@link #doLogout(StaplerRequest2, StaplerResponse2)} * @since 1.314 */ - public void doLogout(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + @Deprecated + @StaplerNotDispatchable + public void doLogout(StaplerRequest req, StaplerResponse rsp) throws IOException, javax.servlet.ServletException { + try { + doLogoutImpl(StaplerRequest.toStaplerRequest2(req), StaplerResponse.toStaplerResponse2(rsp)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } + + void doLogoutImpl(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { HttpSession session = req.getSession(false); if (session != null) session.invalidate(); @@ -333,7 +382,7 @@ public void doLogout(StaplerRequest req, StaplerResponse rsp) throws IOException rsp.sendRedirect2(getPostLogOutUrl2(req, auth)); } - private void resetRememberMeCookie(StaplerRequest req, StaplerResponse rsp, String contextPath) { + private void resetRememberMeCookie(StaplerRequest2 req, StaplerResponse2 rsp, String contextPath) { Cookie cookie = new Cookie(AbstractRememberMeServices.SPRING_SECURITY_REMEMBER_ME_COOKIE_KEY, ""); cookie.setMaxAge(0); cookie.setSecure(req.isSecure()); @@ -342,7 +391,7 @@ private void resetRememberMeCookie(StaplerRequest req, StaplerResponse rsp, Stri rsp.addCookie(cookie); } - private void clearStaleSessionCookies(StaplerRequest req, StaplerResponse rsp, String contextPath) { + private void clearStaleSessionCookies(StaplerRequest2 req, StaplerResponse2 rsp, String contextPath) { /* While "executableWar.jetty.sessionIdCookieName" and * "executableWar.jetty.disableCustomSessionIdCookieName" * @@ -516,7 +565,7 @@ public HttpResponse commenceSignup(FederatedIdentity identity) { /** * Generates a captcha image. */ - public final void doCaptcha(StaplerRequest req, StaplerResponse rsp) throws IOException { + public final void doCaptcha(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { if (captchaSupport != null) { String id = req.getSession().getId(); rsp.setContentType("image/png"); @@ -533,7 +582,7 @@ public final void doCaptcha(StaplerRequest req, StaplerResponse rsp) throws IOEx */ protected final boolean validateCaptcha(String text) { if (captchaSupport != null) { - String id = Stapler.getCurrentRequest().getSession().getId(); + String id = Stapler.getCurrentRequest2().getSession().getId(); return captchaSupport.validateCaptcha(id, text); } @@ -570,10 +619,29 @@ public synchronized SecurityComponents getSecurityComponents() { * For other plugins that want to contribute {@link Filter}, see * {@link PluginServletFilter}. * - * @since 1.271 + * @since TODO */ public Filter createFilter(FilterConfig filterConfig) { - LOGGER.entering(SecurityRealm.class.getName(), "createFilter"); + if (Util.isOverridden(SecurityRealm.class, getClass(), "createFilter", javax.servlet.FilterConfig.class)) { + return FilterWrapper.toJakartaFilter(createFilter( + filterConfig != null ? FilterConfigWrapper.fromJakartaFilterConfig(filterConfig) : null)); + } else { + return createFilterImpl(filterConfig); + } + } + + /** + * @deprecated use {@link #createFilter(FilterConfig)} + * @since 1.271 + */ + @Deprecated + public javax.servlet.Filter createFilter(javax.servlet.FilterConfig filterConfig) { + return FilterWrapper.fromJakartaFilter(createFilterImpl( + filterConfig != null ? FilterConfigWrapper.toJakartaFilterConfig(filterConfig) : null)); + } + + private Filter createFilterImpl(FilterConfig filterConfig) { + LOGGER.entering(SecurityRealm.class.getName(), "createFilterImpl"); SecurityComponents sc = getSecurityComponents(); List filters = new ArrayList<>(); @@ -639,7 +707,7 @@ protected final List commonFilters() { @Restricted(DoNotUse.class) public static String getFrom() { String from = null; - final StaplerRequest request = Stapler.getCurrentRequest(); + final StaplerRequest2 request = Stapler.getCurrentRequest2(); // Try to obtain a return point from the query parameter if (request != null) { @@ -734,7 +802,7 @@ public String getDisplayName() { } @Override - public SecurityRealm newInstance(StaplerRequest req, JSONObject formData) throws Descriptor.FormException { + public SecurityRealm newInstance(StaplerRequest2 req, JSONObject formData) throws Descriptor.FormException { return NO_AUTHENTICATION; } } diff --git a/core/src/main/java/hudson/security/TokenBasedRememberMeServices2.java b/core/src/main/java/hudson/security/TokenBasedRememberMeServices2.java index 0e8e19d90a06..9b6974a3f2e4 100644 --- a/core/src/main/java/hudson/security/TokenBasedRememberMeServices2.java +++ b/core/src/main/java/hudson/security/TokenBasedRememberMeServices2.java @@ -27,6 +27,8 @@ import com.google.common.annotations.VisibleForTesting; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.User; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.security.MessageDigest; import java.util.Arrays; import java.util.Date; @@ -34,8 +36,6 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.security.HMACConfidentialKey; import jenkins.security.ImpersonatingUserDetailsService2; diff --git a/core/src/main/java/hudson/security/UnwrapSecurityExceptionFilter.java b/core/src/main/java/hudson/security/UnwrapSecurityExceptionFilter.java index 2abfea11eb71..683725b2fe0d 100644 --- a/core/src/main/java/hudson/security/UnwrapSecurityExceptionFilter.java +++ b/core/src/main/java/hudson/security/UnwrapSecurityExceptionFilter.java @@ -24,14 +24,14 @@ package hudson.security; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; import java.io.IOException; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import org.apache.commons.jelly.JellyTagException; +import org.kohsuke.stapler.CompatibleFilter; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.access.ExceptionTranslationFilter; @@ -43,7 +43,7 @@ * * @author Kohsuke Kawaguchi */ -public class UnwrapSecurityExceptionFilter implements Filter { +public class UnwrapSecurityExceptionFilter implements CompatibleFilter { @Override public void init(FilterConfig filterConfig) throws ServletException { } diff --git a/core/src/main/java/hudson/security/csrf/CrumbExclusion.java b/core/src/main/java/hudson/security/csrf/CrumbExclusion.java index 4f4135bd9a88..e7d8d67a219f 100644 --- a/core/src/main/java/hudson/security/csrf/CrumbExclusion.java +++ b/core/src/main/java/hudson/security/csrf/CrumbExclusion.java @@ -8,11 +8,16 @@ import hudson.ExtensionList; import hudson.ExtensionPoint; +import hudson.Util; +import io.jenkins.servlet.FilterChainWrapper; +import io.jenkins.servlet.ServletExceptionWrapper; +import io.jenkins.servlet.http.HttpServletRequestWrapper; +import io.jenkins.servlet.http.HttpServletResponseWrapper; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; /** * Allows plugins to define exceptions to the CSRF protection filter. @@ -32,7 +37,57 @@ public abstract class CrumbExclusion implements ExtensionPoint { * true to indicate that the callee had processed this request * (for example by reporting an error, or by executing the rest of the chain.) */ - public abstract boolean process(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException; + public /* abstract */ boolean process(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { + if (Util.isOverridden( + CrumbExclusion.class, + getClass(), + "process", + javax.servlet.http.HttpServletRequest.class, + javax.servlet.http.HttpServletResponse.class, + javax.servlet.FilterChain.class)) { + try { + return process( + HttpServletRequestWrapper.fromJakartaHttpServletRequest(request), + HttpServletResponseWrapper.fromJakartaHttpServletResponse(response), + FilterChainWrapper.fromJakartaFilterChain(chain)); + } catch (javax.servlet.ServletException e) { + throw ServletExceptionWrapper.toJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + CrumbExclusion.class.getSimpleName() + ".process methods"); + } + } + + /** + * @deprecated use {@link #process(HttpServletRequest, HttpServletResponse, FilterChain)} + */ + @Deprecated + public boolean process( + javax.servlet.http.HttpServletRequest request, + javax.servlet.http.HttpServletResponse response, + javax.servlet.FilterChain chain) + throws IOException, javax.servlet.ServletException { + if (Util.isOverridden( + CrumbExclusion.class, + getClass(), + "process", + HttpServletRequest.class, + HttpServletResponse.class, + FilterChain.class)) { + try { + return process( + HttpServletRequestWrapper.toJakartaHttpServletRequest(request), + HttpServletResponseWrapper.toJakartaHttpServletResponse(response), + FilterChainWrapper.toJakartaFilterChain(chain)); + } catch (ServletException e) { + throw ServletExceptionWrapper.fromJakartaServletException(e); + } + } else { + throw new AbstractMethodError("The class " + getClass().getName() + " must override at least one of the " + + CrumbExclusion.class.getSimpleName() + ".process methods"); + } + } public static ExtensionList all() { return ExtensionList.lookup(CrumbExclusion.class); diff --git a/core/src/main/java/hudson/security/csrf/CrumbFilter.java b/core/src/main/java/hudson/security/csrf/CrumbFilter.java index 8b4b558938e7..6835a4365a3c 100644 --- a/core/src/main/java/hudson/security/csrf/CrumbFilter.java +++ b/core/src/main/java/hudson/security/csrf/CrumbFilter.java @@ -7,6 +7,14 @@ package hudson.security.csrf; import hudson.util.MultipartFormDataParser; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequestWrapper; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -14,20 +22,12 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; -import javax.servlet.http.HttpServletResponse; import jenkins.model.Jenkins; import jenkins.util.SystemProperties; import org.kohsuke.MetaInfServices; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; +import org.kohsuke.stapler.CompatibleFilter; import org.kohsuke.stapler.ForwardToView; import org.kohsuke.stapler.interceptor.RequirePOST; import org.springframework.security.authentication.AnonymousAuthenticationToken; @@ -38,7 +38,7 @@ * * @author dty */ -public class CrumbFilter implements Filter { +public class CrumbFilter implements CompatibleFilter { /** * Because servlet containers generally don't specify the ordering of the initialization * (and different implementations indeed do this differently --- See JENKINS-3878), diff --git a/core/src/main/java/hudson/security/csrf/CrumbIssuer.java b/core/src/main/java/hudson/security/csrf/CrumbIssuer.java index cd0c51b03fb0..491ec735b591 100644 --- a/core/src/main/java/hudson/security/csrf/CrumbIssuer.java +++ b/core/src/main/java/hudson/security/csrf/CrumbIssuer.java @@ -6,26 +6,31 @@ package hudson.security.csrf; +import edu.umd.cs.findbugs.annotations.NonNull; import hudson.DescriptorExtensionList; import hudson.ExtensionPoint; +import hudson.Util; import hudson.init.Initializer; import hudson.model.Api; import hudson.model.Describable; import hudson.model.Descriptor; import hudson.util.MultipartFormDataParser; +import io.jenkins.servlet.ServletRequestWrapper; +import io.jenkins.servlet.http.HttpServletRequestWrapper; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.StandardCharsets; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; import jenkins.model.Jenkins; import jenkins.security.stapler.StaplerAccessibleType; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.Stapler; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebApp; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -64,7 +69,7 @@ public String getCrumbRequestField() { */ @Exported public String getCrumb() { - return getCrumb(Stapler.getCurrentRequest()); + return getCrumb(Stapler.getCurrentRequest2()); } /** @@ -89,6 +94,14 @@ public String getCrumb(ServletRequest request) { return crumb; } + /** + * @deprecated use {@link #getCrumb(ServletRequest)} + */ + @Deprecated + public String getCrumb(javax.servlet.ServletRequest request) { + return getCrumb(request != null ? wrap(request) : null); + } + /** * Create a crumb value based on user specific information in the request. * The crumb should be generated by building a cryptographic hash of: @@ -98,7 +111,30 @@ public String getCrumb(ServletRequest request) { *

  • an implementation specific guarded secret. * */ - protected abstract String issueCrumb(ServletRequest request, String salt); + protected /* abstract */ String issueCrumb(ServletRequest request, String salt) { + return Util.ifOverridden( + () -> issueCrumb( + request != null ? wrap(request) : null, salt), + CrumbIssuer.class, + getClass(), + "issueCrumb", + javax.servlet.ServletRequest.class, + String.class); + } + + /** + * @deprecated use {@link #issueCrumb(ServletRequest, String)} + */ + @Deprecated + protected String issueCrumb(javax.servlet.ServletRequest request, String salt) { + return Util.ifOverridden( + () -> issueCrumb(request != null ? wrap(request) : null, salt), + CrumbIssuer.class, + getClass(), + "issueCrumb", + ServletRequest.class, + String.class); + } /** * Get a crumb from a request parameter and validate it against other data @@ -126,12 +162,63 @@ public boolean validateCrumb(ServletRequest request, MultipartFormDataParser par return validateCrumb(request, crumbSalt, parser.get(crumbField)); } + /** + * @deprecated use {@link #validateCrumb(ServletRequest, MultipartFormDataParser)} + */ + @Deprecated + public boolean validateCrumb(javax.servlet.ServletRequest request, MultipartFormDataParser parser) { + return validateCrumb(request != null ? wrap(request) : null, parser); + } + + private static ServletRequest wrap(@NonNull javax.servlet.ServletRequest request) { + if (request instanceof javax.servlet.http.HttpServletRequest httpRequest) { + return HttpServletRequestWrapper.toJakartaHttpServletRequest(httpRequest); + } else { + return ServletRequestWrapper.toJakartaServletRequest(request); + } + } + /** * Validate a previously created crumb against information in the current request. * * @param crumb The previously generated crumb to validate against information in the current request */ - public abstract boolean validateCrumb(ServletRequest request, String salt, String crumb); + public /* abstract */ boolean validateCrumb(ServletRequest request, String salt, String crumb) { + return Util.ifOverridden( + () -> validateCrumb( + request != null ? wrap(request) : null, + salt, + crumb), + CrumbIssuer.class, + getClass(), + "validateCrumb", + javax.servlet.ServletRequest.class, + String.class, + String.class); + } + + private static javax.servlet.ServletRequest wrap(@NonNull ServletRequest request) { + if (request instanceof HttpServletRequest httpRequest) { + return HttpServletRequestWrapper.fromJakartaHttpServletRequest(httpRequest); + } else { + return ServletRequestWrapper.fromJakartaServletRequest(request); + } + } + + /** + * @deprecated use {@link #validateCrumb(ServletRequest, String, String)} + */ + @Deprecated + public boolean validateCrumb(javax.servlet.ServletRequest request, String salt, String crumb) { + return Util.ifOverridden( + () -> validateCrumb(request != null ? wrap(request) : null, salt, crumb), + CrumbIssuer.class, + getClass(), + "validateCrumb", + ServletRequest.class, + String.class, + String.class); + } /** * Access global configuration for the crumb issuer. @@ -157,15 +244,15 @@ public Api getApi() { */ @Initializer public static void initStaplerCrumbIssuer() { - WebApp.get(Jenkins.get().servletContext).setCrumbIssuer(new org.kohsuke.stapler.CrumbIssuer() { + WebApp.get(Jenkins.get().getServletContext()).setCrumbIssuer(new org.kohsuke.stapler.CrumbIssuer() { @Override - public String issueCrumb(StaplerRequest request) { + public String issueCrumb(StaplerRequest2 request) { CrumbIssuer ci = Jenkins.get().getCrumbIssuer(); return ci != null ? ci.getCrumb(request) : DEFAULT.issueCrumb(request); } @Override - public void validateCrumb(StaplerRequest request, String submittedCrumb) { + public void validateCrumb(StaplerRequest2 request, String submittedCrumb) { CrumbIssuer ci = Jenkins.get().getCrumbIssuer(); if (ci == null) { DEFAULT.validateCrumb(request, submittedCrumb); @@ -184,7 +271,7 @@ public static class RestrictedApi extends Api { super(instance); } - @Override public void doXml(StaplerRequest req, StaplerResponse rsp, @QueryParameter String xpath, @QueryParameter String wrapper, @QueryParameter String tree, @QueryParameter int depth) throws IOException, ServletException { + @Override public void doXml(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String xpath, @QueryParameter String wrapper, @QueryParameter String tree, @QueryParameter int depth) throws IOException, ServletException { setHeaders(rsp); String text; CrumbIssuer ci = (CrumbIssuer) bean; diff --git a/core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java b/core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java index 89c7da39e7b4..7a3bc0c9b1d2 100644 --- a/core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java +++ b/core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java @@ -12,13 +12,13 @@ import hudson.Util; import hudson.model.ModelObject; import hudson.model.PersistentDescriptor; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletRequest; -import javax.servlet.http.HttpServletRequest; import jenkins.model.Jenkins; import jenkins.security.HexStringConfidentialKey; import jenkins.util.SystemProperties; @@ -27,7 +27,7 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.springframework.security.core.Authentication; /** @@ -69,6 +69,7 @@ private synchronized void initializeMessageDigest() { } @Override + @SuppressFBWarnings(value = "NM_WRONG_PACKAGE", justification = "false positive") protected synchronized String issueCrumb(ServletRequest request, String salt) { if (request instanceof HttpServletRequest) { if (md != null) { @@ -135,7 +136,7 @@ public String getDisplayName() { } @Override - public DefaultCrumbIssuer newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public DefaultCrumbIssuer newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { if (req == null) { // This state is prohibited according to the Javadoc of the super method. throw new FormException("DefaultCrumbIssuer new instance method is called for null Stapler request. " diff --git a/core/src/main/java/hudson/security/csrf/GlobalCrumbIssuerConfiguration.java b/core/src/main/java/hudson/security/csrf/GlobalCrumbIssuerConfiguration.java index 6faa5dfc24e0..61a861fefbe3 100644 --- a/core/src/main/java/hudson/security/csrf/GlobalCrumbIssuerConfiguration.java +++ b/core/src/main/java/hudson/security/csrf/GlobalCrumbIssuerConfiguration.java @@ -35,7 +35,7 @@ import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Show the crumb configuration to the system config page. @@ -50,7 +50,7 @@ public class GlobalCrumbIssuerConfiguration extends GlobalConfiguration { } @Override - public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { // for compatibility reasons, the actual value is stored in Jenkins Jenkins j = Jenkins.get(); diff --git a/core/src/main/java/hudson/slaves/Cloud.java b/core/src/main/java/hudson/slaves/Cloud.java index 6552685a05d0..3bff60c0d0ad 100644 --- a/core/src/main/java/hudson/slaves/Cloud.java +++ b/core/src/main/java/hudson/slaves/Cloud.java @@ -47,11 +47,11 @@ import hudson.slaves.NodeProvisioner.PlannedNode; import hudson.util.DescriptorList; import hudson.util.FormApply; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.Collection; import java.util.Objects; import java.util.concurrent.Future; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import net.sf.json.JSONObject; import org.kohsuke.accmod.Restricted; @@ -60,7 +60,8 @@ import org.kohsuke.stapler.HttpRedirect; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.interceptor.RequirePOST; import org.kohsuke.stapler.verb.POST; @@ -319,7 +320,7 @@ public HttpResponse doDoDelete() throws IOException { * Accepts the update to the node configuration. */ @POST - public HttpResponse doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, Descriptor.FormException { + public HttpResponse doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, Descriptor.FormException { checkPermission(Jenkins.ADMINISTER); Jenkins j = Jenkins.get(); @@ -340,7 +341,26 @@ public HttpResponse doConfigSubmit(StaplerRequest req, StaplerResponse rsp) thro } + /** + * @since TODO + */ + public Cloud reconfigure(@NonNull final StaplerRequest2 req, JSONObject form) throws Descriptor.FormException { + if (Util.isOverridden(Cloud.class, getClass(), "reconfigure", StaplerRequest.class, JSONObject.class)) { + return reconfigure(StaplerRequest.fromStaplerRequest2(req), form); + } else { + return reconfigureImpl(req, form); + } + } + + /** + * @deprecated use {@link #reconfigure(StaplerRequest2, JSONObject)} + */ + @Deprecated public Cloud reconfigure(@NonNull final StaplerRequest req, JSONObject form) throws Descriptor.FormException { + return reconfigureImpl(StaplerRequest.toStaplerRequest2(req), form); + } + + private Cloud reconfigureImpl(@NonNull final StaplerRequest2 req, JSONObject form) throws Descriptor.FormException { if (form == null) return null; return getDescriptor().newInstance(req, form); } diff --git a/core/src/main/java/hudson/slaves/EnvironmentVariablesNodeProperty.java b/core/src/main/java/hudson/slaves/EnvironmentVariablesNodeProperty.java index be50bc982062..dd3ec84b131d 100644 --- a/core/src/main/java/hudson/slaves/EnvironmentVariablesNodeProperty.java +++ b/core/src/main/java/hudson/slaves/EnvironmentVariablesNodeProperty.java @@ -98,7 +98,7 @@ public String getDisplayName() { public String getHelpPage() { // yes, I know this is a hack. - ComputerSet object = Stapler.getCurrentRequest().findAncestorObject(ComputerSet.class); + ComputerSet object = Stapler.getCurrentRequest2().findAncestorObject(ComputerSet.class); if (object != null) { // we're on a node configuration page, show show that help page return "/help/system-config/nodeEnvironmentVariables.html"; diff --git a/core/src/main/java/hudson/slaves/NodeDescriptor.java b/core/src/main/java/hudson/slaves/NodeDescriptor.java index 8db1eb48139f..848cabbdf747 100644 --- a/core/src/main/java/hudson/slaves/NodeDescriptor.java +++ b/core/src/main/java/hudson/slaves/NodeDescriptor.java @@ -34,14 +34,14 @@ import hudson.model.Slave; import hudson.util.DescriptorList; import hudson.util.FormValidation; +import jakarta.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.servlet.ServletException; import jenkins.model.Jenkins; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * {@link Descriptor} for {@link Slave}. @@ -83,7 +83,7 @@ public final String newInstanceDetailPage() { * @param name * Name of the new node. */ - public void handleNewNodePage(ComputerSet computerSet, String name, StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { + public void handleNewNodePage(ComputerSet computerSet, String name, StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { computerSet.checkName(name); req.setAttribute("descriptor", this); req.getView(computerSet, "_new.jelly").forward(req, rsp); diff --git a/core/src/main/java/hudson/slaves/NodeProperty.java b/core/src/main/java/hudson/slaves/NodeProperty.java index 8605edcf4515..bcb2a2422025 100644 --- a/core/src/main/java/hudson/slaves/NodeProperty.java +++ b/core/src/main/java/hudson/slaves/NodeProperty.java @@ -30,6 +30,7 @@ import hudson.ExtensionPoint; import hudson.FilePath; import hudson.Launcher; +import hudson.Util; import hudson.model.AbstractBuild; import hudson.model.BuildListener; import hudson.model.Descriptor.FormException; @@ -48,6 +49,7 @@ import jenkins.model.Jenkins; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Extensible property of {@link Node}. @@ -171,8 +173,25 @@ public void buildEnvVars(@NonNull EnvVars env, @NonNull TaskListener listener) t // default is no-op } + @Override + public NodeProperty reconfigure(StaplerRequest2 req, JSONObject form) throws FormException { + if (Util.isOverridden(NodeProperty.class, getClass(), "reconfigure", StaplerRequest.class, JSONObject.class)) { + return reconfigure(StaplerRequest.fromStaplerRequest2(req), form); + } else { + return reconfigureImpl(req, form); + } + } + + /** + * @deprecated use {@link #reconfigure(StaplerRequest2, JSONObject)} + */ + @Deprecated @Override public NodeProperty reconfigure(StaplerRequest req, JSONObject form) throws FormException { + return reconfigureImpl(StaplerRequest.toStaplerRequest2(req), form); + } + + private NodeProperty reconfigureImpl(StaplerRequest2 req, JSONObject form) throws FormException { return form == null ? null : getDescriptor().newInstance(req, form); } diff --git a/core/src/main/java/hudson/slaves/SlaveComputer.java b/core/src/main/java/hudson/slaves/SlaveComputer.java index dbb579b9b3ae..4165f53a7245 100644 --- a/core/src/main/java/hudson/slaves/SlaveComputer.java +++ b/core/src/main/java/hudson/slaves/SlaveComputer.java @@ -97,8 +97,8 @@ import org.kohsuke.stapler.HttpRedirect; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.WebMethod; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.interceptor.RequirePOST; @@ -788,7 +788,7 @@ public List getLogRecords() throws IOException, InterruptedException */ @RequirePOST @Restricted(NoExternalUse.class) - public synchronized void doSubmitDescription(StaplerResponse rsp, @QueryParameter String description) throws IOException { + public synchronized void doSubmitDescription(StaplerResponse2 rsp, @QueryParameter String description) throws IOException { checkPermission(CONFIGURE); final Slave node = this.getNode(); @@ -828,7 +828,7 @@ public void run() { @RequirePOST @Override - public void doLaunchSlaveAgent(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doLaunchSlaveAgent(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { checkPermission(CONNECT); if (channel != null) { @@ -871,12 +871,12 @@ public Slave.JnlpJar getJnlpJars(String fileName) { } @WebMethod(name = "slave-agent.jnlp") // backward compatibility - public HttpResponse doSlaveAgentJnlp(StaplerRequest req, StaplerResponse res) { + public HttpResponse doSlaveAgentJnlp(StaplerRequest2 req, StaplerResponse2 res) { return doJenkinsAgentJnlp(req, res); } @WebMethod(name = "jenkins-agent.jnlp") - public HttpResponse doJenkinsAgentJnlp(StaplerRequest req, StaplerResponse res) { + public HttpResponse doJenkinsAgentJnlp(StaplerRequest2 req, StaplerResponse2 res) { LOGGER.log( Level.WARNING, "Agent \"" + getName() @@ -888,12 +888,12 @@ public HttpResponse doJenkinsAgentJnlp(StaplerRequest req, StaplerResponse res) class LowPermissionResponse { @WebMethod(name = "jenkins-agent.jnlp") - public HttpResponse doJenkinsAgentJnlp(StaplerRequest req, StaplerResponse res) { + public HttpResponse doJenkinsAgentJnlp(StaplerRequest2 req, StaplerResponse2 res) { return SlaveComputer.this.doJenkinsAgentJnlp(req, res); } @WebMethod(name = "slave-agent.jnlp") // backward compatibility - public HttpResponse doSlaveAgentJnlp(StaplerRequest req, StaplerResponse res) { + public HttpResponse doSlaveAgentJnlp(StaplerRequest2 req, StaplerResponse2 res) { return SlaveComputer.this.doJenkinsAgentJnlp(req, res); } } diff --git a/core/src/main/java/hudson/tasks/ArtifactArchiver.java b/core/src/main/java/hudson/tasks/ArtifactArchiver.java index 4300cd1538ab..0ee50010e6a2 100644 --- a/core/src/main/java/hudson/tasks/ArtifactArchiver.java +++ b/core/src/main/java/hudson/tasks/ArtifactArchiver.java @@ -63,7 +63,7 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Copies the artifacts into an archive directory. @@ -367,7 +367,7 @@ public FormValidation doCheckArtifacts(@AncestorInPath AbstractProject project, } @Override - public ArtifactArchiver newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public ArtifactArchiver newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { return req.bindJSON(ArtifactArchiver.class, formData); } diff --git a/core/src/main/java/hudson/tasks/BuildTrigger.java b/core/src/main/java/hudson/tasks/BuildTrigger.java index 5a58fc7e6716..af71ff83b147 100644 --- a/core/src/main/java/hudson/tasks/BuildTrigger.java +++ b/core/src/main/java/hudson/tasks/BuildTrigger.java @@ -73,7 +73,7 @@ import org.kohsuke.stapler.AncestorInPath; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.springframework.security.core.Authentication; /** @@ -385,7 +385,7 @@ public String getHelpFile() { } @Override - public BuildTrigger newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public BuildTrigger newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { String childProjectsString = formData.getString("childProjects").trim(); if (childProjectsString.endsWith(",")) { childProjectsString = childProjectsString.substring(0, childProjectsString.length() - 1).trim(); diff --git a/core/src/main/java/hudson/tasks/Fingerprinter.java b/core/src/main/java/hudson/tasks/Fingerprinter.java index 4d843b27b003..2d41e338f212 100644 --- a/core/src/main/java/hudson/tasks/Fingerprinter.java +++ b/core/src/main/java/hudson/tasks/Fingerprinter.java @@ -76,7 +76,7 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; import org.springframework.security.access.AccessDeniedException; /** @@ -351,7 +351,7 @@ public FormValidation doCheckTargets(@AncestorInPath AbstractProject proje } @Override - public Publisher newInstance(StaplerRequest req, JSONObject formData) { + public Publisher newInstance(StaplerRequest2 req, JSONObject formData) { return req.bindJSON(Fingerprinter.class, formData); } diff --git a/core/src/main/java/hudson/tasks/Maven.java b/core/src/main/java/hudson/tasks/Maven.java index 3c22790d383c..2e9e27326b8e 100644 --- a/core/src/main/java/hudson/tasks/Maven.java +++ b/core/src/main/java/hudson/tasks/Maven.java @@ -80,7 +80,7 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Build by using Maven. @@ -479,7 +479,7 @@ public void setInstallations(MavenInstallation... installations) { } @Override - public Builder newInstance(StaplerRequest req, JSONObject formData) throws FormException { + public Builder newInstance(StaplerRequest2 req, JSONObject formData) throws FormException { if (req == null) { // This state is prohibited according to the Javadoc of the super method. throw new FormException("Maven Build Step new instance method is called for null Stapler request. " diff --git a/core/src/main/java/hudson/tasks/Shell.java b/core/src/main/java/hudson/tasks/Shell.java index e34c90b89d5c..9cd070136b55 100644 --- a/core/src/main/java/hudson/tasks/Shell.java +++ b/core/src/main/java/hudson/tasks/Shell.java @@ -53,7 +53,7 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Executes a series of commands by using a shell. @@ -234,7 +234,7 @@ public FormValidation doCheckUnstableReturn(@QueryParameter String value) { } @Override - public boolean configure(StaplerRequest req, JSONObject data) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject data) throws FormException { req.bindJSON(this, data); return super.configure(req, data); } diff --git a/core/src/main/java/hudson/tools/ToolDescriptor.java b/core/src/main/java/hudson/tools/ToolDescriptor.java index cc9a2399196d..e20eb353af63 100644 --- a/core/src/main/java/hudson/tools/ToolDescriptor.java +++ b/core/src/main/java/hudson/tools/ToolDescriptor.java @@ -26,6 +26,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import hudson.Util; import hudson.model.Descriptor; import hudson.util.DescribableList; import hudson.util.FormValidation; @@ -43,6 +44,7 @@ import org.jvnet.tiger_types.Types; import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * {@link Descriptor} for {@link ToolInstallation}. @@ -144,8 +146,25 @@ public DescribableList, ToolPropertyDescriptor> getDefaultProper } @Override - @SuppressWarnings("unchecked") // cast to T[] + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { + if (Util.isOverridden(ToolDescriptor.class, getClass(), "configure", StaplerRequest.class, JSONObject.class)) { + return configure(StaplerRequest.fromStaplerRequest2(req), json); + } else { + return configureImpl(req, json); + } + } + + /** + * @deprecated use {@link #configure(StaplerRequest2, JSONObject)} + */ + @Deprecated + @Override public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + return configureImpl(StaplerRequest.toStaplerRequest2(req), json); + } + + @SuppressWarnings("unchecked") // cast to T[] + private boolean configureImpl(StaplerRequest2 req, JSONObject json) { setInstallations(req.bindJSONToList(clazz, json.get("tool")).toArray((T[]) Array.newInstance(clazz, 0))); return true; } diff --git a/core/src/main/java/hudson/triggers/SCMTrigger.java b/core/src/main/java/hudson/triggers/SCMTrigger.java index 43fdc6bb1062..f8277a345198 100644 --- a/core/src/main/java/hudson/triggers/SCMTrigger.java +++ b/core/src/main/java/hudson/triggers/SCMTrigger.java @@ -89,8 +89,8 @@ import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.DataBoundSetter; import org.kohsuke.stapler.QueryParameter; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * {@link Trigger} that checks for SCM updates periodically. @@ -356,7 +356,7 @@ public boolean isPollingThreadCountOptionVisible() { } @Override - public boolean configure(StaplerRequest req, JSONObject json) throws FormException { + public boolean configure(StaplerRequest2 req, JSONObject json) throws FormException { String t = json.optString("pollingThreadCount", null); if (doCheckPollingThreadCount(t).kind != FormValidation.Kind.OK) { setPollingThreadCount(THREADS_DEFAULT); @@ -466,7 +466,7 @@ public String getUrlName() { /** * Sends out the raw polling log output. */ - public void doPollingLog(StaplerRequest req, StaplerResponse rsp) throws IOException { + public void doPollingLog(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException { rsp.setContentType("text/plain;charset=UTF-8"); try (OutputStream os = rsp.getOutputStream(); // Prevent jelly from flushing stream so Content-Length header can be added afterwards diff --git a/core/src/main/java/hudson/util/BootFailure.java b/core/src/main/java/hudson/util/BootFailure.java index f23cf7fa66b7..321d8239664c 100644 --- a/core/src/main/java/hudson/util/BootFailure.java +++ b/core/src/main/java/hudson/util/BootFailure.java @@ -2,6 +2,7 @@ import edu.umd.cs.findbugs.annotations.CheckForNull; import hudson.WebAppMain; +import jakarta.servlet.ServletContext; import java.io.BufferedReader; import java.io.File; import java.io.IOException; @@ -14,7 +15,6 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.ServletContext; import jenkins.model.Jenkins; import jenkins.util.groovy.GroovyHookScript; import org.kohsuke.stapler.WebApp; diff --git a/core/src/main/java/hudson/util/CharacterEncodingFilter.java b/core/src/main/java/hudson/util/CharacterEncodingFilter.java index cb93c31e7d4a..2e42c0d8098c 100644 --- a/core/src/main/java/hudson/util/CharacterEncodingFilter.java +++ b/core/src/main/java/hudson/util/CharacterEncodingFilter.java @@ -24,17 +24,17 @@ package hudson.util; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; import jenkins.util.SystemProperties; +import org.kohsuke.stapler.CompatibleFilter; /** * Filter that sets the character encoding to be used in parsing the request @@ -42,7 +42,7 @@ * * @author Seiji Sogabe */ -public class CharacterEncodingFilter implements Filter { +public class CharacterEncodingFilter implements CompatibleFilter { /** * The default character encoding. diff --git a/core/src/main/java/hudson/util/ComboBoxModel.java b/core/src/main/java/hudson/util/ComboBoxModel.java index e245c890db2e..63cac72f4d0d 100644 --- a/core/src/main/java/hudson/util/ComboBoxModel.java +++ b/core/src/main/java/hudson/util/ComboBoxModel.java @@ -26,15 +26,15 @@ import static java.util.Arrays.asList; +import jakarta.servlet.ServletException; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collection; -import javax.servlet.ServletException; import net.sf.json.JSONArray; import org.kohsuke.stapler.HttpResponse; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.export.Flavor; /** @@ -59,7 +59,7 @@ public ComboBoxModel(String... values) { } @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { rsp.setContentType(Flavor.JSON.contentType); PrintWriter w = rsp.getWriter(); JSONArray.fromObject(this).write(w); diff --git a/core/src/main/java/hudson/util/DescribableList.java b/core/src/main/java/hudson/util/DescribableList.java index 9c62af2f191a..dbb499b4df66 100644 --- a/core/src/main/java/hudson/util/DescribableList.java +++ b/core/src/main/java/hudson/util/DescribableList.java @@ -50,6 +50,7 @@ import jenkins.model.DependencyDeclarer; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerRequest2; /** * Persisted list of {@link Describable}s with some operations specific @@ -167,7 +168,7 @@ public Map toMap() { * @param json * Structured form data that includes the data for nested descriptor list. */ - public void rebuild(StaplerRequest req, JSONObject json, List> descriptors) throws FormException, IOException { + public void rebuild(StaplerRequest2 req, JSONObject json, List> descriptors) throws FormException, IOException { List newList = new ArrayList<>(); for (Descriptor d : descriptors) { @@ -193,9 +194,17 @@ public void rebuild(StaplerRequest req, JSONObject json, List> descriptors) throws FormException, IOException { + rebuild(StaplerRequest.toStaplerRequest2(req), json, descriptors); + } + /** * @deprecated as of 1.271 - * Use {@link #rebuild(StaplerRequest, JSONObject, List)} instead. + * Use {@link #rebuild(StaplerRequest2, JSONObject, List)} instead. */ @Deprecated public void rebuild(StaplerRequest req, JSONObject json, List> descriptors, String prefix) throws FormException, IOException { @@ -210,10 +219,18 @@ public void rebuild(StaplerRequest req, JSONObject json, List> descriptors, String key) throws FormException, IOException { + public void rebuildHetero(StaplerRequest2 req, JSONObject formData, Collection> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req, formData, key, descriptors)); } + /** + * @deprecated use {@link #rebuildHetero(StaplerRequest2, JSONObject, Collection, String)} + */ + @Deprecated + public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection> descriptors, String key) throws FormException, IOException { + rebuildHetero(StaplerRequest.toStaplerRequest2(req), formData, descriptors, key); + } + /** * Picks up {@link DependencyDeclarer}s and allow it to build dependencies. */ diff --git a/core/src/main/java/hudson/util/DescriptorList.java b/core/src/main/java/hudson/util/DescriptorList.java index 94f105892cd8..c9b515d85c4e 100644 --- a/core/src/main/java/hudson/util/DescriptorList.java +++ b/core/src/main/java/hudson/util/DescriptorList.java @@ -160,7 +160,7 @@ public T newInstanceFromRadioList(JSONObject config) throws FormException { if (config.isNullObject()) return null; // none was selected int idx = config.getInt("value"); - return get(idx).newInstance(Stapler.getCurrentRequest(), config); + return get(idx).newInstance(Stapler.getCurrentRequest2(), config); } /** diff --git a/core/src/main/java/hudson/util/ErrorObject.java b/core/src/main/java/hudson/util/ErrorObject.java index 2f9f39ec8f19..48e1106b35f1 100644 --- a/core/src/main/java/hudson/util/ErrorObject.java +++ b/core/src/main/java/hudson/util/ErrorObject.java @@ -24,13 +24,13 @@ package hudson.util; -import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE; +import static jakarta.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE; import hudson.Functions; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * Basis for error model objects. @@ -52,7 +52,7 @@ public String getStackTraceString() { return Functions.printThrowable(this); } - public void doDynamic(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { + public void doDynamic(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, InterruptedException { rsp.setStatus(SC_SERVICE_UNAVAILABLE); req.getView(this, "index.jelly").forward(req, rsp); } diff --git a/core/src/main/java/hudson/util/FormApply.java b/core/src/main/java/hudson/util/FormApply.java index 8a1db5bebe4e..dc5e4d64df9b 100644 --- a/core/src/main/java/hudson/util/FormApply.java +++ b/core/src/main/java/hudson/util/FormApply.java @@ -24,11 +24,12 @@ package hudson.util; +import jakarta.servlet.ServletException; import java.io.IOException; -import javax.servlet.ServletException; import org.kohsuke.stapler.HttpResponses.HttpResponseException; import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import org.kohsuke.stapler.StaplerRequest2; +import org.kohsuke.stapler.StaplerResponse2; /** * Server-side code related to the {@code } button. @@ -47,7 +48,7 @@ public class FormApply { public static HttpResponseException success(final String destination) { return new HttpResponseException() { @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { if (isApply(req)) { // if the submission is via 'apply', show a response in the notification bar applyResponse("notificationBar.show('" + Messages.HttpResponses_Saved() + "',notificationBar.SUCCESS)") @@ -61,11 +62,21 @@ public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object nod /** * Is this submission from the "apply" button? + * + * @since TODO */ - public static boolean isApply(StaplerRequest req) { + public static boolean isApply(StaplerRequest2 req) { return Boolean.parseBoolean(req.getParameter("core:apply")); } + /** + * @deprecated use {@link #isApply(StaplerRequest2)} + */ + @Deprecated + public static boolean isApply(StaplerRequest req) { + return isApply(StaplerRequest.toStaplerRequest2(req)); + } + /** * Generates the response for the asynchronous background form submission (AKA the Apply button.) *

    @@ -75,7 +86,7 @@ public static boolean isApply(StaplerRequest req) { public static HttpResponseException applyResponse(final String script) { return new HttpResponseException() { @Override - public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException, ServletException { rsp.setContentType("text/html;charset=UTF-8"); rsp.getWriter().println(" + From 6651e8531eaf8c5d428a36c2e10f7c51ee016b16 Mon Sep 17 00:00:00 2001 From: Devin Nusbaum Date: Fri, 11 Oct 2024 14:42:38 -0400 Subject: [PATCH 0983/1330] [JENKINS-63343] Validate element types for collections and maps when deserializing XML files (#9727) * [JENKINS-63343] Validate element types in RobustCollectionConverter in some cases * [JENKINS-63343] Also validate keys and values in map entries * [JENKINS-63343] Improve OldDataMonitor error messages and update tests * [JENKINS-63343] Also handle implicit collection with unspecified element types * [JENKINS-63343] Spotless * [JENKINS-63343] Avoid rawtypes * [JENKINS-63343] Add tests for rawtypes * [JENKINS-63343] Adjust Javadoc for clarity * [JENKINS-63343] Avoid ClassCastException and check handling of null in tests * [JENKINS-63343] Fix Javadoc link by adding import * [JENKINS-63343] List.of cannot be used with null values --- .../util/RobustCollectionConverter.java | 48 +++++++- .../java/hudson/util/RobustMapConverter.java | 57 ++++++++- .../util/RobustReflectionConverter.java | 43 +++++-- .../util/RobustCollectionConverterTest.java | 70 +++++++++++ .../hudson/util/RobustMapConverterTest.java | 115 +++++++++++++++++- .../util/RobustReflectionConverterTest.java | 83 ++++++++++++- 6 files changed, 396 insertions(+), 20 deletions(-) diff --git a/core/src/main/java/hudson/util/RobustCollectionConverter.java b/core/src/main/java/hudson/util/RobustCollectionConverter.java index 64dbbc7d9e9a..f914d909be27 100644 --- a/core/src/main/java/hudson/util/RobustCollectionConverter.java +++ b/core/src/main/java/hudson/util/RobustCollectionConverter.java @@ -26,6 +26,7 @@ import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStreamException; +import com.thoughtworks.xstream.converters.ConversionException; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.converters.collections.CollectionConverter; import com.thoughtworks.xstream.converters.reflection.ReflectionProvider; @@ -34,11 +35,15 @@ import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.mapper.Mapper; import com.thoughtworks.xstream.security.InputManipulationException; +import edu.umd.cs.findbugs.annotations.CheckForNull; +import hudson.diagnosis.OldDataMonitor; +import java.lang.reflect.Type; import java.util.Collection; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArraySet; import java.util.logging.Logger; import jenkins.util.xstream.CriticalXStreamException; +import org.jvnet.tiger_types.Types; /** * {@link CollectionConverter} that ignores {@link XStreamException}. @@ -52,14 +57,39 @@ @SuppressWarnings({"rawtypes", "unchecked"}) public class RobustCollectionConverter extends CollectionConverter { private final SerializableConverter sc; + /** + * When available, this field holds the declared type of the collection being deserialized. + */ + private final @CheckForNull Class elementType; public RobustCollectionConverter(XStream xs) { - this(xs.getMapper(), xs.getReflectionProvider()); + this(xs.getMapper(), xs.getReflectionProvider(), null); } public RobustCollectionConverter(Mapper mapper, ReflectionProvider reflectionProvider) { + this(mapper, reflectionProvider, null); + } + + /** + * Creates a converter that will validate the types of collection elements during deserialization. + *

    Elements with invalid types will be omitted from deserialized collections and may result in an + * {@link OldDataMonitor} warning. + *

    This type checking currently uses the erasure of the type argument, so for example, the element type for a + * {@code List>} is just a raw {@code Optional}, so non-integer values inside of the optional + * would still deserialize successfully and the resulting optional would be included in the list. + * + * @see RobustReflectionConverter#unmarshalField + */ + public RobustCollectionConverter(Mapper mapper, ReflectionProvider reflectionProvider, Type collectionType) { super(mapper); sc = new SerializableConverter(mapper, reflectionProvider, new ClassLoaderReference(null)); + if (collectionType != null && Collection.class.isAssignableFrom(Types.erasure(collectionType))) { + var baseType = Types.getBaseClass(collectionType, Collection.class); + var typeArg = Types.getTypeArgument(baseType, 0, Object.class); + this.elementType = Types.erasure(typeArg); + } else { + this.elementType = null; + } } @Override @@ -85,9 +115,19 @@ protected void populateCollection(HierarchicalStreamReader reader, Unmarshalling reader.moveDown(); try { Object item = readBareItem(reader, context, collection); - long nanoNow = System.nanoTime(); - collection.add(item); - XStream2SecurityUtils.checkForCollectionDoSAttack(context, nanoNow); + if (elementType != null && item != null && !elementType.isInstance(item)) { + var exception = new ConversionException("Invalid type for collection element"); + // c.f. TreeUnmarshaller.addInformationTo + exception.add("required-type", elementType.getName()); + exception.add("class", item.getClass().getName()); + exception.add("converter-type", getClass().getName()); + reader.appendErrors(exception); + RobustReflectionConverter.addErrorInContext(context, exception); + } else { + long nanoNow = System.nanoTime(); + collection.add(item); + XStream2SecurityUtils.checkForCollectionDoSAttack(context, nanoNow); + } } catch (CriticalXStreamException e) { throw e; } catch (InputManipulationException e) { diff --git a/core/src/main/java/hudson/util/RobustMapConverter.java b/core/src/main/java/hudson/util/RobustMapConverter.java index f845e38771cc..c802959d0d09 100644 --- a/core/src/main/java/hudson/util/RobustMapConverter.java +++ b/core/src/main/java/hudson/util/RobustMapConverter.java @@ -31,9 +31,13 @@ import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.mapper.Mapper; import com.thoughtworks.xstream.security.InputManipulationException; +import edu.umd.cs.findbugs.annotations.CheckForNull; +import hudson.diagnosis.OldDataMonitor; +import java.lang.reflect.Type; import java.util.Map; import java.util.logging.Logger; import jenkins.util.xstream.CriticalXStreamException; +import org.jvnet.tiger_types.Types; /** * Loads a {@link Map} while tolerating read errors on its keys and values. @@ -42,13 +46,47 @@ final class RobustMapConverter extends MapConverter { private static final Object ERROR = new Object(); + /** + * When available, this field holds the declared type of the keys of the map being deserialized. + */ + private final @CheckForNull Class keyType; + + /** + * When available, this field holds the declared type of the values of the map being deserialized. + */ + private final @CheckForNull Class valueType; + RobustMapConverter(Mapper mapper) { + this(mapper, null); + } + + /** + * Creates a converter that will validate the types of map entry keys and values during deserialization. + *

    Map entries whose key or value has an invalid type will be omitted from deserialized maps and may result in + * an {@link OldDataMonitor} warning. + *

    This type checking currently uses the erasure of the type argument, so for example, the value type for a + * {@code Map>} is just a raw {@code Optional}, so non-integer values inside of the + * optional would still deserialize successfully and the resulting map entry would be included in the map. + * + * @see RobustReflectionConverter#unmarshalField + */ + RobustMapConverter(Mapper mapper, Type mapType) { super(mapper); + if (mapType != null && Map.class.isAssignableFrom(Types.erasure(mapType))) { + var baseType = Types.getBaseClass(mapType, Map.class); + var keyTypeArg = Types.getTypeArgument(baseType, 0, Object.class); + this.keyType = Types.erasure(keyTypeArg); + var valueTypeArg = Types.getTypeArgument(baseType, 1, Object.class); + this.valueType = Types.erasure(valueTypeArg); + } else { + this.keyType = null; + this.valueType = null; + } } @Override protected void putCurrentEntryIntoMap(HierarchicalStreamReader reader, UnmarshallingContext context, Map map, Map target) { - Object key = read(reader, context, map); - Object value = read(reader, context, map); + Object key = read(reader, context, map, keyType); + Object value = read(reader, context, map, valueType); if (key != ERROR && value != ERROR) { try { long nanoNow = System.nanoTime(); @@ -64,7 +102,7 @@ final class RobustMapConverter extends MapConverter { } } - private Object read(HierarchicalStreamReader reader, UnmarshallingContext context, Map map) { + private Object read(HierarchicalStreamReader reader, UnmarshallingContext context, Map map, @CheckForNull Class expectedType) { if (!reader.hasMoreChildren()) { var exception = new ConversionException("Invalid map entry"); reader.appendErrors(exception); @@ -73,7 +111,18 @@ private Object read(HierarchicalStreamReader reader, UnmarshallingContext contex } reader.moveDown(); try { - return readBareItem(reader, context, map); + var object = readBareItem(reader, context, map); + if (expectedType != null && object != null && !expectedType.isInstance(object)) { + var exception = new ConversionException("Invalid type for map entry key/value"); + // c.f. TreeUnmarshaller.addInformationTo + exception.add("required-type", expectedType.getName()); + exception.add("class", object.getClass().getName()); + exception.add("converter-type", getClass().getName()); + reader.appendErrors(exception); + RobustReflectionConverter.addErrorInContext(context, exception); + return ERROR; + } + return object; } catch (CriticalXStreamException x) { throw x; } catch (XStreamException | LinkageError x) { diff --git a/core/src/main/java/hudson/util/RobustReflectionConverter.java b/core/src/main/java/hudson/util/RobustReflectionConverter.java index d1bc500003e1..686aad13c342 100644 --- a/core/src/main/java/hudson/util/RobustReflectionConverter.java +++ b/core/src/main/java/hudson/util/RobustReflectionConverter.java @@ -48,6 +48,7 @@ import hudson.model.Saveable; import hudson.security.ACL; import java.lang.reflect.Field; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -65,6 +66,7 @@ import jenkins.util.xstream.CriticalXStreamException; import net.jcip.annotations.GuardedBy; import org.acegisecurity.Authentication; +import org.jvnet.tiger_types.Types; /** * Custom {@link ReflectionConverter} that handle errors more gracefully. @@ -80,7 +82,7 @@ @SuppressWarnings({"rawtypes", "unchecked"}) public class RobustReflectionConverter implements Converter { - private static /* non-final for Groovy */ boolean RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = SystemProperties.getBoolean(RobustReflectionConverter.class.getName() + ".recordFailuresForAllAuthentications", false); + static /* non-final for Groovy */ boolean RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = SystemProperties.getBoolean(RobustReflectionConverter.class.getName() + ".recordFailuresForAllAuthentications", false); private static /* non-final for Groovy */ boolean RECORD_FAILURES_FOR_ADMINS = SystemProperties.getBoolean(RobustReflectionConverter.class.getName() + ".recordFailuresForAdmins", false); protected final ReflectionProvider reflectionProvider; @@ -324,7 +326,8 @@ public Object doUnmarshal(final Object result, final HierarchicalStreamReader re } } - Map implicitCollectionsForCurrentObject = null; + Map> implicitCollectionsForCurrentObject = new HashMap<>(); + Map> implicitCollectionElementTypesForCurrentObject = new HashMap<>(); while (reader.hasMoreChildren()) { reader.moveDown(); @@ -365,7 +368,7 @@ public Object doUnmarshal(final Object result, final HierarchicalStreamReader re reflectionProvider.writeField(result, fieldName, value, classDefiningField); seenFields.add(classDefiningField, fieldName); } else { - implicitCollectionsForCurrentObject = writeValueToImplicitCollection(context, value, implicitCollectionsForCurrentObject, result, fieldName); + writeValueToImplicitCollection(reader, context, value, implicitCollectionsForCurrentObject, implicitCollectionElementTypesForCurrentObject, result, fieldName); } } } catch (CriticalXStreamException e) { @@ -451,18 +454,23 @@ private boolean fieldDefinedInClass(Object result, String attrName) { protected Object unmarshalField(final UnmarshallingContext context, final Object result, Class type, Field field) { Converter converter = mapper.getLocalConverter(field.getDeclaringClass(), field.getName()); + if (converter == null) { + if (new RobustCollectionConverter(mapper, reflectionProvider).canConvert(type)) { + converter = new RobustCollectionConverter(mapper, reflectionProvider, field.getGenericType()); + } else if (new RobustMapConverter(mapper).canConvert(type)) { + converter = new RobustMapConverter(mapper, field.getGenericType()); + } + } return context.convertAnother(result, type, converter); } - private Map writeValueToImplicitCollection(UnmarshallingContext context, Object value, Map implicitCollections, Object result, String itemFieldName) { + private void writeValueToImplicitCollection(HierarchicalStreamReader reader, UnmarshallingContext context, Object value, Map> implicitCollections, Map> implicitCollectionElementTypes, Object result, String itemFieldName) { String fieldName = mapper.getFieldNameForItemTypeAndName(context.getRequiredType(), value.getClass(), itemFieldName); if (fieldName != null) { - if (implicitCollections == null) { - implicitCollections = new HashMap(); // lazy instantiation - } - Collection collection = (Collection) implicitCollections.get(fieldName); + Collection collection = implicitCollections.get(fieldName); if (collection == null) { - Class fieldType = mapper.defaultImplementationOf(reflectionProvider.getFieldType(result, fieldName, null)); + Field field = reflectionProvider.getField(result.getClass(), fieldName); + Class fieldType = mapper.defaultImplementationOf(field.getType()); if (!Collection.class.isAssignableFrom(fieldType)) { throw new ObjectAccessException("Field " + fieldName + " of " + result.getClass().getName() + " is configured for an implicit Collection, but field is of type " + fieldType.getName()); @@ -473,10 +481,25 @@ private Map writeValueToImplicitCollection(UnmarshallingContext context, Object collection = (Collection) pureJavaReflectionProvider.newInstance(fieldType); reflectionProvider.writeField(result, fieldName, collection, null); implicitCollections.put(fieldName, collection); + Type fieldGenericType = field.getGenericType(); + Type elementGenericType = Types.getTypeArgument(Types.getBaseClass(fieldGenericType, Collection.class), 0, Object.class); + Class elementType = Types.erasure(elementGenericType); + implicitCollectionElementTypes.put(fieldName, elementType); + } + Class elementType = implicitCollectionElementTypes.getOrDefault(fieldName, Object.class); + if (!elementType.isInstance(value)) { + var exception = new ConversionException("Invalid element type for implicit collection for field: " + fieldName); + // c.f. TreeUnmarshaller.addInformationTo + exception.add("required-type", elementType.getName()); + exception.add("class", value.getClass().getName()); + exception.add("converter-type", getClass().getName()); + reader.appendErrors(exception); + throw exception; } collection.add(value); + } else { + // TODO: Should we warn in this case? The value will be ignored. } - return implicitCollections; } private Class determineWhichClassDefinesField(HierarchicalStreamReader reader) { diff --git a/core/src/test/java/hudson/util/RobustCollectionConverterTest.java b/core/src/test/java/hudson/util/RobustCollectionConverterTest.java index 7786fb0833f7..57f2ad42af39 100644 --- a/core/src/test/java/hudson/util/RobustCollectionConverterTest.java +++ b/core/src/test/java/hudson/util/RobustCollectionConverterTest.java @@ -32,6 +32,8 @@ import static org.junit.Assert.assertTrue; import com.thoughtworks.xstream.security.InputManipulationException; +import hudson.model.Saveable; +import java.io.IOException; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; @@ -42,10 +44,24 @@ import java.util.Map; import java.util.Set; import jenkins.util.xstream.CriticalXStreamException; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.jvnet.hudson.test.Issue; public class RobustCollectionConverterTest { + private final boolean originalRecordFailures = RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS; + + @Before + public void before() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = true; + } + + @After + public void after() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = originalRecordFailures; + } + @Test public void workingByDefaultWithSimplePayload() { XStream2 xstream2 = new XStream2(); @@ -173,4 +189,58 @@ private Set preparePayload() { } return set; } + + @Issue("JENKINS-63343") + @Test + public void checkElementTypes() { + var xmlContent = + """ + + + 1 + 2 + oops! + + 3 + + + """; + var actual = (Data) new XStream2().fromXML(xmlContent); + assertEquals(Arrays.asList(1, 2, null, 3), actual.numbers); + } + + @Test + public void rawtypes() { + var xmlContent = + """ + + + 1 + 2 + oops! + 3 + + + """; + var actual = (DataRaw) new XStream2().fromXML(xmlContent); + assertEquals(List.of(1, 2, "oops!", 3), actual.values); + } + + public static class Data implements Saveable { + private List numbers; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } + } + + public static class DataRaw implements Saveable { + private List values; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } + } } diff --git a/core/src/test/java/hudson/util/RobustMapConverterTest.java b/core/src/test/java/hudson/util/RobustMapConverterTest.java index b74ac9303f71..c46a7ade2f57 100644 --- a/core/src/test/java/hudson/util/RobustMapConverterTest.java +++ b/core/src/test/java/hudson/util/RobustMapConverterTest.java @@ -32,13 +32,29 @@ import static org.junit.Assert.assertTrue; import com.thoughtworks.xstream.security.InputManipulationException; +import hudson.model.Saveable; +import java.io.IOException; import java.util.HashMap; import java.util.Map; import jenkins.util.xstream.CriticalXStreamException; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.jvnet.hudson.test.Issue; public class RobustMapConverterTest { + private final boolean originalRecordFailures = RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS; + + @Before + public void before() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = true; + } + + @After + public void after() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = originalRecordFailures; + } + /** * As RobustMapConverter is the replacer of the default MapConverter * We had to patch it in order to not be impacted by CVE-2021-43859 @@ -146,6 +162,7 @@ private Map preparePayload() { @Test public void robustAgainstInvalidEntry() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = true; XStream2 xstream2 = new XStream2(); String xml = """ @@ -184,7 +201,103 @@ public void robustAgainstInvalidEntryWithNoValue() { assertThat(data.map, equalTo(Map.of("key2", "value2"))); } - private static final class Data { + @Issue("JENKINS-63343") + @Test + public void robustAgainstInvalidKeyType() { + XStream2 xstream2 = new XStream2(); + String xml = + """ + + + + 1 + value1 + + + key2 + value2 + + + + value3 + + + + """; + Data data = (Data) xstream2.fromXML(xml); + var map = new HashMap<>(); + map.put("key2", "value2"); + map.put(null, "value3"); + assertThat(data.map, equalTo(map)); + } + + @Issue("JENKINS-63343") + @Test + public void robustAgainstInvalidValueType() { + XStream2 xstream2 = new XStream2(); + String xml = + """ + + + + key1 + value1 + + + key2 + 2 + + + key3 + + + + + """; + Data data = (Data) xstream2.fromXML(xml); + var map = new HashMap<>(); + map.put("key1", "value1"); + map.put("key3", null); + assertThat(data.map, equalTo(map)); + } + + @Test + public void rawtypes() { + XStream2 xstream2 = new XStream2(); + String xml = + """ + + + + key1 + value1 + + + key2 + 2 + + + + """; + var data = (DataRaw) xstream2.fromXML(xml); + assertThat(data.map, equalTo(Map.of("key1", "value1", "key2", 2))); + } + + private static class Data implements Saveable { Map map; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } + } + + private static class DataRaw implements Saveable { + Map map; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } } } diff --git a/core/src/test/java/hudson/util/RobustReflectionConverterTest.java b/core/src/test/java/hudson/util/RobustReflectionConverterTest.java index bb392132afdd..9f3da4b754b3 100644 --- a/core/src/test/java/hudson/util/RobustReflectionConverterTest.java +++ b/core/src/test/java/hudson/util/RobustReflectionConverterTest.java @@ -26,6 +26,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -41,6 +42,8 @@ import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.mapper.Mapper; import com.thoughtworks.xstream.security.InputManipulationException; +import hudson.model.Saveable; +import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; @@ -52,6 +55,9 @@ import java.util.logging.Logger; import jenkins.util.xstream.CriticalXStreamException; import org.hamcrest.Matchers; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.jvnet.hudson.test.Issue; @@ -59,11 +65,22 @@ * @author Kohsuke Kawaguchi */ public class RobustReflectionConverterTest { + private final boolean originalRecordFailures = RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS; static { Logger.getLogger(RobustReflectionConverter.class.getName()).setLevel(Level.OFF); } + @Before + public void before() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = true; + } + + @After + public void after() { + RobustReflectionConverter.RECORD_FAILURES_FOR_ALL_AUTHENTICATIONS = originalRecordFailures; + } + @Test public void robustUnmarshalling() { Point p = read(new XStream2()); @@ -132,8 +149,72 @@ public void implicitCollection() { "", xs.toXML(h)); } - public static class Hold { + @Ignore("Throws an NPE in writeValueToImplicitCollection. Issue has existed since RobustReflectionConverter was created.") + @Test + public void implicitCollectionsAllowNullElements() { + XStream2 xs = new XStream2(); + xs.alias("hold", Hold.class); + xs.addImplicitCollection(Hold.class, "items", "item", String.class); + Hold h = (Hold) xs.fromXML("b"); + assertThat(h.items, Matchers.containsInAnyOrder(null, "b")); + assertEquals("\n" + + " \n" + + " b\n" + + "", xs.toXML(h)); + } + + @Issue("JENKINS-63343") + @Test + public void robustAgainstImplicitCollectionElementsWithBadTypes() { + XStream2 xs = new XStream2(); + xs.alias("hold", Hold.class); + // Note that the fix only matters for `addImplicitCollection` overloads like the following where the element type is not provided. + xs.addImplicitCollection(Hold.class, "items"); + Hold h = (Hold) xs.fromXML( + """ + + 123 + abc + 456 + def + + """); + assertThat(h.items, equalTo(List.of("abc", "def"))); + } + + public static class Hold implements Saveable { List items; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } + } + + @Test + public void implicitCollectionRawtypes() { + XStream2 xs = new XStream2(); + xs.alias("hold", HoldRaw.class); + xs.addImplicitCollection(HoldRaw.class, "items"); + var h = (HoldRaw) xs.fromXML( + """ + + 123 + abc + 456 + def + + """); + assertThat(h.items, equalTo(List.of(123, "abc", 456, "def"))); + } + + public static class HoldRaw implements Saveable { + List items; + + @Override + public void save() throws IOException { + // We only implement Saveable so that RobustReflectionConverter logs deserialization problems. + } } @Retention(RetentionPolicy.RUNTIME) @interface Owner { From 3ee0e787ff815a15a4aabc2ceea099236294c190 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 11:55:56 -0700 Subject: [PATCH 0984/1330] Update jenkins/ath Docker tag to v6038 (#9854) 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 a246733c5c2c..7009d692b8d0 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=6034.vfb_c575f4f616 +export ATH_VERSION=6038.v190f938efc87 if [[ $# -eq 0 ]]; then export JDK=17 From 4a9fb7739a298d0019124b38892caa4a6a4d3b47 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 11:56:19 -0700 Subject: [PATCH 0985/1330] Update dependency org.jenkins-ci.plugins:credentials to v1389 (#9853) Co-authored-by: renovate[bot] <29139614+renovate[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 019fe23d98b6..c911388fdef3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -224,7 +224,7 @@ THE SOFTWARE. org.jenkins-ci.plugins credentials - 1384.vf0a_2ed06f9c6 + 1389.vd7a_b_f5fa_50a_2 test From 925de03663e9768d6f64d19b0b0ed04596f338d0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 11:56:41 -0700 Subject: [PATCH 0986/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2341 (#9850) Co-authored-by: renovate[bot] <29139614+renovate[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 c911388fdef3..ba67c9804137 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2307.v10e5d0701b_e5 + 2341.v35346d95d2b_7 test From d34b17ee4b85787be56a2d6f32186e3839d5482d Mon Sep 17 00:00:00 2001 From: Devin Nusbaum Date: Sat, 12 Oct 2024 08:06:18 -0400 Subject: [PATCH 0987/1330] [JENKINS-73835] Do not allow builds to be deleted while they are still running and ensure build discarders run after builds are fully complete (#9810) * [JENKINS-73835] Do not allow builds to be deleted while they are still running * [JENKINS-73835] Avoid redundant calls to Job.logRotate when builds complete and always call Job.logRotate after build finalization * [JENKINS-73835] Add issue reference to RunTest.buildsMayNotBeDeletedWhileRunning * [JENKINS-73835] Adjust DeleteBuildsCommandTest.deleteBuildsShouldSuccessEvenTheBuildIsRunning to match new behavior * [JENKINS-73835] Run/delete.jelly should check Run.isLogUpdated, not Run.isBuilding --- core/src/main/java/hudson/model/Run.java | 9 +++----- .../main/java/hudson/tasks/LogRotator.java | 2 +- .../model/BackgroundGlobalBuildDiscarder.java | 13 +++++++++++- .../model/GlobalBuildDiscarderListener.java | 13 ++++++++++-- .../resources/hudson/model/Run/delete.jelly | 2 +- .../hudson/cli/DeleteBuildsCommandTest.java | 21 ++++++------------- test/src/test/java/hudson/model/RunTest.java | 14 +++++++++++++ .../java/hudson/tasks/LogRotatorTest.java | 16 ++++++++++++++ 8 files changed, 64 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 450be07b7f1a..ec7eaabf32c6 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -1551,6 +1551,9 @@ public synchronized void deleteArtifacts() throws IOException { * if we fail to delete. */ public void delete() throws IOException { + if (isLogUpdated()) { + throw new IOException("Unable to delete " + this + " because it is still running"); + } synchronized (this) { // Avoid concurrent delete. See https://issues.jenkins.io/browse/JENKINS-61687 if (isPendingDelete) { @@ -1885,12 +1888,6 @@ protected final void execute(@NonNull RunExecution job) { LOGGER.log(Level.SEVERE, "Failed to save build record", e); } } - - try { - getParent().logRotate(); - } catch (Exception e) { - LOGGER.log(Level.SEVERE, "Failed to rotate log", e); - } } finally { onEndBuilding(); if (logger != null) { diff --git a/core/src/main/java/hudson/tasks/LogRotator.java b/core/src/main/java/hudson/tasks/LogRotator.java index ca95081b0385..0b47f035d809 100644 --- a/core/src/main/java/hudson/tasks/LogRotator.java +++ b/core/src/main/java/hudson/tasks/LogRotator.java @@ -250,7 +250,7 @@ private boolean shouldKeepRun(Run r, Run lsb, Run lstb) { LOGGER.log(FINER, "{0} is not to be removed or purged of artifacts because it’s the last stable build", r); return true; } - if (r.isBuilding()) { + if (r.isLogUpdated()) { LOGGER.log(FINER, "{0} is not to be removed or purged of artifacts because it’s still building", r); return true; } diff --git a/core/src/main/java/jenkins/model/BackgroundGlobalBuildDiscarder.java b/core/src/main/java/jenkins/model/BackgroundGlobalBuildDiscarder.java index 1a42c0577a47..ad33643879f5 100644 --- a/core/src/main/java/jenkins/model/BackgroundGlobalBuildDiscarder.java +++ b/core/src/main/java/jenkins/model/BackgroundGlobalBuildDiscarder.java @@ -31,6 +31,7 @@ import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.stream.Stream; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -56,8 +57,18 @@ protected void execute(TaskListener listener) throws IOException, InterruptedExc } } + /** + * Runs all globally configured build discarders against a job. + */ public static void processJob(TaskListener listener, Job job) { - GlobalBuildDiscarderConfiguration.get().getConfiguredBuildDiscarders().forEach(strategy -> { + processJob(listener, job, GlobalBuildDiscarderConfiguration.get().getConfiguredBuildDiscarders().stream()); + } + + /** + * Runs the specified build discarders against a job. + */ + public static void processJob(TaskListener listener, Job job, Stream strategies) { + strategies.forEach(strategy -> { String displayName = strategy.getDescriptor().getDisplayName(); if (strategy.isApplicable(job)) { try { diff --git a/core/src/main/java/jenkins/model/GlobalBuildDiscarderListener.java b/core/src/main/java/jenkins/model/GlobalBuildDiscarderListener.java index 7ddea84c4241..6d2c58b44774 100644 --- a/core/src/main/java/jenkins/model/GlobalBuildDiscarderListener.java +++ b/core/src/main/java/jenkins/model/GlobalBuildDiscarderListener.java @@ -35,7 +35,7 @@ import org.kohsuke.accmod.restrictions.NoExternalUse; /** - * Run background build discarders on an individual job once a build is finalized + * Run build discarders on an individual job once a build is finalized */ @Extension @Restricted(NoExternalUse.class) @@ -46,6 +46,15 @@ public class GlobalBuildDiscarderListener extends RunListener { @Override public void onFinalized(Run run) { Job job = run.getParent(); - BackgroundGlobalBuildDiscarder.processJob(new LogTaskListener(LOGGER, Level.FINE), job); + try { + // Job-level build discarder execution is unconditional. + job.logRotate(); + } catch (Exception e) { + LOGGER.log(Level.WARNING, e, () -> "Failed to rotate log for " + run); + } + // Avoid calling Job.logRotate twice in case JobGlobalBuildDiscarderStrategy is configured globally. + BackgroundGlobalBuildDiscarder.processJob(new LogTaskListener(LOGGER, Level.FINE), job, + GlobalBuildDiscarderConfiguration.get().getConfiguredBuildDiscarders().stream() + .filter(s -> !(s instanceof JobGlobalBuildDiscarderStrategy))); } } diff --git a/core/src/main/resources/hudson/model/Run/delete.jelly b/core/src/main/resources/hudson/model/Run/delete.jelly index 83e3cbd77e71..7443203f2650 100644 --- a/core/src/main/resources/hudson/model/Run/delete.jelly +++ b/core/src/main/resources/hudson/model/Run/delete.jelly @@ -27,7 +27,7 @@ THE SOFTWARE. --> - + diff --git a/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java b/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java index dfac64fc1b5a..5e2e917e9808 100644 --- a/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java +++ b/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java @@ -32,21 +32,18 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasSize; import static org.junit.Assert.assertNotNull; -import static org.junit.Assume.assumeFalse; -import hudson.Functions; import hudson.model.ExecutorTest; import hudson.model.FreeStyleProject; import hudson.model.Item; import hudson.model.Run; import hudson.model.labels.LabelAtom; import hudson.tasks.Shell; -import java.io.IOException; import jenkins.model.Jenkins; -import org.junit.AssumptionViolatedException; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; /** @@ -139,8 +136,8 @@ public class DeleteBuildsCommandTest { assertThat(result.stdout(), containsString("Deleted 0 builds")); } - @Test public void deleteBuildsShouldSuccessEvenTheBuildIsRunning() throws Exception { - assumeFalse("You can't delete files that are in use on Windows", Functions.isWindows()); + @Issue("JENKINS-73835") + @Test public void deleteBuildsShouldFailIfTheBuildIsRunning() throws Exception { FreeStyleProject project = j.createFreeStyleProject("aProject"); ExecutorTest.startBlockingBuild(project); assertThat(((FreeStyleProject) j.jenkins.getItem("aProject")).getBuilds(), hasSize(1)); @@ -148,15 +145,9 @@ public class DeleteBuildsCommandTest { final CLICommandInvoker.Result result = command .authorizedTo(Jenkins.READ, Item.READ, Run.DELETE) .invokeWithArgs("aProject", "1"); - assertThat(result, succeeded()); - assertThat(result.stdout(), containsString("Deleted 1 builds")); - assertThat(((FreeStyleProject) j.jenkins.getItem("aProject")).getBuilds(), hasSize(0)); - assertThat(project.isBuilding(), equalTo(false)); - try { - project.delete(); - } catch (IOException | InterruptedException x) { - throw new AssumptionViolatedException("Could not delete test project (race condition?)", x); - } + assertThat(result, failedWith(1)); + assertThat(result, hasNoStandardOutput()); + assertThat(result.stderr(), containsString("Unable to delete aProject #1 because it is still running")); } @Test public void deleteBuildsShouldSuccessEvenTheBuildIsStuckInTheQueue() throws Exception { diff --git a/test/src/test/java/hudson/model/RunTest.java b/test/src/test/java/hudson/model/RunTest.java index 34be1f14c2ef..4df895309abb 100644 --- a/test/src/test/java/hudson/model/RunTest.java +++ b/test/src/test/java/hudson/model/RunTest.java @@ -30,6 +30,7 @@ import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import hudson.ExtensionList; @@ -62,6 +63,7 @@ import org.junit.experimental.categories.Category; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.SleepBuilder; import org.jvnet.hudson.test.SmokeTest; import org.jvnet.hudson.test.TestExtension; import org.kohsuke.stapler.DataBoundConstructor; @@ -128,6 +130,18 @@ public void onDeleted(Saveable o, XmlFile file) { } } + @Issue("JENKINS-73835") + @Test public void buildsMayNotBeDeletedWhileRunning() throws Exception { + var p = j.createFreeStyleProject(); + p.getBuildersList().add(new SleepBuilder(999999)); + var b = p.scheduleBuild2(0).waitForStart(); + var ex = assertThrows(IOException.class, () -> b.delete()); + assertThat(ex.getMessage(), containsString("Unable to delete " + b + " because it is still running")); + b.getExecutor().interrupt(); + j.waitForCompletion(b); + b.delete(); // Works fine. + } + @Issue("SECURITY-1902") @Test public void preventXssInBadgeTooltip() throws Exception { j.jenkins.setQuietPeriod(0); diff --git a/test/src/test/java/hudson/tasks/LogRotatorTest.java b/test/src/test/java/hudson/tasks/LogRotatorTest.java index b72e837dbd86..118a860147a1 100644 --- a/test/src/test/java/hudson/tasks/LogRotatorTest.java +++ b/test/src/test/java/hudson/tasks/LogRotatorTest.java @@ -50,8 +50,10 @@ import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; +import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; +import org.jvnet.hudson.test.BuildWatcher; import org.jvnet.hudson.test.FailureBuilder; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; @@ -62,6 +64,9 @@ */ public class LogRotatorTest { + @ClassRule + public static BuildWatcher watcher = new BuildWatcher(); + @Rule public JenkinsRule j = new JenkinsRule(); @@ -96,6 +101,17 @@ public void successVsFailureWithRemoveLastBuild() throws Exception { assertEquals(2, numberOf(project.getLastFailedBuild())); } + @Test + public void ableToDeleteCurrentBuild() throws Exception { + var p = j.createFreeStyleProject(); + // Keep 0 builds, i.e. immediately delete builds as they complete. + LogRotator logRotator = new LogRotator(-1, 0, -1, -1); + logRotator.setRemoveLastBuild(true); + p.setBuildDiscarder(logRotator); + j.buildAndAssertStatus(Result.SUCCESS, p); + assertNull(p.getBuildByNumber(1)); + } + @Test @Issue("JENKINS-2417") public void stableVsUnstable() throws Exception { From 829be14884ec3af76ee9c28b5670856e2829476a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 12 Oct 2024 06:06:31 -0600 Subject: [PATCH 0988/1330] Fill in since annotations (#9849) Co-authored-by: timja <21194782+timja@users.noreply.github.com> --- core/src/main/java/hudson/model/ComputerSet.java | 2 +- .../main/java/hudson/model/listeners/SaveableListener.java | 4 ++-- core/src/main/java/hudson/security/AuthorizationStrategy.java | 2 +- core/src/main/java/jenkins/model/IComputer.java | 2 +- core/src/main/java/jenkins/model/IDisplayExecutor.java | 2 +- core/src/main/java/jenkins/model/IExecutor.java | 2 +- .../main/java/jenkins/model/ModelObjectWithContextMenu.java | 4 ++-- core/src/main/java/jenkins/model/queue/ITask.java | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/hudson/model/ComputerSet.java b/core/src/main/java/hudson/model/ComputerSet.java index f8e4905b0904..fcc0aa4e41e7 100644 --- a/core/src/main/java/hudson/model/ComputerSet.java +++ b/core/src/main/java/hudson/model/ComputerSet.java @@ -118,7 +118,7 @@ public static List get_monitors() { * @deprecated Use {@link #getComputers()} instead. * @return All {@link Computer} instances managed by this set. */ - @Deprecated(since = "TODO") + @Deprecated(since = "2.480") public Computer[] get_all() { return getComputers().stream().filter(Computer.class::isInstance).toArray(Computer[]::new); } diff --git a/core/src/main/java/hudson/model/listeners/SaveableListener.java b/core/src/main/java/hudson/model/listeners/SaveableListener.java index 02747877e76f..14877d080bf5 100644 --- a/core/src/main/java/hudson/model/listeners/SaveableListener.java +++ b/core/src/main/java/hudson/model/listeners/SaveableListener.java @@ -60,7 +60,7 @@ public void onChange(Saveable o, XmlFile file) {} * The saveable object. * @param file * The {@link XmlFile} for this saveable object. - * @since TODO + * @since 2.480 */ public void onDeleted(Saveable o, XmlFile file) {} @@ -92,7 +92,7 @@ public static void fireOnChange(Saveable o, XmlFile file) { /** * Fires the {@link #onDeleted} event. - * @since TODO + * @since 2.480 */ public static void fireOnDeleted(Saveable o, XmlFile file) { Listeners.notify(SaveableListener.class, false, l -> l.onDeleted(o, file)); diff --git a/core/src/main/java/hudson/security/AuthorizationStrategy.java b/core/src/main/java/hudson/security/AuthorizationStrategy.java index 08fa10fe9897..5ca218f6a8fd 100644 --- a/core/src/main/java/hudson/security/AuthorizationStrategy.java +++ b/core/src/main/java/hudson/security/AuthorizationStrategy.java @@ -162,7 +162,7 @@ public abstract class AuthorizationStrategy extends AbstractDescribableImpl Date: Sat, 12 Oct 2024 08:06:47 -0400 Subject: [PATCH 0989/1330] Correctly iterate `IComputer`s from `ComputerSet/index.jelly` (#9852) --- core/src/main/resources/hudson/model/ComputerSet/index.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/hudson/model/ComputerSet/index.jelly b/core/src/main/resources/hudson/model/ComputerSet/index.jelly index 1b3c9aa1ea02..c96346ac4949 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/index.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/index.jelly @@ -73,7 +73,7 @@ THE SOFTWARE. - +
    From 4622a85d170b2a5a3b681ba0a6f7dcce6a9195b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 12 Oct 2024 06:07:46 -0600 Subject: [PATCH 0990/1330] Update dependency globals to v15.11.0 (#9856) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6e01d39f94bf..bee799d33b55 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "9.12.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", - "globals": "15.10.0", + "globals": "15.11.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.9.1", "postcss": "8.4.47", diff --git a/yarn.lock b/yarn.lock index 1c9ced4c8b74..c2f3678b1cc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3999,10 +3999,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:15.10.0": - version: 15.10.0 - resolution: "globals@npm:15.10.0" - checksum: 10c0/fef8f320e88f01f1492fef1b04b056908e1f6726eeaffe3bca03247237300c2d86e71585ee641b62ba71460a6eaff0d6ca7fca284e61bd1b3f833c7ad68b160a +"globals@npm:15.11.0": + version: 15.11.0 + resolution: "globals@npm:15.11.0" + checksum: 10c0/861e39bb6bd9bd1b9f355c25c962e5eb4b3f0e1567cf60fa6c06e8c502b0ec8706b1cce055d69d84d0b7b8e028bec5418cf629a54e7047e116538d1c1c1a375c languageName: node linkType: hard @@ -4418,7 +4418,7 @@ __metadata: eslint: "npm:9.12.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" - globals: "npm:15.10.0" + globals: "npm:15.11.0" handlebars: "npm:4.7.8" handlebars-loader: "npm:1.7.3" hotkeys-js: "npm:3.12.2" From d0d0cc88c765a25cee7e5214582b9db1b2253949 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sat, 12 Oct 2024 08:59:27 -0700 Subject: [PATCH 0991/1330] Winstone 8.2: Upgrade Jetty from 12.0.13 to Jetty 12.0.14 (#9841) --- pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0ae24f547d80..1a472b3fd02a 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,7 @@ THE SOFTWARE. 1.30 false - 8.1 + 8.2 20.18.0 diff --git a/war/pom.xml b/war/pom.xml index 6511cded90fc..770d20d1047c 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -645,7 +645,7 @@ THE SOFTWARE. org.eclipse.jetty.ee9 jetty-ee9-maven-plugin - 12.0.13 + 12.0.14 org.jenkins-ci.plugins matrix-project - 839.vff91cd7e3a_b_2 + 840.v812f627cb_578 hpi From fbad19eecfe271bfa58f62e9374c4ea52228884c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 12 Oct 2024 15:59:06 -0700 Subject: [PATCH 0994/1330] Update dependency org.jenkins-ci.plugins:mailer to v489 (#9860) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index be6d2c5175b6..c36a43f5b255 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -236,7 +236,7 @@ THE SOFTWARE. org.jenkins-ci.plugins mailer - 488.v0c9639c1a_eb_3 + 489.vd4b_25144138f test diff --git a/war/pom.xml b/war/pom.xml index 98da6bb33c6a..27fd0307aead 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -279,7 +279,7 @@ THE SOFTWARE. org.jenkins-ci.plugins mailer - 488.v0c9639c1a_eb_3 + 489.vd4b_25144138f hpi From 2cbbfe784e5e9933c81553faa9d57820b9de240c Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 13 Oct 2024 03:34:59 -0700 Subject: [PATCH 0995/1330] Add tests for empty directory in tar and zip archives (#9809) --- .../java/hudson/util/io/TarArchiverTest.java | 30 ++++++++++++++++++ .../java/hudson/util/io/ZipArchiverTest.java | 31 +++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/core/src/test/java/hudson/util/io/TarArchiverTest.java b/core/src/test/java/hudson/util/io/TarArchiverTest.java index c0f41981c27f..2d7d9b5524cd 100644 --- a/core/src/test/java/hudson/util/io/TarArchiverTest.java +++ b/core/src/test/java/hudson/util/io/TarArchiverTest.java @@ -36,9 +36,17 @@ import hudson.util.StreamTaskListener; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import java.nio.file.Path; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import org.apache.tools.tar.TarEntry; +import org.apache.tools.tar.TarInputStream; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -121,6 +129,28 @@ private static void run(FilePath dir, String... cmds) throws InterruptedExceptio } } + @Ignore("TODO fails to add empty directories to archive") + @Issue("JENKINS-73837") + @Test + public void emptyDirectory() throws Exception { + Path tar = tmp.newFile("test.tar").toPath(); + Path root = tmp.newFolder().toPath(); + Files.createDirectory(root.resolve("foo")); + Files.createDirectory(root.resolve("bar")); + Files.writeString(root.resolve("bar/file.txt"), "foobar", StandardCharsets.UTF_8); + try (OutputStream out = Files.newOutputStream(tar)) { + new FilePath(root.toFile()).tar(out, "**"); + } + Set names = new HashSet<>(); + try (InputStream is = Files.newInputStream(tar); + TarInputStream tis = new TarInputStream(is, StandardCharsets.UTF_8.name())) { + TarEntry te; + while ((te = tis.getNextEntry()) != null) { + names.add(te.getName()); + } + } + assertEquals(Set.of("foo/", "bar/", "bar/file.txt"), names); + } /** * Test backing up an open file diff --git a/core/src/test/java/hudson/util/io/ZipArchiverTest.java b/core/src/test/java/hudson/util/io/ZipArchiverTest.java index 2daea14a2a17..a54fad193ecf 100644 --- a/core/src/test/java/hudson/util/io/ZipArchiverTest.java +++ b/core/src/test/java/hudson/util/io/ZipArchiverTest.java @@ -2,13 +2,21 @@ import static org.junit.Assert.assertEquals; +import hudson.FilePath; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.io.RandomAccessFile; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; +import java.util.HashSet; +import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import java.util.zip.ZipInputStream; import org.junit.Assume; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -72,4 +80,27 @@ public void huge64bitFile() throws IOException { assertEquals(length, zipEntry.getSize()); } } + + @Ignore("TODO fails to add empty directories to archive") + @Issue("JENKINS-49296") + @Test + public void emptyDirectory() throws Exception { + Path zip = tmp.newFile("test.zip").toPath(); + Path root = tmp.newFolder().toPath(); + Files.createDirectory(root.resolve("foo")); + Files.createDirectory(root.resolve("bar")); + Files.writeString(root.resolve("bar/file.txt"), "foobar", StandardCharsets.UTF_8); + try (OutputStream out = Files.newOutputStream(zip)) { + new FilePath(root.toFile()).zip(out, "**"); + } + Set names = new HashSet<>(); + try (InputStream is = Files.newInputStream(zip); + ZipInputStream zis = new ZipInputStream(is, StandardCharsets.UTF_8)) { + ZipEntry ze; + while ((ze = zis.getNextEntry()) != null) { + names.add(ze.getName()); + } + } + assertEquals(Set.of("foo/", "bar/", "bar/file.txt"), names); + } } From 7b8de1eed66e5db3136a9451d04a729ab888b340 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:29:34 +0100 Subject: [PATCH 0996/1330] Update dependency org.jenkins-ci.plugins:display-url-api to v2.209.v582ed814ff2f (#9859) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index c36a43f5b255..6bf29cc3138d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -106,7 +106,7 @@ THE SOFTWARE. org.jenkins-ci.plugins display-url-api - 2.204.vf6fddd8a_8b_e9 + 2.209.v582ed814ff2f diff --git a/war/pom.xml b/war/pom.xml index 27fd0307aead..b5cb11d590e5 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -272,7 +272,7 @@ THE SOFTWARE. org.jenkins-ci.plugins display-url-api - 2.204.vf6fddd8a_8b_e9 + 2.209.v582ed814ff2f hpi From b760de102d3ea855d5da11a8e32cb9f8275ce9b5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:29:41 +0100 Subject: [PATCH 0997/1330] Update dependency postcss-preset-env to v10.0.7 (#9864) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 392 ++++++++++++++++++++++++++------------------------- 2 files changed, 202 insertions(+), 192 deletions(-) diff --git a/package.json b/package.json index 1e9ae7d9161e..227a2af99afc 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "mini-css-extract-plugin": "2.9.1", "postcss": "8.4.47", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.0.6", + "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.79.4", diff --git a/yarn.lock b/yarn.lock index c2f3678b1cc0..c6411d260d5e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1340,13 +1340,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.1" +"@csstools/cascade-layer-name-parser@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/e1f9030285d1a16ca0424018289e5288e58dee2d6f6cc392e27d9e8eca0deeea4ced9b749eef09a8322746cb15b6304bc7e2d04bb9dc7405c29b3717ec80e736 + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/2cc840445328400bb3e1e4186e6081e6519a23d9abde36a16c95892b6ad75155b3af3410d79fdda1c53a068384f970cabff4b5f5ba6867578168cbd3419016c8 languageName: node linkType: hard @@ -1357,42 +1357,42 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/css-calc@npm:2.0.1" +"@csstools/css-calc@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/css-calc@npm:2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/84c0ba3dac51466c9ac22c3540360f6058cf351a3676d71d4412584b165a91abc7c69a4ddf5a5dacc6e6082806d2317cf50ddbc0a0562275b2aedaee41cb87a9 + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/b36e655b4abc8ea39b300725e33cd43b1875d759dd60bee8155bf7841065615a7f24cf53199382e30aa10bb137f64021043e4af7e11b7199b674a6e6cf3ccd01 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-color-parser@npm:3.0.2" +"@csstools/css-color-parser@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-color-parser@npm:3.0.3" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.1" + "@csstools/css-calc": "npm:^2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/31f42cc22426c937f5c6999889f72b40aec8504189a6badf3319552f27a5af73dd5f46be9ebc54eb87e526468eb2546ffbd60a6879fe599efa6c98e51d6cfa3d + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/02367ffc222254132c47f9cbc856f65fe0b81ee4a5e7381251b95c4064138b5ed99a5e5a79c0c8689f9e75e3d900f94773258a161a97f467c3f0420838c10e04 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-parser-algorithms@npm:3.0.1" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/css-parser-algorithms@npm:3.0.2" peerDependencies: - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/064c6d519197b5af43bbf5efe8f4cdbd361b006113aa82160d637e925b50c643a52d33d512ca01c63042d952d723a2a10798231a714668356b76668fb11294e3 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/246afbf518ee9eaa24ed7f083360eb66884f1172fd4f8c663bff8c6099de2a8abd1e2a31d5b6fe42e010277d238469d780cff62bc7fdc6a52e7a90626b8924dc languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-tokenizer@npm:3.0.1" - checksum: 10c0/c9ed4373e5731b5375ea9791590081019c04e95f08b46b272977e5e7b8c3d560affc62e82263cb8def1df1e57f0673140e7e16a14a5e7be04e6a234be088d1d3 +"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/css-tokenizer@npm:3.0.2" + checksum: 10c0/a74e5829420ed35982fd33be272c2a19cb2380179d357abe750aa848be6d6699d0437008f47a57eb7c6ff64a34b0c8f91a97dd63dbddd08249b7cf7983767e5e languageName: node linkType: hard @@ -1406,6 +1406,16 @@ __metadata: languageName: node linkType: hard +"@csstools/media-query-list-parser@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/media-query-list-parser@npm:4.0.0" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/416417bcfd84c18a2df8dc77f31c87830e151dc20530fe7f0d8f13a0848b1a9090858abdf7792d82bf2edb41ddedb7b57b34eb78b68b5c10755ae02c019e496a + languageName: node + linkType: hard + "@csstools/postcss-cascade-layers@npm:^5.0.0": version: 5.0.0 resolution: "@csstools/postcss-cascade-layers@npm:5.0.0" @@ -1418,60 +1428,60 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-color-function@npm:4.0.2" +"@csstools/postcss-color-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-color-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c987ccc7ab326668895396d3fe69c05087cf6e245be6f70e8c33da0cdeb56f8ac3d117cfad984191ec57be9691ab56d427aaa28c61c4a7446521972993dd5039 + checksum: 10c0/c994660ca0e2652755d9ad181c8cb46a07220c972086c97c843fa9bacf690be10c642770f898aeec4acc47c2b718dfc7372107285a678361f34d84d9e9c11e0c languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.2" +"@csstools/postcss-color-mix-function@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/cfdc641f504f9d02b9a7b53d6bd933d4e767ecaee5f3d2df45d897f69b8a38b5b79b538d307b16fb56dcb7c19dc7e107518c356772e89771e28e04fd846d9035 + checksum: 10c0/4ba358eb9030fc485bfe2922d897eeb712725762cc399eaba60ba665c84dc3e56a4d5a52dfb320093c0b217d32fedb9b5197fa45738cade53d9afcbefdadf04f languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.1" +"@csstools/postcss-content-alt-text@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.2" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/693e4cfa9a30a9c384120bd24846a7cd5ba1e1ebf975eb81b0e0131a21ac28a0301c7dcfa13706bc7d8b5343536fb43a46de636c3257d0fd05041c7255366e87 + checksum: 10c0/e52d40f6567b9b23b32a6c40f9b2a74d57f99a9921b4cae015f51f72453474236c760bb13120682f8815698a615e0ad7bed22314c29dca89c34b5480d83a7a6d languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.1" +"@csstools/postcss-exponential-functions@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/ddcaedfa48cc0cf93611c8d2ed5a75d56c1d196a97015db644b45881adabb47f3255242acaef6ea869a1e5ba66328725d254bf6d29eb5e988cde8b040bc5f55d + checksum: 10c0/034ff89089872f63a6b00bda670c5ff11361babd221ed3e441dde969a718059e5d44ab0ed331868f137bb205331b808ecbcc4cb641d5c945238ebca28aa3ed59 languageName: node linkType: hard @@ -1487,46 +1497,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.2" +"@csstools/postcss-gamut-mapping@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/8b6504f81c5036e3c2a9f9516c371f48a283112469b746546c8c7f6f0da2467c915d4dac6dfe8bb05d7dab3a7503911391eb9e666cb7632e09a032e801c029f5 + checksum: 10c0/21f5708f63e9c3b7603f8b72b5f288e0a021e9710a6abf4aaa713ff4d04bae057d1861e1f28d7670ea39ba463ac04f1507876d4a11178934e7cc7a1c6a780084 languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.2": - version: 5.0.2 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.2" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.3": + version: 5.0.3 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4fa27437ad9861b1457c28228f2503c17bcc2f77dcb38da1314a4a5d38fd010e7e5d11b5f9d69e0a2cb2999bbfeca1e99ce2f59422bda5b382658dcb03f7326e + checksum: 10c0/062d27148438309c940a1973bfc7d42a06caa9397bf2382c7a61979f5be3d6f3fae1bc8ddf94d2dd8e6c807e0530a9e76179510266aaddc439677bf79447a765 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-hwb-function@npm:4.0.2" +"@csstools/postcss-hwb-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-hwb-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/46dc9596e37830de4c38f70764d6da9f2fc7bc339217b4291eced75daa8998c4e05fb743c271701e44818df4ac111c285019b7bb3a728e8b61d86899bbeb74eb + checksum: 10c0/faf2bfbafeec765391e37c7a5cbc7b4647d9ab1ffa51e922c7dfffa545c3d436d15604dfdfb9d7684e760042e62bb42e0243dd4ebd8c3c14694a9f7be4e57b30 languageName: node linkType: hard @@ -1564,17 +1574,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.4" +"@csstools/postcss-light-dark-function@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.5" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0176422ad9747953964b1ceff002df1ecb1952ebc481db6192070d68777135b582ea6fd32ae819b9c64c96cb9170bd6907c647c85b48daa4984b7ed3d7f9bccb + checksum: 10c0/80635ee312d2a8f42aa5ce6792f1dc4a71199c384c66a3270d37e998d96db55beaa6836d689cda3b7e4828227960582fae04659ba5e4e0f64fd4543cbf15c6ab languageName: node linkType: hard @@ -1616,42 +1626,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-logical-viewport-units@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.1" +"@csstools/postcss-logical-viewport-units@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.2" dependencies: - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f54f91ec4d308562371576e82131c3cc1ff461a951c9a38f0b42b783c26f37a93cc846fcd025d3c4a8437b55a4fff1192ebfac8ccf84abb6478b2c515d232552 + checksum: 10c0/31f525e774bc053f545a159eb53bb21465ea2930118e87c40207ad90fa97d3151e6de83efd02f84803fb0e93ed4a4b42a3904b734423410e73ac4c6ce9666ab4 languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-media-minmax@npm:2.0.1" +"@csstools/postcss-media-minmax@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-media-minmax@npm:2.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/23c1fb0c3ed8bf82f3223f161d0d65ba62045b917bc19624581f64aaa5d678485d22c23af2591a3f634ba02030ccb419c2b30209aa22f9fd2baa1a6474af810a + checksum: 10c0/83cf10742884fca3baa7ae26e2cb34123ce5a022622390566c139b4587ea8583fab00acbb85545786b36398e2201d2a94301e0fae805e55f375f1b5c38f67ce8 languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.1" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.2" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e491cb149fb4fff85b2f03191511e43654ae00716e3c1ea9f1dc22ec4e7042c35f034d372082a69d3621c86cafbe46e8f419872fa36f4a534f145f584d655768 + checksum: 10c0/3ac4073d2e958bfb24ae45f673070dd805f0fcf07bc8d00a9a98f596d1096e7be282c8d8e87df3abde90f33fcbe2c7705e972b8c1a58e43ec44729f470b76096 languageName: node linkType: hard @@ -1678,18 +1688,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-oklab-function@npm:4.0.2" +"@csstools/postcss-oklab-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-oklab-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3209a7cec6d3577544a7ef41f2d5cca25f77891d4ec0d7f39d32f9a79a6c9a9b0ee6b54b2937a2d995548ad11c39966b07d4b9f58e907ffbe1a4b454f2d277f3 + checksum: 10c0/650bcb4f664308972588a8f789f806d63c4069e2e008cfc3b5c80bf9df992c62972dce279b8f434c7f78823e97095942ee4f0e37bc549258887213e72acb7ef8 languageName: node linkType: hard @@ -1704,18 +1714,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.2" +"@csstools/postcss-relative-color-syntax@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/34a8c999e08c6e7833484ee2fb91e7fcc25235d6c361712fed581e44a5a29f1ceb95415b6f4260de53809ac13f5da5415d1905c2971477cf5d45e5196081c663 + checksum: 10c0/c241fe6b725d775f6d2085be1dff3868d189b176fa91ab1eb1133e30e30c8151bded4e50d17a845edd0bdd0a7adf9e8883cb2634fea3394872591fe9ad2a7e86 languageName: node linkType: hard @@ -1730,16 +1740,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.1" +"@csstools/postcss-stepped-value-functions@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/7e65969b124fce603675ca17c2ffa2bb456677866e54bc9fbdc4da0945be1593fde2abb0730d3d03190776ad2022b394a1f9d4834c5b1f4c7ec497929fd35f8f + checksum: 10c0/444a27d725bc7a8e1554469e8ac69e248ff525b728fbe058523b0f1aefcff80ca707f543d21fead0a22d51603b1669190fb01f0f2dcd599a01768a37e0d62bc3 languageName: node linkType: hard @@ -1755,16 +1765,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.1" +"@csstools/postcss-trigonometric-functions@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/59e017ebb9f4f8f027e134024e3322b5e202cc96073e0bb0d45733a829c8eadc7f4f7ce57ce8360a748a677595af9ea95da1779684699b48b911b73b4017ac8b + checksum: 10c0/eaecb2ea891162e4fcbbccf4f660c99e9e59f21937b70fe6aec3b51441eff2a12c1a2dc13fff426722629a7929919fd866311eaa68d74ee9d1f5387a23502fe2 languageName: node linkType: hard @@ -4427,7 +4437,7 @@ __metadata: mini-css-extract-plugin: "npm:2.9.1" postcss: "npm:8.4.47" postcss-loader: "npm:8.1.1" - postcss-preset-env: "npm:10.0.6" + postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.79.4" @@ -5365,18 +5375,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-color-functional-notation@npm:7.0.2" +"postcss-color-functional-notation@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-color-functional-notation@npm:7.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e89c0bff94558b0c978ac36f7e02f7f516291f90fd43169d39c63ad2bb0415e3b1c4b3c2469280d578727e850fdf15a557230cb28275f3f0676f0f73187f2867 + checksum: 10c0/5e04c81002512c960784043c096bc91ebc76b8fddb9259a2418b0e121eb65042944cc0f78946f6b7e5774ff1fee087849019655e4848af1f88879e3ab9ff7c17 languageName: node linkType: hard @@ -5430,46 +5440,46 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.2": - version: 11.0.2 - resolution: "postcss-custom-media@npm:11.0.2" +"postcss-custom-media@npm:^11.0.3": + version: 11.0.3 + resolution: "postcss-custom-media@npm:11.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/7bec2b1e0b5d786c33c5715b611ffc8b9737252ee6bf77ca59255ac16f91ce614406923f43250e5c88b04f1bb050f155dc5ed4d9350dbd704c45fbd72e5a9a04 + checksum: 10c0/bd3f0cf17d7422385d26afed510dc2acebb1d8c25fce13e2bbee1c49cdc7fe95ebe7f50b89ef0a88ebdd5f6826e89d99e26b905881ceff788df655670dba93d8 languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.1": - version: 14.0.1 - resolution: "postcss-custom-properties@npm:14.0.1" +"postcss-custom-properties@npm:^14.0.2": + version: 14.0.2 + resolution: "postcss-custom-properties@npm:14.0.2" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/12180a7f4a4fe2d528387346a1810b82ed870081756dcf6be226c839716ab3f6f4d6ca4c7208a07d7d84bf2c986beef6473e29964e7c2572066fca5d3b000ed5 + checksum: 10c0/ea2e0cb60c558bb1afb4e601dcc64a38e1b28e5df3e47b83b858fc12d909d0e3453013e6b368fc05a7db7098ffcdc702a30a92f1a3c0ef67dfb97bf089021f1a languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.1": - version: 8.0.1 - resolution: "postcss-custom-selectors@npm:8.0.1" +"postcss-custom-selectors@npm:^8.0.2": + version: 8.0.2 + resolution: "postcss-custom-selectors@npm:8.0.2" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" postcss-selector-parser: "npm:^6.1.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b867233b3d68fbab90afca8a776eb74196ebc3fac8988175d95118a47993c793138fec6cc580272bb35d9bd31086acbdd33ff86da0cab83ef2f08bfc1c23ecd6 + checksum: 10c0/81673ffb0874f63c0f5e14315a5808259ec80ae8452aaf10d28112d30a9aaabbf61d13edb02f8be2965f44b943968c7eda051a1693da436ef157e77fcff0d752 languageName: node linkType: hard @@ -5587,18 +5597,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-lab-function@npm:7.0.2" +"postcss-lab-function@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-lab-function@npm:7.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/6b2be7e762b4ccb58ea9051723d390f6732ad78bb30bfef9499139cf5e2ac160c3de31b2b005fcc30e9fced4abe1685df6cb76c99d548896bae6746105ac8520 + checksum: 10c0/c50a73a9ed54b4194998c4627599d1f42074235f572edbbcdb0e00717f3ae2121dc8378d917792b281860c5650a617d923823da6f395515f610b5760d115354d languageName: node linkType: hard @@ -5915,39 +5925,39 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:10.0.6": - version: 10.0.6 - resolution: "postcss-preset-env@npm:10.0.6" +"postcss-preset-env@npm:10.0.7": + version: 10.0.7 + resolution: "postcss-preset-env@npm:10.0.7" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.0" - "@csstools/postcss-color-function": "npm:^4.0.2" - "@csstools/postcss-color-mix-function": "npm:^3.0.2" - "@csstools/postcss-content-alt-text": "npm:^2.0.1" - "@csstools/postcss-exponential-functions": "npm:^2.0.1" + "@csstools/postcss-color-function": "npm:^4.0.3" + "@csstools/postcss-color-mix-function": "npm:^3.0.3" + "@csstools/postcss-content-alt-text": "npm:^2.0.2" + "@csstools/postcss-exponential-functions": "npm:^2.0.2" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.2" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.2" - "@csstools/postcss-hwb-function": "npm:^4.0.2" + "@csstools/postcss-gamut-mapping": "npm:^2.0.3" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.3" + "@csstools/postcss-hwb-function": "npm:^4.0.3" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.0" - "@csstools/postcss-light-dark-function": "npm:^2.0.4" + "@csstools/postcss-light-dark-function": "npm:^2.0.5" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" - "@csstools/postcss-logical-viewport-units": "npm:^3.0.1" - "@csstools/postcss-media-minmax": "npm:^2.0.1" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.1" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" + "@csstools/postcss-media-minmax": "npm:^2.0.2" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.2" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.2" + "@csstools/postcss-oklab-function": "npm:^4.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.2" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.3" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.0" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.1" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.2" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.1" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.2" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" @@ -5957,12 +5967,12 @@ __metadata: cssdb: "npm:^8.1.1" postcss-attribute-case-insensitive: "npm:^7.0.0" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.2" + postcss-color-functional-notation: "npm:^7.0.3" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.2" - postcss-custom-properties: "npm:^14.0.1" - postcss-custom-selectors: "npm:^8.0.1" + postcss-custom-media: "npm:^11.0.3" + postcss-custom-properties: "npm:^14.0.2" + postcss-custom-selectors: "npm:^8.0.2" postcss-dir-pseudo-class: "npm:^9.0.0" postcss-double-position-gradients: "npm:^6.0.0" postcss-focus-visible: "npm:^10.0.0" @@ -5970,7 +5980,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.2" + postcss-lab-function: "npm:^7.0.3" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.0" postcss-opacity-percentage: "npm:^3.0.0" @@ -5982,7 +5992,7 @@ __metadata: postcss-selector-not: "npm:^8.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/01660acf3b9ddf4d612a31819e9a5de9fe5383e9eddd2c130180f66ae90c5a881eb408e73454fd50e1839eae71678d738bf72073de08f9013c183b0bd9950fe5 + checksum: 10c0/f789000e0504fd827e854bb0feb8b4c218d381314e4d863c5a36df925df412d0844c912952fe27892a320433640aeaff03ee94a3057b42011bf5d32b3963f333 languageName: node linkType: hard From 9e3a75a07701e875e871869452aa8afb4d160e11 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:29:47 +0100 Subject: [PATCH 0998/1330] Update babel monorepo to v7.25.8 (#9863) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- yarn.lock | 366 ++++++++++++--------------------------------------- 2 files changed, 89 insertions(+), 281 deletions(-) diff --git a/package.json b/package.json index 227a2af99afc..0182b878c742 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ }, "devDependencies": { "@babel/cli": "7.25.7", - "@babel/core": "7.25.7", - "@babel/preset-env": "7.25.7", + "@babel/core": "7.25.8", + "@babel/preset-env": "7.25.8", "@eslint/js": "9.12.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", diff --git a/yarn.lock b/yarn.lock index c6411d260d5e..e0ae45a3a4a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,16 +52,16 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/compat-data@npm:7.25.7" - checksum: 10c0/e5cc915abdd18d021236474a96606b2d4a915c4fb620c1ad776b8a08d91111e788cb3b7e9bad43593d4e0bfa4f06894357bcb0984102de1861b9e7322b6bc9f8 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/compat-data@npm:7.25.8" + checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 languageName: node linkType: hard -"@babel/core@npm:7.25.7": - version: 7.25.7 - resolution: "@babel/core@npm:7.25.7" +"@babel/core@npm:7.25.8": + version: 7.25.8 + resolution: "@babel/core@npm:7.25.8" dependencies: "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.25.7" @@ -69,16 +69,16 @@ __metadata: "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-module-transforms": "npm:^7.25.7" "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.8" "@babel/template": "npm:^7.25.7" "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.8" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/dad20af39624086afc3a0910bd97ae712c9ad0e9dda09fc5da93876e8ea1802b63ddd81c44f4aa8a9834db46de801eaab1ce9b81ab54b4fe907ae052c24de136 + checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 languageName: node linkType: hard @@ -214,7 +214,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7": version: 7.25.7 resolution: "@babel/helper-plugin-utils@npm:7.25.7" checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf @@ -321,14 +321,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/parser@npm:7.25.7" +"@babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/parser@npm:7.25.8" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.8" bin: parser: ./bin/babel-parser.js - checksum: 10c0/b771469bb6b636c18a8d642b9df3c73913c3860a979591e1a29a98659efd38b81d3e393047b5251fe382d4c82c681c12da9ce91c98d69316d2604d155a214bcf + checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 languageName: node linkType: hard @@ -400,61 +400,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - languageName: node - linkType: hard - -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 - languageName: node - linkType: hard - "@babel/plugin-syntax-import-assertions@npm:^7.25.7": version: 7.25.7 resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" @@ -477,116 +422,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f - languageName: node - linkType: hard - "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -610,17 +445,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-remap-async-to-generator": "npm:^7.25.7" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcdd17d8cafafe0eb2edd0a46a7abe86c72235c957c8eb1157ccadb2b199572d5d1aa36a2d3bce5cb99990f7d3c6290ecf09959c62f3081c4df9ff717a1c84a4 + checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 languageName: node linkType: hard @@ -671,16 +505,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.7" +"@babel/plugin-transform-class-static-block@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" dependencies: "@babel/helper-create-class-features-plugin": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/cbb4b46cbd8ad10106eb2bedb5a0665661a1d1d5b6f3ab565ff454b802dab4718e02b25670fe0d40835494aedb3dc26757c06cc4da6ff3e80291c5f882269bd3 + checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 languageName: node linkType: hard @@ -758,15 +591,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.7" +"@babel/plugin-transform-dynamic-import@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c733252ff20a32d9747dd081916270f5a073856597e849a5f458b12f4354499b18714f5e7049e341432851d9975077cb37effcd276c7f816faa6f5ff708dc5e1 + checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 languageName: node linkType: hard @@ -782,15 +614,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ef61fc5d54c9c8b075cbd9db62beaf295e38e08a1edb1882995105d3e959763be1631f7d7f7cb7461b702ebd0b4a601f2eb2cd6521acaf061310a3a3305fa756 + checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 languageName: node linkType: hard @@ -819,15 +650,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.7" +"@babel/plugin-transform-json-strings@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aa6e5f65c8a5f2459d7daa9b5b4ff97ff43bab21f4a8513ed84d35300b0323ec542dc101c5f11622e442dfc93b3a229c7f41ebc7645370dfec6d066bda800a0b + checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf languageName: node linkType: hard @@ -842,15 +672,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d610a8a2c1be83e03cce2256f29519e705dc68289c09d67f1f362d1fd80f4b36eaf2affc05710abb53a272895041e24d9e95ec73a516a23a67cb907023fbe37b + checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e languageName: node linkType: hard @@ -939,41 +768,38 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b35a96a79ef4895b00e4f758d3185cb17e4fbfada311894ad5f0988a55fc2c21820dc789b26a3cb8fbd620434faa516e52acb6e2da105c2edbd29de8b6b0facf + checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.7" +"@babel/plugin-transform-numeric-separator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c028ae89e6b4e1d757f8f1ebcb3b420e6559bb35002728f6f5651d5f669fbf73764adf6e3597908fa12adf8dbae683e5f74b3a7f68e8774a9663c18c0f999539 + checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" dependencies: "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-transform-parameters": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e8b978d9d1020452da0d5d92f80fe57e302761dac20137bb8bf863478a4779fcd63d314db89e796125d9d76da2a38f64f012d6e0c4913815951b3eb3fba2feb6 + checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 languageName: node linkType: hard @@ -989,28 +815,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bb609e5103780be0825a255ffe1fefbb5335aead88a46eecc2257053279ea2c45ff66b0ef1fb54302c8c8c57146e88e52f3ecb62b4c6f619218d7b3843b352d9 + checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.7" +"@babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/887441ada6c2bc1b789984b7531d9bc585f335ece99642886d3d9fd8aee7e6b8d4f7ca61d76b5f23477f3aa607284d5056eadaa1eb17e7b39af6b0e834cbe878 + checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f languageName: node linkType: hard @@ -1037,17 +861,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.25.7" "@babel/helper-create-class-features-plugin": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5ad8832ba54e2079c1f558b8680e170265e3f376424e5fbb75b17b7f08696fb0af6c96d23d92f7df3dcc559f5971a02587281fcec38a853174aa95478565f5fc + checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 languageName: node linkType: hard @@ -1188,11 +1011,11 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.25.7": - version: 7.25.7 - resolution: "@babel/preset-env@npm:7.25.7" +"@babel/preset-env@npm:7.25.8": + version: 7.25.8 + resolution: "@babel/preset-env@npm:7.25.8" dependencies: - "@babel/compat-data": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.8" "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-validator-option": "npm:^7.25.7" @@ -1202,45 +1025,30 @@ __metadata: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" "@babel/plugin-transform-block-scoping": "npm:^7.25.7" "@babel/plugin-transform-class-properties": "npm:^7.25.7" - "@babel/plugin-transform-class-static-block": "npm:^7.25.7" + "@babel/plugin-transform-class-static-block": "npm:^7.25.8" "@babel/plugin-transform-classes": "npm:^7.25.7" "@babel/plugin-transform-computed-properties": "npm:^7.25.7" "@babel/plugin-transform-destructuring": "npm:^7.25.7" "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.7" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.7" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" "@babel/plugin-transform-for-of": "npm:^7.25.7" "@babel/plugin-transform-function-name": "npm:^7.25.7" - "@babel/plugin-transform-json-strings": "npm:^7.25.7" + "@babel/plugin-transform-json-strings": "npm:^7.25.8" "@babel/plugin-transform-literals": "npm:^7.25.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.7" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" "@babel/plugin-transform-modules-amd": "npm:^7.25.7" "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" @@ -1248,15 +1056,15 @@ __metadata: "@babel/plugin-transform-modules-umd": "npm:^7.25.7" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" "@babel/plugin-transform-new-target": "npm:^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" "@babel/plugin-transform-object-super": "npm:^7.25.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" "@babel/plugin-transform-parameters": "npm:^7.25.7" "@babel/plugin-transform-private-methods": "npm:^7.25.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" "@babel/plugin-transform-property-literals": "npm:^7.25.7" "@babel/plugin-transform-regenerator": "npm:^7.25.7" "@babel/plugin-transform-reserved-words": "npm:^7.25.7" @@ -1277,7 +1085,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bf704a06a69420250c1de2b126cd5c859a851002c2fb2cce0910cd85a8e6755b9b31577021e94feb7e1e53519923726349aaf07580923928791583db61438fb8 + checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 languageName: node linkType: hard @@ -1329,14 +1137,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.7, @babel/types@npm:^7.4.4": - version: 7.25.7 - resolution: "@babel/types@npm:7.25.7" +"@babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.4.4": + version: 7.25.8 + resolution: "@babel/types@npm:7.25.8" dependencies: "@babel/helper-string-parser": "npm:^7.25.7" "@babel/helper-validator-identifier": "npm:^7.25.7" to-fast-properties: "npm:^2.0.0" - checksum: 10c0/e03e1e2e08600fa1e8eb90632ac9c253dd748176c8d670d85f85b0dc83a0573b26ae748a1cbcb81f401903a3d95f43c3f4f8d516a5ed779929db27de56289633 + checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f languageName: node linkType: hard @@ -4418,8 +4226,8 @@ __metadata: resolution: "jenkins-ui@workspace:." dependencies: "@babel/cli": "npm:7.25.7" - "@babel/core": "npm:7.25.7" - "@babel/preset-env": "npm:7.25.7" + "@babel/core": "npm:7.25.8" + "@babel/preset-env": "npm:7.25.8" "@eslint/js": "npm:9.12.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" From c34234f2c5a28f3965f03afce6a0df9298d7da4e Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:09:20 +0100 Subject: [PATCH 0999/1330] Refine content and appearance of the 'Edit View' screen (#9833) Co-authored-by: Tim Jacomb --- .../ListView/configure-entries-resources.js | 5 +- .../model/ListView/configure-entries.jelly | 72 ++++++++++--------- .../ListView/configure-entries.properties | 3 + .../hudson/model/View/configure.jelly | 39 ++++++---- .../hudson/model/View/configure.properties | 4 ++ .../main/resources/lib/form/checkbox.jelly | 8 +++ src/main/scss/base/_style.scss | 8 --- src/main/scss/pages/_dashboard.scss | 14 ++++ .../webapp/help/view-config/description.html | 6 -- .../help/view-config/description_bg.html | 7 -- .../help/view-config/description_de.html | 7 -- .../help/view-config/description_fr.html | 6 -- .../help/view-config/description_it.html | 7 -- .../help/view-config/description_ja.html | 6 -- .../help/view-config/description_nl.html | 8 --- .../help/view-config/description_pt_BR.html | 6 -- .../help/view-config/description_ru.html | 6 -- .../help/view-config/description_tr.html | 7 -- .../help/view-config/description_zh_TW.html | 5 -- .../help/view-config/filter-executors.html | 27 ------- .../help/view-config/filter-executors_bg.html | 4 -- .../help/view-config/filter-executors_de.html | 27 ------- .../help/view-config/filter-executors_it.html | 27 ------- .../help/view-config/filter-executors_ja.html | 24 ------- .../view-config/filter-executors_pt_BR.html | 27 ------- .../view-config/filter-executors_zh_TW.html | 1 - .../webapp/help/view-config/filter-queue.html | 24 ------- .../help/view-config/filter-queue_bg.html | 4 -- .../help/view-config/filter-queue_de.html | 27 ------- .../help/view-config/filter-queue_it.html | 27 ------- .../help/view-config/filter-queue_ja.html | 24 ------- .../help/view-config/filter-queue_pt_BR.html | 24 ------- .../help/view-config/filter-queue_zh_TW.html | 1 - 33 files changed, 95 insertions(+), 397 deletions(-) create mode 100644 core/src/main/resources/hudson/model/ListView/configure-entries.properties create mode 100644 core/src/main/resources/hudson/model/View/configure.properties delete mode 100644 war/src/main/webapp/help/view-config/description.html delete mode 100644 war/src/main/webapp/help/view-config/description_bg.html delete mode 100644 war/src/main/webapp/help/view-config/description_de.html delete mode 100644 war/src/main/webapp/help/view-config/description_fr.html delete mode 100644 war/src/main/webapp/help/view-config/description_it.html delete mode 100644 war/src/main/webapp/help/view-config/description_ja.html delete mode 100644 war/src/main/webapp/help/view-config/description_nl.html delete mode 100644 war/src/main/webapp/help/view-config/description_pt_BR.html delete mode 100644 war/src/main/webapp/help/view-config/description_ru.html delete mode 100644 war/src/main/webapp/help/view-config/description_tr.html delete mode 100644 war/src/main/webapp/help/view-config/description_zh_TW.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_bg.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_de.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_it.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_ja.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_pt_BR.html delete mode 100644 war/src/main/webapp/help/view-config/filter-executors_zh_TW.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_bg.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_de.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_it.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_ja.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_pt_BR.html delete mode 100644 war/src/main/webapp/help/view-config/filter-queue_zh_TW.html diff --git a/core/src/main/resources/hudson/model/ListView/configure-entries-resources.js b/core/src/main/resources/hudson/model/ListView/configure-entries-resources.js index 86ccbb6447a7..f9db2d067478 100644 --- a/core/src/main/resources/hudson/model/ListView/configure-entries-resources.js +++ b/core/src/main/resources/hudson/model/ListView/configure-entries-resources.js @@ -1,5 +1,8 @@ Behaviour.specify("#recurse", "ListView", 0, function (e) { - var nestedElements = document.querySelectorAll("SPAN.nested"); + // SPAN.nested is kept for backwards compatability + var nestedElements = document.querySelectorAll( + ".listview-jobs--nested, SPAN.nested", + ); e.onclick = function () { nestedElements.forEach(function (el) { el.style.display = e.checked ? "" : "none"; diff --git a/core/src/main/resources/hudson/model/ListView/configure-entries.jelly b/core/src/main/resources/hudson/model/ListView/configure-entries.jelly index 5cffab5e11ee..350235870b01 100644 --- a/core/src/main/resources/hudson/model/ListView/configure-entries.jelly +++ b/core/src/main/resources/hudson/model/ListView/configure-entries.jelly @@ -27,49 +27,51 @@ THE SOFTWARE. + + + + - - - - - - - -
    - - - - - - + + + + +
    + + + +
    - - -
    -
    -
    -
    -
    + + - - - + +
    + + + +
    -
    + + + + + + +
    - + - +
    + + - - - - - - -
    diff --git a/core/src/main/resources/hudson/model/ListView/configure-entries.properties b/core/src/main/resources/hudson/model/ListView/configure-entries.properties new file mode 100644 index 000000000000..fb58880346b9 --- /dev/null +++ b/core/src/main/resources/hudson/model/ListView/configure-entries.properties @@ -0,0 +1,3 @@ +jobs.description=Select the jobs to show in this view. +filters.description=Filter the jobs that show in this view based on specific conditions. +columns.description=Select the columns in this view. diff --git a/core/src/main/resources/hudson/model/View/configure.jelly b/core/src/main/resources/hudson/model/View/configure.jelly index beceff8230ab..6f2ff2744fe1 100644 --- a/core/src/main/resources/hudson/model/View/configure.jelly +++ b/core/src/main/resources/hudson/model/View/configure.jelly @@ -29,25 +29,25 @@ THE SOFTWARE. - + + + + + - - - - - - - - - - - - - + + + + + + + + + @@ -55,6 +55,17 @@ THE SOFTWARE. + + + + + + + + + diff --git a/core/src/main/resources/hudson/model/View/configure.properties b/core/src/main/resources/hudson/model/View/configure.properties new file mode 100644 index 000000000000..f5883d65a59e --- /dev/null +++ b/core/src/main/resources/hudson/model/View/configure.properties @@ -0,0 +1,4 @@ +description.description=Describe the purpose of this view. +widgets.description=Customize the widgets that show in this view. +widgets.filterqueue.description=If checked, only jobs in this view will be shown in the queue. +widgets.filterexecutors.description=If checked, only those build executors will be shown that could execute the jobs in this view. diff --git a/core/src/main/resources/lib/form/checkbox.jelly b/core/src/main/resources/lib/form/checkbox.jelly index 60c8c11f4c52..de831954cafc 100644 --- a/core/src/main/resources/lib/form/checkbox.jelly +++ b/core/src/main/resources/lib/form/checkbox.jelly @@ -69,6 +69,9 @@ THE SOFTWARE. Used as tooltip of the checkbox, and, if a title is specified, of the title + + Optional description for the checkbox + @@ -87,6 +90,11 @@ THE SOFTWARE. + +
    + ${attrs.description} +
    +
    ${customizedFields.add(name)} diff --git a/src/main/scss/base/_style.scss b/src/main/scss/base/_style.scss index e586248d18a8..273d583d4ca9 100644 --- a/src/main/scss/base/_style.scss +++ b/src/main/scss/base/_style.scss @@ -406,14 +406,6 @@ img.icon-help { vertical-align: text-top; } -/* ============================ list view entries ======================== */ -div.listview-jobs { - max-height: 300px; - overflow: auto; - margin-left: -15px; - padding-left: 15px; -} - /* ============================ health report hover ========================== */ .healthReport a { diff --git a/src/main/scss/pages/_dashboard.scss b/src/main/scss/pages/_dashboard.scss index 3ace60fac309..4d6f49017566 100644 --- a/src/main/scss/pages/_dashboard.scss +++ b/src/main/scss/pages/_dashboard.scss @@ -180,3 +180,17 @@ $min-button-size: 36px; height: 1rem; } } + +div.listview-jobs { + display: flex; + flex-direction: column; + gap: 0.3rem; + + &--nested { + display: flex; + flex-direction: column; + border-left: 2px solid color-mix(in sRGB, var(--input-border), transparent); + margin-left: 10px; + padding-left: 22px; + } +} diff --git a/war/src/main/webapp/help/view-config/description.html b/war/src/main/webapp/help/view-config/description.html deleted file mode 100644 index 116a5d17ed7c..000000000000 --- a/war/src/main/webapp/help/view-config/description.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - This message will be displayed on - the view page - . Useful for describing what this view does or linking to relevant resources. - Can contain HTML tags or whatever markup language is defined for the system. -
    diff --git a/war/src/main/webapp/help/view-config/description_bg.html b/war/src/main/webapp/help/view-config/description_bg.html deleted file mode 100644 index 2f9a0c920697..000000000000 --- a/war/src/main/webapp/help/view-config/description_bg.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - Това съобщение ще се показва на - страницата за изгледа - . Това е удобно да обясните за какво служи изгледа или да дадете подходящи - връзки към полезни ресурси. Може да съдържа форматиране чрез етикети на HTML - или произволен маркиращ език, който се поддържа от Jenkins. -
    diff --git a/war/src/main/webapp/help/view-config/description_de.html b/war/src/main/webapp/help/view-config/description_de.html deleted file mode 100644 index 63eecbf510c6..000000000000 --- a/war/src/main/webapp/help/view-config/description_de.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - Diese Beschreibung wird auf der - Ansichtsseite - angezeigt. Sie beschreibt, um was es in der Ansicht geht oder enthält Links zu - weiteren relevanten Ressourcen. Die Beschreibung darf HTML-Auszeichnungen - enthalten. -
    diff --git a/war/src/main/webapp/help/view-config/description_fr.html b/war/src/main/webapp/help/view-config/description_fr.html deleted file mode 100644 index e2276e50a88c..000000000000 --- a/war/src/main/webapp/help/view-config/description_fr.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - Ce message s'affichera sur la - page de visualisation - . Utile pour décrire l'objectif de cette vue ou pour donner des liens vers des - ressources supplémentaires. Supporte les tags HTML. -
    diff --git a/war/src/main/webapp/help/view-config/description_it.html b/war/src/main/webapp/help/view-config/description_it.html deleted file mode 100644 index 562324afca80..000000000000 --- a/war/src/main/webapp/help/view-config/description_it.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - Questo messaggio sarà visualizzato sulla - pagina della vista - . Quest'opzione è utile per descrivere lo scopo di questa vista o per inserire - collegamenti a risorse rilevanti. Può contenere marcatori HTML o del - linguaggio a marcatori definito per il sistema. -
    diff --git a/war/src/main/webapp/help/view-config/description_ja.html b/war/src/main/webapp/help/view-config/description_ja.html deleted file mode 100644 index f45f11ad4084..000000000000 --- a/war/src/main/webapp/help/view-config/description_ja.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - この説明は、 - ビュー - に表示されます。 - このビューについて説明したり、関連するリソースにリンクするのに便利です。HTMLタグを使用できます。 -
    diff --git a/war/src/main/webapp/help/view-config/description_nl.html b/war/src/main/webapp/help/view-config/description_nl.html deleted file mode 100644 index ebb5e3686899..000000000000 --- a/war/src/main/webapp/help/view-config/description_nl.html +++ /dev/null @@ -1,8 +0,0 @@ -
    - Deze boodschap zal getoond worden op - uw specifieke overzichtspagina - . Het kan nuttig zijn om te omschrijven wat uw overzichtspagina specifiek - omvat. De boodschap mag HTML bevatten. U kunt dus ook, op eenvoudige wijze, - referenties toevoegen naar relevante artefacten, zoals webpaginas, documenten, - e-mail adressen, ... -
    diff --git a/war/src/main/webapp/help/view-config/description_pt_BR.html b/war/src/main/webapp/help/view-config/description_pt_BR.html deleted file mode 100644 index df7732115bb6..000000000000 --- a/war/src/main/webapp/help/view-config/description_pt_BR.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - Esta mensagem será mostrada na - página de visualização - . Útil para descrever sobre o que é esta visualização, ou - ligá-la a recursos relevantes. Pode conter marcações HTML. -
    diff --git a/war/src/main/webapp/help/view-config/description_ru.html b/war/src/main/webapp/help/view-config/description_ru.html deleted file mode 100644 index 7303f0d6adf3..000000000000 --- a/war/src/main/webapp/help/view-config/description_ru.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - Это сообщение будет показываться на - странице Пользовательского списка - . Удобно для описания Пользовательского списка или ссылок на имеющие отношение - ресурсы. Может содержать HTML. -
    diff --git a/war/src/main/webapp/help/view-config/description_tr.html b/war/src/main/webapp/help/view-config/description_tr.html deleted file mode 100644 index 08c2a592ada8..000000000000 --- a/war/src/main/webapp/help/view-config/description_tr.html +++ /dev/null @@ -1,7 +0,0 @@ -
    - Bu mesaj, - görüntü ana sayfasında - gösterilecektir. Bu görüntünün ne ile ilgili - olduğunu anlatmak, veya ilgili kaynaklara bağlantılar - yapabilmek için kullanılabilir. HTML tag'leri kullanabilirsiniz. -
    diff --git a/war/src/main/webapp/help/view-config/description_zh_TW.html b/war/src/main/webapp/help/view-config/description_zh_TW.html deleted file mode 100644 index 2f38a3d86281..000000000000 --- a/war/src/main/webapp/help/view-config/description_zh_TW.html +++ /dev/null @@ -1,5 +0,0 @@ -
    - 訊息會顯示在 - 視景頁 - 。 能用來說明這個視景的用途,或是提供相關資源的連結。 可以使用 HTML 標籤。 -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors.html b/war/src/main/webapp/help/view-config/filter-executors.html deleted file mode 100644 index 034420bb5917..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - If checked, only those build executors will be shown that could execute the - jobs in this view. -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_bg.html b/war/src/main/webapp/help/view-config/filter-executors_bg.html deleted file mode 100644 index 6b36c6989ca7..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_bg.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - Когато е избрано, ще се показват само компютрите, които могат да изпълняват - задачите в този изглед. -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_de.html b/war/src/main/webapp/help/view-config/filter-executors_de.html deleted file mode 100644 index 52e6465c770c..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_de.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - Wenn angewählt, werden nur diejenigen Build-Prozessoren angezeigt, welche Jobs - in dieser Ansicht ausführen könnten. -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_it.html b/war/src/main/webapp/help/view-config/filter-executors_it.html deleted file mode 100644 index 44fb82b5bea2..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_it.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - Se quest'opzione è selezionata, solo gli esecutori in grado di eseguire i - processi qui elencati saranno visualizzati in questa vista. -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_ja.html b/war/src/main/webapp/help/view-config/filter-executors_ja.html deleted file mode 100644 index efe9214b79d3..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_ja.html +++ /dev/null @@ -1,24 +0,0 @@ - -
    このビューのジョブを実行可能なエグゼキューターのみ表示します。
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_pt_BR.html b/war/src/main/webapp/help/view-config/filter-executors_pt_BR.html deleted file mode 100644 index 053df68e3154..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_pt_BR.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - Caso selecionado, apenas executores de build que podem executar jobs nessa - view aparecerão. -
    diff --git a/war/src/main/webapp/help/view-config/filter-executors_zh_TW.html b/war/src/main/webapp/help/view-config/filter-executors_zh_TW.html deleted file mode 100644 index ff504373040c..000000000000 --- a/war/src/main/webapp/help/view-config/filter-executors_zh_TW.html +++ /dev/null @@ -1 +0,0 @@ -
    啟用後,就只會顯示能建置視景中作業的那些執行程式。
    diff --git a/war/src/main/webapp/help/view-config/filter-queue.html b/war/src/main/webapp/help/view-config/filter-queue.html deleted file mode 100644 index e658f998232a..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue.html +++ /dev/null @@ -1,24 +0,0 @@ - -
    If checked, only jobs in this view will be shown in the queue.
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_bg.html b/war/src/main/webapp/help/view-config/filter-queue_bg.html deleted file mode 100644 index 7b22a78abde0..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_bg.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - Когато е избрано, ще се показват само тези задачи в опашката, които са също и - в изгледа. -
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_de.html b/war/src/main/webapp/help/view-config/filter-queue_de.html deleted file mode 100644 index 2c2ec446239c..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_de.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - Wenn angewählt, werden in der Build-Warteschlange nur Jobs dieser Ansicht - angezeigt. -
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_it.html b/war/src/main/webapp/help/view-config/filter-queue_it.html deleted file mode 100644 index e7258892a005..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_it.html +++ /dev/null @@ -1,27 +0,0 @@ - -
    - Se quest'opzione è selezionata solo i processi che compaiono in questa vista - saranno visualizzati nella coda. -
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_ja.html b/war/src/main/webapp/help/view-config/filter-queue_ja.html deleted file mode 100644 index 26da33be36a1..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_ja.html +++ /dev/null @@ -1,24 +0,0 @@ - -
    このビューのジョブのみキューに表示されます。
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_pt_BR.html b/war/src/main/webapp/help/view-config/filter-queue_pt_BR.html deleted file mode 100644 index f92dd00bb380..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_pt_BR.html +++ /dev/null @@ -1,24 +0,0 @@ - -
    Caso selecionado, apenas jobs nessa view aparecerão na fila.
    diff --git a/war/src/main/webapp/help/view-config/filter-queue_zh_TW.html b/war/src/main/webapp/help/view-config/filter-queue_zh_TW.html deleted file mode 100644 index 717957f1529e..000000000000 --- a/war/src/main/webapp/help/view-config/filter-queue_zh_TW.html +++ /dev/null @@ -1 +0,0 @@ -
    選用後,佇列中只會顯示視景裡的作業。
    From f8ef23acd99c85b253266b47fe0376eb7faa2745 Mon Sep 17 00:00:00 2001 From: Debayan Ghosh <66942246+debayangg@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:42:12 +0530 Subject: [PATCH 1000/1330] [JENKINS-72979] Remove trailing space from Windows agent secret file instructions (#9739) --- .../resources/hudson/slaves/JNLPLauncher/main.jelly | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly b/core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly index 2f211d16feae..ad9184473224 100644 --- a/core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly +++ b/core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly @@ -53,26 +53,26 @@ ${copy_java_cmd_secret_unix} ${copy_agent_jar_windows} ${copy_java_cmd_secret_windows} - - + +

    ${%slaveAgent.cli.run.secret} (Unix) - +

    -${copy_secret_to_file}
    +${copy_secret_to_file_unix}
     ${copy_agent_jar_unix}
     ${copy_java_cmd_secret2_unix}
     

    ${%slaveAgent.cli.run.secret} (Windows) - +

    -${copy_secret_to_file}
    +${copy_secret_to_file_windows}
     ${copy_agent_jar_windows}
     ${copy_java_cmd_secret2_windows}
     
    From 01ee3ad4d4c5c455c9ae48f3cde947c7f8f80f02 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 09:21:11 +0100 Subject: [PATCH 1001/1330] Update dependency sass to v1.79.5 (#9865) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 165 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 160 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 0182b878c742..62fad3f2a61a 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.79.4", + "sass": "1.79.5", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.9.0", diff --git a/yarn.lock b/yarn.lock index e0ae45a3a4a4..d3b55f59b810 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1925,6 +1925,140 @@ __metadata: languageName: node linkType: hard +"@parcel/watcher-android-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-android-arm64@npm:2.4.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-darwin-x64@npm:2.4.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-x64@npm:2.4.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher@npm:2.4.1" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.4.1" + "@parcel/watcher-darwin-arm64": "npm:2.4.1" + "@parcel/watcher-darwin-x64": "npm:2.4.1" + "@parcel/watcher-freebsd-x64": "npm:2.4.1" + "@parcel/watcher-linux-arm-glibc": "npm:2.4.1" + "@parcel/watcher-linux-arm64-glibc": "npm:2.4.1" + "@parcel/watcher-linux-arm64-musl": "npm:2.4.1" + "@parcel/watcher-linux-x64-glibc": "npm:2.4.1" + "@parcel/watcher-linux-x64-musl": "npm:2.4.1" + "@parcel/watcher-win32-arm64": "npm:2.4.1" + "@parcel/watcher-win32-ia32": "npm:2.4.1" + "@parcel/watcher-win32-x64": "npm:2.4.1" + detect-libc: "npm:^1.0.3" + is-glob: "npm:^4.0.3" + micromatch: "npm:^4.0.5" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/33b7112094b9eb46c234d824953967435b628d3d93a0553255e9910829b84cab3da870153c3a870c31db186dc58f3b2db81382fcaee3451438aeec4d786a6211 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -3142,6 +3276,15 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^1.0.3": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -4248,7 +4391,7 @@ __metadata: postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.79.4" + sass: "npm:1.79.5" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -4639,7 +4782,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -4832,6 +4975,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 10.2.0 resolution: "node-gyp@npm:10.2.0" @@ -6209,16 +6361,17 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.79.4": - version: 1.79.4 - resolution: "sass@npm:1.79.4" +"sass@npm:1.79.5": + version: 1.79.5 + resolution: "sass@npm:1.79.5" dependencies: + "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/505ff0d9267d0fb990971e617acfeabf7c060c55d4cef68fe8a4bc693e7ea88ae7d7caeca3975e4b453459ba4a707b6e5b6979fc9395a7e08f0a43ca6aed06b8 + checksum: 10c0/7331865fd1d0c03e6e180a4fe0e175ac1bf1214f6c77f0d99ad72fbe2ed9ede3fab8a64c0c41471cb8a358a9d11624ec59a49283f9b6070eb99c522b34b814bf languageName: node linkType: hard From fe80df5c5119cdf8584f80a43b97293f4c74adf9 Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Mon, 14 Oct 2024 20:23:01 +0200 Subject: [PATCH 1002/1330] Create a new taglib to capture the save/apply bottom bar (#9813) Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- .../main/java/hudson/logging/LogRecorder.java | 3 +- core/src/main/java/hudson/model/Computer.java | 3 +- core/src/main/java/jenkins/model/Jenkins.java | 2 +- .../logging/LogRecorder/configure.jelly | 6 +-- .../hudson/model/Computer/configure.jelly | 9 +---- .../hudson/model/ComputerSet/configure.jelly | 8 +--- .../hudson/model/Job/configure.jelly | 10 +---- .../hudson/model/Run/configure.jelly | 11 +----- .../hudson/model/View/configure.jelly | 6 +-- .../index.jelly | 7 +--- .../index.jelly | 7 +--- .../index.jelly | 7 +--- .../index.jelly | 7 +--- .../index.jelly | 5 +-- .../hudson/slaves/Cloud/configure.jelly | 9 +---- .../jenkins/agents/CloudSet/index.jelly | 1 + .../AppearanceGlobalConfiguration/index.jelly | 7 +--- .../Jenkins/MasterComputer/configure.jelly | 6 +-- .../jenkins/model/Jenkins/configure.jelly | 14 ++----- .../resources/lib/form/saveApplyBar.jelly | 39 +++++++++++++++++++ 20 files changed, 66 insertions(+), 101 deletions(-) create mode 100644 core/src/main/resources/lib/form/saveApplyBar.jelly diff --git a/core/src/main/java/hudson/logging/LogRecorder.java b/core/src/main/java/hudson/logging/LogRecorder.java index c11c1bbfa57e..a4c42bdfcba7 100644 --- a/core/src/main/java/hudson/logging/LogRecorder.java +++ b/core/src/main/java/hudson/logging/LogRecorder.java @@ -44,6 +44,7 @@ import hudson.remoting.VirtualChannel; import hudson.slaves.ComputerListener; import hudson.util.CopyOnWriteList; +import hudson.util.FormApply; import hudson.util.FormValidation; import hudson.util.HttpResponses; import hudson.util.RingBufferLogHandler; @@ -463,7 +464,7 @@ public synchronized void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rs save(); if (oldFile != null) oldFile.delete(); - rsp.sendRedirect2(redirect); + FormApply.success(redirect).generateResponse(req, rsp, null); } @RequirePOST diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index 1047fe97000c..9e3037edf83c 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -66,6 +66,7 @@ import hudson.util.DaemonThreadFactory; import hudson.util.EditDistance; import hudson.util.ExceptionCatchingThreadFactory; +import hudson.util.FormApply; import hudson.util.Futures; import hudson.util.IOUtils; import hudson.util.NamingThreadFactory; @@ -1512,7 +1513,7 @@ public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOE } // take the user back to the agent top page. - rsp.sendRedirect2("../" + result.getNodeName() + '/'); + FormApply.success("../" + result.getNodeName() + '/').generateResponse(req, rsp, null); } /** diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 90ffceefb456..dc2c7926f605 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -4159,7 +4159,7 @@ public synchronized void doConfigExecutorsSubmit(StaplerRequest2 req, StaplerRes updateComputerList(); - rsp.sendRedirect(req.getContextPath() + '/' + toComputer().getUrl()); // back to the computer page + FormApply.success(req.getContextPath() + '/' + toComputer().getUrl()).generateResponse(req, rsp, null); } /** diff --git a/core/src/main/resources/hudson/logging/LogRecorder/configure.jelly b/core/src/main/resources/hudson/logging/LogRecorder/configure.jelly index b49ccc278858..ef7c6f3781b2 100644 --- a/core/src/main/resources/hudson/logging/LogRecorder/configure.jelly +++ b/core/src/main/resources/hudson/logging/LogRecorder/configure.jelly @@ -66,12 +66,8 @@ THE SOFTWARE.
    - - - - + - diff --git a/core/src/main/resources/hudson/model/Computer/configure.jelly b/core/src/main/resources/hudson/model/Computer/configure.jelly index bd33078013cd..ce76f5fb2d3b 100644 --- a/core/src/main/resources/hudson/model/Computer/configure.jelly +++ b/core/src/main/resources/hudson/model/Computer/configure.jelly @@ -46,15 +46,8 @@ THE SOFTWARE. - - - - - + - - - diff --git a/core/src/main/resources/hudson/model/ComputerSet/configure.jelly b/core/src/main/resources/hudson/model/ComputerSet/configure.jelly index 9e58aeda59e6..3483113b0fb4 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/configure.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/configure.jelly @@ -45,14 +45,8 @@ THE SOFTWARE. instances="${it.monitors}" forceRowSet="true"/> - - - - - - + - diff --git a/core/src/main/resources/hudson/model/Job/configure.jelly b/core/src/main/resources/hudson/model/Job/configure.jelly index d226a966558d..3d347a863945 100644 --- a/core/src/main/resources/hudson/model/Job/configure.jelly +++ b/core/src/main/resources/hudson/model/Job/configure.jelly @@ -63,16 +63,8 @@ THE SOFTWARE. - - - - - - + - - - diff --git a/core/src/main/resources/hudson/model/Run/configure.jelly b/core/src/main/resources/hudson/model/Run/configure.jelly index edc2a24e904e..ff2bc3f09944 100644 --- a/core/src/main/resources/hudson/model/Run/configure.jelly +++ b/core/src/main/resources/hudson/model/Run/configure.jelly @@ -38,17 +38,8 @@ THE SOFTWARE. - - - - - - - + - - - diff --git a/core/src/main/resources/hudson/model/View/configure.jelly b/core/src/main/resources/hudson/model/View/configure.jelly index 6f2ff2744fe1..1d47dd542287 100644 --- a/core/src/main/resources/hudson/model/View/configure.jelly +++ b/core/src/main/resources/hudson/model/View/configure.jelly @@ -66,12 +66,8 @@ THE SOFTWARE. - - - - + - diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index.jelly b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index.jelly index c6b458cecfe9..006458e02048 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index.jelly +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index.jelly @@ -62,11 +62,8 @@ THE SOFTWARE.
    - - - - - + + diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index.jelly b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index.jelly index 0d90ad4b2d76..eeceeb7eee0c 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index.jelly +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index.jelly @@ -62,11 +62,8 @@ THE SOFTWARE. - - - - - + + diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index.jelly b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index.jelly index 0d90ad4b2d76..eeceeb7eee0c 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index.jelly +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index.jelly @@ -62,11 +62,8 @@ THE SOFTWARE. - - - - - + + diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index.jelly b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index.jelly index 6971e5abf8d0..ea96f1bc39e8 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index.jelly +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index.jelly @@ -62,11 +62,8 @@ THE SOFTWARE. - - - - - + + diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index.jelly b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index.jelly index 0d90501fbbb0..a50387704139 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index.jelly +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index.jelly @@ -64,10 +64,7 @@ THE SOFTWARE. - - - - + diff --git a/core/src/main/resources/hudson/slaves/Cloud/configure.jelly b/core/src/main/resources/hudson/slaves/Cloud/configure.jelly index f7479a743176..acb1e2d980fa 100644 --- a/core/src/main/resources/hudson/slaves/Cloud/configure.jelly +++ b/core/src/main/resources/hudson/slaves/Cloud/configure.jelly @@ -37,15 +37,8 @@ THE SOFTWARE. - - - - - + - - - diff --git a/core/src/main/resources/jenkins/agents/CloudSet/index.jelly b/core/src/main/resources/jenkins/agents/CloudSet/index.jelly index f0d1fa0f9c69..3bf3f0183e44 100644 --- a/core/src/main/resources/jenkins/agents/CloudSet/index.jelly +++ b/core/src/main/resources/jenkins/agents/CloudSet/index.jelly @@ -35,6 +35,7 @@ THE SOFTWARE. + diff --git a/core/src/main/resources/jenkins/appearance/AppearanceGlobalConfiguration/index.jelly b/core/src/main/resources/jenkins/appearance/AppearanceGlobalConfiguration/index.jelly index 9c4863c2b3f1..a49d8c765acf 100644 --- a/core/src/main/resources/jenkins/appearance/AppearanceGlobalConfiguration/index.jelly +++ b/core/src/main/resources/jenkins/appearance/AppearanceGlobalConfiguration/index.jelly @@ -44,12 +44,7 @@ THE SOFTWARE.
    - - - - - - + diff --git a/core/src/main/resources/jenkins/model/Jenkins/MasterComputer/configure.jelly b/core/src/main/resources/jenkins/model/Jenkins/MasterComputer/configure.jelly index d71a75949106..d01b9dc210a2 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/MasterComputer/configure.jelly +++ b/core/src/main/resources/jenkins/model/Jenkins/MasterComputer/configure.jelly @@ -55,11 +55,7 @@ THE SOFTWARE. - - - - - + diff --git a/core/src/main/resources/jenkins/model/Jenkins/configure.jelly b/core/src/main/resources/jenkins/model/Jenkins/configure.jelly index 34b067bec99c..b24f0e872cf4 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/configure.jelly +++ b/core/src/main/resources/jenkins/model/Jenkins/configure.jelly @@ -32,6 +32,7 @@ THE SOFTWARE. +
    @@ -46,7 +47,6 @@ THE SOFTWARE. - @@ -60,17 +60,9 @@ THE SOFTWARE. - - - - - - - + + - - -
    diff --git a/core/src/main/resources/lib/form/saveApplyBar.jelly b/core/src/main/resources/lib/form/saveApplyBar.jelly new file mode 100644 index 000000000000..d3860e7e9620 --- /dev/null +++ b/core/src/main/resources/lib/form/saveApplyBar.jelly @@ -0,0 +1,39 @@ + + + + + + Creates the bottom bar for the "Save" and "Apply" buttons. + In read only mode (<j:set var="readOnlyMode" value="true"/>) the buttons are not displayed. + + + + + + + + + + From 8458d66713fc400113d08804c0a6ff4ee9212114 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Mon, 14 Oct 2024 20:23:26 +0200 Subject: [PATCH 1003/1330] [JENKINS-73813] Show a notification when scheduling a build fails (#9787) Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Co-authored-by: Tim Jacomb --- .../hudson/views/BuildButtonColumn/column.jelly | 5 ++++- .../views/BuildButtonColumn/column.properties | 1 + .../hudson/views/BuildButtonColumn/icon.js | 8 +++++++- .../lib/hudson/project/configurable.jelly | 2 +- .../lib/hudson/project/configurable.properties | 1 + .../hudson/project/configurable/configurable.js | 8 +++++++- core/src/main/resources/lib/layout/task.jelly | 1 + core/src/main/resources/lib/layout/task/task.js | 8 +++++++- src/main/js/components/dropdowns/jumplists.js | 16 ++++++++++++---- 9 files changed, 41 insertions(+), 9 deletions(-) diff --git a/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly b/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly index 8cced8eccbda..ce12897c5efa 100644 --- a/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly +++ b/core/src/main/resources/hudson/views/BuildButtonColumn/column.jelly @@ -37,7 +37,10 @@ THE SOFTWARE. - + diff --git a/core/src/main/resources/hudson/views/BuildButtonColumn/column.properties b/core/src/main/resources/hudson/views/BuildButtonColumn/column.properties index bf14a6abb2db..86d64eaaf683 100644 --- a/core/src/main/resources/hudson/views/BuildButtonColumn/column.properties +++ b/core/src/main/resources/hudson/views/BuildButtonColumn/column.properties @@ -23,3 +23,4 @@ Task_scheduled={0} scheduled Schedule_a_task=Schedule a {1} for {0} Schedule_a_task_with_parameters=Schedule a {1} with parameters for {0} +Task_schedule_failed=Failed to schedule build for {0} diff --git a/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js b/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js index 80977933eaaa..936c87b0766a 100644 --- a/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js +++ b/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js @@ -5,6 +5,7 @@ Behaviour.specify( function (e) { var url = e.getAttribute("data-url"); var message = e.getAttribute("data-notification"); + var failure = e.getAttribute("data-failure"); var id = e.getAttribute("data-id"); var icon = document.getElementById(id); @@ -12,8 +13,13 @@ Behaviour.specify( fetch(url, { method: "post", headers: crumb.wrap({}), + }).then((rsp) => { + if (rsp.ok) { + notificationBar.show(message, notificationBar.SUCCESS); + } else { + notificationBar.show(failure, notificationBar.ERROR); + } }); - hoverNotification(message, this, -100); return false; }; }, diff --git a/core/src/main/resources/lib/hudson/project/configurable.jelly b/core/src/main/resources/lib/hudson/project/configurable.jelly index 44bac9b2b9bf..907068bcfd6e 100644 --- a/core/src/main/resources/lib/hudson/project/configurable.jelly +++ b/core/src/main/resources/lib/hudson/project/configurable.jelly @@ -27,7 +27,7 @@ THE SOFTWARE. - + diff --git a/core/src/main/resources/lib/hudson/project/configurable.properties b/core/src/main/resources/lib/hudson/project/configurable.properties index b47b64121055..e95746b7dd99 100644 --- a/core/src/main/resources/lib/hudson/project/configurable.properties +++ b/core/src/main/resources/lib/hudson/project/configurable.properties @@ -22,3 +22,4 @@ delete=Delete {0} delete.confirm=Delete the {0} ‘{1}’? +buildFailed=Failed to schedule build. Reload the page and try again. diff --git a/core/src/main/resources/lib/hudson/project/configurable/configurable.js b/core/src/main/resources/lib/hudson/project/configurable/configurable.js index a96e64219502..8ea9dacf17ae 100644 --- a/core/src/main/resources/lib/hudson/project/configurable/configurable.js +++ b/core/src/main/resources/lib/hudson/project/configurable/configurable.js @@ -4,12 +4,18 @@ function foo(el, ev) { let parameterized = el.dataset.parameterized; let success = el.dataset.buildSuccess; + let failure = el.dataset.buildFailure; if (parameterized === "false") { fetch(el.href, { method: "post", headers: crumb.wrap({}), + }).then((rsp) => { + if (rsp.ok) { + notificationBar.show(success, notificationBar.SUCCESS); + } else { + notificationBar.show(failure, notificationBar.ERROR); + } }); - hoverNotification(success, ev.target.parentNode); ev.preventDefault(); } } diff --git a/core/src/main/resources/lib/layout/task.jelly b/core/src/main/resources/lib/layout/task.jelly index 7afcbcfef821..550d9282e51b 100644 --- a/core/src/main/resources/lib/layout/task.jelly +++ b/core/src/main/resources/lib/layout/task.jelly @@ -186,6 +186,7 @@ THE SOFTWARE. href="${href}" class="task-link task-link-no-confirm ${isCurrent ? 'task-link--active' : ''}" data-task-success="${%Done.}" + data-task-failure="${%Failed.}" data-task-post="${attrs.post}" ATTRIBUTES="${attrs}" EXCEPT="badge confirmationMessage contextMenu destructive enabled href icon permission permissions post requiresConfirmation title"> diff --git a/core/src/main/resources/lib/layout/task/task.js b/core/src/main/resources/lib/layout/task/task.js index 5d6fd6fd008c..b0e95063bec8 100644 --- a/core/src/main/resources/lib/layout/task/task.js +++ b/core/src/main/resources/lib/layout/task/task.js @@ -6,6 +6,7 @@ Behaviour.specify("a.task-link-no-confirm", "task-link", 0, function (el) { let post = el.dataset.taskPost; let callback = el.dataset.callback; let success = el.dataset.taskSuccess; + let failure = el.dataset.taskFailure; let href = el.href; if (callback !== undefined) { @@ -20,8 +21,13 @@ Behaviour.specify("a.task-link-no-confirm", "task-link", 0, function (el) { fetch(href, { method: "post", headers: crumb.wrap({}), + }).then((rsp) => { + if (rsp.ok) { + notificationBar(success, notificationBar.SUCCESS); + } else { + notificationBar(failure, notificationBar.ERROR); + } }); - hoverNotification(success, el.parentNode); ev.preventDefault(); }; } diff --git a/src/main/js/components/dropdowns/jumplists.js b/src/main/js/components/dropdowns/jumplists.js index f831f452bafe..c1df72306c25 100644 --- a/src/main/js/components/dropdowns/jumplists.js +++ b/src/main/js/components/dropdowns/jumplists.js @@ -105,11 +105,19 @@ function mapChildrenItemsToDropdownItems(items) { fetch(item.url, { method: "post", headers: crumb.wrap({}), + }).then((rsp) => { + if (rsp.ok) { + notificationBar.show( + item.displayName + ": Done.", + notificationBar.SUCCESS, + ); + } else { + notificationBar.show( + item.displayName + ": Failed.", + notificationBar.ERROR, + ); + } }); - notificationBar.show( - item.displayName + ": Done.", - notificationBar.SUCCESS, - ); } } }, From 1c14bdc4de794db80d13f817e721def64f2f40e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:44:14 -0700 Subject: [PATCH 1004/1330] Update dependency io.jenkins.plugins:asm-api to v9.7.1-97.v4cc844130d97 (#9866) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index b5cb11d590e5..b75dbca848d2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -502,7 +502,7 @@ THE SOFTWARE. io.jenkins.plugins asm-api - 9.7.1-95.v9f552033802a_ + 9.7.1-97.v4cc844130d97 hpi From 7520ae670f47d934f5d5637cc126ba6b256bae01 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:25:55 -0700 Subject: [PATCH 1005/1330] Update dependency org.jenkins-ci.plugins:script-security to v1365 (#9870) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 6bf29cc3138d..d7ed09f844c1 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -118,7 +118,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1362.v67dc1f0e1b_b_3 + 1365.v4778ca_84b_de5
    org.jenkins-ci.plugins.workflow diff --git a/war/pom.xml b/war/pom.xml index b75dbca848d2..43c94afb6048 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -307,7 +307,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1362.v67dc1f0e1b_b_3 + 1365.v4778ca_84b_de5 hpi From 91b46327f72ac173a5a900969ed2b07837446e09 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:26:12 -0700 Subject: [PATCH 1006/1330] Update dependency io.jenkins.plugins:json-api to v20240303-101.v7a_8666713110 (#9868) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index 43c94afb6048..aeec9af66846 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -551,7 +551,7 @@ THE SOFTWARE. io.jenkins.plugins json-api - 20240303-41.v94e11e6de726 + 20240303-101.v7a_8666713110 hpi From b21f42837783a0a817b7fc4e355f2cb361c9a084 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:52:44 +0000 Subject: [PATCH 1007/1330] [maven-release-plugin] prepare release jenkins-2.481 --- 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/jetty12-ee9/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 0065b595ae9a..008ccf3ea993 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..17c38b15a83f 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..a3c6d3f3eda9 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..2ad4119f96c1 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 jenkins-coverage diff --git a/pom.xml b/pom.xml index 1a472b3fd02a..4682b9629872 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 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.481 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.481 -SNAPSHOT - 2024-10-08T14:08:31Z + 2024-10-15T10:33:41Z github diff --git a/test/pom.xml b/test/pom.xml index d7ed09f844c1..b039d4876485 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index aeec9af66846..0ef1e6ac6f8e 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..1fbb43e55cb3 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.481 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..6ceb1d232003 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.481 ../.. From b5b9876b516ef198ae21b6c0625ccd216242f872 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:53:08 +0000 Subject: [PATCH 1008/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 008ccf3ea993..0065b595ae9a 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 17c38b15a83f..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index a3c6d3f3eda9..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 2ad4119f96c1..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 4682b9629872..a8fc54f26297 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${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.481 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.481 + 2.482 -SNAPSHOT - 2024-10-15T10:33:41Z + 2024-10-15T13:52:44Z github diff --git a/test/pom.xml b/test/pom.xml index b039d4876485..d7ed09f844c1 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 0ef1e6ac6f8e..aeec9af66846 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 1fbb43e55cb3..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 6ceb1d232003..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.481 + ${revision}${changelist} ../.. From aa6876b2a858e4501b6db65d8f343e463d16ad1f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:58:58 -0700 Subject: [PATCH 1009/1330] Update dependency stylelint to v16.10.0 (#9869) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 75 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 50 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 62fad3f2a61a..d1c90ea0da96 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "sass": "1.79.5", "sass-loader": "16.0.2", "style-loader": "4.0.0", - "stylelint": "16.9.0", + "stylelint": "16.10.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", "webpack": "5.95.0", diff --git a/yarn.lock b/yarn.lock index d3b55f59b810..332960baf1ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3034,10 +3034,10 @@ __metadata: languageName: node linkType: hard -"css-functions-list@npm:^3.2.2": - version: 3.2.2 - resolution: "css-functions-list@npm:3.2.2" - checksum: 10c0/8638a63d0cf1bdc50d4a752ec1c94a57e9953c3b03eace4f5526db20bec3c061e95089f905dbb4999c44b9780ce777ba856967560f6d15119a303f6030901c10 +"css-functions-list@npm:^3.2.3": + version: 3.2.3 + resolution: "css-functions-list@npm:3.2.3" + checksum: 10c0/03f9ed34eeed310d2b1cf0e524eea02bc5f87854a4de85f8957ea432ab1036841a3fb00879590519f7bb8fda40d992ce7a72fa9b61696ca1dc53b90064858f96 languageName: node linkType: hard @@ -3139,6 +3139,16 @@ __metadata: languageName: node linkType: hard +"css-tree@npm:^3.0.0": + version: 3.0.0 + resolution: "css-tree@npm:3.0.0" + dependencies: + mdn-data: "npm:2.10.0" + source-map-js: "npm:^1.0.1" + checksum: 10c0/43d44fdf7004ae91d73d486f17894fef77efa33747a6752b9241cf0f5fb47fabc16ec34a96a993651d9014dfdeee803d7c5fcd3548214252ee19f4e5c98999b2 + languageName: node + linkType: hard + "css-tree@npm:~2.2.0": version: 2.2.1 resolution: "css-tree@npm:2.2.1" @@ -3242,7 +3252,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -3702,7 +3712,7 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^9.0.0": +"file-entry-cache@npm:^9.1.0": version: 9.1.0 resolution: "file-entry-cache@npm:9.1.0" dependencies: @@ -4136,13 +4146,20 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.2": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard +"ignore@npm:^6.0.2": + version: 6.0.2 + resolution: "ignore@npm:6.0.2" + checksum: 10c0/9a38feac1861906a78ba0f03e8ef3cd6b0526dce2a1a84e1009324b557763afeb9c3ebcc04666b21f7bbf71adda45e76781bb9e2eaa0903d45dcaded634454f5 + languageName: node + linkType: hard + "immutable@npm:^4.0.0": version: 4.3.7 resolution: "immutable@npm:4.3.7" @@ -4395,7 +4412,7 @@ __metadata: sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" - stylelint: "npm:16.9.0" + stylelint: "npm:16.10.0" stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" @@ -4761,6 +4778,13 @@ __metadata: languageName: node linkType: hard +"mdn-data@npm:2.10.0": + version: 2.10.0 + resolution: "mdn-data@npm:2.10.0" + checksum: 10c0/f6f1a6a6eb092bab250d06f6f6c7cb1733a77a17e7119aac829ad67d4322bbf6a30df3c6d88686e71942e66bd49274b2ddfede22a1d3df0d6c49a56fbd09eb7c + languageName: node + linkType: hard + "meow@npm:^13.2.0": version: 13.2.0 resolution: "meow@npm:13.2.0" @@ -6006,12 +6030,12 @@ __metadata: languageName: node linkType: hard -"postcss-safe-parser@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-safe-parser@npm:7.0.0" +"postcss-safe-parser@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-safe-parser@npm:7.0.1" peerDependencies: postcss: ^8.4.31 - checksum: 10c0/4217afd8ce2809e959dc365e4675f499303cc6b91f94db06c8164422822db2d3b3124df701ee2234db4127ad05619b016bfb9c2bccae9bf9cf898a396f1632c9 + checksum: 10c0/6957b10b818bd8d4664ec0e548af967f7549abedfb37f844d389571d36af681340f41f9477b9ccf34bcc7599bdef222d1d72e79c64373001fae77089fba6d965 languageName: node linkType: hard @@ -6075,7 +6099,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.47, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.41": +"postcss@npm:8.4.47, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": version: 8.4.47 resolution: "postcss@npm:8.4.47" dependencies: @@ -6604,7 +6628,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": +"strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -6673,9 +6697,9 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:16.9.0": - version: 16.9.0 - resolution: "stylelint@npm:16.9.0" +"stylelint@npm:16.10.0": + version: 16.10.0 + resolution: "stylelint@npm:16.10.0" dependencies: "@csstools/css-parser-algorithms": "npm:^3.0.1" "@csstools/css-tokenizer": "npm:^3.0.1" @@ -6685,17 +6709,17 @@ __metadata: balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" - css-functions-list: "npm:^3.2.2" - css-tree: "npm:^2.3.1" - debug: "npm:^4.3.6" + css-functions-list: "npm:^3.2.3" + css-tree: "npm:^3.0.0" + debug: "npm:^4.3.7" fast-glob: "npm:^3.3.2" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.0.0" + file-entry-cache: "npm:^9.1.0" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^5.3.2" + ignore: "npm:^6.0.2" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" known-css-properties: "npm:^0.34.0" @@ -6704,21 +6728,20 @@ __metadata: micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.0.1" - postcss: "npm:^8.4.41" + postcss: "npm:^8.4.47" postcss-resolve-nested-selector: "npm:^0.1.6" - postcss-safe-parser: "npm:^7.0.0" + postcss-safe-parser: "npm:^7.0.1" postcss-selector-parser: "npm:^6.1.2" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" - strip-ansi: "npm:^7.1.0" supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" table: "npm:^6.8.2" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d3ff9c8945c56b04a2fa16ec33d163325496d5db94b6fcb5adf74c76f7f794ac992888273f9a3317652ba8b6195168b2ffff382ca2a667a241e2ace8c9505ae2 + checksum: 10c0/d07dd156c225d16c740995daacd78090f7fc317602e87bda2fca323a4ae427a8526d724f3089df3b2185df4520f987547668ceea9b30985988ccbc514034aa21 languageName: node linkType: hard From 8d5c614237aeb7114d3329e05cc12a023025bb31 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:59:42 -0700 Subject: [PATCH 1010/1330] Update jenkins/ath Docker tag to v6040 (#9872) 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 7009d692b8d0..3326a2118260 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=6038.v190f938efc87 +export ATH_VERSION=6040.v72ed2f5b_59f6 if [[ $# -eq 0 ]]; then export JDK=17 From 29a711458a48578c08a6027b2b2adf57be916a0c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 08:00:14 -0700 Subject: [PATCH 1011/1330] Update dependency io.jenkins.plugins:echarts-api to v5.5.1-2 (#9873) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index aeec9af66846..b7b41897bc9e 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -365,7 +365,7 @@ THE SOFTWARE. io.jenkins.plugins echarts-api - 5.5.1-1 + 5.5.1-2 hpi From b50cf513c151ad81b0c6dd18c4b66e5c0d02c2bd Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Tue, 15 Oct 2024 17:32:02 +0200 Subject: [PATCH 1012/1330] [JENKINS-30101][JENKINS-30175] Simplify persistence design for temporarily offline status (#9855) Co-authored-by: Jesse Glick --- core/src/main/java/hudson/model/Computer.java | 109 ++++++++++-------- core/src/main/java/hudson/model/Node.java | 26 ++--- .../AbstractNodeMonitorDescriptor.java | 4 +- .../main/java/hudson/slaves/OfflineCause.java | 32 ++++- .../model/Computer/setOfflineCause.jelly | 2 +- .../hudson/cli/OfflineNodeCommandTest.java | 4 +- test/src/test/java/hudson/model/NodeTest.java | 10 +- 7 files changed, 113 insertions(+), 74 deletions(-) diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index 9e3037edf83c..8c3d814c91fe 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -180,11 +180,6 @@ private long connectTime = 0; - /** - * True if Jenkins shouldn't start new builds on this node. - */ - private boolean temporarilyOffline; - /** * {@link Node} object may be created and deleted independently * from this object. @@ -361,6 +356,13 @@ public AnnotatedLargeText getLogText() { */ @Exported public OfflineCause getOfflineCause() { + var node = getNode(); + if (node != null) { + var temporaryOfflineCause = node.getTemporaryOfflineCause(); + if (temporaryOfflineCause != null) { + return temporaryOfflineCause; + } + } return offlineCause; } @@ -372,6 +374,7 @@ public boolean hasOfflineCause() { @Exported @Override public String getOfflineCauseReason() { + var offlineCause = getOfflineCause(); if (offlineCause == null) { return ""; } @@ -550,7 +553,7 @@ public void cliDisconnect(String cause) throws ExecutionException, InterruptedEx @Deprecated public void cliOffline(String cause) throws ExecutionException, InterruptedException { checkPermission(DISCONNECT); - setTemporarilyOffline(true, new ByCLI(cause)); + setTemporaryOfflineCause(new ByCLI(cause)); } /** @@ -559,7 +562,7 @@ public void cliOffline(String cause) throws ExecutionException, InterruptedExcep @Deprecated public void cliOnline() throws ExecutionException, InterruptedException { checkPermission(CONNECT); - setTemporarilyOffline(false, null); + setTemporaryOfflineCause(null); } /** @@ -621,7 +624,7 @@ public BuildTimelineWidget getTimeline() { @Exported @Override public boolean isOffline() { - return temporarilyOffline || getChannel() == null; + return isTemporarilyOffline() || getChannel() == null; } public final boolean isOnline() { @@ -670,41 +673,64 @@ public boolean isLaunchSupported() { @Exported @Deprecated public boolean isTemporarilyOffline() { - return temporarilyOffline; + var node = getNode(); + return node != null && node.isTemporarilyOffline(); } /** * @deprecated as of 1.320. - * Use {@link #setTemporarilyOffline(boolean, OfflineCause)} + * Use {@link #setTemporaryOfflineCause(OfflineCause)} */ @Deprecated public void setTemporarilyOffline(boolean temporarilyOffline) { - setTemporarilyOffline(temporarilyOffline, null); + setTemporaryOfflineCause(temporarilyOffline ? new OfflineCause.LegacyOfflineCause() : null); + } + + /** + * @deprecated + * Use {@link #setTemporaryOfflineCause(OfflineCause)} instead. + */ + @Deprecated(since = "TODO") + public void setTemporarilyOffline(boolean temporarilyOffline, OfflineCause cause) { + if (cause == null) { + setTemporarilyOffline(temporarilyOffline); + } else { + setTemporaryOfflineCause(temporarilyOffline ? cause : null); + } } /** * Marks the computer as temporarily offline. This retains the underlying * {@link Channel} connection, but prevent builds from executing. * - * @param cause - * If the first argument is true, specify the reason why the node is being put - * offline. + * @param temporaryOfflineCause The reason why the node is being put offline. + * If null, this cancels the status + * @since TODO */ - public void setTemporarilyOffline(boolean temporarilyOffline, OfflineCause cause) { - offlineCause = temporarilyOffline ? cause : null; - this.temporarilyOffline = temporarilyOffline; - Node node = getNode(); - if (node != null) { - node.setTemporaryOfflineCause(offlineCause); + public void setTemporaryOfflineCause(@CheckForNull OfflineCause temporaryOfflineCause) { + var node = getNode(); + if (node == null) { + throw new IllegalStateException("Can't set a temporary offline cause if the node has been removed"); } - synchronized (statusChangeLock) { - statusChangeLock.notifyAll(); + node.setTemporaryOfflineCause(temporaryOfflineCause); + } + + /** + * @since TODO + * @return If the node is temporarily offline, the reason why. + */ + @SuppressWarnings("unused") // used by setOfflineCause.jelly + public String getTemporaryOfflineCauseReason() { + var node = getNode(); + if (node == null) { + // Node was deleted; computer still exists + return null; } - if (temporarilyOffline) { - Listeners.notify(ComputerListener.class, false, l -> l.onTemporarilyOffline(this, cause)); - } else { - Listeners.notify(ComputerListener.class, false, l -> l.onTemporarilyOnline(this)); + var cause = node.getTemporaryOfflineCause(); + if (cause instanceof OfflineCause.UserCause userCause) { + return userCause.getMessage(); } + return cause != null ? cause.toString() : ""; } @Exported @@ -786,16 +812,6 @@ protected void setNode(Node node) { this.nodeName = null; setNumExecutors(node.getNumExecutors()); - if (this.temporarilyOffline) { - // When we get a new node, push our current temp offline - // status to it (as the status is not carried across - // configuration changes that recreate the node). - // Since this is also called the very first time this - // Computer is created, avoid pushing an empty status - // as that could overwrite any status that the Node - // brought along from its persisted config data. - node.setTemporaryOfflineCause(this.offlineCause); - } } /** @@ -1397,24 +1413,23 @@ public void doRssLatest(StaplerRequest2 req, StaplerResponse2 rsp) throws IOExce @RequirePOST public HttpResponse doToggleOffline(@QueryParameter String offlineMessage) throws IOException, ServletException { - if (!temporarilyOffline) { - checkPermission(DISCONNECT); - offlineMessage = Util.fixEmptyAndTrim(offlineMessage); - setTemporarilyOffline(!temporarilyOffline, - new OfflineCause.UserCause(User.current(), offlineMessage)); - } else { + var node = getNode(); + if (node == null) { + return HttpResponses.notFound(); + } + if (node.isTemporarilyOffline()) { checkPermission(CONNECT); - setTemporarilyOffline(!temporarilyOffline, null); + setTemporaryOfflineCause(null); + return HttpResponses.redirectToDot(); + } else { + return doChangeOfflineCause(offlineMessage); } - return HttpResponses.redirectToDot(); } @RequirePOST public HttpResponse doChangeOfflineCause(@QueryParameter String offlineMessage) throws IOException, ServletException { checkPermission(DISCONNECT); - offlineMessage = Util.fixEmptyAndTrim(offlineMessage); - setTemporarilyOffline(true, - new OfflineCause.UserCause(User.current(), offlineMessage)); + setTemporaryOfflineCause(new OfflineCause.UserCause(User.current(), Util.fixEmptyAndTrim(offlineMessage))); return HttpResponses.redirectToDot(); } diff --git a/core/src/main/java/hudson/model/Node.java b/core/src/main/java/hudson/model/Node.java index 55cacd269133..d918b0f1db34 100644 --- a/core/src/main/java/hudson/model/Node.java +++ b/core/src/main/java/hudson/model/Node.java @@ -30,7 +30,6 @@ import edu.umd.cs.findbugs.annotations.NonNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.BulkChange; -import hudson.Extension; import hudson.ExtensionPoint; import hudson.FilePath; import hudson.FileSystemProvisioner; @@ -69,6 +68,7 @@ import java.util.logging.Logger; import jenkins.model.Jenkins; import jenkins.model.Nodes; +import jenkins.util.Listeners; import jenkins.util.SystemProperties; import jenkins.util.io.OnMaster; import net.sf.json.JSONObject; @@ -265,24 +265,13 @@ public void onLoad(Nodes parent, String name) { } /** - * Let Nodes be aware of the lifecycle of their own {@link Computer}. + * @return true if this node has a temporary offline cause set. */ - @Extension - public static class InternalComputerListener extends ComputerListener { - @Override - public void onOnline(Computer c, TaskListener listener) { - Node node = c.getNode(); - - // At startup, we need to restore any previously in-effect temp offline cause. - // We wait until the computer is started rather than getting the data to it sooner - // so that the normal computer start up processing works as expected. - if (node != null && node.temporaryOfflineCause != null && node.temporaryOfflineCause != c.getOfflineCause()) { - c.setTemporarilyOffline(true, node.temporaryOfflineCause); - } - } + boolean isTemporarilyOffline() { + return temporaryOfflineCause != null; } - private OfflineCause temporaryOfflineCause; + private volatile OfflineCause temporaryOfflineCause; /** * Enable a {@link Computer} to inform its node when it is taken @@ -294,6 +283,11 @@ void setTemporaryOfflineCause(OfflineCause cause) { temporaryOfflineCause = cause; save(); } + if (temporaryOfflineCause != null) { + Listeners.notify(ComputerListener.class, false, l -> l.onTemporarilyOffline(toComputer(), temporaryOfflineCause)); + } else { + Listeners.notify(ComputerListener.class, false, l -> l.onTemporarilyOnline(toComputer())); + } } catch (java.io.IOException e) { LOGGER.warning("Unable to complete save, temporary offline status will not be persisted: " + e.getMessage()); } diff --git a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java index 7cd1c75abc8d..d49924508bee 100644 --- a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java +++ b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java @@ -233,7 +233,7 @@ public boolean isIgnored() { */ protected boolean markOnline(Computer c) { if (isIgnored() || c.isOnline()) return false; // noop - c.setTemporarilyOffline(false, null); + c.setTemporaryOfflineCause(null); return true; } @@ -247,7 +247,7 @@ protected boolean markOnline(Computer c) { protected boolean markOffline(Computer c, OfflineCause oc) { if (isIgnored() || c.isTemporarilyOffline()) return false; // noop - c.setTemporarilyOffline(true, oc); + c.setTemporaryOfflineCause(oc); // notify the admin MonitorMarkedNodeOffline no = AdministrativeMonitor.all().get(MonitorMarkedNodeOffline.class); diff --git a/core/src/main/java/hudson/slaves/OfflineCause.java b/core/src/main/java/hudson/slaves/OfflineCause.java index 556c0ebb0c53..2a267ef03a4a 100644 --- a/core/src/main/java/hudson/slaves/OfflineCause.java +++ b/core/src/main/java/hudson/slaves/OfflineCause.java @@ -33,6 +33,8 @@ import java.util.Date; import jenkins.model.Jenkins; import org.jvnet.localizer.Localizable; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.export.ExportedBean; @@ -71,6 +73,19 @@ public long getTimestamp() { return new Date(timestamp); } + /** + * @deprecated Only exists for backward compatibility. + * @see Computer#setTemporarilyOffline(boolean) + */ + @Deprecated + @Restricted(NoExternalUse.class) + public static class LegacyOfflineCause extends OfflineCause { + @Exported(name = "description") @Override + public String toString() { + return ""; + } + } + /** * {@link OfflineCause} that renders a static text, * but without any further UI. @@ -136,15 +151,15 @@ public static class UserCause extends SimpleOfflineCause { // null when unknown private /*final*/ @CheckForNull String userId; + private final String message; + public UserCause(@CheckForNull User user, @CheckForNull String message) { - this( - user != null ? user.getId() : null, - message != null ? " : " + message : "" - ); + this(user != null ? user.getId() : null, message); } private UserCause(String userId, String message) { - super(hudson.slaves.Messages._SlaveComputer_DisconnectedBy(userId != null ? userId : Jenkins.ANONYMOUS2.getName(), message)); + super(hudson.slaves.Messages._SlaveComputer_DisconnectedBy(userId != null ? userId : Jenkins.ANONYMOUS2.getName(), message != null ? " : " + message : "")); + this.message = message; this.userId = userId; } @@ -155,6 +170,13 @@ public User getUser() { ; } + /** + * @return the message that was provided when the computer was taken offline + */ + public String getMessage() { + return message; + } + // Storing the User in a filed was a mistake, switch to userId private Object readResolve() throws ObjectStreamException { if (user != null) { diff --git a/core/src/main/resources/hudson/model/Computer/setOfflineCause.jelly b/core/src/main/resources/hudson/model/Computer/setOfflineCause.jelly index 587057a464e1..8bac3c7e27c7 100644 --- a/core/src/main/resources/hudson/model/Computer/setOfflineCause.jelly +++ b/core/src/main/resources/hudson/model/Computer/setOfflineCause.jelly @@ -34,7 +34,7 @@ THE SOFTWARE. ${%blurb}

    - +

    diff --git a/test/src/test/java/hudson/cli/OfflineNodeCommandTest.java b/test/src/test/java/hudson/cli/OfflineNodeCommandTest.java index 564c1b098baf..878001e1b145 100644 --- a/test/src/test/java/hudson/cli/OfflineNodeCommandTest.java +++ b/test/src/test/java/hudson/cli/OfflineNodeCommandTest.java @@ -118,7 +118,7 @@ public void offlineNodeShouldSucceedOnOfflineNode() throws Exception { slave.toComputer().setTemporarilyOffline(true, null); assertThat(slave.toComputer().isOffline(), equalTo(true)); assertThat(slave.toComputer().isTemporarilyOffline(), equalTo(true)); - assertThat(slave.toComputer().getOfflineCause(), equalTo(null)); + assertThat(slave.toComputer().getOfflineCause(), instanceOf(OfflineCause.LegacyOfflineCause.class)); final CLICommandInvoker.Result result = command .authorizedTo(Computer.DISCONNECT, Jenkins.READ) @@ -177,7 +177,7 @@ public void offlineNodeShouldSucceedOnOfflineNodeWithCause() throws Exception { slave.toComputer().setTemporarilyOffline(true, null); assertThat(slave.toComputer().isOffline(), equalTo(true)); assertThat(slave.toComputer().isTemporarilyOffline(), equalTo(true)); - assertThat(slave.toComputer().getOfflineCause(), equalTo(null)); + assertThat(slave.toComputer().getOfflineCause(), instanceOf(OfflineCause.LegacyOfflineCause.class)); final CLICommandInvoker.Result result = command .authorizedTo(Computer.DISCONNECT, Jenkins.READ) diff --git a/test/src/test/java/hudson/model/NodeTest.java b/test/src/test/java/hudson/model/NodeTest.java index 39ffe25f7643..cae1c2120982 100644 --- a/test/src/test/java/hudson/model/NodeTest.java +++ b/test/src/test/java/hudson/model/NodeTest.java @@ -27,6 +27,8 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.instanceOf; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -102,7 +104,10 @@ public void testSetTemporaryOfflineCause() throws Exception { assertEquals("Node should have offline cause which was set.", cause, node.toComputer().getOfflineCause()); OfflineCause cause2 = new OfflineCause.ByCLI("another message"); node.setTemporaryOfflineCause(cause2); - assertEquals("Node should have original offline cause after setting another.", cause, node.toComputer().getOfflineCause()); + assertEquals("Node should have the new offline cause.", cause2, node.toComputer().getOfflineCause()); + // Exists in some plugins + node.toComputer().setTemporarilyOffline(false, new OfflineCause.ByCLI("A third message")); + assertThat(node.getTemporaryOfflineCause(), nullValue()); } @Test @@ -115,6 +120,8 @@ public void testOfflineCause() throws Exception { try (ACLContext ignored = ACL.as2(someone.impersonate2())) { computer.doToggleOffline("original message"); cause = (OfflineCause.UserCause) computer.getOfflineCause(); + assertThat(computer.getOfflineCauseReason(), is("original message")); + assertThat(computer.getTemporaryOfflineCauseReason(), is("original message")); assertTrue(cause.toString(), cause.toString().matches("^.*?Disconnected by someone@somewhere.com : original message")); assertEquals(someone, cause.getUser()); } @@ -122,6 +129,7 @@ public void testOfflineCause() throws Exception { try (ACLContext ignored = ACL.as2(root.impersonate2())) { computer.doChangeOfflineCause("new message"); cause = (OfflineCause.UserCause) computer.getOfflineCause(); + assertThat(computer.getTemporaryOfflineCauseReason(), is("new message")); assertTrue(cause.toString(), cause.toString().matches("^.*?Disconnected by root@localhost : new message")); assertEquals(root, cause.getUser()); From c41791ef322fd07bdd1d618732c69f71f9a67462 Mon Sep 17 00:00:00 2001 From: shenxianpeng Date: Tue, 15 Oct 2024 19:41:25 +0300 Subject: [PATCH 1013/1330] Fix run generate-weekly-changelog.sh failed (#9874) closes --- .github/workflows/changelog.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 7634f375c150..f7032327b8df 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -67,4 +67,8 @@ jobs: GIT_COMMITTER_EMAIL: <86592549+jenkins-infra-changelog-generator[bot]@users.noreply.github.com> run: | wget --quiet https://raw.githubusercontent.com/jenkinsci/core-changelog-generator/master/generate-weekly-changelog.sh + # Create a Python virtual environment for pip install + # See https://github.com/jenkinsci/core-changelog-generator/issues/37 + python3 -m venv venv + source venv/bin/activate bash generate-weekly-changelog.sh From 5019eb900cc3e39590249f8d20ffc87310b96821 Mon Sep 17 00:00:00 2001 From: Devin Nusbaum Date: Tue, 15 Oct 2024 17:36:47 -0400 Subject: [PATCH 1014/1330] Stop build in `DeleteBuildsCommandTest.deleteBuildsShouldFailIfTheBuildIsRunning` so test can be cleaned up on Windows consistently (#9876) --- test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java b/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java index 5e2e917e9808..08e6552f610e 100644 --- a/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java +++ b/test/src/test/java/hudson/cli/DeleteBuildsCommandTest.java @@ -36,6 +36,7 @@ import hudson.model.ExecutorTest; import hudson.model.FreeStyleProject; import hudson.model.Item; +import hudson.model.Result; import hudson.model.Run; import hudson.model.labels.LabelAtom; import hudson.tasks.Shell; @@ -139,7 +140,7 @@ public class DeleteBuildsCommandTest { @Issue("JENKINS-73835") @Test public void deleteBuildsShouldFailIfTheBuildIsRunning() throws Exception { FreeStyleProject project = j.createFreeStyleProject("aProject"); - ExecutorTest.startBlockingBuild(project); + var build = ExecutorTest.startBlockingBuild(project); assertThat(((FreeStyleProject) j.jenkins.getItem("aProject")).getBuilds(), hasSize(1)); final CLICommandInvoker.Result result = command @@ -148,6 +149,9 @@ public class DeleteBuildsCommandTest { assertThat(result, failedWith(1)); assertThat(result, hasNoStandardOutput()); assertThat(result.stderr(), containsString("Unable to delete aProject #1 because it is still running")); + + build.doStop(); + j.assertBuildStatus(Result.ABORTED, j.waitForCompletion(build)); } @Test public void deleteBuildsShouldSuccessEvenTheBuildIsStuckInTheQueue() throws Exception { From dc4ad7e1a872e6dd9504f6c1ff1f95d84ca6046b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 16:53:45 -0700 Subject: [PATCH 1015/1330] Update dependency io.jenkins.plugins:gson-api to v2.11.0-85.v1f4e87273c33 (#9867) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index b7b41897bc9e..f0ff4fdd9870 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -523,7 +523,7 @@ THE SOFTWARE. io.jenkins.plugins gson-api - 2.11.0-41.v019fcf6125dc + 2.11.0-85.v1f4e87273c33 hpi From 4413da07f9e6d0e4a8fb96a1ff646b9e59e98d14 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 10:17:54 -0700 Subject: [PATCH 1016/1330] Update dependency io.jenkins.plugins:echarts-api to v5.5.1-3 (#9879) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index f0ff4fdd9870..fd16177eabf8 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -365,7 +365,7 @@ THE SOFTWARE. io.jenkins.plugins echarts-api - 5.5.1-2 + 5.5.1-3 hpi From e1a6b190d4d71e95a8e00facd52ce7718909b9e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 10:18:42 -0700 Subject: [PATCH 1017/1330] Update dependency org.jenkins-ci:jenkins to v1.125 (#9877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- core/src/site/site.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/site/site.xml b/core/src/site/site.xml index 8b17895170df..a840aba6842c 100644 --- a/core/src/site/site.xml +++ b/core/src/site/site.xml @@ -40,7 +40,7 @@ org.apache.maven.skins maven-fluido-skin - 1.12.0 + 2.0.0-M11 diff --git a/pom.xml b/pom.xml index a8fc54f26297..ef3c35a41d94 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci jenkins - 1.123 + 1.125 From e097c2218e2c406b782ef0447f44a48672b4bf14 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 14:56:23 -0700 Subject: [PATCH 1018/1330] Update dependency org.jenkins-ci.plugins.workflow:workflow-support to v930 (#9881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index d7ed09f844c1..2f4dea0ecf20 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -134,7 +134,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-support - 926.v9f4f9b_b_98c19 + 930.vf51d22b_ce488 diff --git a/war/pom.xml b/war/pom.xml index fd16177eabf8..c172a6ae3334 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -350,7 +350,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-support - 926.v9f4f9b_b_98c19 + 930.vf51d22b_ce488 hpi From a4f6f61d29303e3549a825c2a3bfa3e2021f6cff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:10:58 -0700 Subject: [PATCH 1019/1330] Update dependency org.jenkins-ci.main:remoting to v3270 (#9880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ef3c35a41d94..c0f32e2a0bc0 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3261.v9c670a_4748a_9 + 3270.v9e0d174083ed Max Medium From 8612f16534d9f04a33b6a6f407bccb040315eec0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 08:36:50 -0700 Subject: [PATCH 1020/1330] Update dependency org.springframework:spring-framework-bom to v6.1.14 (#9884) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 0065b595ae9a..bd8699441c8b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -62,7 +62,7 @@ THE SOFTWARE. org.springframework spring-framework-bom - 6.1.13 + 6.1.14 pom import From 091953fb3ea25a7c0fb0e78e8c31a80258a24c28 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:16:37 -0700 Subject: [PATCH 1021/1330] Update dependency org.jenkins-ci.plugins:junit to v1307 (#9886) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 2f4dea0ecf20..726af9deeece 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -230,7 +230,7 @@ THE SOFTWARE. org.jenkins-ci.plugins junit - 1304.vc85a_b_ca_96613 + 1307.vdd5b_2646279e test diff --git a/war/pom.xml b/war/pom.xml index c172a6ae3334..9c3ad8fd30e4 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -314,7 +314,7 @@ THE SOFTWARE. org.jenkins-ci.plugins junit - 1304.vc85a_b_ca_96613 + 1307.vdd5b_2646279e hpi From 5c6b0932cf380c38c86a06693fbfbffde1bb8b69 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 20 Oct 2024 09:21:29 +0100 Subject: [PATCH 1022/1330] Update dependency sass to v1.80.1 (#9889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d1c90ea0da96..4fe09a1d1515 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.79.5", + "sass": "1.80.1", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index 332960baf1ec..9e6ed9c952d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4408,7 +4408,7 @@ __metadata: postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.79.5" + sass: "npm:1.80.1" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6385,9 +6385,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.79.5": - version: 1.79.5 - resolution: "sass@npm:1.79.5" +"sass@npm:1.80.1": + version: 1.80.1 + resolution: "sass@npm:1.80.1" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6395,7 +6395,7 @@ __metadata: source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/7331865fd1d0c03e6e180a4fe0e175ac1bf1214f6c77f0d99ad72fbe2ed9ede3fab8a64c0c41471cb8a358a9d11624ec59a49283f9b6070eb99c522b34b814bf + checksum: 10c0/91ec2b8bcba4c3c68c047fdcbe04cb82646b5cc6446e04d9134ff3c642d9895363de5cbf88869f0a6aa81bcd2de9b8ccba7df7ff35d33a07a18754014ee7a31a languageName: node linkType: hard From c72033e3d175c415cb379bbc3f1a7befb0aca4f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 20 Oct 2024 09:22:59 +0100 Subject: [PATCH 1023/1330] Update dependency org.jenkins-ci.main:remoting to v3272 (#9888) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c0f32e2a0bc0..dac90b2fb41d 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3270.v9e0d174083ed + 3272.ve1ea_5d6a_c99f Max Medium From 13d2b78f0e3380f4465c248d4ba1f7c6e15af80e Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sun, 20 Oct 2024 01:23:47 -0700 Subject: [PATCH 1024/1330] Migrate `site.xml` to new model (#9885) --- core/src/site/site.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/src/site/site.xml b/core/src/site/site.xml index a840aba6842c..01aeebc17802 100644 --- a/core/src/site/site.xml +++ b/core/src/site/site.xml @@ -1,5 +1,8 @@ + - + @@ -34,9 +37,7 @@ ]]> - - Jenkins Taglib Documentation - + org.apache.maven.skins maven-fluido-skin @@ -56,4 +57,4 @@ false - + From e8360278e28b31f0897b68e9ca40fae9acd75851 Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Sun, 20 Oct 2024 10:24:52 +0200 Subject: [PATCH 1025/1330] Print Jenkins version on boot (#9878) --- core/src/main/java/jenkins/model/Jenkins.java | 1 + .../jenkins/model/JenkinsVersionTest.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 test/src/test/java/jenkins/model/JenkinsVersionTest.java diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index dc2c7926f605..4391b1547dab 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -1012,6 +1012,7 @@ protected Jenkins(File root, ServletContext context, PluginManager pluginManager adjuncts = new AdjunctManager(getServletContext(), pluginManager.uberClassLoader, "adjuncts/" + SESSION_HASH, TimeUnit.DAYS.toMillis(365)); ClassFilterImpl.register(); + LOGGER.info("Starting version " + getVersion()); // initialization consists of ... executeReactor(is, diff --git a/test/src/test/java/jenkins/model/JenkinsVersionTest.java b/test/src/test/java/jenkins/model/JenkinsVersionTest.java new file mode 100644 index 000000000000..dd72747ac889 --- /dev/null +++ b/test/src/test/java/jenkins/model/JenkinsVersionTest.java @@ -0,0 +1,24 @@ +package jenkins.model; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.hasItem; + +import java.util.logging.Level; +import org.junit.Rule; +import org.junit.Test; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.LoggerRule; + +public class JenkinsVersionTest { + @Rule + public JenkinsRule j = new JenkinsRule(); + + @Rule + public LoggerRule logging = new LoggerRule().record(Jenkins.class, Level.INFO).capture(100); + + @Test + public void printsVersion() { + assertThat(logging.getMessages(), hasItem(containsString(Jenkins.getVersion().toString()))); + } +} From 0d3c32a4e38eff4d5d8f3bbfcf47555d69b6cfe5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:25:30 +0100 Subject: [PATCH 1026/1330] Update dependency sass to v1.80.2 (#9892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4fe09a1d1515..15e01e86ed2b 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.1", + "sass": "1.80.2", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index 9e6ed9c952d2..27bbb6242402 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4408,7 +4408,7 @@ __metadata: postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.1" + sass: "npm:1.80.2" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6385,9 +6385,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.1": - version: 1.80.1 - resolution: "sass@npm:1.80.1" +"sass@npm:1.80.2": + version: 1.80.2 + resolution: "sass@npm:1.80.2" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6395,7 +6395,7 @@ __metadata: source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/91ec2b8bcba4c3c68c047fdcbe04cb82646b5cc6446e04d9134ff3c642d9895363de5cbf88869f0a6aa81bcd2de9b8ccba7df7ff35d33a07a18754014ee7a31a + checksum: 10c0/0006e2ee7a732abaa96a663167b078b8d53b4d7fe5ce435636a8bca6e8a3b6ebc12308c0725f577a456329ed962436d96cfcdd50a8e733ed4c4e4590f21243c9 languageName: node linkType: hard From 9af59503d518d87cbfcb1660b439f0fca2ac689e Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:35:12 +0100 Subject: [PATCH 1027/1330] Refine content and appearance of the project 'Configure' screen (#9734) Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> Co-authored-by: Tim Jacomb --- .../resources/lib/form/descriptorList.jelly | 5 ++++- .../hudson/project/config-buildWrappers.jelly | 3 ++- .../project/config-buildWrappers.properties | 1 + .../lib/hudson/project/config-builders.jelly | 14 +++++++------- .../hudson/project/config-builders.properties | 1 + .../hudson/project/config-publishers2.jelly | 19 +++++++++---------- .../project/config-publishers2.properties | 1 + .../lib/hudson/project/config-scm.jelly | 4 +++- .../lib/hudson/project/config-scm.properties | 1 + .../lib/hudson/project/config-trigger.jelly | 3 ++- .../hudson/project/config-trigger.properties | 1 + src/main/js/section-to-sidebar-items.js | 2 +- src/main/scss/components/_section.scss | 2 +- 13 files changed, 34 insertions(+), 23 deletions(-) create mode 100644 core/src/main/resources/lib/hudson/project/config-buildWrappers.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-builders.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-publishers2.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-scm.properties create mode 100644 core/src/main/resources/lib/hudson/project/config-trigger.properties diff --git a/core/src/main/resources/lib/form/descriptorList.jelly b/core/src/main/resources/lib/form/descriptorList.jelly index ed485ef79fc6..f5d364d45682 100644 --- a/core/src/main/resources/lib/form/descriptorList.jelly +++ b/core/src/main/resources/lib/form/descriptorList.jelly @@ -34,6 +34,9 @@ THE SOFTWARE. Sets the icon on the sidebar item for the section anchor link The icon isn't visible in the section itself + + Optional attribute to set a description for the section + hudson.model.Descriptor collection whose configuration page is rendered. @@ -72,7 +75,7 @@ THE SOFTWARE. - +
    diff --git a/core/src/main/resources/lib/hudson/project/config-buildWrappers.jelly b/core/src/main/resources/lib/hudson/project/config-buildWrappers.jelly index bf11b396140e..a4895cc2c8cc 100644 --- a/core/src/main/resources/lib/hudson/project/config-buildWrappers.jelly +++ b/core/src/main/resources/lib/hudson/project/config-buildWrappers.jelly @@ -29,7 +29,8 @@ THE SOFTWARE. - diff --git a/core/src/main/resources/lib/hudson/project/config-buildWrappers.properties b/core/src/main/resources/lib/hudson/project/config-buildWrappers.properties new file mode 100644 index 000000000000..f5e24444151c --- /dev/null +++ b/core/src/main/resources/lib/hudson/project/config-buildWrappers.properties @@ -0,0 +1 @@ +description=Configure settings and variables that define the context in which your build runs, like credentials, paths, and global parameters. diff --git a/core/src/main/resources/lib/hudson/project/config-builders.jelly b/core/src/main/resources/lib/hudson/project/config-builders.jelly index f73d3db19324..7ac736b8ca2e 100644 --- a/core/src/main/resources/lib/hudson/project/config-builders.jelly +++ b/core/src/main/resources/lib/hudson/project/config-builders.jelly @@ -27,12 +27,12 @@ THE SOFTWARE. --> - - - - + + diff --git a/core/src/main/resources/lib/hudson/project/config-builders.properties b/core/src/main/resources/lib/hudson/project/config-builders.properties new file mode 100644 index 000000000000..09d79670c511 --- /dev/null +++ b/core/src/main/resources/lib/hudson/project/config-builders.properties @@ -0,0 +1 @@ +description=Automate your build process with ordered tasks like code compilation, testing, and deployment. diff --git a/core/src/main/resources/lib/hudson/project/config-publishers2.jelly b/core/src/main/resources/lib/hudson/project/config-publishers2.jelly index 20ad2f6509e1..6a422834750e 100644 --- a/core/src/main/resources/lib/hudson/project/config-publishers2.jelly +++ b/core/src/main/resources/lib/hudson/project/config-publishers2.jelly @@ -27,15 +27,14 @@ THE SOFTWARE. --> - - - - + + diff --git a/core/src/main/resources/lib/hudson/project/config-publishers2.properties b/core/src/main/resources/lib/hudson/project/config-publishers2.properties new file mode 100644 index 000000000000..30d6d39fe2fb --- /dev/null +++ b/core/src/main/resources/lib/hudson/project/config-publishers2.properties @@ -0,0 +1 @@ +description=Define what happens after a build completes, like sending notifications, archiving artifacts, or triggering other jobs. diff --git a/core/src/main/resources/lib/hudson/project/config-scm.jelly b/core/src/main/resources/lib/hudson/project/config-scm.jelly index 6a0202e005b5..56c174b11887 100644 --- a/core/src/main/resources/lib/hudson/project/config-scm.jelly +++ b/core/src/main/resources/lib/hudson/project/config-scm.jelly @@ -25,7 +25,9 @@ THE SOFTWARE. - + diff --git a/core/src/main/resources/lib/hudson/project/config-scm.properties b/core/src/main/resources/lib/hudson/project/config-scm.properties new file mode 100644 index 000000000000..9cc6366bbee7 --- /dev/null +++ b/core/src/main/resources/lib/hudson/project/config-scm.properties @@ -0,0 +1 @@ +description=Connect and manage your code repository to automatically pull the latest code for your builds. diff --git a/core/src/main/resources/lib/hudson/project/config-trigger.jelly b/core/src/main/resources/lib/hudson/project/config-trigger.jelly index 9d3651d6e1a2..26700d99d336 100644 --- a/core/src/main/resources/lib/hudson/project/config-trigger.jelly +++ b/core/src/main/resources/lib/hudson/project/config-trigger.jelly @@ -31,7 +31,8 @@ THE SOFTWARE. - diff --git a/core/src/main/resources/lib/hudson/project/config-trigger.properties b/core/src/main/resources/lib/hudson/project/config-trigger.properties new file mode 100644 index 000000000000..dc25d12170ad --- /dev/null +++ b/core/src/main/resources/lib/hudson/project/config-trigger.properties @@ -0,0 +1 @@ +description=Set up automated actions that start your build based on specific events, like code changes or scheduled times. diff --git a/src/main/js/section-to-sidebar-items.js b/src/main/js/section-to-sidebar-items.js index 38683e995f5b..54a6ff6e10a5 100644 --- a/src/main/js/section-to-sidebar-items.js +++ b/src/main/js/section-to-sidebar-items.js @@ -1,7 +1,7 @@ import { createElementFromHtml, toId } from "./util/dom"; const HEADER_SELECTOR = - ".config-table .jenkins-app-bar h2, .config-table > .jenkins-section > .jenkins-section__title"; + ".config-table .jenkins-app-bar h2, .config-table > .jenkins-section > .jenkins-section__title, .config-table > section > .jenkins-section > .jenkins-section__title"; const DEFAULT_ICON = ``; window.addEventListener("load", function () { diff --git a/src/main/scss/components/_section.scss b/src/main/scss/components/_section.scss index 4e0768d8f6e0..4519554ff849 100644 --- a/src/main/scss/components/_section.scss +++ b/src/main/scss/components/_section.scss @@ -36,7 +36,7 @@ .jenkins-section__description { // Tweaked margin so that it appears visually centred when placed next to `.jenkins-section__title` - margin: -0.5rem 0 1rem; + margin: -0.8125rem 0 1rem; color: var(--text-color-secondary); line-height: 1.66; } From eb07f9e734e1be9e649f0e3baadaa2afc900a088 Mon Sep 17 00:00:00 2001 From: Devin Nusbaum Date: Mon, 21 Oct 2024 14:35:23 -0400 Subject: [PATCH 1028/1330] Reduce default size of diagnostic buffer for `FlightRecorderInputStream` from 1MiB to 1KiB (#9887) --- .../hudson/cli/FlightRecorderInputStream.java | 2 +- .../java/hudson/cli/PlainCLIProtocolTest.java | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 test/src/test/java/hudson/cli/PlainCLIProtocolTest.java diff --git a/cli/src/main/java/hudson/cli/FlightRecorderInputStream.java b/cli/src/main/java/hudson/cli/FlightRecorderInputStream.java index 5a1167c4fdc5..41d7a719dd09 100644 --- a/cli/src/main/java/hudson/cli/FlightRecorderInputStream.java +++ b/cli/src/main/java/hudson/cli/FlightRecorderInputStream.java @@ -21,7 +21,7 @@ class FlightRecorderInputStream extends InputStream { * Size (in bytes) of the flight recorder ring buffer used for debugging remoting issues. * @since 2.41 */ - static final int BUFFER_SIZE = Integer.getInteger("hudson.remoting.FlightRecorderInputStream.BUFFER_SIZE", 1024 * 1024); + static final int BUFFER_SIZE = Integer.getInteger("hudson.remoting.FlightRecorderInputStream.BUFFER_SIZE", 1024); private final InputStream source; private ByteArrayRingBuffer recorder = new ByteArrayRingBuffer(BUFFER_SIZE); diff --git a/test/src/test/java/hudson/cli/PlainCLIProtocolTest.java b/test/src/test/java/hudson/cli/PlainCLIProtocolTest.java new file mode 100644 index 000000000000..d9081ed6910f --- /dev/null +++ b/test/src/test/java/hudson/cli/PlainCLIProtocolTest.java @@ -0,0 +1,61 @@ +package hudson.cli; + +import static org.awaitility.Awaitility.await; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.hasItem; + +import java.io.IOException; +import java.io.PipedInputStream; +import java.io.PipedOutputStream; +import java.util.logging.Level; +import org.junit.Rule; +import org.junit.jupiter.api.Test; +import org.jvnet.hudson.test.LoggerRule; + +public class PlainCLIProtocolTest { + + @Rule public LoggerRule logger = new LoggerRule().record(PlainCLIProtocol.class, Level.FINE).capture(50); + + @Test + public void streamCorruption() throws Exception { + final PipedOutputStream upload = new PipedOutputStream(); + final PipedOutputStream download = new PipedOutputStream(); + + class Server extends PlainCLIProtocol.ServerSide { + Server() throws IOException { + super(new PlainCLIProtocol.FramedOutput(download)); + } + + @Override + protected void onArg(String text) {} + + @Override + protected void onLocale(String text) {} + + @Override + protected void onEncoding(String text) {} + + @Override + protected synchronized void onStart() {} + + @Override + protected void onStdin(byte[] chunk) throws IOException {} + + @Override + protected void onEndStdin() throws IOException {} + + @Override + protected void handleClose() {} + } + + Server server = new Server(); + new PlainCLIProtocol.FramedReader(server, new PipedInputStream(upload)).start(); + // Trigger corruption + upload.write(0xFF); + upload.write(0xFF); + upload.write(0xFF); + upload.write(0xFF); + upload.flush(); + await().until(logger::getMessages, hasItem(containsString("Read back: 0xff 0xff 0xff 0xff"))); + } +} From 2c92eae462cd6963462fc983458dd91f72494049 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Mon, 21 Oct 2024 20:35:37 +0200 Subject: [PATCH 1029/1330] [JENKINS-73768] Handle base=derived case in Util#isOverridden (#9728) Co-authored-by: Daniel Beck --- core/src/main/java/hudson/Util.java | 4 ++++ core/src/test/java/hudson/util/IsOverriddenTest.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index b4529a0ea279..07d00a44d006 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -1525,6 +1525,10 @@ public static Number tryParseNumber(@CheckForNull String numberStr, @CheckForNul * does not contain the specified method. */ public static boolean isOverridden(@NonNull Class base, @NonNull Class derived, @NonNull String methodName, @NonNull Class... types) { + if (base == derived) { + // If base and derived are the same type, the method is not overridden by definition + return false; + } // If derived is not a subclass or implementor of base, it can't override any method // Technically this should also be triggered when base == derived, because it can't override its own method, but // the unit tests explicitly test for that as working. diff --git a/core/src/test/java/hudson/util/IsOverriddenTest.java b/core/src/test/java/hudson/util/IsOverriddenTest.java index c608e7453f9a..4711c5edf0a6 100644 --- a/core/src/test/java/hudson/util/IsOverriddenTest.java +++ b/core/src/test/java/hudson/util/IsOverriddenTest.java @@ -31,6 +31,7 @@ import static org.junit.Assert.assertTrue; import hudson.Util; +import java.io.PrintWriter; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ErrorCollector; @@ -52,6 +53,8 @@ public void isOverriddenTest() { assertTrue(Util.isOverridden(Base.class, Derived.class, "method")); assertTrue(Util.isOverridden(Base.class, Intermediate.class, "method")); assertFalse(Util.isOverridden(Base.class, Base.class, "method")); + assertFalse(Util.isOverridden(Throwable.class, Throwable.class, "printStackTrace", PrintWriter.class)); + assertFalse(Util.isOverridden(Throwable.class, Exception.class, "printStackTrace", PrintWriter.class)); assertTrue(Util.isOverridden(Base.class, Intermediate.class, "setX", Object.class)); assertTrue(Util.isOverridden(Base.class, Intermediate.class, "getX")); } From d7eda6a7c7f609d3451eda7c44bcf5c93eae833f Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:36:04 +0100 Subject: [PATCH 1030/1330] Use standard dropdowns for combobox (#9462) Co-authored-by: Zbynek Konecny --- .../main/resources/lib/form/combobox.jelly | 5 - src/main/js/app.js | 2 - .../index.js => dropdowns/autocomplete.js} | 37 +------- src/main/js/components/dropdowns/combo-box.js | 93 +++++++++++++++++++ src/main/js/components/dropdowns/index.js | 4 + src/main/js/components/dropdowns/utils.js | 31 +++++++ 6 files changed, 132 insertions(+), 40 deletions(-) rename src/main/js/components/{autocomplete/index.js => dropdowns/autocomplete.js} (76%) create mode 100644 src/main/js/components/dropdowns/combo-box.js diff --git a/core/src/main/resources/lib/form/combobox.jelly b/core/src/main/resources/lib/form/combobox.jelly index 51fe7ce0d30f..517e12cd875e 100644 --- a/core/src/main/resources/lib/form/combobox.jelly +++ b/core/src/main/resources/lib/form/combobox.jelly @@ -70,11 +70,6 @@ THE SOFTWARE. ${descriptor.calcFillSettings(field,attrs)} - - "); + } + }; + } + + + /** + * Corresponds to types declared in index.js + */ + public enum NotificationType { + SUCCESS, + WARNING, + ERROR + } } diff --git a/war/src/main/webapp/scripts/apply.js b/war/src/main/webapp/scripts/apply.js new file mode 100644 index 000000000000..b82153250bf6 --- /dev/null +++ b/war/src/main/webapp/scripts/apply.js @@ -0,0 +1,8 @@ +window.applyCompletionHandler = function (w) { + let scriptTagData = document.getElementById("form-apply-data-holder").dataset; + + w.notificationBar.show( + scriptTagData.message, + w.notificationBar[scriptTagData.notificationType], + ); +}; From 6c5cdfa96c5bc7dd0325d792a2a31700b72b6d54 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Mon, 21 Oct 2024 11:37:27 -0700 Subject: [PATCH 1032/1330] Allow for null to be passed to `doSafeRestart` (#9882) --- core/src/main/java/jenkins/model/Jenkins.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 4391b1547dab..6db36176c6c2 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -4668,7 +4668,7 @@ public void generateNotFoundResponse(StaplerRequest2 req, StaplerResponse2 rsp) */ @Deprecated(since = "2.414") public HttpResponse doSafeRestart(StaplerRequest req) throws IOException, ServletException, RestartNotSupportedException { - return doSafeRestart(StaplerRequest.toStaplerRequest2(req), null); + return doSafeRestart(req != null ? StaplerRequest.toStaplerRequest2(req) : null, null); } /** @@ -4701,7 +4701,7 @@ public HttpResponse doSafeRestart(StaplerRequest2 req, @QueryParameter("message" @StaplerNotDispatchable public HttpResponse doSafeRestart(StaplerRequest req, @QueryParameter("message") String message) throws IOException, javax.servlet.ServletException, RestartNotSupportedException { try { - return doSafeRestart(StaplerRequest.toStaplerRequest2(req), message); + return doSafeRestart(req != null ? StaplerRequest.toStaplerRequest2(req) : null, message); } catch (ServletException e) { throw ServletExceptionWrapper.fromJakartaServletException(e); } From 1a4b5ca9db2a10a66540925ab8725271707bf2af Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:51:08 -0700 Subject: [PATCH 1033/1330] Update Yarn to v4.5.1 (#9893) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 15e01e86ed2b..86f5277b0463 100644 --- a/package.json +++ b/package.json @@ -68,5 +68,5 @@ "engines": { "node": ">=20.0.0" }, - "packageManager": "yarn@4.5.0" + "packageManager": "yarn@4.5.1" } From 8ee91ce9846dba75b31d1339a9c0e3e90581a195 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:56:30 -0700 Subject: [PATCH 1034/1330] Update dependency org.springframework.security:spring-security-bom to v6.3.4 (#9894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index bd8699441c8b..fa38665c2a7b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -70,7 +70,7 @@ THE SOFTWARE. org.springframework.security spring-security-bom - 6.3.3 + 6.3.4 pom import From 5c68c7b61285f347dc8bf93ad01f0dc4c430c78f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:56:38 -0700 Subject: [PATCH 1035/1330] Update dependency org.jenkins-ci.main:remoting to v3273 (#9895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dac90b2fb41d..4cb7b20a6107 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3272.ve1ea_5d6a_c99f + 3273.v4cfe589b_fd83 Max Medium From 271d70bbbb17c5e59bd282bc3ddef226a04cef4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 15:31:43 -0700 Subject: [PATCH 1036/1330] Update dependency @eslint/js to v9.13.0 (#9896) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 86f5277b0463..76a3d39c66da 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/cli": "7.25.7", "@babel/core": "7.25.8", "@babel/preset-env": "7.25.8", - "@eslint/js": "9.12.0", + "@eslint/js": "9.13.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", "css-loader": "7.1.2", diff --git a/yarn.lock b/yarn.lock index 27bbb6242402..a791e6429c35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1696,6 +1696,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:9.13.0": + version: 9.13.0 + resolution: "@eslint/js@npm:9.13.0" + checksum: 10c0/672257bffe17777b8a98bd80438702904cc7a0b98b9c2e426a8a10929198b3553edf8a3fc20feed4133c02e7c8f7331a0ef1b23e5dab8e4469f7f1791beff1e0 + languageName: node + linkType: hard + "@eslint/object-schema@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/object-schema@npm:2.1.4" @@ -4388,7 +4395,7 @@ __metadata: "@babel/cli": "npm:7.25.7" "@babel/core": "npm:7.25.8" "@babel/preset-env": "npm:7.25.8" - "@eslint/js": "npm:9.12.0" + "@eslint/js": "npm:9.13.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:7.1.2" From f8c551f47f3c1410a55353ea244812ef5d6dd6e4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:17:22 -0700 Subject: [PATCH 1037/1330] Update dependency sass to v1.80.3 (#9899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 76a3d39c66da..04ca7e4dfaeb 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.2", + "sass": "1.80.3", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index a791e6429c35..cce8d24d2c56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4415,7 +4415,7 @@ __metadata: postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.2" + sass: "npm:1.80.3" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6392,9 +6392,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.2": - version: 1.80.2 - resolution: "sass@npm:1.80.2" +"sass@npm:1.80.3": + version: 1.80.3 + resolution: "sass@npm:1.80.3" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6402,7 +6402,7 @@ __metadata: source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/0006e2ee7a732abaa96a663167b078b8d53b4d7fe5ce435636a8bca6e8a3b6ebc12308c0725f577a456329ed962436d96cfcdd50a8e733ed4c4e4590f21243c9 + checksum: 10c0/fa08043fc36b854717b6eaf6247ee11341d0aff5e17a645965071866bd677930c9c9467d82ed5a4a666d7897a82be8a61427cd81b808e6b9e2d3b32cf278bebd languageName: node linkType: hard From ebfa9c25580415a68d44e8f3725fa875eb8a25cb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:17:43 -0700 Subject: [PATCH 1038/1330] Update dependency eslint to v9.13.0 (#9898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 29 +++++++++++------------------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 04ca7e4dfaeb..0cf833ecff3d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "clean-webpack-plugin": "4.0.0", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.0", - "eslint": "9.12.0", + "eslint": "9.13.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", "globals": "15.11.0", diff --git a/yarn.lock b/yarn.lock index cce8d24d2c56..52d95f0bf98b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1665,10 +1665,10 @@ __metadata: languageName: node linkType: hard -"@eslint/core@npm:^0.6.0": - version: 0.6.0 - resolution: "@eslint/core@npm:0.6.0" - checksum: 10c0/fffdb3046ad6420f8cb9204b6466fdd8632a9baeebdaf2a97d458a4eac0e16653ba50d82d61835d7d771f6ced0ec942ec482b2fbccc300e45f2cbf784537f240 +"@eslint/core@npm:^0.7.0": + version: 0.7.0 + resolution: "@eslint/core@npm:0.7.0" + checksum: 10c0/3cdee8bc6cbb96ac6103d3ead42e59830019435839583c9eb352b94ed558bd78e7ffad5286dc710df21ec1e7bd8f52aa6574c62457a4dd0f01f3736fa4a7d87a languageName: node linkType: hard @@ -1689,13 +1689,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.12.0": - version: 9.12.0 - resolution: "@eslint/js@npm:9.12.0" - checksum: 10c0/325650a59a1ce3d97c69441501ebaf415607248bacbe8c8ca35adc7cb73b524f592f266a75772f496b06f3239e3ee1996722a242148085f0ee5fb3dd7065897c - languageName: node - linkType: hard - "@eslint/js@npm:9.13.0": version: 9.13.0 resolution: "@eslint/js@npm:9.13.0" @@ -3522,16 +3515,16 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.12.0": - version: 9.12.0 - resolution: "eslint@npm:9.12.0" +"eslint@npm:9.13.0": + version: 9.13.0 + resolution: "eslint@npm:9.13.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.11.0" "@eslint/config-array": "npm:^0.18.0" - "@eslint/core": "npm:^0.6.0" + "@eslint/core": "npm:^0.7.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.12.0" + "@eslint/js": "npm:9.13.0" "@eslint/plugin-kit": "npm:^0.2.0" "@humanfs/node": "npm:^0.16.5" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -3568,7 +3561,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/67cf6ea3ea28dcda7dd54aac33e2d4028eb36991d13defb0d2339c3eaa877d5dddd12cd4416ddc701a68bcde9e0bb9e65524c2e4e9914992c724f5b51e949dda + checksum: 10c0/d3577444152182a9d8ea8c6a6acb073d3a2773ad73a6b646f432746583ec4bfcd6a44fcc2e37d05d276984e583c46c2d289b3b981ca8f8b4052756a152341d19 languageName: node linkType: hard @@ -4400,7 +4393,7 @@ __metadata: clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:7.1.2" css-minimizer-webpack-plugin: "npm:7.0.0" - eslint: "npm:9.12.0" + eslint: "npm:9.13.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" globals: "npm:15.11.0" From 4fe5040796ac443088fcb66f77adfe031c5e0278 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 21:58:20 -0700 Subject: [PATCH 1039/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2345 (#9897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- test/src/test/java/hudson/PluginManagerTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 726af9deeece..4a7b8e3ec787 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2341.v35346d95d2b_7 + 2345.v699712948764 test diff --git a/test/src/test/java/hudson/PluginManagerTest.java b/test/src/test/java/hudson/PluginManagerTest.java index b75d8fc2f66f..ec25bc96a39f 100644 --- a/test/src/test/java/hudson/PluginManagerTest.java +++ b/test/src/test/java/hudson/PluginManagerTest.java @@ -759,7 +759,7 @@ public void verifyUploadedPluginPermission() throws Exception { File dir = tmp.newFolder(); File plugin = new File(dir, "htmlpublisher.jpi"); FileUtils.copyURLToFile(Objects.requireNonNull(getClass().getClassLoader().getResource("plugins/htmlpublisher.jpi")), plugin); - f.getInputByName("name").setValueAttribute(plugin.getAbsolutePath()); + f.getInputByName("name").setValue(plugin.getAbsolutePath()); r.submit(f); File filesRef = Files.createTempFile("tmp", ".tmp").toFile(); From cb34c03b5a270a160f6dbc1528b38c2960ab3843 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:43:00 +0000 Subject: [PATCH 1040/1330] [maven-release-plugin] prepare release jenkins-2.482 --- 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/jetty12-ee9/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 fa38665c2a7b..2534752d0f4c 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..a067e242efbd 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..ebaeaeaf803d 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..cb35163b1b17 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 jenkins-coverage diff --git a/pom.xml b/pom.xml index 4cb7b20a6107..463283e581e7 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 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.482 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.482 -SNAPSHOT - 2024-10-15T13:52:44Z + 2024-10-22T10:33:42Z github diff --git a/test/pom.xml b/test/pom.xml index 4a7b8e3ec787..ba2e6a647feb 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 9c3ad8fd30e4..3be30e0e2dac 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..9089aa880487 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.482 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..0ee6e5561f32 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.482 ../.. From b6c44153bbef7b789af670697a26893b2fdccb1a Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:43:21 +0000 Subject: [PATCH 1041/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 2534752d0f4c..fa38665c2a7b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index a067e242efbd..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index ebaeaeaf803d..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index cb35163b1b17..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 463283e581e7..cfdc76b2fd56 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${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.482 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.482 + 2.483 -SNAPSHOT - 2024-10-22T10:33:42Z + 2024-10-22T13:43:00Z github diff --git a/test/pom.xml b/test/pom.xml index ba2e6a647feb..4a7b8e3ec787 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 3be30e0e2dac..9c3ad8fd30e4 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 9089aa880487..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 0ee6e5561f32..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.482 + ${revision}${changelist} ../.. From 2da45fc19fd68cf74784108743a9eb9259c6ba35 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2024 22:19:22 +0100 Subject: [PATCH 1042/1330] Update dependency org.jenkins-ci.plugins:matrix-auth to v3.2.3 (#9902) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 4a7b8e3ec787..8f1d5f20c59a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -242,7 +242,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-auth - 3.2.2 + 3.2.3 test diff --git a/war/pom.xml b/war/pom.xml index 9c3ad8fd30e4..d4ed852e7721 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -286,7 +286,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-auth - 3.2.2 + 3.2.3 hpi From d9fbb65e98800f4b28a4d4a7f882f5bd0172b61c Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Wed, 23 Oct 2024 10:04:54 +0200 Subject: [PATCH 1043/1330] Display appropriate GUI that accurately displays offline by design (#9883) --- core/src/main/java/hudson/model/Computer.java | 44 ++----- .../main/java/hudson/slaves/OfflineCause.java | 57 +++++++-- .../java/hudson/slaves/RetentionStrategy.java | 2 + .../SimpleScheduledRetentionStrategy.java | 20 ++++ .../java/jenkins/agents/IOfflineCause.java | 108 ++++++++++++++++++ .../main/java/jenkins/model/IComputer.java | 51 ++++++++- .../java/jenkins/widgets/ExecutorsWidget.java | 9 +- .../hudson/model/ComputerSet/_legend.jelly | 7 ++ .../model/ComputerSet/_legend.properties | 1 + .../hudson/model/ComputerSet/index.jelly | 2 +- .../hudson/slaves/Messages.properties | 1 + .../hudson/slaves/OfflineCause/cause.jelly | 4 +- .../jenkins/agents/Messages.properties | 1 + .../jenkins/agents/Messages_bg.properties | 2 + .../jenkins/agents/Messages_ca.properties | 1 + .../jenkins/agents/Messages_cs.properties | 1 + .../jenkins/agents/Messages_da.properties | 1 + .../jenkins/agents/Messages_de.properties | 1 + .../jenkins/agents/Messages_es.properties | 1 + .../jenkins/agents/Messages_es_AR.properties | 1 + .../jenkins/agents/Messages_et.properties | 1 + .../jenkins/agents/Messages_fi.properties | 1 + .../jenkins/agents/Messages_fr.properties | 1 + .../jenkins/agents/Messages_he.properties | 1 + .../jenkins/agents/Messages_hu.properties | 1 + .../jenkins/agents/Messages_it.properties | 1 + .../jenkins/agents/Messages_ja.properties | 1 + .../jenkins/agents/Messages_ko.properties | 1 + .../jenkins/agents/Messages_lt.properties | 1 + .../jenkins/agents/Messages_lv.properties | 1 + .../jenkins/agents/Messages_nb_NO.properties | 1 + .../jenkins/agents/Messages_nl.properties | 1 + .../jenkins/agents/Messages_pl.properties | 1 + .../jenkins/agents/Messages_pt_BR.properties | 1 + .../jenkins/agents/Messages_pt_PT.properties | 1 + .../jenkins/agents/Messages_ro.properties | 1 + .../jenkins/agents/Messages_ru.properties | 1 + .../jenkins/agents/Messages_sr.properties | 1 + .../jenkins/agents/Messages_sv_SE.properties | 1 + .../jenkins/agents/Messages_tr.properties | 1 + .../jenkins/agents/Messages_uk.properties | 1 + .../jenkins/agents/Messages_zh_TW.properties | 1 + .../main/resources/lib/hudson/executors.jelly | 7 +- .../test/java/hudson/model/ComputerTest.java | 24 ++++ .../images/symbols/computer-paused.svg | 11 ++ .../main/resources/images/symbols/pause.svg | 1 + 46 files changed, 323 insertions(+), 57 deletions(-) create mode 100644 core/src/main/java/jenkins/agents/IOfflineCause.java create mode 100644 core/src/main/resources/jenkins/agents/Messages_bg.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_ca.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_cs.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_da.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_de.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_es.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_es_AR.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_et.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_fi.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_he.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_hu.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_it.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_ja.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_ko.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_lt.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_lv.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_nb_NO.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_nl.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_pl.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_pt_BR.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_pt_PT.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_ro.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_ru.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_sr.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_uk.properties create mode 100644 core/src/main/resources/jenkins/agents/Messages_zh_TW.properties create mode 100644 war/src/main/resources/images/symbols/computer-paused.svg create mode 100644 war/src/main/resources/images/symbols/pause.svg diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index 8c3d814c91fe..9fe65e81974b 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -355,6 +355,7 @@ public AnnotatedLargeText getLogText() { * null if the system was put offline without given a cause. */ @Exported + @Override public OfflineCause getOfflineCause() { var node = getNode(); if (node != null) { @@ -374,19 +375,7 @@ public boolean hasOfflineCause() { @Exported @Override public String getOfflineCauseReason() { - var offlineCause = getOfflineCause(); - if (offlineCause == null) { - return ""; - } - // fetch the localized string for "Disconnected By" - String gsub_base = hudson.slaves.Messages.SlaveComputer_DisconnectedBy("", ""); - // regex to remove commented reason base string - String gsub1 = "^" + gsub_base + "[\\w\\W]* \\: "; - // regex to remove non-commented reason base string - String gsub2 = "^" + gsub_base + "[\\w\\W]*"; - - String newString = offlineCause.toString().replaceAll(gsub1, ""); - return newString.replaceAll(gsub2, ""); + return IComputer.super.getOfflineCauseReason(); } /** @@ -677,6 +666,14 @@ public boolean isTemporarilyOffline() { return node != null && node.isTemporarilyOffline(); } + /** + * Allows a caller to define an {@link OfflineCause} for a computer that has never been online. + * @since TODO + */ + public void setOfflineCause(OfflineCause cause) { + this.offlineCause = cause; + } + /** * @deprecated as of 1.320. * Use {@link #setTemporaryOfflineCause(OfflineCause)} @@ -736,22 +733,13 @@ public String getTemporaryOfflineCauseReason() { @Exported @Override public String getIcon() { - // The machine was taken offline by someone - if (isTemporarilyOffline() && getOfflineCause() instanceof OfflineCause.UserCause) return "symbol-computer-disconnected"; - // The computer is not accepting tasks, e.g. because the availability demands it being offline. - if (!isAcceptingTasks()) { - return "symbol-computer-not-accepting"; - } - // The computer is not connected or it is temporarily offline due to a node monitor - if (isOffline()) return "symbol-computer-offline"; - return "symbol-computer"; + return IComputer.super.getIcon(); } /** * {@inheritDoc} * - *

    - * It is both the recommended and default implementation to serve different icons based on {@link #isOffline}. + * @see #getIcon() */ @Exported @Override @@ -759,14 +747,6 @@ public String getIconClassName() { return IComputer.super.getIconClassName(); } - public String getIconAltText() { - // The machine was taken offline by someone - if (isTemporarilyOffline() && getOfflineCause() instanceof OfflineCause.UserCause) return "[temporarily offline by user]"; - // There is a "technical" reason the computer will not accept new builds - if (isOffline() || !isAcceptingTasks()) return "[offline]"; - return "[online]"; - } - @Exported @Override public @NonNull String getDisplayName() { return nodeName; diff --git a/core/src/main/java/hudson/slaves/OfflineCause.java b/core/src/main/java/hudson/slaves/OfflineCause.java index 2a267ef03a4a..07c2d3af2872 100644 --- a/core/src/main/java/hudson/slaves/OfflineCause.java +++ b/core/src/main/java/hudson/slaves/OfflineCause.java @@ -30,7 +30,7 @@ import hudson.model.User; import java.io.ObjectStreamException; import java.util.Collections; -import java.util.Date; +import jenkins.agents.IOfflineCause; import jenkins.model.Jenkins; import org.jvnet.localizer.Localizable; import org.kohsuke.accmod.Restricted; @@ -51,28 +51,20 @@ * @since 1.320 */ @ExportedBean -public abstract class OfflineCause { +public abstract class OfflineCause implements IOfflineCause { protected final long timestamp = System.currentTimeMillis(); /** - * Timestamp in which the event happened. + * {@inheritDoc} * * @since 1.612 */ @Exported + @Override public long getTimestamp() { return timestamp; } - /** - * Same as {@link #getTimestamp()} but in a different type. - * - * @since 1.612 - */ - public final @NonNull Date getTime() { - return new Date(timestamp); - } - /** * @deprecated Only exists for backward compatibility. * @see Computer#setTemporarilyOffline(boolean) @@ -192,6 +184,24 @@ private Object readResolve() throws ObjectStreamException { } return this; } + + @Override + @NonNull + public String getComputerIcon() { + return "symbol-computer-disconnected"; + } + + @Override + @NonNull + public String getComputerIconAltText() { + return "[temporarily offline by user]"; + } + + @NonNull + @Override + public String getIcon() { + return "symbol-person"; + } } public static class ByCLI extends UserCause { @@ -212,5 +222,28 @@ public static class IdleOfflineCause extends SimpleOfflineCause { public IdleOfflineCause() { super(hudson.slaves.Messages._RetentionStrategy_Demand_OfflineIdle()); } + + @Override + @NonNull + public String getComputerIcon() { + return "symbol-computer-paused"; + } + + @Override + @NonNull + public String getComputerIconAltText() { + return "[will connect automatically whenever needed]"; + } + + @Override + @NonNull + public String getIcon() { + return "symbol-pause"; + } + + @Override + public String getStatusClass() { + return "info"; + } } } diff --git a/core/src/main/java/hudson/slaves/RetentionStrategy.java b/core/src/main/java/hudson/slaves/RetentionStrategy.java index 687e44d5c172..6fe491cdaa87 100644 --- a/core/src/main/java/hudson/slaves/RetentionStrategy.java +++ b/core/src/main/java/hudson/slaves/RetentionStrategy.java @@ -272,6 +272,8 @@ public long check(final SlaveComputer c) { logger.log(Level.INFO, "Launching computer {0} as it has been in demand for {1}", new Object[]{c.getName(), Util.getTimeSpanString(demandMilliseconds)}); c.connect(false); + } else if (c.getOfflineCause() == null) { + c.setOfflineCause(new OfflineCause.IdleOfflineCause()); } } else if (c.isIdle()) { final long idleMilliseconds = System.currentTimeMillis() - c.getIdleStartMilliseconds(); diff --git a/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java b/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java index ea90529b29b4..13a267ace665 100644 --- a/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java +++ b/core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java @@ -242,6 +242,8 @@ public void run() { c.disconnect(OfflineCause.create(Messages._SimpleScheduledRetentionStrategy_FinishedUpTime())); } } + } else { + c.setOfflineCause(new ScheduledOfflineCause()); } return 0; } @@ -252,6 +254,24 @@ private synchronized boolean isOnlineScheduled() { return (lastStart < now && lastStop > now) || (nextStart < now && nextStop > now); } + public static class ScheduledOfflineCause extends OfflineCause.SimpleOfflineCause { + public ScheduledOfflineCause() { + super(Messages._SimpleScheduledRetentionStrategy_ScheduledOfflineCause_displayName()); + } + + @NonNull + @Override + public String getComputerIcon() { + return "symbol-computer-not-accepting"; + } + + @NonNull + @Override + public String getIcon() { + return "symbol-trigger"; + } + } + @Extension @Symbol("schedule") public static class DescriptorImpl extends Descriptor> { @NonNull diff --git a/core/src/main/java/jenkins/agents/IOfflineCause.java b/core/src/main/java/jenkins/agents/IOfflineCause.java new file mode 100644 index 000000000000..fca5f35b8d25 --- /dev/null +++ b/core/src/main/java/jenkins/agents/IOfflineCause.java @@ -0,0 +1,108 @@ +/* + * The MIT License + * + * Copyright 2024 CloudBees, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package jenkins.agents; + +import edu.umd.cs.findbugs.annotations.NonNull; +import hudson.Util; +import java.util.Date; +import java.util.Objects; +import jenkins.model.IComputer; + +/** + * Represents a cause that puts a {@linkplain IComputer#isOffline() computer offline}. + * @since TODO + */ +public interface IOfflineCause { + /** + * @return The icon to use for the computer that has this offline cause. It will be displayed in the build executor status widget, as well as in nodes list screen. + */ + @NonNull + default String getComputerIcon() { + return "symbol-computer-offline"; + } + + /** + * @return The alt text for the icon returned by {@link #getComputerIcon()}. + */ + @NonNull + default String getComputerIconAltText() { + return "[offline]"; + } + + /** + * @return The icon to render this offline cause. It will be displayed in the build executor status widget. + */ + @NonNull + default String getIcon() { + return "symbol-error"; + } + + /** + * @return The reason why this offline cause exists. + *

    + * For implementers: this can use HTML formatting, so make sure to only include trusted content. + */ + @NonNull + default String getReason() { + // fetch the localized string for "Disconnected By" + String gsub_base = hudson.slaves.Messages.SlaveComputer_DisconnectedBy("", ""); + // regex to remove commented reason base string + String gsub1 = "^" + gsub_base + "[\\w\\W]* \\: "; + // regex to remove non-commented reason base string + String gsub2 = "^" + gsub_base + "[\\w\\W]*"; + return Objects.requireNonNull(Util.escape(toString().replaceAll(gsub1, "").replaceAll(gsub2, ""))); + } + + /** + * @return A short message (one word) that summarizes the offline cause. + * + *

    + * For implementers: this can use HTML formatting, so make sure to only include trusted content. + */ + @NonNull + default String getMessage() { + return Messages.IOfflineCause_offline(); + } + + /** + * @return the CSS class name that should be used to render the status. + */ + @SuppressWarnings("unused") // jelly + default String getStatusClass() { + return "warning"; + } + + /** + * Timestamp in which the event happened. + */ + long getTimestamp(); + + /** + * Same as {@link #getTimestamp()} but in a different type. + */ + @NonNull + default Date getTime() { + return new Date(getTimestamp()); + } +} diff --git a/core/src/main/java/jenkins/model/IComputer.java b/core/src/main/java/jenkins/model/IComputer.java index 0708748f4370..6aaea7af463f 100644 --- a/core/src/main/java/jenkins/model/IComputer.java +++ b/core/src/main/java/jenkins/model/IComputer.java @@ -32,6 +32,7 @@ import hudson.security.AccessControlled; import java.util.List; import java.util.concurrent.Future; +import jenkins.agents.IOfflineCause; import org.jenkins.ui.icon.Icon; import org.jenkins.ui.icon.IconSet; import org.kohsuke.accmod.Restricted; @@ -91,6 +92,12 @@ default boolean hasOfflineCause() { return Util.fixEmpty(getOfflineCauseReason()) != null; } + /** + * @return the offline cause if the computer is offline. + * @since TODO + */ + IOfflineCause getOfflineCause(); + /** * If the computer was offline (either temporarily or not), * this method will return the cause as a string (without user info). @@ -101,7 +108,12 @@ default boolean hasOfflineCause() { * empty string if the system was put offline without given a cause. */ @NonNull - String getOfflineCauseReason(); + default String getOfflineCauseReason() { + if (getOfflineCause() == null) { + return ""; + } + return getOfflineCause().getReason(); + } /** * @return true if the node is currently connecting to the Jenkins controller. @@ -115,12 +127,45 @@ default boolean hasOfflineCause() { * * @see #getIconClassName() */ - String getIcon(); + default String getIcon() { + // The computer is not accepting tasks, e.g. because the availability demands it being offline. + if (!isAcceptingTasks()) { + return "symbol-computer-not-accepting"; + } + var offlineCause = getOfflineCause(); + if (offlineCause != null) { + return offlineCause.getComputerIcon(); + } + // The computer is not connected or it is temporarily offline due to a node monitor + if (isOffline()) return "symbol-computer-offline"; + return "symbol-computer"; + } /** * Returns the alternative text for the computer icon. */ - String getIconAltText(); + @SuppressWarnings("unused") // jelly + default String getIconAltText() { + if (!isAcceptingTasks()) { + return "[suspended]"; + } + var offlineCause = getOfflineCause(); + if (offlineCause != null) { + return offlineCause.getComputerIconAltText(); + } + // There is a "technical" reason the computer will not accept new builds + if (isOffline()) return "[offline]"; + return "[online]"; + } + + default String getTooltip() { + var offlineCause = getOfflineCause(); + if (offlineCause != null) { + return offlineCause.toString(); + } else { + return ""; + } + } /** * Returns the class name that will be used to look up the icon. diff --git a/core/src/main/java/jenkins/widgets/ExecutorsWidget.java b/core/src/main/java/jenkins/widgets/ExecutorsWidget.java index c660d4e03911..3577d21af48b 100644 --- a/core/src/main/java/jenkins/widgets/ExecutorsWidget.java +++ b/core/src/main/java/jenkins/widgets/ExecutorsWidget.java @@ -10,6 +10,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import jenkins.model.IComputer; import jenkins.model.Jenkins; import org.jenkinsci.Symbol; @@ -23,9 +24,9 @@ */ public class ExecutorsWidget extends Widget { private final String ownerUrl; - private final List computers; + private final List computers; - public ExecutorsWidget(@NonNull String ownerUrl, @NonNull List computers) { + public ExecutorsWidget(@NonNull String ownerUrl, @NonNull List computers) { this.ownerUrl = ownerUrl; this.computers = new ArrayList<>(computers); } @@ -35,7 +36,7 @@ protected String getOwnerUrl() { return ownerUrl; } - public List getComputers() { + public List getComputers() { return Collections.unmodifiableList(computers); } @@ -92,7 +93,7 @@ public Class widgetType() { @NonNull @Override public Collection createFor(@NonNull ComputerSet target) { - return List.of(new ExecutorsWidget("computer/", List.of(target.get_all()))); + return List.of(new ExecutorsWidget("computer/", new ArrayList<>(target.getComputers()))); } } } diff --git a/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly b/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly index 07871a6fe5f1..1668323aa584 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly @@ -10,6 +10,13 @@ ${%online} +

    + +
    +
    + ${%paused} +
    +
    diff --git a/core/src/main/resources/hudson/model/ComputerSet/_legend.properties b/core/src/main/resources/hudson/model/ComputerSet/_legend.properties index 075df2f8a1c4..223ac506677e 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/_legend.properties +++ b/core/src/main/resources/hudson/model/ComputerSet/_legend.properties @@ -6,6 +6,7 @@ not-accepting=The agent is not accepting tasks for execution. This usually means the time window. The agent might still execute tasks that have started while it was accepting tasks. Cloud agents that are \ intended to run only a single task might also use this.
    \ Agents will be shown as suspended in the Build Executor Status widgets. +paused=The agent has been put offline due to the configured retention strategy. It will be brought back online when needed (e.g. a new task requests it). offline=None of the above conditions applies. The agent is not connected or it is still connected but a node monitor decided \ that the agent is not in a healthy state. An agent in this state should be investigated. Legend=Icon legend diff --git a/core/src/main/resources/hudson/model/ComputerSet/index.jelly b/core/src/main/resources/hudson/model/ComputerSet/index.jelly index c96346ac4949..5e957e2bd9c0 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/index.jelly +++ b/core/src/main/resources/hudson/model/ComputerSet/index.jelly @@ -77,7 +77,7 @@ THE SOFTWARE.
    - +
    diff --git a/core/src/main/resources/hudson/slaves/Messages.properties b/core/src/main/resources/hudson/slaves/Messages.properties index 5c95fd0df998..7dbd6e8a1909 100644 --- a/core/src/main/resources/hudson/slaves/Messages.properties +++ b/core/src/main/resources/hudson/slaves/Messages.properties @@ -42,3 +42,4 @@ ComputerLauncher.JavaVersionResult={0} -version returned {1}. ComputerLauncher.UnknownJavaVersion=Couldn’t figure out the Java version of {0} Cloud.ProvisionPermission.Description=Provision new nodes Cloud.RequiredName=Cloud must have a unique non-empty name. +SimpleScheduledRetentionStrategy.ScheduledOfflineCause.displayName=Offline according to schedule diff --git a/core/src/main/resources/hudson/slaves/OfflineCause/cause.jelly b/core/src/main/resources/hudson/slaves/OfflineCause/cause.jelly index 51a05a144aaf..e2457c8ae2bc 100644 --- a/core/src/main/resources/hudson/slaves/OfflineCause/cause.jelly +++ b/core/src/main/resources/hudson/slaves/OfflineCause/cause.jelly @@ -24,12 +24,12 @@ THE SOFTWARE. -
    +
    - ${it} +
    diff --git a/core/src/main/resources/jenkins/agents/Messages.properties b/core/src/main/resources/jenkins/agents/Messages.properties index 11a27f40642c..468a77f88db8 100644 --- a/core/src/main/resources/jenkins/agents/Messages.properties +++ b/core/src/main/resources/jenkins/agents/Messages.properties @@ -4,3 +4,4 @@ CloudSet.SpecifyCloudToCopy=Specify which cloud to copy CloudSet.NoSuchCloud=No such cloud: {0} CloudsLink.DisplayName=Clouds CloudsLink.Description=Add, remove, and configure cloud instances to provision agents on-demand. +IOfflineCause.offline=Offline diff --git a/core/src/main/resources/jenkins/agents/Messages_bg.properties b/core/src/main/resources/jenkins/agents/Messages_bg.properties new file mode 100644 index 000000000000..854f81e155df --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_bg.properties @@ -0,0 +1,2 @@ +IOfflineCause.offline=\ + Извън линия diff --git a/core/src/main/resources/jenkins/agents/Messages_ca.properties b/core/src/main/resources/jenkins/agents/Messages_ca.properties new file mode 100644 index 000000000000..b1dc57237b69 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_ca.properties @@ -0,0 +1 @@ +IOfflineCause.offline=Fora de línia diff --git a/core/src/main/resources/jenkins/agents/Messages_cs.properties b/core/src/main/resources/jenkins/agents/Messages_cs.properties new file mode 100644 index 000000000000..e8be0867d387 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_cs.properties @@ -0,0 +1 @@ +IOfflineCause.offline=nedostupný diff --git a/core/src/main/resources/jenkins/agents/Messages_da.properties b/core/src/main/resources/jenkins/agents/Messages_da.properties new file mode 100644 index 000000000000..3eeb9c7db8ac --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_da.properties @@ -0,0 +1 @@ +IOfflineCause.offline=offline diff --git a/core/src/main/resources/jenkins/agents/Messages_de.properties b/core/src/main/resources/jenkins/agents/Messages_de.properties new file mode 100644 index 000000000000..3eeb9c7db8ac --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_de.properties @@ -0,0 +1 @@ +IOfflineCause.offline=offline diff --git a/core/src/main/resources/jenkins/agents/Messages_es.properties b/core/src/main/resources/jenkins/agents/Messages_es.properties new file mode 100644 index 000000000000..227b94579e02 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_es.properties @@ -0,0 +1 @@ +IOfflineCause.offline=fuera de linea diff --git a/core/src/main/resources/jenkins/agents/Messages_es_AR.properties b/core/src/main/resources/jenkins/agents/Messages_es_AR.properties new file mode 100644 index 000000000000..6876bdefb1c9 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_es_AR.properties @@ -0,0 +1 @@ +IOfflineCause.offline=desconectado diff --git a/core/src/main/resources/jenkins/agents/Messages_et.properties b/core/src/main/resources/jenkins/agents/Messages_et.properties new file mode 100644 index 000000000000..569f0fb79967 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_et.properties @@ -0,0 +1 @@ +IOfflineCause.offline=offlain diff --git a/core/src/main/resources/jenkins/agents/Messages_fi.properties b/core/src/main/resources/jenkins/agents/Messages_fi.properties new file mode 100644 index 000000000000..9366da643837 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_fi.properties @@ -0,0 +1 @@ +IOfflineCause.offline=ei yhteyttä diff --git a/core/src/main/resources/jenkins/agents/Messages_fr.properties b/core/src/main/resources/jenkins/agents/Messages_fr.properties index 4d11e586212e..6b5c376636ef 100644 --- a/core/src/main/resources/jenkins/agents/Messages_fr.properties +++ b/core/src/main/resources/jenkins/agents/Messages_fr.properties @@ -4,3 +4,4 @@ CloudSet.SpecifyCloudToCopy=Spécifier le cloud à copier CloudSet.NoSuchCloud=Aucun cloud : {0} CloudsLink.DisplayName=Clouds CloudsLink.Description=Ajouter, supprimer et configurer les instances de cloud afin de provisionner les agents à la demande. +IOfflineCause.offline=déconnecté diff --git a/core/src/main/resources/jenkins/agents/Messages_he.properties b/core/src/main/resources/jenkins/agents/Messages_he.properties new file mode 100644 index 000000000000..845bb4c14d51 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_he.properties @@ -0,0 +1 @@ +IOfflineCause.offline=לא מקוון diff --git a/core/src/main/resources/jenkins/agents/Messages_hu.properties b/core/src/main/resources/jenkins/agents/Messages_hu.properties new file mode 100644 index 000000000000..f1d2ee59ca29 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_hu.properties @@ -0,0 +1 @@ +IOfflineCause.offline=kapcsolat nélkül diff --git a/core/src/main/resources/jenkins/agents/Messages_it.properties b/core/src/main/resources/jenkins/agents/Messages_it.properties new file mode 100644 index 000000000000..67f532b2888e --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_it.properties @@ -0,0 +1 @@ +IOfflineCause.offline=non in linea diff --git a/core/src/main/resources/jenkins/agents/Messages_ja.properties b/core/src/main/resources/jenkins/agents/Messages_ja.properties new file mode 100644 index 000000000000..1dc8b5a9de59 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_ja.properties @@ -0,0 +1 @@ +IOfflineCause.offline=オフライン diff --git a/core/src/main/resources/jenkins/agents/Messages_ko.properties b/core/src/main/resources/jenkins/agents/Messages_ko.properties new file mode 100644 index 000000000000..b66c4afd873d --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_ko.properties @@ -0,0 +1 @@ +IOfflineCause.offline=오프라인 diff --git a/core/src/main/resources/jenkins/agents/Messages_lt.properties b/core/src/main/resources/jenkins/agents/Messages_lt.properties new file mode 100644 index 000000000000..1dc33ef4d0ce --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_lt.properties @@ -0,0 +1 @@ +IOfflineCause.offline=nepasiekiamas diff --git a/core/src/main/resources/jenkins/agents/Messages_lv.properties b/core/src/main/resources/jenkins/agents/Messages_lv.properties new file mode 100644 index 000000000000..b201d5aa457b --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_lv.properties @@ -0,0 +1 @@ +IOfflineCause.offline=bezsaitē diff --git a/core/src/main/resources/jenkins/agents/Messages_nb_NO.properties b/core/src/main/resources/jenkins/agents/Messages_nb_NO.properties new file mode 100644 index 000000000000..e4c6f4d4c1cf --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_nb_NO.properties @@ -0,0 +1 @@ +IOfflineCause.offline=ikke tilgjengelig diff --git a/core/src/main/resources/jenkins/agents/Messages_nl.properties b/core/src/main/resources/jenkins/agents/Messages_nl.properties new file mode 100644 index 000000000000..db8aa00bc17e --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_nl.properties @@ -0,0 +1 @@ +IOfflineCause.offline=niet verbonden diff --git a/core/src/main/resources/jenkins/agents/Messages_pl.properties b/core/src/main/resources/jenkins/agents/Messages_pl.properties new file mode 100644 index 000000000000..d077ba98ac3d --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_pl.properties @@ -0,0 +1 @@ +IOfflineCause.offline=rozłączony diff --git a/core/src/main/resources/jenkins/agents/Messages_pt_BR.properties b/core/src/main/resources/jenkins/agents/Messages_pt_BR.properties new file mode 100644 index 000000000000..6876bdefb1c9 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_pt_BR.properties @@ -0,0 +1 @@ +IOfflineCause.offline=desconectado diff --git a/core/src/main/resources/jenkins/agents/Messages_pt_PT.properties b/core/src/main/resources/jenkins/agents/Messages_pt_PT.properties new file mode 100644 index 000000000000..1b4e4281c66a --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_pt_PT.properties @@ -0,0 +1 @@ +IOfflineCause.offline=desligado diff --git a/core/src/main/resources/jenkins/agents/Messages_ro.properties b/core/src/main/resources/jenkins/agents/Messages_ro.properties new file mode 100644 index 000000000000..003d60708ddd --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_ro.properties @@ -0,0 +1 @@ +IOfflineCause.offline=oprit diff --git a/core/src/main/resources/jenkins/agents/Messages_ru.properties b/core/src/main/resources/jenkins/agents/Messages_ru.properties new file mode 100644 index 000000000000..6b7d6b72f9bc --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_ru.properties @@ -0,0 +1 @@ +IOfflineCause.offline=выключен diff --git a/core/src/main/resources/jenkins/agents/Messages_sr.properties b/core/src/main/resources/jenkins/agents/Messages_sr.properties new file mode 100644 index 000000000000..33944f0fed07 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_sr.properties @@ -0,0 +1 @@ +IOfflineCause.offline=Ван мреже diff --git a/core/src/main/resources/jenkins/agents/Messages_sv_SE.properties b/core/src/main/resources/jenkins/agents/Messages_sv_SE.properties index 38cc64867d62..51ede868f109 100644 --- a/core/src/main/resources/jenkins/agents/Messages_sv_SE.properties +++ b/core/src/main/resources/jenkins/agents/Messages_sv_SE.properties @@ -4,3 +4,4 @@ CloudSet.SpecifyCloudToCopy=Ange vilket moln som ska kopieras CloudSet.NoSuchCloud=Det finns inget sådant moln: {0} CloudsLink.DisplayName=Moln CloudsLink.Description=Lägg till, ta bort och konfigurera molninstanser för att tillhandahålla agenter på begäran. +IOfflineCause.offline=frånkopplad diff --git a/core/src/main/resources/jenkins/agents/Messages_tr.properties b/core/src/main/resources/jenkins/agents/Messages_tr.properties index 5265f554c784..240942f59eae 100644 --- a/core/src/main/resources/jenkins/agents/Messages_tr.properties +++ b/core/src/main/resources/jenkins/agents/Messages_tr.properties @@ -4,3 +4,4 @@ CloudSet.SpecifyCloudToCopy=Hangi bulutun kopyalanacağını belirtin CloudSet.NoSuchCloud=Böyle bir bulut yok: {0} CloudsLink.DisplayName=Bulutlar CloudsLink.Description=İsteğe bağlı olarak ajan hazırlamak için kullanılmak üzere bulut tanımları ekleyin, kaldırın ve düzenleyin. +IOfflineCause.offline=поза мережею diff --git a/core/src/main/resources/jenkins/agents/Messages_uk.properties b/core/src/main/resources/jenkins/agents/Messages_uk.properties new file mode 100644 index 000000000000..1138609d6943 --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_uk.properties @@ -0,0 +1 @@ +IOfflineCause.offline=поза мережею diff --git a/core/src/main/resources/jenkins/agents/Messages_zh_TW.properties b/core/src/main/resources/jenkins/agents/Messages_zh_TW.properties new file mode 100644 index 000000000000..8f59605265aa --- /dev/null +++ b/core/src/main/resources/jenkins/agents/Messages_zh_TW.properties @@ -0,0 +1 @@ +IOfflineCause.offline=離線 diff --git a/core/src/main/resources/lib/hudson/executors.jelly b/core/src/main/resources/lib/hudson/executors.jelly index af2224818c40..01dab9d2b7b8 100644 --- a/core/src/main/resources/lib/hudson/executors.jelly +++ b/core/src/main/resources/lib/hudson/executors.jelly @@ -33,15 +33,16 @@ THE SOFTWARE. - + ${title} - + +
    - ( ${%offline}) + ( ${%offline})
    diff --git a/test/src/test/java/hudson/model/ComputerTest.java b/test/src/test/java/hudson/model/ComputerTest.java index a3392ee448af..3acac9b9fcc9 100644 --- a/test/src/test/java/hudson/model/ComputerTest.java +++ b/test/src/test/java/hudson/model/ComputerTest.java @@ -128,6 +128,30 @@ public void doNotShowUserDetailsInOfflineCause() throws Exception { verifyOfflineCause(computer); } + @Test + public void offlineCauseRemainsAfterTemporaryCauseRemoved() throws Exception { + var agent = j.createSlave(); + var computer = agent.toComputer(); + var initialOfflineCause = new OfflineCause.UserCause(User.getOrCreateByIdOrFullName("username"), "Initial cause"); + computer.setOfflineCause(initialOfflineCause); + assertThat(computer.getOfflineCause(), equalTo(initialOfflineCause)); + var temporaryCause = new OfflineCause.UserCause(User.getOrCreateByIdOrFullName("username"), "msg"); + computer.setTemporarilyOffline(true, temporaryCause); + assertThat(computer.getOfflineCause(), equalTo(temporaryCause)); + computer.setTemporarilyOffline(false, null); + assertThat(computer.getOfflineCause(), equalTo(initialOfflineCause)); + } + + @Test + public void computerIconDependsOnOfflineCause() throws Exception { + var agent = j.createSlave(); + var computer = agent.toComputer(); + assertThat(computer.getIcon(), equalTo("symbol-computer-offline")); + var cause = new OfflineCause.IdleOfflineCause(); + computer.setOfflineCause(cause); + assertThat(computer.getIcon(), equalTo(cause.getComputerIcon())); + } + @Test @LocalData public void removeUserDetailsFromOfflineCause() throws Exception { Computer computer = j.jenkins.getComputer("deserialized"); diff --git a/war/src/main/resources/images/symbols/computer-paused.svg b/war/src/main/resources/images/symbols/computer-paused.svg new file mode 100644 index 000000000000..a59da7cf7a73 --- /dev/null +++ b/war/src/main/resources/images/symbols/computer-paused.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/war/src/main/resources/images/symbols/pause.svg b/war/src/main/resources/images/symbols/pause.svg new file mode 100644 index 000000000000..cbaa400eaa99 --- /dev/null +++ b/war/src/main/resources/images/symbols/pause.svg @@ -0,0 +1 @@ + From 1869fc05fe10e8e06821fd202d6743ef7b962e85 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 07:13:23 -0700 Subject: [PATCH 1044/1330] Update jenkins/ath Docker tag to v6052 (#9904) 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 3326a2118260..b1159344ffd5 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=6040.v72ed2f5b_59f6 +export ATH_VERSION=6052.v122b_b_a_b_94b_60 if [[ $# -eq 0 ]]; then export JDK=17 From 1f7b6a8f0e34586b14d833a52ecbf7b8f65d6f6c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:38:16 +0100 Subject: [PATCH 1045/1330] Fill in since annotations (#9910) Co-authored-by: timja <21194782+timja@users.noreply.github.com> --- core/src/main/java/hudson/model/Computer.java | 6 +++--- core/src/main/java/hudson/util/FormApply.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index 9fe65e81974b..eec5bdd8d28d 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -687,7 +687,7 @@ public void setTemporarilyOffline(boolean temporarilyOffline) { * @deprecated * Use {@link #setTemporaryOfflineCause(OfflineCause)} instead. */ - @Deprecated(since = "TODO") + @Deprecated(since = "2.482") public void setTemporarilyOffline(boolean temporarilyOffline, OfflineCause cause) { if (cause == null) { setTemporarilyOffline(temporarilyOffline); @@ -702,7 +702,7 @@ public void setTemporarilyOffline(boolean temporarilyOffline, OfflineCause cause * * @param temporaryOfflineCause The reason why the node is being put offline. * If null, this cancels the status - * @since TODO + * @since 2.482 */ public void setTemporaryOfflineCause(@CheckForNull OfflineCause temporaryOfflineCause) { var node = getNode(); @@ -713,7 +713,7 @@ public void setTemporaryOfflineCause(@CheckForNull OfflineCause temporaryOffline } /** - * @since TODO + * @since 2.482 * @return If the node is temporarily offline, the reason why. */ @SuppressWarnings("unused") // used by setOfflineCause.jelly diff --git a/core/src/main/java/hudson/util/FormApply.java b/core/src/main/java/hudson/util/FormApply.java index 9fc5f578f05d..3d5f458ec126 100644 --- a/core/src/main/java/hudson/util/FormApply.java +++ b/core/src/main/java/hudson/util/FormApply.java @@ -113,7 +113,7 @@ public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object n * @param notificationType type of notification. See {@link NotificationType} for supported types. Defines the notification * color and the icon that will be shown. * - * @since TODO + * @since 2.482 */ public static HttpResponseException showNotification(final String message, final NotificationType notificationType) { return new HttpResponseException() { From 7a1630235f99b4f3c496992462b2140b1adacc29 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 24 Oct 2024 13:41:45 -0400 Subject: [PATCH 1046/1330] Removing configurability of `Jenkins.agentProtocols` (#9903) --- .../java/hudson/TcpSlaveAgentListener.java | 21 +-- .../security/GlobalSecurityConfiguration.java | 20 -- core/src/main/java/jenkins/AgentProtocol.java | 52 ++---- core/src/main/java/jenkins/model/Jenkins.java | 129 +------------ .../slaves/JnlpSlaveAgentProtocol4.java | 10 - .../main/resources/hudson/Messages.properties | 1 - .../resources/hudson/Messages_bg.properties | 3 - .../resources/hudson/Messages_de.properties | 2 - .../resources/hudson/Messages_es.properties | 1 - .../resources/hudson/Messages_fr.properties | 1 - .../resources/hudson/Messages_it.properties | 1 - .../hudson/Messages_pt_BR.properties | 1 - .../resources/hudson/Messages_sr.properties | 1 - .../hudson/Messages_sv_SE.properties | 1 - .../hudson/Messages_zh_TW.properties | 1 - .../help-agentProtocol.html | 4 - .../help-agentProtocol_bg.html | 4 - .../help-agentProtocol_it.html | 4 - .../help-agentProtocol_sv_SE.html | 5 - .../GlobalSecurityConfiguration/index.groovy | 28 --- .../index_it.properties | 1 - .../JnlpSlaveAgentProtocol4/description.jelly | 4 - .../description.properties | 1 - .../description_bg.properties | 26 --- .../description_de.properties | 23 --- .../description_fr.properties | 1 - .../description_it.properties | 25 --- .../description_pt_BR.properties | 23 --- .../description_sv_SE.properties | 23 --- .../description_zh_TW.properties | 1 - .../jenkins/slaves/Messages.properties | 27 --- .../jenkins/slaves/Messages_bg.properties | 37 ---- .../jenkins/slaves/Messages_de.properties | 27 --- .../jenkins/slaves/Messages_fr.properties | 27 --- .../jenkins/slaves/Messages_it.properties | 33 ---- .../jenkins/slaves/Messages_pt_BR.properties | 27 --- .../jenkins/slaves/Messages_sv_SE.properties | 27 --- .../jenkins/slaves/Messages_zh_TW.properties | 27 --- .../test/java/jenkins/AgentProtocolTest.java | 93 ---------- .../agents/JnlpProtocol4ProxyHandlerTest.java | 5 - .../test/java/jenkins/model/JenkinsTest.java | 175 ------------------ .../jenkins/AgentProtocolTest/config.xml | 41 ---- 42 files changed, 19 insertions(+), 945 deletions(-) delete mode 100644 core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol.html delete mode 100644 core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_bg.html delete mode 100644 core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_it.html delete mode 100644 core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_sv_SE.html delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_bg.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_de.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_fr.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_it.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_pt_BR.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_sv_SE.properties delete mode 100644 core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_zh_TW.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_bg.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_de.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_fr.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_it.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_pt_BR.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_sv_SE.properties delete mode 100644 core/src/main/resources/jenkins/slaves/Messages_zh_TW.properties delete mode 100644 test/src/test/java/jenkins/AgentProtocolTest.java delete mode 100644 test/src/test/resources/jenkins/AgentProtocolTest/config.xml diff --git a/core/src/main/java/hudson/TcpSlaveAgentListener.java b/core/src/main/java/hudson/TcpSlaveAgentListener.java index 3936071de2ef..e7f037652c9b 100644 --- a/core/src/main/java/hudson/TcpSlaveAgentListener.java +++ b/core/src/main/java/hudson/TcpSlaveAgentListener.java @@ -271,14 +271,11 @@ public void run() { String protocol = s.substring(9); AgentProtocol p = AgentProtocol.of(protocol); if (p != null) { - if (Jenkins.get().getAgentProtocols().contains(protocol)) { - LOGGER.log(p instanceof PingAgentProtocol ? Level.FINE : Level.INFO, () -> "Accepted " + protocol + " connection " + connectionInfo); - p.handle(this.s); - } else { - error("Disabled protocol:" + s, this.s); - } - } else + LOGGER.log(p instanceof PingAgentProtocol ? Level.FINE : Level.INFO, () -> "Accepted " + protocol + " connection " + connectionInfo); + p.handle(this.s); + } else { error("Unknown protocol:", this.s); + } } else { error("Unrecognized protocol: " + s, this.s); } @@ -364,21 +361,11 @@ public PingAgentProtocol() { ping = "Ping\n".getBytes(StandardCharsets.UTF_8); } - @Override - public boolean isRequired() { - return true; - } - @Override public String getName() { return "Ping"; } - @Override - public String getDisplayName() { - return Messages.TcpSlaveAgentListener_PingAgentProtocol_displayName(); - } - @Override public void handle(Socket socket) throws IOException, InterruptedException { try (socket) { diff --git a/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java b/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java index a8657df65685..ae90b0428c7b 100644 --- a/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java +++ b/core/src/main/java/hudson/security/GlobalSecurityConfiguration.java @@ -37,15 +37,12 @@ import hudson.util.FormApply; import jakarta.servlet.ServletException; import java.io.IOException; -import java.util.Set; -import java.util.TreeSet; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; import jenkins.model.GlobalConfigurationCategory; import jenkins.model.Jenkins; import jenkins.util.ServerTcpPort; -import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; @@ -92,11 +89,6 @@ public boolean isSlaveAgentPortEnforced() { return Jenkins.get().isSlaveAgentPortEnforced(); } - @NonNull - public Set getAgentProtocols() { - return Jenkins.get().getAgentProtocols(); - } - public boolean isDisableRememberMe() { return Jenkins.get().isDisableRememberMe(); } @@ -149,18 +141,6 @@ public boolean configure(StaplerRequest2 req, JSONObject json) throws FormExcept throw new FormException(e, "slaveAgentPortType"); } } - Set agentProtocols = new TreeSet<>(); - if (json.has("agentProtocol")) { - Object protocols = json.get("agentProtocol"); - if (protocols instanceof JSONArray) { - for (int i = 0; i < ((JSONArray) protocols).size(); i++) { - agentProtocols.add(((JSONArray) protocols).getString(i)); - } - } else { - agentProtocols.add(protocols.toString()); - } - } - j.setAgentProtocols(agentProtocols); // persist all the additional security configs boolean result = true; diff --git a/core/src/main/java/jenkins/AgentProtocol.java b/core/src/main/java/jenkins/AgentProtocol.java index d43398985810..1494dc60b183 100644 --- a/core/src/main/java/jenkins/AgentProtocol.java +++ b/core/src/main/java/jenkins/AgentProtocol.java @@ -7,8 +7,6 @@ import hudson.TcpSlaveAgentListener; import java.io.IOException; import java.net.Socket; -import java.util.Set; -import jenkins.model.Jenkins; /** * Pluggable Jenkins TCP agent protocol handler called from {@link TcpSlaveAgentListener}. @@ -18,57 +16,31 @@ * Implementations of this extension point is singleton, and its {@link #handle(Socket)} method * gets invoked concurrently whenever a new connection comes in. * - *

    Extending UI

    - *
    - *
    description.jelly
    - *
    Optional protocol description
    - *
    deprecationCause.jelly
    - *
    Optional. If the protocol is marked as {@link #isDeprecated()}, - * clarifies the deprecation reason and provides extra documentation links
    - *
    - * * @author Kohsuke Kawaguchi * @since 1.467 * @see TcpSlaveAgentListener */ public abstract class AgentProtocol implements ExtensionPoint { /** - * Allow experimental {@link AgentProtocol} implementations to declare being opt-in. - * Note that {@link Jenkins#setAgentProtocols(Set)} only records the protocols where the admin has made a - * conscious decision thus: - *
      - *
    • if a protocol is opt-in, it records the admin enabling it
    • - *
    • if a protocol is opt-out, it records the admin disabling it
    • - *
    - * Implementations should not transition rapidly from {@code opt-in -> opt-out -> opt-in}. - * Implementations should never flip-flop: {@code opt-in -> opt-out -> opt-in -> opt-out} as that will basically - * clear any preference that an admin has set. This latter restriction should be ok as we only ever will be - * adding new protocols and retiring old ones. - * - * @return {@code true} if the protocol requires explicit opt-in. - * @since 2.16 - * @see Jenkins#setAgentProtocols(Set) + * @deprecated no longer used */ + @Deprecated public boolean isOptIn() { return false; } + /** - * Allow essential {@link AgentProtocol} implementations (basically {@link TcpSlaveAgentListener.PingAgentProtocol}) - * to be always enabled. - * - * @return {@code true} if the protocol can never be disabled. - * @since 2.16 + * @deprecated no longer used */ - + @Deprecated public boolean isRequired() { return false; } /** - * Checks if the protocol is deprecated. - * - * @since 2.75 + * @deprecated no longer used */ + @Deprecated public boolean isDeprecated() { return false; } @@ -79,17 +51,15 @@ public boolean isDeprecated() { * This is a short string that consists of printable ASCII chars. Sent by the client to select the protocol. * * @return - * null to be disabled. This is useful for avoiding getting used - * until the protocol is properly configured. + * null to be disabled */ + @CheckForNull public abstract String getName(); /** - * Returns the human readable protocol display name. - * - * @return the human readable protocol display name. - * @since 2.16 + * @deprecated no longer used */ + @Deprecated public String getDisplayName() { return getName(); } diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 6db36176c6c2..bedbea0af7c4 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -656,47 +656,6 @@ private static int getSlaveAgentPortInitialValue(int def) { */ private static final boolean SLAVE_AGENT_PORT_ENFORCE = SystemProperties.getBoolean(Jenkins.class.getName() + ".slaveAgentPortEnforce", false); - /** - * The TCP agent protocols that are explicitly disabled (we store the disabled ones so that newer protocols - * are enabled by default). Will be {@code null} instead of empty to simplify XML format. - * - * @since 2.16 - */ - @CheckForNull - @GuardedBy("this") - private List disabledAgentProtocols; - /** - * @deprecated Just a temporary buffer for XSTream migration code from JENKINS-39465, do not use - */ - @Deprecated - private transient String[] _disabledAgentProtocols; - - /** - * The TCP agent protocols that are {@link AgentProtocol#isOptIn()} and explicitly enabled. - * Will be {@code null} instead of empty to simplify XML format. - * - * @since 2.16 - */ - @CheckForNull - @GuardedBy("this") - private List enabledAgentProtocols; - /** - * @deprecated Just a temporary buffer for XSTream migration code from JENKINS-39465, do not use - */ - @Deprecated - private transient String[] _enabledAgentProtocols; - - /** - * The TCP agent protocols that are enabled. Built from {@link #disabledAgentProtocols} and - * {@link #enabledAgentProtocols}. - * - * @since 2.16 - * @see #setAgentProtocols(Set) - * @see #getAgentProtocols() - */ - @GuardedBy("this") - private transient Set agentProtocols; - /** * Whitespace-separated labels assigned to the built-in node as a {@link Node}. */ @@ -1096,18 +1055,6 @@ protected Object readResolve() { if (SLAVE_AGENT_PORT_ENFORCE) { slaveAgentPort = getSlaveAgentPortInitialValue(slaveAgentPort); } - synchronized (this) { - if (disabledAgentProtocols == null && _disabledAgentProtocols != null) { - disabledAgentProtocols = Arrays.asList(_disabledAgentProtocols); - _disabledAgentProtocols = null; - } - if (enabledAgentProtocols == null && _enabledAgentProtocols != null) { - enabledAgentProtocols = Arrays.asList(_enabledAgentProtocols); - _enabledAgentProtocols = null; - } - // Invalidate the protocols cache after the reload - agentProtocols = null; - } // no longer persisted installStateName = null; @@ -1282,81 +1229,15 @@ private void forceSetSlaveAgentPort(int port) throws IOException { */ @NonNull public synchronized Set getAgentProtocols() { - if (agentProtocols == null) { - Set result = new TreeSet<>(); - Set disabled = new TreeSet<>(); - for (String p : Util.fixNull(disabledAgentProtocols)) { - disabled.add(p.trim()); - } - Set enabled = new TreeSet<>(); - for (String p : Util.fixNull(enabledAgentProtocols)) { - enabled.add(p.trim()); - } - for (AgentProtocol p : AgentProtocol.all()) { - String name = p.getName(); - if (name != null && (p.isRequired() - || (!disabled.contains(name) && (!p.isOptIn() || enabled.contains(name))))) { - result.add(name); - } - } - /* - * An empty result is almost never valid, but it can happen due to JENKINS-70206. Since we know the result - * is likely incorrect, at least decline to cache it so that a correct result can be computed later on - * rather than continuing to deliver the incorrect result indefinitely. - */ - if (!result.isEmpty()) { - agentProtocols = result; - } - return result; - } - return agentProtocols; + return AgentProtocol.all().stream().map(AgentProtocol::getName).filter(Objects::nonNull).collect(Collectors.toCollection(TreeSet::new)); } /** - * Sets the enabled agent protocols. - * - * @param protocols the enabled agent protocols. - * @since 2.16 + * @deprecated No longer does anything. */ + @Deprecated public synchronized void setAgentProtocols(@NonNull Set protocols) { - Set disabled = new TreeSet<>(); - Set enabled = new TreeSet<>(); - for (AgentProtocol p : AgentProtocol.all()) { - String name = p.getName(); - if (name != null && !p.isRequired()) { - // we want to record the protocols where the admin has made a conscious decision - // thus, if a protocol is opt-in, we record the admin enabling it - // if a protocol is opt-out, we record the admin disabling it - // We should not transition rapidly from opt-in -> opt-out -> opt-in - // the scenario we want to have work is: - // 1. We introduce a new protocol, it starts off as opt-in. Some admins decide to test and opt-in - // 2. We decide that the protocol is ready for general use. It gets marked as opt-out. Any admins - // that took part in early testing now have their config switched to not mention the new protocol - // at all when they save their config as the protocol is now opt-out. Any admins that want to - // disable it can do so and will have their preference recorded. - // 3. We decide that the protocol needs to be retired. It gets switched back to opt-in. At this point - // the initial opt-in admins, assuming they visited an upgrade to a controller with step 2, will - // have the protocol disabled for them. This is what we want. If they didn't upgrade to a controller - // with step 2, well there is not much we can do to differentiate them from somebody who is upgrading - // from a previous step 3 controller and had needed to keep the protocol turned on. - // - // What we should never do is flip-flop: opt-in -> opt-out -> opt-in -> opt-out as that will basically - // clear any preference that an admin has set, but this should be ok as we only ever will be - // adding new protocols and retiring old ones. - if (p.isOptIn()) { - if (protocols.contains(name)) { - enabled.add(name); - } - } else { - if (!protocols.contains(name)) { - disabled.add(name); - } - } - } - } - disabledAgentProtocols = disabled.isEmpty() ? null : new ArrayList<>(disabled); - enabledAgentProtocols = enabled.isEmpty() ? null : new ArrayList<>(enabled); - agentProtocols = null; + LOGGER.log(Level.WARNING, null, new IllegalStateException("Jenkins.agentProtocols no longer configurable")); } private void launchTcpSlaveAgentListener() throws IOException { @@ -6000,8 +5881,6 @@ public boolean shouldShowStackTrace() { // for backward compatibility with <1.75, recognize the tag name "view" as well. XSTREAM.alias("view", ListView.class); XSTREAM.alias("listView", ListView.class); - XSTREAM.addImplicitArray(Jenkins.class, "_disabledAgentProtocols", "disabledAgentProtocol"); - XSTREAM.addImplicitArray(Jenkins.class, "_enabledAgentProtocols", "enabledAgentProtocol"); XSTREAM2.addCriticalField(Jenkins.class, "securityRealm"); XSTREAM2.addCriticalField(Jenkins.class, "authorizationStrategy"); // this seems to be necessary to force registration of converter early enough diff --git a/core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java b/core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java index 54c1402927a9..87eb26daeb4c 100644 --- a/core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java +++ b/core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java @@ -137,16 +137,6 @@ private char[] constructPassword() { return "password".toCharArray(); } - @Override - public boolean isOptIn() { - return false; - } - - @Override - public String getDisplayName() { - return Messages.JnlpSlaveAgentProtocol4_displayName(); - } - @Override public String getName() { return "JNLP4-connect"; // matches JnlpProtocol4Handler.getName diff --git a/core/src/main/resources/hudson/Messages.properties b/core/src/main/resources/hudson/Messages.properties index 99c77ebbed46..a15f31703cd0 100644 --- a/core/src/main/resources/hudson/Messages.properties +++ b/core/src/main/resources/hudson/Messages.properties @@ -127,7 +127,6 @@ PluginWrapper.Plugin.Has.Dependent=The plugin ''{0}'' has, at least, one depende PluginWrapper.Plugin.Disabled=Plugin ''{0}'' disabled PluginWrapper.NoSuchPlugin=No such plugin found with the name ''{0}'' PluginWrapper.Error.Disabling=There was an error disabling the ''{0}'' plugin. Error: ''{1}'' -TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping protocol ProxyConfigurationManager.DisplayName=Proxy Configuration ProxyConfigurationManager.Description=Configure the http proxy used by Jenkins diff --git a/core/src/main/resources/hudson/Messages_bg.properties b/core/src/main/resources/hudson/Messages_bg.properties index 98b816053e44..e741c7400a06 100644 --- a/core/src/main/resources/hudson/Messages_bg.properties +++ b/core/src/main/resources/hudson/Messages_bg.properties @@ -105,9 +105,6 @@ PluginWrapper.disabledAndObsolete=\ # {0} is disabled. To fix, enable it. PluginWrapper.disabled=\ „{0}“ е изключена. Включете я. -# Ping protocol -TcpSlaveAgentListener.PingAgentProtocol.displayName=\ - Протокол „ping“ # {0} v{1} failed to load. Fix this plugin first. PluginWrapper.failed_to_load_dependency=\ „{0}“, версия {1} не се зареди. Оправете приставката. diff --git a/core/src/main/resources/hudson/Messages_de.properties b/core/src/main/resources/hudson/Messages_de.properties index e4068a20b58a..d524a518cd44 100644 --- a/core/src/main/resources/hudson/Messages_de.properties +++ b/core/src/main/resources/hudson/Messages_de.properties @@ -75,5 +75,3 @@ AboutJenkins.DisplayName=Über Jenkins AboutJenkins.Description=Versions- und Lizenzinformationen anzeigen. Functions.NoExceptionDetails=Keine Details zum Ausnahmefehler - -TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping-Protokoll diff --git a/core/src/main/resources/hudson/Messages_es.properties b/core/src/main/resources/hudson/Messages_es.properties index 298ef23821d8..47d3b400c747 100644 --- a/core/src/main/resources/hudson/Messages_es.properties +++ b/core/src/main/resources/hudson/Messages_es.properties @@ -117,4 +117,3 @@ PluginWrapper.Plugin.Has.Dependant=El plugin {0} tiene, al menos, un plugin depe PluginWrapper.Plugin.Disabled=Plugin {0} deshabilitado PluginWrapper.NoSuchPlugin=No se encuentra un plugin con el nombre {0} PluginWrapper.Error.Disabling=Hubo un error al desactivar el plugin ''{0}''. Error: ''{1}'' -TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocolo ping diff --git a/core/src/main/resources/hudson/Messages_fr.properties b/core/src/main/resources/hudson/Messages_fr.properties index 1e0286deddc5..06e739d3b479 100644 --- a/core/src/main/resources/hudson/Messages_fr.properties +++ b/core/src/main/resources/hudson/Messages_fr.properties @@ -126,4 +126,3 @@ PluginWrapper.Plugin.Has.Dependent=Le plugin "{0}" a au moins un plugin dépenda PluginWrapper.Plugin.Disabled=Plugin "{0}" désactivé PluginWrapper.NoSuchPlugin=Aucun plugin trouvé avec le nom "{0}" PluginWrapper.Error.Disabling=Une erreur a été relevée lors de la désactivation du plugin "{0}". Erreur : "{1}" -TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocole de ping diff --git a/core/src/main/resources/hudson/Messages_it.properties b/core/src/main/resources/hudson/Messages_it.properties index 2747e2d39366..d63200aabd1e 100644 --- a/core/src/main/resources/hudson/Messages_it.properties +++ b/core/src/main/resources/hudson/Messages_it.properties @@ -109,7 +109,6 @@ ProxyConfiguration.MalformedTestUrl=URL di prova {0} malformato. ProxyConfiguration.NonTLSWarning=Jenkins supporta solo l''utilizzo di una connessione http al proxy. Le credenziali potrebbero essere esposte a qualcuno sulla stessa rete. ProxyConfiguration.Success=Connessione riuscita (codice {0}) ProxyConfiguration.TestUrlRequired=È richiesto un URL di prova. -TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocollo ping Util.day={0} g Util.hour={0} h Util.millisecond={0} ms diff --git a/core/src/main/resources/hudson/Messages_pt_BR.properties b/core/src/main/resources/hudson/Messages_pt_BR.properties index 0a809578524e..d67bdcba599c 100644 --- a/core/src/main/resources/hudson/Messages_pt_BR.properties +++ b/core/src/main/resources/hudson/Messages_pt_BR.properties @@ -57,7 +57,6 @@ PluginWrapper.missing=Não foi possível encontrar {0} v{1}. Para corrigir, inst Functions.NoExceptionDetails=Sem detalhes da exception FilePath.validateAntFileMask.whitespaceSeparator=Espaços em branco não podem mais serem utilizados como separador. Por \ favor use ", " como separadores. -TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocolo de ping PluginWrapper.PluginWrapperAdministrativeMonitor.DisplayName=Falha ao carregar a extensão ProxyConfiguration.MalformedTestUrl=URL de teste {0} inválida. FilePath.TildaDoesntWork="~" é suportado apenas em um shell Unix e em nenhum outro lugar. diff --git a/core/src/main/resources/hudson/Messages_sr.properties b/core/src/main/resources/hudson/Messages_sr.properties index 3c266c5d67a3..414a84b3a41b 100644 --- a/core/src/main/resources/hudson/Messages_sr.properties +++ b/core/src/main/resources/hudson/Messages_sr.properties @@ -40,4 +40,3 @@ PluginWrapper.disabledAndObsolete={0}, верзија {1} је онемогућ PluginWrapper.disabled={0}, верзија {1} је онемогућено. Молимо вас, омогућите ову модулу. PluginWrapper.obsolete={0}, верзија {1} је старије него што је подржано. Инсталирајте верзију {2} или новије. PluginWrapper.obsoleteCore=Морате ажурирати Jenkins са верзије {0} на {1} или новије да би могли користити ову модулу. -TcpSlaveAgentListener.PingAgentProtocol.displayName=Протокол 'ping' diff --git a/core/src/main/resources/hudson/Messages_sv_SE.properties b/core/src/main/resources/hudson/Messages_sv_SE.properties index fdfa6ee3a524..f4a977e99098 100644 --- a/core/src/main/resources/hudson/Messages_sv_SE.properties +++ b/core/src/main/resources/hudson/Messages_sv_SE.properties @@ -125,7 +125,6 @@ PluginWrapper.Plugin.Has.Dependent=Insticksprogrammet ''{0}'' har minst ett bero PluginWrapper.Plugin.Disabled=Insticksprogrammet ''{0}'' inaktiverades PluginWrapper.NoSuchPlugin=Inget insticksprogram med namnet ''{0}'' hittades PluginWrapper.Error.Disabling=Ett fel uppstod när insticksprogrammet ''{0}'' inaktiverades. Fel: ''{1}'' -TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping-protokoll ProxyConfigurationManager.DisplayName=Proxykonfiguration ProxyConfigurationManager.Description=Konfigurera http-proxyn som Jenkins använder diff --git a/core/src/main/resources/hudson/Messages_zh_TW.properties b/core/src/main/resources/hudson/Messages_zh_TW.properties index 708613e7e603..cc5fb76cb059 100644 --- a/core/src/main/resources/hudson/Messages_zh_TW.properties +++ b/core/src/main/resources/hudson/Messages_zh_TW.properties @@ -96,7 +96,6 @@ PluginWrapper.Plugin.Has.Dependent=外掛「{0}」有至少一個相依性外掛 PluginWrapper.Plugin.Disabled=已停用外掛「{0}」 PluginWrapper.NoSuchPlugin=找不到名為「{0}」的外掛 PluginWrapper.Error.Disabling=停用外掛「{0}」時發生錯誤,錯誤\: 「{1}」 -TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping 協定 PluginManager.emptyUpdateSiteUrl=更新站台網址不得為空,請輸入網址 PluginManager.connectionFailed=無法連線至這個URL diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol.html b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol.html deleted file mode 100644 index 01bcd8d3b24b..000000000000 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - Jenkins uses a TCP port to communicate with various remote agents. This option - allows control over which agent protocols are enabled. -
    diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_bg.html b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_bg.html deleted file mode 100644 index 41852a0729a8..000000000000 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_bg.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - Jenkins използва порт па TCP, за да комуникира с подчинените компютри. Тази - опция задава кои протоколи за връзка са включени. -
    diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_it.html b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_it.html deleted file mode 100644 index 2adbe90a72a1..000000000000 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_it.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - Jenkins utilizza una porta TCP per comunicare con vari agenti remoti. - Quest'opzione consente di controllare i vari protocolli agente abilitati. -
    diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_sv_SE.html b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_sv_SE.html deleted file mode 100644 index adf57097bb6f..000000000000 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/help-agentProtocol_sv_SE.html +++ /dev/null @@ -1,5 +0,0 @@ -
    - Jenkins använder en TCP-port för att kommunicera med olika fjärragenter. Det - här alternativet gör det möjligt att kontrollera vilka agentprotokoll som är - aktiverade. -
    diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index.groovy b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index.groovy index 2abc4e795cc0..9c3c80607ca8 100644 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index.groovy +++ b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index.groovy @@ -3,7 +3,6 @@ package hudson.security.GlobalSecurityConfiguration import hudson.security.SecurityRealm import hudson.markup.MarkupFormatterDescriptor import hudson.security.AuthorizationStrategy -import jenkins.AgentProtocol import hudson.Functions import hudson.model.Descriptor @@ -51,33 +50,6 @@ l.layout(permission:app.SYSTEM_READ, title:my.displayName, cssclass:request.getP f.serverTcpPort() } } - f.advanced(title: _("Agent protocols"), align:"left") { - f.entry(title: _("Agent protocols"), help: '/descriptor/hudson.security.GlobalSecurityConfiguration/help/agentProtocol') { - def agentProtocols = my.agentProtocols - div() { - for (AgentProtocol p : AgentProtocol.all()) { - if (p.name != null && !p.required) { - f.block() { - f.checkbox(name: "agentProtocol", - title: p.displayName, - checked: agentProtocols.contains(p.name), - json: p.name) - } - div(class: "tr") { - div(class:"setting-description"){ - st.include(from:p, page: "description", optional:true) - if (p.deprecated) { - br() - text(b(_("Deprecated. "))) - st.include(from:p, page: "deprecationCause", optional:true) - } - } - } - } - } - } - } - } } Functions.getSortedDescriptorsForGlobalConfigByDescriptor(my.FILTER).each { Descriptor descriptor -> diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_it.properties b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_it.properties index 9b343aab6b5e..ba6cf0fe694f 100644 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_it.properties +++ b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_it.properties @@ -25,7 +25,6 @@ Agent\ protocols=Protocolli agente Agents=Agenti Authentication=Autenticazione Authorization=Autorizzazione -Deprecated.\ =Deprecato. Disable\ remember\ me=Disabilita "Ricordami" LOADING=Caricamento in corso Markup\ Formatter=Componente formattazione markup diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly deleted file mode 100644 index 55e2c974b5ba..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly +++ /dev/null @@ -1,4 +0,0 @@ - - - ${%summary} - diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.properties deleted file mode 100644 index 4ecb60357fd6..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.properties +++ /dev/null @@ -1 +0,0 @@ -summary=A TLS secured connection between the controller and the agent performed by TLS upgrade of the socket. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_bg.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_bg.properties deleted file mode 100644 index 4d13804ebdad..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_bg.properties +++ /dev/null @@ -1,26 +0,0 @@ -# The MIT License -# -# Bulgarian translation: Copyright (c) 2016, 2017, Alexander Shopov -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -# A TLS secured connection between the master and the agent performed by TLS upgrade of the socket. -summary=\ - Защитена връзка между управляващия и подчинения компютър чрез преминаване към\ - TLS по гнездото. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_de.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_de.properties deleted file mode 100644 index 77064f1441ee..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_de.properties +++ /dev/null @@ -1,23 +0,0 @@ -# The MIT License -# -# Copyright (c) 2017 Daniel Beck and a number of other of contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -summary=Eine TLS-gesicherte Verbindung zwischen Master-Knoten und Agenten über TLS-Upgrade des Sockets. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_fr.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_fr.properties deleted file mode 100644 index 26c2dd5b35c8..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_fr.properties +++ /dev/null @@ -1 +0,0 @@ -summary=Une connexion TLS sécurisée entre le contrôleur et l''agent a été effectuée via une mise à jour du TLS du socket. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_it.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_it.properties deleted file mode 100644 index 2d9452d7f068..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_it.properties +++ /dev/null @@ -1,25 +0,0 @@ -# The MIT License -# -# Italian localization plugin for Jenkins -# Copyright © 2020 Alessandro Menti -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -summary=Una connessione fra il master e l''agente protetta da TLS ed \ - eseguita aggiornando il socket a TLS. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_pt_BR.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_pt_BR.properties deleted file mode 100644 index 74e67bc910b6..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_pt_BR.properties +++ /dev/null @@ -1,23 +0,0 @@ -# The MIT License -# -# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -summary=Uma conexão segura via TLS entre o controlador e o agente realizada por uma atualização de TLS no soquete. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_sv_SE.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_sv_SE.properties deleted file mode 100644 index 35b1deaba4fd..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_sv_SE.properties +++ /dev/null @@ -1,23 +0,0 @@ -# The MIT License -# -# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -summary=En TLS-säker anslutning mellan styrenheten och agenten utfördes av sockelns TLS-uppgradering. diff --git a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_zh_TW.properties b/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_zh_TW.properties deleted file mode 100644 index 949804a0f146..000000000000 --- a/core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description_zh_TW.properties +++ /dev/null @@ -1 +0,0 @@ -summary=透過 TLS 通訊端升級 Controller 和 Agent 間的 TLS 安全連線。 diff --git a/core/src/main/resources/jenkins/slaves/Messages.properties b/core/src/main/resources/jenkins/slaves/Messages.properties deleted file mode 100644 index 41abfc7a302c..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright 2016 Stephen Connolly -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -JnlpSlaveAgentProtocol.displayName=Inbound TCP Agent Protocol/1 (deprecated, unencrypted) -JnlpSlaveAgentProtocol2.displayName=Inbound TCP Agent Protocol/2 (deprecated, unencrypted) -JnlpSlaveAgentProtocol3.displayName=Inbound TCP Agent Protocol/3 (deprecated, basic encryption) -JnlpSlaveAgentProtocol4.displayName=Inbound TCP Agent Protocol/4 (TLS encryption) -DeprecatedAgentProtocolMonitor.displayName=Deprecated Agent Protocol Monitor diff --git a/core/src/main/resources/jenkins/slaves/Messages_bg.properties b/core/src/main/resources/jenkins/slaves/Messages_bg.properties deleted file mode 100644 index 459672fa3c3d..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_bg.properties +++ /dev/null @@ -1,37 +0,0 @@ -# The MIT License -# -# Bulgarian translation: Copyright (c) 2016, 2017, Alexander Shopov -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -# Java Web Start Agent Protocol/3 -JnlpSlaveAgentProtocol3.displayName=\ - Протокол за стартиране на агента за Java през уeб, версия 3 -# Java Web Start Agent Protocol/1 -JnlpSlaveAgentProtocol.displayName=\ - Протокол за стартиране на агента за Java през уeб, версия 1 -# Java Web Start Agent Protocol/2 -JnlpSlaveAgentProtocol2.displayName=\ - Протокол за стартиране на агента за Java през уeб, версия 2 -# Java Web Start Agent Protocol/4 (TLS encryption) -JnlpSlaveAgentProtocol4.displayName=\ - Протокол за стартиране на агента за Java през уeб, версия 4 (шифриране с TLS) -# Deprecated Agent Protocol Monitor -DeprecatedAgentProtocolMonitor.displayName=\ - Датчик за остарели протоколи за стартиране на агента за Java през уeб diff --git a/core/src/main/resources/jenkins/slaves/Messages_de.properties b/core/src/main/resources/jenkins/slaves/Messages_de.properties deleted file mode 100644 index cceceebe685f..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_de.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright (c) 2017 Daniel Beck and a number of other of contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -# Java Web Start Agent Protocol/4 (TLS encryption) -JnlpSlaveAgentProtocol4.displayName=Java-Web-Start-Agentenprotokoll Version 4 (TLS-Verschlüsselung) -JnlpSlaveAgentProtocol2.displayName=Java-Web-Start-Agentenprotokoll Version 2 (unverschlüsselt) -JnlpSlaveAgentProtocol.displayName=Java-Web-Start-Agentenprotokoll Version 1 (unverschlüsselt) -JnlpSlaveAgentProtocol3.displayName=Java-Web-Start-Agentenprotokoll Version 3 (einfache Verschlüsselung) diff --git a/core/src/main/resources/jenkins/slaves/Messages_fr.properties b/core/src/main/resources/jenkins/slaves/Messages_fr.properties deleted file mode 100644 index babe83c53fa8..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_fr.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright 2016 Stephen Connolly -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -JnlpSlaveAgentProtocol.displayName=Inbound TCP Agent Protocol/1 (obsolète, non chiffré) -JnlpSlaveAgentProtocol2.displayName=Inbound TCP Agent Protocol/2 (obsolète, non chiffré) -JnlpSlaveAgentProtocol3.displayName=Inbound TCP Agent Protocol/3 (obsolète, chiffrement basique) -JnlpSlaveAgentProtocol4.displayName=Inbound TCP Agent Protocol/4 (chiffrement TLS) -DeprecatedAgentProtocolMonitor.displayName=Moniteur de protocole obsolète d''agent diff --git a/core/src/main/resources/jenkins/slaves/Messages_it.properties b/core/src/main/resources/jenkins/slaves/Messages_it.properties deleted file mode 100644 index 15a4fd1854fa..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_it.properties +++ /dev/null @@ -1,33 +0,0 @@ -# The MIT License -# -# Italian localization plugin for Jenkins -# Copyright © 2020 Alessandro Menti -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -DeprecatedAgentProtocolMonitor.displayName=Componente di monitoraggio \ - protocolli deprecati agenti -JnlpSlaveAgentProtocol.displayName=Protocollo in ingresso TCP per agenti, \ - versione 1 (deprecato, senza crittografia) -JnlpSlaveAgentProtocol2.displayName=Protocollo in ingresso TCP per agenti, \ - versione 2 (deprecato, senza crittografia) -JnlpSlaveAgentProtocol3.displayName=Protocollo in ingresso TCP per agenti, \ - versione 3 (deprecato, con crittografia di base) -JnlpSlaveAgentProtocol4.displayName=Protocollo in ingresso TCP per agenti, \ - versione 4 (crittografia TLS) diff --git a/core/src/main/resources/jenkins/slaves/Messages_pt_BR.properties b/core/src/main/resources/jenkins/slaves/Messages_pt_BR.properties deleted file mode 100644 index c185388bf156..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_pt_BR.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -DeprecatedAgentProtocolMonitor.displayName=Monitor de protocolo de agente descontinuado -JnlpSlaveAgentProtocol3.displayName=Protocolo de agente TCP de entrada/3 (descontinuado, criptografia básica) -JnlpSlaveAgentProtocol2.displayName=Protocolo de agente TCP de entrada/2 (descontinuado, sem criptografia) -JnlpSlaveAgentProtocol.displayName=Protocolo de agente TCP de entrada/1 (descontinuado, sem criptografia) -JnlpSlaveAgentProtocol4.displayName=Protocolo de agente TCP de entrada/4 (criptografia via TLS) diff --git a/core/src/main/resources/jenkins/slaves/Messages_sv_SE.properties b/core/src/main/resources/jenkins/slaves/Messages_sv_SE.properties deleted file mode 100644 index 4274099d00a1..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_sv_SE.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright 2016 Stephen Connolly -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -JnlpSlaveAgentProtocol.displayName=Ingående TCP-agentsprotokoll/1 (inaktuell, ej krypterat) -JnlpSlaveAgentProtocol2.displayName=Ingående TCP-agentsprotokoll/2 (inaktuell, ej krypterat) -JnlpSlaveAgentProtocol3.displayName=Ingående TCP-agentsprotokoll/3 (inaktuell, enkel kryptering) -JnlpSlaveAgentProtocol4.displayName=Ingående TCP-agentsprotokoll/4 (TLS-kryptering) -DeprecatedAgentProtocolMonitor.displayName=Inaktuell övervakning av agentsprotokoll diff --git a/core/src/main/resources/jenkins/slaves/Messages_zh_TW.properties b/core/src/main/resources/jenkins/slaves/Messages_zh_TW.properties deleted file mode 100644 index 830e59610c15..000000000000 --- a/core/src/main/resources/jenkins/slaves/Messages_zh_TW.properties +++ /dev/null @@ -1,27 +0,0 @@ -# The MIT License -# -# Copyright 2016 Stephen Connolly -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -JnlpSlaveAgentProtocol.displayName=連入 TCP Agent 通訊協定/1 (棄用、未加密) -JnlpSlaveAgentProtocol2.displayName=連入 TCP Agent 通訊協定/2 (棄用、未加密) -JnlpSlaveAgentProtocol3.displayName=連入 TCP Agent 通訊協定/3 (棄用、基本加密) -JnlpSlaveAgentProtocol4.displayName=連入 TCP Agent 通訊協定/4 (TLS 加密) -DeprecatedAgentProtocolMonitor.displayName=已棄用的 Agent 通訊協定監視器 diff --git a/test/src/test/java/jenkins/AgentProtocolTest.java b/test/src/test/java/jenkins/AgentProtocolTest.java deleted file mode 100644 index 531281109db7..000000000000 --- a/test/src/test/java/jenkins/AgentProtocolTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2017 CloudBees, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -package jenkins; - -import static org.junit.Assert.fail; - -import edu.umd.cs.findbugs.annotations.CheckForNull; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import jenkins.model.Jenkins; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.Issue; -import org.jvnet.hudson.test.JenkinsRule; -import org.jvnet.hudson.test.recipes.LocalData; - -/** - * Tests for {@link AgentProtocol}. - * - * @author Oleg Nenashev - */ -public class AgentProtocolTest { - - @Rule - public JenkinsRule j = new JenkinsRule(); - - @Test - @LocalData - @Issue("JENKINS-45841") - public void testShouldNotOverrideUserConfiguration() throws Exception { - assertEnabled("JNLP4-connect"); - assertDisabled("JNLP2-connect", "JNLP3-connect"); - assertProtocols(true, "System protocols should be always enabled", "Ping"); - } - - private void assertEnabled(String ... protocolNames) { - assertProtocols(true, null, protocolNames); - } - - private void assertDisabled(String ... protocolNames) { - assertProtocols(false, null, protocolNames); - } - - private void assertProtocols(boolean shouldBeEnabled, @CheckForNull String why, String ... protocolNames) { - assertProtocols(j.jenkins, shouldBeEnabled, why, protocolNames); - } - - public static void assertProtocols(Jenkins jenkins, boolean shouldBeEnabled, @CheckForNull String why, String ... protocolNames) { - Set agentProtocols = jenkins.getAgentProtocols(); - List failedChecks = new ArrayList<>(); - for (String protocol : protocolNames) { - if (shouldBeEnabled && !agentProtocols.contains(protocol)) { - failedChecks.add(protocol); - } - if (!shouldBeEnabled && agentProtocols.contains(protocol)) { - failedChecks.add(protocol); - } - } - - if (!failedChecks.isEmpty()) { - String message = String.format("Protocol(s) are not %s: %s. %sEnabled protocols: %s", - shouldBeEnabled ? "enabled" : "disabled", - String.join(",", failedChecks), - why != null ? "Reason: " + why + ". " : "", - String.join(",", agentProtocols)); - fail(message); - } - } - -} diff --git a/test/src/test/java/jenkins/agents/JnlpProtocol4ProxyHandlerTest.java b/test/src/test/java/jenkins/agents/JnlpProtocol4ProxyHandlerTest.java index 76f11d455f4d..e4c031922ded 100644 --- a/test/src/test/java/jenkins/agents/JnlpProtocol4ProxyHandlerTest.java +++ b/test/src/test/java/jenkins/agents/JnlpProtocol4ProxyHandlerTest.java @@ -94,11 +94,6 @@ public String getName() { return JnlpProtocol4ProxyHandler.NAME; } - @Override - public String getDisplayName() { - return "Test handler"; - } - @Override public void handle(Socket socket) throws IOException, InterruptedException { var agentIO = socket.getChannel(); diff --git a/test/src/test/java/jenkins/model/JenkinsTest.java b/test/src/test/java/jenkins/model/JenkinsTest.java index c44b12cdd037..3f3f615a6c5f 100644 --- a/test/src/test/java/jenkins/model/JenkinsTest.java +++ b/test/src/test/java/jenkins/model/JenkinsTest.java @@ -32,19 +32,15 @@ import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; -import edu.umd.cs.findbugs.annotations.CheckForNull; import hudson.ExtensionList; import hudson.Functions; import hudson.XmlFile; @@ -76,7 +72,6 @@ import java.io.File; import java.io.IOException; import java.net.HttpURLConnection; -import java.net.Socket; import java.net.URI; import java.net.URL; import java.nio.file.Files; @@ -84,7 +79,6 @@ import java.nio.file.attribute.PosixFilePermission; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.Comparator; import java.util.EnumSet; import java.util.HashSet; @@ -94,7 +88,6 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Stream; -import jenkins.AgentProtocol; import org.apache.commons.io.FileUtils; import org.htmlunit.FailingHttpStatusCodeException; import org.htmlunit.HttpMethod; @@ -600,174 +593,6 @@ public void onOnline(Computer c, TaskListener listener) throws IOException, Inte } } - @Test - @Issue("JENKINS-39465") - public void agentProtocols_singleEnable_roundtrip() throws Exception { - final Set defaultProtocols = Collections.unmodifiableSet(j.jenkins.getAgentProtocols()); - - final Set newProtocols = new HashSet<>(defaultProtocols); - newProtocols.add(MockOptInProtocol1.NAME); - j.jenkins.setAgentProtocols(newProtocols); - j.jenkins.save(); - final Set agentProtocolsBeforeReload = j.jenkins.getAgentProtocols(); - assertProtocolEnabled(MockOptInProtocol1.NAME, "before the roundtrip"); - - j.jenkins.reload(); - - final Set reloadedProtocols = j.jenkins.getAgentProtocols(); - assertNotSame("The protocol list must have been really reloaded", agentProtocolsBeforeReload, reloadedProtocols); - assertThat("We should have additional enabled protocol", - reloadedProtocols.size(), equalTo(defaultProtocols.size() + 1)); - assertProtocolEnabled(MockOptInProtocol1.NAME, "after the roundtrip"); - } - - @Test - @Issue("JENKINS-39465") - public void agentProtocols_multipleDisable_roundtrip() throws Exception { - final Set defaultProtocols = Collections.unmodifiableSet(j.jenkins.getAgentProtocols()); - assertProtocolEnabled(MockOptOutProtocol1.NAME, "after startup"); - - final Set newProtocols = new HashSet<>(defaultProtocols); - newProtocols.remove(MockOptOutProtocol1.NAME); - j.jenkins.setAgentProtocols(newProtocols); - j.jenkins.save(); - assertProtocolDisabled(MockOptOutProtocol1.NAME, "before the roundtrip"); - final Set agentProtocolsBeforeReload = j.jenkins.getAgentProtocols(); - j.jenkins.reload(); - - assertNotSame("The protocol list must have been really refreshed", agentProtocolsBeforeReload, j.jenkins.getAgentProtocols()); - assertThat("We should have disabled one protocol", - j.jenkins.getAgentProtocols().size(), equalTo(defaultProtocols.size() - 1)); - - assertProtocolDisabled(MockOptOutProtocol1.NAME, "after the roundtrip"); - } - - @Test - @Issue("JENKINS-39465") - public void agentProtocols_multipleEnable_roundtrip() throws Exception { - final Set defaultProtocols = Collections.unmodifiableSet(j.jenkins.getAgentProtocols()); - final Set newProtocols = new HashSet<>(defaultProtocols); - newProtocols.add(MockOptInProtocol1.NAME); - newProtocols.add(MockOptInProtocol2.NAME); - j.jenkins.setAgentProtocols(newProtocols); - j.jenkins.save(); - - final Set agentProtocolsBeforeReload = j.jenkins.getAgentProtocols(); - assertProtocolEnabled(MockOptInProtocol1.NAME, "before the roundtrip"); - assertProtocolEnabled(MockOptInProtocol2.NAME, "before the roundtrip"); - - j.jenkins.reload(); - - final Set reloadedProtocols = j.jenkins.getAgentProtocols(); - assertNotSame("The protocol list must have been really reloaded", agentProtocolsBeforeReload, reloadedProtocols); - assertThat("There should be two additional enabled protocols", - reloadedProtocols.size(), equalTo(defaultProtocols.size() + 2)); - assertProtocolEnabled(MockOptInProtocol1.NAME, "after the roundtrip"); - assertProtocolEnabled(MockOptInProtocol2.NAME, "after the roundtrip"); - } - - @Test - @Issue("JENKINS-39465") - public void agentProtocols_singleDisable_roundtrip() throws Exception { - final Set defaultProtocols = Collections.unmodifiableSet(j.jenkins.getAgentProtocols()); - final String protocolToDisable1 = MockOptOutProtocol1.NAME; - final String protocolToDisable2 = MockOptOutProtocol2.NAME; - - final Set newProtocols = new HashSet<>(defaultProtocols); - newProtocols.remove(protocolToDisable1); - newProtocols.remove(protocolToDisable2); - j.jenkins.setAgentProtocols(newProtocols); - j.jenkins.save(); - assertProtocolDisabled(protocolToDisable1, "before the roundtrip"); - assertProtocolDisabled(protocolToDisable2, "before the roundtrip"); - final Set agentProtocolsBeforeReload = j.jenkins.getAgentProtocols(); - j.jenkins.reload(); - - assertNotSame("The protocol list must have been really reloaded", agentProtocolsBeforeReload, j.jenkins.getAgentProtocols()); - assertThat("We should have disabled two protocols", - j.jenkins.getAgentProtocols().size(), equalTo(defaultProtocols.size() - 2)); - assertProtocolDisabled(protocolToDisable1, "after the roundtrip"); - assertProtocolDisabled(protocolToDisable2, "after the roundtrip"); - } - - private void assertProtocolDisabled(String protocolName, @CheckForNull String stage) { - assertThat(protocolName + " must be disabled. Stage=" + (stage != null ? stage : "undefined"), - j.jenkins.getAgentProtocols(), not(hasItem(protocolName))); - } - - private void assertProtocolEnabled(String protocolName, @CheckForNull String stage) { - assertThat(protocolName + " must be enabled. Stage=" + (stage != null ? stage : "undefined"), - j.jenkins.getAgentProtocols(), hasItem(protocolName)); - } - - @TestExtension - public static class MockOptInProtocol1 extends MockOptInProtocol { - - static final String NAME = "MOCK-OPTIN-1"; - - @Override - public String getName() { - return NAME; - } - } - - @TestExtension - public static class MockOptInProtocol2 extends MockOptInProtocol { - - static final String NAME = "MOCK-OPTIN-2"; - - @Override - public String getName() { - return NAME; - } - } - - private abstract static class MockOptInProtocol extends AgentProtocol { - @Override - public boolean isOptIn() { - return true; - } - - @Override - public void handle(Socket socket) throws IOException, InterruptedException { - throw new IOException("This is a mock agent protocol. It cannot be used for connection"); - } - } - - @TestExtension - public static class MockOptOutProtocol1 extends MockOptOutProtocol { - - static final String NAME = "MOCK-OPTOUT-1"; - - @Override - public String getName() { - return NAME; - } - } - - @TestExtension - public static class MockOptOutProtocol2 extends MockOptOutProtocol { - - static final String NAME = "MOCK-OPTOUT-2"; - - @Override - public String getName() { - return NAME; - } - } - - private abstract static class MockOptOutProtocol extends AgentProtocol { - @Override - public boolean isOptIn() { - return false; - } - - @Override - public void handle(Socket socket) throws IOException, InterruptedException { - throw new IOException("This is a mock agent protocol. It cannot be used for connection"); - } - } - @Test public void getComputers() throws Exception { List agents = new ArrayList<>(); diff --git a/test/src/test/resources/jenkins/AgentProtocolTest/config.xml b/test/src/test/resources/jenkins/AgentProtocolTest/config.xml deleted file mode 100644 index b072a16fa96e..000000000000 --- a/test/src/test/resources/jenkins/AgentProtocolTest/config.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - 1.0 - 2 - NORMAL - true - - - false - - ${ITEM_ROOTDIR}/workspace - ${ITEM_ROOTDIR}/builds - - - - - - 0 - - - - all - false - false - - - - all - 0 - - JNLP4-connect - - - JNLP2-connect - JNLP3-connect - - - - - \ No newline at end of file From 5ab2262790c72626719a369787ceb29580caf2cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:20:53 -0700 Subject: [PATCH 1047/1330] Update jenkins/ath Docker tag to v6058 (#9911) 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 b1159344ffd5..d57b7834ee32 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=6052.v122b_b_a_b_94b_60 +export ATH_VERSION=6058.v6b_05a_06f312a_ if [[ $# -eq 0 ]]; then export JDK=17 From 9e256de2d1e13dbf436a7cd51b8ed26d01b52a77 Mon Sep 17 00:00:00 2001 From: Allan Burdajewicz Date: Sat, 26 Oct 2024 07:31:35 +1000 Subject: [PATCH 1048/1330] [JENKINS-73845] Fix OperatingSystemEndOfLifeAdminMonitor endOfLifeDate displayed on first warning day (#9908) * [JENKINS-73845] Fix OperatingSystemEndOfLifeAdminMonitor endOfLifeDate displayed on first warning day * [JENKINS-73845] Add test * [JENKINS-73845] Improve test --- .../OperatingSystemEndOfLifeAdminMonitor.java | 2 +- ...ratingSystemEndOfLifeAdminMonitorTest.java | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java b/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java index 0ff40d018225..50cf3c9da6f0 100644 --- a/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java +++ b/core/src/main/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor.java @@ -145,7 +145,7 @@ void readOperatingSystemList(String initialOperatingSystemJson) throws IOExcepti } LOGGER.log(Level.FINE, "Matched operating system {0}", name); - if (startDate.isBefore(LocalDate.now())) { + if (!startDate.isAfter(LocalDate.now())) { this.operatingSystemName = name; this.documentationUrl = buildDocumentationUrl(this.operatingSystemName); this.endOfLifeDate = endOfLife.toString(); diff --git a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java index 5cd09790cdd9..84bc3790241a 100644 --- a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java +++ b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java @@ -28,6 +28,7 @@ import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; @@ -35,15 +36,24 @@ import java.io.File; import java.io.IOException; import java.net.URL; +import java.nio.file.Files; +import java.time.LocalDate; import java.util.Random; import java.util.stream.Stream; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import org.junit.Rule; import org.junit.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import org.junit.rules.TemporaryFolder; public class OperatingSystemEndOfLifeAdminMonitorTest { + @Rule + public TemporaryFolder tmp = new TemporaryFolder(); + private final OperatingSystemEndOfLifeAdminMonitor monitor; private final Random random = new Random(); private final String PREFIX = "administrativeMonitor/"; @@ -210,6 +220,21 @@ public void testReadOperatingSystemNames(String fileName, String pattern, String assertThat(monitor.readOperatingSystemName(releaseFile, pattern), is(job)); } + @Test + public void testReadOperatingSystemListOnWarningDate() throws Exception { + File dataFile = tmp.newFile(); + Files.writeString(dataFile.toPath(), "PRETTY_NAME=\"Test OS\""); + JSONObject eolIn6Months = new JSONObject(); + eolIn6Months.put("pattern", "Test OS"); + eolIn6Months.put("endOfLife", LocalDate.now().plusMonths(6).toString()); + eolIn6Months.put("file", dataFile.getAbsolutePath()); + JSONArray jsonArray = new JSONArray(); + jsonArray.add(eolIn6Months); + monitor.readOperatingSystemList(jsonArray.toString()); + assertTrue(monitor.isActivated()); + assertEquals(LocalDate.now().plusMonths(6).toString(), monitor.getEndOfLifeDate()); + } + @Test public void testReadOperatingSystemNameMissingFile() { assertThat(monitor.readOperatingSystemName(new File("/this/file/does/not/exist"), ".*"), is("")); From 9c228bb3213e35465b85ffad8a5b26bd0406df76 Mon Sep 17 00:00:00 2001 From: Mustafa Ulu Date: Sat, 26 Oct 2024 00:31:56 +0300 Subject: [PATCH 1049/1330] Turkish localization fixes for security configuration (#9890) * Turkish localization fixes for security configuration * Turkish localization for success page after creating first user --- .../ReverseProxySetupMonitor/message_tr.properties | 2 +- .../GlobalSecurityConfiguration/index_tr.properties | 3 ++- .../HudsonPrivateSecurityRealm/firstUser_tr.properties | 1 + .../HudsonPrivateSecurityRealm/success_tr.properties | 2 ++ .../resources/hudson/security/Messages_tr.properties | 10 +++++++++- .../SetupWizard/setupWizardFirstUser_tr.properties | 1 + 6 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/firstUser_tr.properties create mode 100644 core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/success_tr.properties create mode 100644 core/src/main/resources/jenkins/install/SetupWizard/setupWizardFirstUser_tr.properties diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties index 2ac4acc9ebbe..2de2187639d5 100644 --- a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties +++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties @@ -1,4 +1,4 @@ # This file is under the MIT License by authors -More\ Info=Daha fazla Bilgi +More\ Info=Daha Fazla Bilgi blurb=Ters vekil sunucu yapılandırmanız bozuk görünüyor. diff --git a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_tr.properties b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_tr.properties index 1b12b9eb167c..7f79912af880 100644 --- a/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_tr.properties +++ b/core/src/main/resources/hudson/security/GlobalSecurityConfiguration/index_tr.properties @@ -20,8 +20,9 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +Authentication=Kimlik Doğrulama Disable\ remember\ me=Beni hatırla özelliğini devre dışı bırak -Markup\ Formatter= +Markup\ Formatter=Metin Formatlayıcısı Access\ Control=Erişim Kontrolü Security\ Realm=Güvenlik Alanı Authorization=Yetkilendirme diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/firstUser_tr.properties b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/firstUser_tr.properties new file mode 100644 index 000000000000..73adeed2eeaf --- /dev/null +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/firstUser_tr.properties @@ -0,0 +1 @@ +Create\ First\ Admin\ User=İlk Yönetici Kullanıcıyı Oluştur diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/success_tr.properties b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/success_tr.properties new file mode 100644 index 000000000000..2320478a1e6c --- /dev/null +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/success_tr.properties @@ -0,0 +1,2 @@ +Success=Tebrikler +description=Giriş yaptınız. Ana sayfaya geri dönün. diff --git a/core/src/main/resources/hudson/security/Messages_tr.properties b/core/src/main/resources/hudson/security/Messages_tr.properties index eefcbfd2ea1c..b3303fcafc21 100644 --- a/core/src/main/resources/hudson/security/Messages_tr.properties +++ b/core/src/main/resources/hudson/security/Messages_tr.properties @@ -22,7 +22,7 @@ GlobalSecurityConfiguration.DisplayName=Güvenlik GlobalSecurityConfiguration.Description=Jenkins''i güvenli hale getir; sisteme erişim izni olanları belirle. -LegacyAuthorizationStrategy.DisplayName=Miras modu +LegacyAuthorizationStrategy.DisplayName=Eski yöntem HudsonPrivateSecurityRealm.DisplayName=Jenkins''in kendi kullanıcı veritabanı HudsonPrivateSecurityRealm.Details.DisplayName=Şifre @@ -32,7 +32,15 @@ HudsonPrivateSecurityRealm.Details.PasswordError=\ HudsonPrivateSecurityRealm.ManageUserLinks.DisplayName=Kullanıcılar HudsonPrivateSecurityRealm.ManageUserLinks.Description=Jenkins''de oturum açabilecek kullanıcıları oluşturun, silin veya değiştirin. +FullControlOnceLoggedInAuthorizationStrategy.DisplayName=Giriş yapmış kullanıcılar her şeyi yapabilir + +AuthorizationStrategy.DisplayName=Herkes her şeyi yapabilir + +LegacySecurityRealm.Displayname=Servlet konteynerine devredin + UserDetailsServiceProxy.UnableToQuery=Kullanıcı bilgisi alınamıyor: {0} # not in use Permission.Permissions.Title=Mevcut Değil + +NoneSecurityRealm.DisplayName=Hiçbiri diff --git a/core/src/main/resources/jenkins/install/SetupWizard/setupWizardFirstUser_tr.properties b/core/src/main/resources/jenkins/install/SetupWizard/setupWizardFirstUser_tr.properties new file mode 100644 index 000000000000..73adeed2eeaf --- /dev/null +++ b/core/src/main/resources/jenkins/install/SetupWizard/setupWizardFirstUser_tr.properties @@ -0,0 +1 @@ +Create\ First\ Admin\ User=İlk Yönetici Kullanıcıyı Oluştur From 1eea693eb23b9d5870910446727959e4e9188e9e Mon Sep 17 00:00:00 2001 From: Mustafa Ulu Date: Sat, 26 Oct 2024 00:32:10 +0300 Subject: [PATCH 1050/1330] Translate user property categories to Turkish (#9891) --- .../hudson/model/AllView/noJob_tr.properties | 1 + .../model/userproperty/Messages_tr.properties | 13 +++++++++++++ .../index_tr.properties | 1 + .../index_tr.properties | 2 ++ .../index_tr.properties | 2 ++ .../index_tr.properties | 2 ++ .../index_tr.properties | 2 ++ .../main/resources/lib/form/helpLink_tr.properties | 2 ++ .../resources/lib/form/saveApplyBar_tr.properties | 1 + 9 files changed, 26 insertions(+) create mode 100644 core/src/main/resources/hudson/model/userproperty/Messages_tr.properties create mode 100644 core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index_tr.properties create mode 100644 core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index_tr.properties create mode 100644 core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index_tr.properties create mode 100644 core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index_tr.properties create mode 100644 core/src/main/resources/lib/form/helpLink_tr.properties create mode 100644 core/src/main/resources/lib/form/saveApplyBar_tr.properties diff --git a/core/src/main/resources/hudson/model/AllView/noJob_tr.properties b/core/src/main/resources/hudson/model/AllView/noJob_tr.properties index f11e7258733e..31dd63cf187c 100644 --- a/core/src/main/resources/hudson/model/AllView/noJob_tr.properties +++ b/core/src/main/resources/hudson/model/AllView/noJob_tr.properties @@ -29,6 +29,7 @@ setUpDistributedBuilds=Dağıtılmış bir yapılandırma kurun setUpAgent=Bir ajan kur setUpCloud=Bir bulut ayarla learnMoreDistributedBuilds=Dağıtılmış yapılandırmalar hakkında daha fazla bilgi edinin +thisFolderIsEmpty=Bu klasör boş startBuilding=Yazılım projenizi yapılandırmaya başlayın diff --git a/core/src/main/resources/hudson/model/userproperty/Messages_tr.properties b/core/src/main/resources/hudson/model/userproperty/Messages_tr.properties new file mode 100644 index 000000000000..8144297c655b --- /dev/null +++ b/core/src/main/resources/hudson/model/userproperty/Messages_tr.properties @@ -0,0 +1,13 @@ +UserPropertyCategory.Account.DisplayName=Hesap +UserPropertyCategory.Appearance.DisplayName=Görünüm +UserPropertyCategory.Experimental.DisplayName=Deneyler +UserPropertyCategory.Invisible.DisplayName=Görünmez +UserPropertyCategory.Preferences.DisplayName=Tercihler +UserPropertyCategory.Unclassified.DisplayName=Sınıflandırılmamış +UserPropertyCategory.Security.DisplayName=Güvenlik + +UserPropertyCategoryAccountAction.DisplayName=Hesap +UserPropertyCategoryAppearanceAction.DisplayName=Görünüm +UserPropertyCategoryExperimentalAction.DisplayName=Deneyler +UserPropertyCategoryPreferencesAction.DisplayName=Tercihler +UserPropertyCategorySecurityAction.DisplayName=Güvenlik diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index_tr.properties b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index_tr.properties index ead6d67dee06..14b810099914 100644 --- a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index_tr.properties +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAccountAction/index_tr.properties @@ -20,6 +20,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +title=Hesap Full\ name=İsminiz Description=Açıklama Save=Kaydet diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index_tr.properties b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index_tr.properties new file mode 100644 index 000000000000..f9e350543d71 --- /dev/null +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryAppearanceAction/index_tr.properties @@ -0,0 +1,2 @@ +title=Görünüm +warningNoItems=Yapılandırılacak görünüm öğesi yok. diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index_tr.properties b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index_tr.properties new file mode 100644 index 000000000000..b645842a1872 --- /dev/null +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryExperimentalAction/index_tr.properties @@ -0,0 +1,2 @@ +title=Deneyler +warningNoItems=Şu anda herhangi bir deney mevcut değil. diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index_tr.properties b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index_tr.properties new file mode 100644 index 000000000000..5108f7b2cc0b --- /dev/null +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategoryPreferencesAction/index_tr.properties @@ -0,0 +1,2 @@ +title=Tercihler +warningNoItems=Tercih bulunamadı. diff --git a/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index_tr.properties b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index_tr.properties new file mode 100644 index 000000000000..21a255c0268e --- /dev/null +++ b/core/src/main/resources/hudson/model/userproperty/UserPropertyCategorySecurityAction/index_tr.properties @@ -0,0 +1,2 @@ +title=Güvenlik +warningNoItems=Güvenlik yapılandırması mevcut değil. diff --git a/core/src/main/resources/lib/form/helpLink_tr.properties b/core/src/main/resources/lib/form/helpLink_tr.properties new file mode 100644 index 000000000000..7f6685c75dde --- /dev/null +++ b/core/src/main/resources/lib/form/helpLink_tr.properties @@ -0,0 +1,2 @@ +Help=Yardım +Help\ for\ feature\:=Özellik için yardım: diff --git a/core/src/main/resources/lib/form/saveApplyBar_tr.properties b/core/src/main/resources/lib/form/saveApplyBar_tr.properties new file mode 100644 index 000000000000..c065a247209d --- /dev/null +++ b/core/src/main/resources/lib/form/saveApplyBar_tr.properties @@ -0,0 +1 @@ +Save=Kaydet From 97e10096736aa8c49e7679c770eb582fe78246cd Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Fri, 25 Oct 2024 23:32:29 +0200 Subject: [PATCH 1051/1330] When calling Nodes#setNodes, NodeListener methods should be called as required (#9905) * When calling Nodes#setNodes, NodeListener methods should be called as required For example, when loading a new casc configuration, it calls Nodes#setNodes, and the NodeListener methods were not called, causing listener implementations not to be notified according to the new state. * Fix reviews --- core/src/main/java/jenkins/model/Nodes.java | 38 ++++---- .../test/java/jenkins/model/NodesTest.java | 86 ++++++++++++++++++- 2 files changed, 106 insertions(+), 18 deletions(-) diff --git a/core/src/main/java/jenkins/model/Nodes.java b/core/src/main/java/jenkins/model/Nodes.java index e15d391c4975..a01c3fc342b5 100644 --- a/core/src/main/java/jenkins/model/Nodes.java +++ b/core/src/main/java/jenkins/model/Nodes.java @@ -43,10 +43,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.HashSet; +import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.TreeMap; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentMap; @@ -114,26 +113,31 @@ public List getNodes() { * @throws IOException if the new list of nodes could not be persisted. */ public void setNodes(final @NonNull Collection nodes) throws IOException { - Set toRemove = new HashSet<>(); - Queue.withLock(new Runnable() { - @Override - public void run() { - toRemove.addAll(Nodes.this.nodes.keySet()); - for (Node n : nodes) { - final String name = n.getNodeName(); + Map toRemove = new HashMap<>(); + Queue.withLock(() -> { + toRemove.putAll(Nodes.this.nodes); + for (var node : nodes) { + final var name = node.getNodeName(); + var oldNode = toRemove.get(name); + if (oldNode != null) { + NodeListener.fireOnUpdated(oldNode, node); toRemove.remove(name); - Nodes.this.nodes.put(name, n); - n.onLoad(Nodes.this, name); + } else { + NodeListener.fireOnCreated(node); } - Nodes.this.nodes.keySet().removeAll(toRemove); - jenkins.updateComputerList(); - jenkins.trimLabels(); + Nodes.this.nodes.put(name, node); + node.onLoad(Nodes.this, name); } + Nodes.this.nodes.keySet().removeAll(toRemove.keySet()); + jenkins.updateComputerList(); + jenkins.trimLabels(); }); save(); - for (String name : toRemove) { - LOGGER.fine(() -> "deleting " + new File(getRootDir(), name)); - Util.deleteRecursive(new File(getRootDir(), name)); + for (var deletedNode : toRemove.values()) { + NodeListener.fireOnDeleted(deletedNode); + var nodeName = deletedNode.getNodeName(); + LOGGER.fine(() -> "deleting " + new File(getRootDir(), nodeName)); + Util.deleteRecursive(new File(getRootDir(), nodeName)); } } diff --git a/test/src/test/java/jenkins/model/NodesTest.java b/test/src/test/java/jenkins/model/NodesTest.java index c7207b9977c5..ef2bee08ef4a 100644 --- a/test/src/test/java/jenkins/model/NodesTest.java +++ b/test/src/test/java/jenkins/model/NodesTest.java @@ -25,7 +25,10 @@ package jenkins.model; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.sameInstance; @@ -47,6 +50,11 @@ import hudson.slaves.ComputerLauncher; import hudson.slaves.DumbSlave; import java.io.IOException; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.List; +import org.hamcrest.Description; +import org.hamcrest.TypeSafeMatcher; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.Issue; @@ -55,7 +63,6 @@ import org.jvnet.hudson.test.recipes.LocalData; public class NodesTest { - @Rule public JenkinsRule r = new JenkinsRule(); @@ -239,4 +246,81 @@ protected boolean allowLoad(@NonNull Node node) { } } + @Test + public void listenersCalledOnSetNodes() throws URISyntaxException, IOException, Descriptor.FormException { + var agentA = new DumbSlave("nodeA", "temp", r.createComputerLauncher(null)); + var agentB = new DumbSlave("nodeB", "temp", r.createComputerLauncher(null)); + var agentA2 = new DumbSlave("nodeA", "temp2", r.createComputerLauncher(null)); + Jenkins.get().setNodes(List.of(agentA, agentB)); + assertThat(CheckSetNodes.created, containsInAnyOrder("nodeA", "nodeB")); + assertThat(CheckSetNodes.updated, empty()); + assertThat(CheckSetNodes.deleted, empty()); + Jenkins.get().setNodes(List.of(agentA2)); + assertThat(CheckSetNodes.created, containsInAnyOrder("nodeA", "nodeB")); + assertThat(CheckSetNodes.updated, contains(new DumbSlaveNameAndRemoteFSMatcher(new DumbSlavePair(agentA, agentA2)))); + assertThat(CheckSetNodes.deleted, contains("nodeB")); + Jenkins.get().setNodes(List.of()); + assertThat(CheckSetNodes.created, containsInAnyOrder("nodeA", "nodeB")); + assertThat(CheckSetNodes.updated, contains(new DumbSlaveNameAndRemoteFSMatcher(new DumbSlavePair(agentA, agentA2)))); + assertThat(CheckSetNodes.deleted, containsInAnyOrder("nodeA", "nodeB")); + } + + private record DumbSlavePair(DumbSlave oldNode, DumbSlave newNode) { + @Override + public String toString() { + return "NodePair{" + + "oldNode=" + toStringNode(oldNode) + + ", newNode=" + toStringNode(newNode) + + '}'; + } + + private String toStringNode(DumbSlave node) { + return "(name=" + node.getNodeName() + ",remoteFS=" + node.getRemoteFS() + ")"; + } + } + + @TestExtension("listenersCalledOnSetNodes") + public static class CheckSetNodes extends NodeListener { + private static final List created = new ArrayList<>(); + private static final List updated = new ArrayList<>(); + private static final List deleted = new ArrayList<>(); + + @Override + protected void onCreated(@NonNull Node node) { + created.add(node.getNodeName()); + } + + @Override + protected void onUpdated(@NonNull Node oldOne, @NonNull Node newOne) { + if (oldOne instanceof DumbSlave oldDumbSlave && newOne instanceof DumbSlave newDumbSlave) { + updated.add(new DumbSlavePair(oldDumbSlave, newDumbSlave)); + } + } + + @Override + protected void onDeleted(@NonNull Node node) { + deleted.add(node.getNodeName()); + } + } + + private static class DumbSlaveNameAndRemoteFSMatcher extends TypeSafeMatcher { + private final DumbSlavePair expected; + + public DumbSlaveNameAndRemoteFSMatcher(DumbSlavePair expected) { + this.expected = expected; + } + + @Override + protected boolean matchesSafely(DumbSlavePair dumbSlavePair) { + return expected.oldNode.getNodeName().equals(dumbSlavePair.oldNode.getNodeName()) + && expected.oldNode.getRemoteFS().equals(dumbSlavePair.oldNode.getRemoteFS()) + && expected.newNode.getNodeName().equals(dumbSlavePair.newNode.getNodeName()) + && expected.newNode.getRemoteFS().equals(dumbSlavePair.newNode.getRemoteFS()); + } + + @Override + public void describeTo(Description description) { + description.appendText("NodePair(").appendValue(expected).appendText(")"); + } + } } From 1405d8b7f5dc0d79ed44d177e093d0cd306fde9c Mon Sep 17 00:00:00 2001 From: xndcn Date: Sat, 26 Oct 2024 05:32:52 +0800 Subject: [PATCH 1052/1330] Add note about environment variable in parameter file.html (#9909) --- war/src/main/webapp/help/parameter/file.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/war/src/main/webapp/help/parameter/file.html b/war/src/main/webapp/help/parameter/file.html index ccf5b5ffab90..ef4f8d7f8e4a 100644 --- a/war/src/main/webapp/help/parameter/file.html +++ b/war/src/main/webapp/help/parameter/file.html @@ -22,6 +22,15 @@ my.zip .) The name will not include the directory name portion.

    +

    + Please note that some shells, such as dash, or /bin/sh provided by dash, + do not make such environment variables with special characters available to + child processes. Try using shebang like + #!/bin/bash + in shell script and use + $(printenv abc.zip) + to get the original file name. +

    File upload is optional. If a user chooses not to upload anything, Jenkins will simply skips this parameter and will not place anything (but it also From 1474f6a778e854a80132ee4bae62fc2b5babf5c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:33:24 -0600 Subject: [PATCH 1053/1330] Update dependency org.jenkins-ci.plugins:script-security to v1366 (#9913) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 8f1d5f20c59a..957127ed55c3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -118,7 +118,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1365.v4778ca_84b_de5 + 1366.vd44b_49a_5c85c org.jenkins-ci.plugins.workflow diff --git a/war/pom.xml b/war/pom.xml index d4ed852e7721..2d447fd7776b 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -307,7 +307,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1365.v4778ca_84b_de5 + 1366.vd44b_49a_5c85c hpi From e553af07ec0f3224fd2cda69e2301a79f45cfd56 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:33:55 -0600 Subject: [PATCH 1054/1330] Update babel monorepo to v7.25.9 (#9912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +- yarn.lock | 1194 +++++++++++++++++++++++--------------------------- 2 files changed, 561 insertions(+), 639 deletions(-) diff --git a/package.json b/package.json index 0cf833ecff3d..b4babc069cc4 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "lint": "yarn lint:js && yarn lint:css" }, "devDependencies": { - "@babel/cli": "7.25.7", - "@babel/core": "7.25.8", - "@babel/preset-env": "7.25.8", + "@babel/cli": "7.25.9", + "@babel/core": "7.25.9", + "@babel/preset-env": "7.25.9", "@eslint/js": "9.13.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", diff --git a/yarn.lock b/yarn.lock index 52d95f0bf98b..113ee9042964 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:7.25.7": - version: 7.25.7 - resolution: "@babel/cli@npm:7.25.7" +"@babel/cli@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/cli@npm:7.25.9" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" @@ -38,121 +38,123 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: 10c0/bbbc53eef15844b0bfb737d7d134f979d42c51a269e2aee994b02eb9216a22e8dd3d790d5ae9f5b5c003e01eccfc164c14aaa1ad989695e0154f66a588f77d42 + checksum: 10c0/2e8228c3715e220fa902888c643ce1a89c4ee90be3d9f7a31218d5bb2500456e0cef12cb90fd5877ab3e5a4498df8f27670425d346422a3eb52052fd3184d520 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/code-frame@npm:7.26.0" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/compat-data@npm:7.25.8" - checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/compat-data@npm:7.26.0" + checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb languageName: node linkType: hard -"@babel/core@npm:7.25.8": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" +"@babel/core@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard -"@babel/generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/generator@npm:7.26.0" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/parser": "npm:^7.26.0" + "@babel/types": "npm:^7.26.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/2f020b0fa9d336b5778485cc2de3141561ec436a7591b685457a5bcdae4ce41d9ddee68169c95504e0789e5a4327e73b8b7e72e5b60e82e96d730c4d19255248 + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/e9dc5a7920a1d74150dec53ccd5e34f2b31ae307df7cdeec6289866f7bda97ecb1328b49a7710ecde5db5b6daad768c904a030f9a0fa3184963b0017622c42aa + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7" +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/405c3c1a137acda1206380a96993cf2cfd808b3bee1c11c4af47ee0f03a20858497aa53394d6adc5431793c543be5e02010620e871a5ab39d938ae90a54b50f2 + checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" regexpu-core: "npm:^6.1.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/75919fd5a67cd7be8497b56f7b9ed6b4843cb401956ba8d403aa9ae5b005bc28e35c7f27e704d820edbd1154394ed7a7984d4719916795d89d716f6980fe8bd4 + checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef languageName: node linkType: hard @@ -171,223 +173,210 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/1e948162ab48d84593a7c6ec9570d14c906146f1697144fc369c59dbeb00e4a062da67dd06cb0d8f98a044cd8389002dcf2ab6f5613d99c35748307846ec63fc + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.25.7" - checksum: 10c0/19b4cc7e77811b1fedca4928dbc14026afef913c2ba4142e5e110ebdcb5c3b2efc0f0fbee9f362c23a194674147b9d627adea71c289b9be08b9067bc0085308b + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-plugin-utils@npm:7.25.7" - checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-plugin-utils@npm:7.25.9" + checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7" +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-wrap-function": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/972d84876adce6ab61c87a2df47e1afc790b73cff0d1767d0a1c5d9f7aa5e91d8c581a272b66b2051a26cfbb167d8a780564705e488e3ce1f477f1c15059bc5f + checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-replace-supers@npm:7.25.7" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-replace-supers@npm:7.25.9" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.7" - "@babel/helper-optimise-call-expression": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/761d64ee74429f7326a6aa65e2cd5bfcb8de9e3bc3f1efb14b8f610d2410f003b0fca52778dc801d49ff8fbc90b057e8f51b27c62b0b05c95eaf23140ca1287b + checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" +"@babel/helper-simple-access@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-simple-access@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/5804adb893849a9d8cfb548e3812566a81d95cb0c9a10d66b52912d13f488e577c33063bf19bc06ac70e6333162a7370d67ba1a1c3544d37fb50d5f4a00db4de + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a - languageName: node - linkType: hard - -"@babel/helper-wrap-function@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-wrap-function@npm:7.25.7" - dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/b5d412f72697f4a4ce4cb9784fbaf82501c63cf95066c0eadd3179e3439cbbf0aa5fa4858d93590083671943cd357aeb87286958df34aa56fdf8a4c9dea39755 +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 languageName: node linkType: hard -"@babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/parser@npm:7.26.0" dependencies: - "@babel/types": "npm:^7.25.8" + "@babel/types": "npm:^7.26.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/05619e239be811f4d8a9f471534c0d7dbc44faf38f6a6445663710982d2f9b057be43b4d18906d4e28830958752bdadbf88903abf687304a2bda86c4b3489455 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/c6ba97c39973897a2ab021c4a77221e1e93e853a5811d498db325da1bd692e41fa521db6d91bb709ccafd4e54ddd00869ffb35846923c3ccd49d46124b316904 + checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ac284868bf410f952c6959b0d77708464127160416f003b05c8127d30e64792d671abc167ebf778b17707e32174223ea8d3ff487276991fa90297d92f0dac6e2 + checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/1bffc0a20c8c82b4c77515eb4c99b961b38184116f008bb42bed4e12d3379ba7b2bc6cf299bcea8118d645bb7a5e0caa83969842f16dd1fce49fb3a050e4ac65 + checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/32223f012614a0b2657579317ded7d0d09af2aa316285715c5012f974d0f15c2ce2fe0d8e80fdd9bac6c10c21c93cc925a9dfd6c8e21ce7ba1a9fe06a58088b4 + checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/aa2ee7a5954d187de6cbcca0e0b64cfb79c4d224c332d1eb1e0e4afd92ef1a1f4bc4af24f66154097ccb348c08121a875456f47baed220b1b9e93584e6a19b65 + checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 languageName: node linkType: hard @@ -400,25 +389,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" +"@babel/plugin-syntax-import-assertions@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0fee0d971f3c654749fdf92e09b6556bba26ab014c8e99b7252f6a7f1ca108f17edd7ceefb5401d7b7008e98ab1b6f8c3c6a5db72862e7c7b2fcd649d000d690 + checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7" +"@babel/plugin-syntax-import-attributes@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fe00cdb96fd289ab126830a98e1dcf5ab7b529a6ef1c01a72506b5e7b1197d6e46c3c4d029cd90d1d61eb9a15ef77c282d156d0c02c7e32f168bb09d84150db4 + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 languageName: node linkType: hard @@ -434,649 +423,649 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7" +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8d75ead93f130bf113b6d29493aca695092661ef039336d2a227169c3b7895aa5e9bcc548c42a95a6eaaaf49e512317b00699940bd40ccefd77443e703d3935 + checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 + checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7" +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-remap-async-to-generator": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1dbefba9c1455f7a92b8c59a93c622091db945294c936fc2c09b1648308c5b4cb2ecaae92baae0d07a324ab890a8a2ee27ceb046bc120932845d27aede275821 + checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b1e77492295d1b271ef850a81b0404cf3d0dd6a2bcbeab28a0fd99e61c6de4bda91dff583bb42138eec61bf71282bdd3b1bebcb53b7e373035e77fd6ba66caeb + checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7" +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b2057e00535cd0e8bd5ee5d4640aa2e952564aeafb1bcf4e7b6de33442422877bb0ca8669ad0a48262ec077271978c61eae87b6b3bc8f472d830fa781d6f7e44 + checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.7" +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1f41e6934b20ad3e05df63959cff9bc600ff3119153b9acbbd44c1731e7df04866397e6e17799173f4c53cdee6115e155632859aee20bf47ec7dcef3f2168a47 + checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" +"@babel/plugin-transform-class-static-block@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 + checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-classes@npm:7.25.7" +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8121781e1d8acd80e6169019106f73a399475ad9c895c1988a344dfed5a6ddd340938ac55123dc1e423bb8f25f255f5d11031116ad756ba3c314595a97c973af + checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7" +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ad0a1c126f50935a02e77d438ebc39078a9d644b3a60de60bec32c5d9f49e7f2b193fcecb8c61bb1bc3cdd4af1e93f72d022d448511fa76a171527c633cd1bf + checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.7" +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a563123b2fb267e03aa50104005f00b56226a685938906c42c1b251462e0cc9fc89e587d5656d3324159071eb8ebda8c68a6011f11d5a00fb1436cb5a5411b7b + checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7" +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f1db3ec20b7fae46db4a9c4c257d75418b0896b72c0a3de20b3044f952801480f0a2e75ebb0d64f13e8cd4db0e49aa42c5c0edff372b23c41679b1ea5dd3ed4 + checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4079981e2db19737a0f1a00254e7388e2d3c01ce36e9fd826e4d86d3c1755339495e29c71fd7c84a068201ec24687328d48f3bf53b32b6d6224f51d9a34da74 + checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/e4946090ff6d88d54b78265ee653079ec34c117ac046e22f66f7c4ac44249cdc2dfca385bc5bf4386db668b9948eeb12985589500188bc252e684c7714c31475 + checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 + checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8537b9f3cddc5a8d3710f6980196dc7a0f4389f8f82617312a5f7b8b15bcd8ddaeba783c687c3ac6031eb0a4ba0bc380a98da6bf7efe98e225602a98ad42a1e + checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 + checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-for-of@npm:7.25.7" +"@babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/08a37a1742368a422d095c998ed76f60f6bf3f9cc060033be121d803fd2dddc08fe543e48ee49c022bdc9ed80893ca79d084958d83d30684178b088774754277 + checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-function-name@npm:7.25.7" +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ca98e1116c0ada7211ed43e4b7f21ca15f95bbbdad70f2fbe1ec2d90a97daedf9f22fcb0a25c8b164a5e394f509f2e4d1f7609d26dc938a58d37c5ee9b80088a + checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf + checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-literals@npm:7.25.7" +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c2c2488102f33e566f45becdcb632e53bd052ecfb2879deb07a614b3e9437e3b624c3b16d080096d50b0b622edebd03e438acbf9260bcc41167897963f64560e + checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e + checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d6936b98ae4d3daed850dc4e064042ea4375f815219ba9d8591373bf1fba4cfdb5be42623ae8882f2d666cc34af650a4855e2a5ad89e3c235d73a6f172f9969c + checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7" +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c0bc999206c3834c090e6559a6c8a55d7672d3573104e832223ebe7df99bd1b82fc850e15ba32f512c84b0db1cdb613b66fa60abe9abb9c7e8dcbff91649b356 + checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-simple-access": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f1c945fc3c9b690b0ddcf2c80156b2e4fbf2cf15aac43ac8fe6e4b34125869528839a53d07c564e62e4aed394ebdc1d2c3b796b547374455522581c11b7599c + checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/95eaea7082636710c61e49e58b3907e85ec79db4327411d3784f28592509fbe94a53cc3d20a36a1cf245efc6d3f0017eae15b45ffd645c1ab949bb4e1670e6bb + checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7" +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8849ab04eecdb73cd37e2d7289449fa5256331832b0304c220b2a6aaa12e2d2dd87684f2813412d1fc5bdb3d6b55cc08c6386d3273fe05a65177c09bee5b6769 + checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/eb55fec55dc930cd122911f3e4a421320fa8b1b4de85bfd7ef11b46c611ec69b0213c114a6e1c6bc224d6b954ff183a0caa7251267d5258ecc0f00d6d9ca1d52 + checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-new-target@npm:7.25.7" +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e5dce6d027e0f3fd394578ea1af7f515de157793a15c23a5aad7034a6d8a4005ef280238e67a232bb4dd4fafd3a264fed462deb149128ddd9ce59ff6f575cff + checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 + checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 + checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-transform-parameters": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 + checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-object-super@npm:7.25.7" +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7f2968d4da997101b63fd3b74445c9b16f56bd32cd8a0a16c368af9d3e983e7675c1b05d18601f32307cb06e7d884ee11d13ff18a1f6830c0db243a9a852afab + checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 + checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f + checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-parameters@npm:7.25.7" +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b40ba70278842ce1e800d7ab400df730994941550da547ef453780023bd61a9b8acf4b9fb8419c1b5bcbe09819a1146ff59369db11db07eb71870bef86a12422 + checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.7" +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/92e076f63f7c4696e1321dafdd56c4212eb41784cdadba0ebc39091f959a76d357c3df61a6c668be81d6b6ad8964ee458e85752ab0c6cfbbaf2066903edda732 + checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 + checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.7" +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6d5bccdc772207906666ad5201bd91e4e132e1d806dbcf4163a1d08e18c57cc3795578c4e10596514bcd6afaf9696f478ea4f0dea890176d93b9cb077b9e5c55 + checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.7" +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7ee3a57c4050bc908ef7ac392d810826b294970a7182f4ec34a8ca93dbe36deb21bc862616d46a6f3d881d6b5749930e1679e875b638a00866d844a4250df212 + checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7" +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/920c98130daff6c1288fb13a9a2d2e45863bba93e619cb88d90e1f5b5cb358a3ee8880a425a3adb1b4bd5dbb6bd0500eea3370fc612633045eec851b08cc586c + checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4250f89a0072f0f400be7a2e3515227b8e2518737899bd57d497e5173284a0e05d812e4a3c219ffcd484e9fa9a01c19fce5acd77bbb898f4d594512c56701eb4 + checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-spread@npm:7.25.7" +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/258bd1b52388cd7425d0ae25fa39538734f7540ea503a1d8a72211d33f6f214cb4e3b73d6cd03016cbcff5d41169f1e578b9ea331965ad224d223591983e90a7 + checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7" +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0e466cfc3ca1e0db4bb11eb630215b0e1f43066d7678325e5ddadcf5a118b2351a528f67205729c32ac5b78ab68ab7f40517dd33bcb1fb6b456509f5f54ce097 + checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.25.7" +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a3455303b6841cb536ac66d1a2d03c194b9f371519482d8d1e8edbd33bf5ca7cdd5db1586b2b0ea5f909ebf74a0eafacf0fb28d257e4905445282dcdccfa6139 + checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ce1a0744a900b05de1372a70508c4148f17eb941c482da26eb369b9f0347570dce45470c8a86d907bc3a0443190344da1e18489ecfecb30388ab6178e8a9916b + checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b1f71fda0a832c6e26ba4c00f99e9033e6f9b36ced542a512921f4ad861a70e2fec2bd54a91a5ca2efa46aaa8c8893e4c602635c4ef172bd3ed6eef3178c70b + checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4bfcf7529138d00671bf5cdfe606603d52cfe57ec1be837da57683f404fc0b0c171834a02515eb03379e5c806121866d097b90e31cb437d21d0ea59368ad82b + checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/73ae34c02ea8b7ac7e4efa690f8c226089c074e3fef658d2a630ad898a93550d84146ce05e073c271c8b2bbba61cbbfd5a2002a7ea940dcad3274e5b5dcb6bcf + checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/39e45ae3db7adfc3457b1d6ba5608ffbace957ad019785967e5357a6639f261765bda12363f655d39265f5a2834af26327037751420191d0b73152ccc7ce3c35 + checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f languageName: node linkType: hard -"@babel/preset-env@npm:7.25.8": - version: 7.25.8 - resolution: "@babel/preset-env@npm:7.25.8" +"@babel/preset-env@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/preset-env@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.8" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" + "@babel/plugin-syntax-import-assertions": "npm:^7.25.9" + "@babel/plugin-syntax-import-attributes": "npm:^7.25.9" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.7" - "@babel/plugin-transform-class-properties": "npm:^7.25.7" - "@babel/plugin-transform-class-static-block": "npm:^7.25.8" - "@babel/plugin-transform-classes": "npm:^7.25.7" - "@babel/plugin-transform-computed-properties": "npm:^7.25.7" - "@babel/plugin-transform-destructuring": "npm:^7.25.7" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" - "@babel/plugin-transform-for-of": "npm:^7.25.7" - "@babel/plugin-transform-function-name": "npm:^7.25.7" - "@babel/plugin-transform-json-strings": "npm:^7.25.8" - "@babel/plugin-transform-literals": "npm:^7.25.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" - "@babel/plugin-transform-modules-amd": "npm:^7.25.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7" - "@babel/plugin-transform-modules-umd": "npm:^7.25.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-new-target": "npm:^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" - "@babel/plugin-transform-object-super": "npm:^7.25.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" - "@babel/plugin-transform-parameters": "npm:^7.25.7" - "@babel/plugin-transform-private-methods": "npm:^7.25.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" - "@babel/plugin-transform-property-literals": "npm:^7.25.7" - "@babel/plugin-transform-regenerator": "npm:^7.25.7" - "@babel/plugin-transform-reserved-words": "npm:^7.25.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7" - "@babel/plugin-transform-spread": "npm:^7.25.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.7" - "@babel/plugin-transform-template-literals": "npm:^7.25.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.25.9" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.25.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.25.9" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.6" @@ -1085,7 +1074,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 + checksum: 10c0/b8b391e3fe69918a2a4f4366034113bd6f57c9748974dbe1b807a728bc41434f1e003cb4204ca63a2a01cbb7c05ba96036261b64756243374374353931d346e6 languageName: node linkType: hard @@ -1111,40 +1100,39 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard -"@babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard -"@babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.4.4": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.4.4": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 languageName: node linkType: hard @@ -2491,15 +2479,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" @@ -2783,17 +2762,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - "chalk@npm:^4.0.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -2882,15 +2850,6 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -2900,13 +2859,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -3449,13 +3401,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -4064,13 +4009,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -4385,9 +4323,9 @@ __metadata: version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." dependencies: - "@babel/cli": "npm:7.25.7" - "@babel/core": "npm:7.25.8" - "@babel/preset-env": "npm:7.25.8" + "@babel/cli": "npm:7.25.9" + "@babel/core": "npm:7.25.9" + "@babel/preset-env": "npm:7.25.9" "@eslint/js": "npm:9.13.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" @@ -6745,15 +6683,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - "supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -6899,13 +6828,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" From 23bcc39d049c9226d012f1b6f9109579ea2fb3a5 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Fri, 25 Oct 2024 23:35:27 +0200 Subject: [PATCH 1055/1330] Add Resource Root URL test for permissions assigned to groups (#9906) Co-authored-by: Daniel Beck --- .../jenkins/security/ResourceDomainTest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/src/test/java/jenkins/security/ResourceDomainTest.java b/test/src/test/java/jenkins/security/ResourceDomainTest.java index b8f2d551b094..a2eb9de0b89a 100644 --- a/test/src/test/java/jenkins/security/ResourceDomainTest.java +++ b/test/src/test/java/jenkins/security/ResourceDomainTest.java @@ -55,6 +55,34 @@ public void prepare() throws Exception { configuration.setUrl(resourceRoot); } + @Test + public void groupPermissionsWork() throws Exception { + final JenkinsRule.DummySecurityRealm securityRealm = j.createDummySecurityRealm(); + securityRealm.addGroups("alice", "admins"); + j.jenkins.setSecurityRealm(securityRealm); + MockAuthorizationStrategy a = new MockAuthorizationStrategy().grant(Jenkins.READ).everywhere().to("admins"); + j.jenkins.setAuthorizationStrategy(a); + + JenkinsRule.WebClient webClient = j.createWebClient().login("alice"); + + { // DBS directory listing is shown as always + Page page = webClient.goTo("userContent"); + Assert.assertEquals("successful request", 200, page.getWebResponse().getStatusCode()); + Assert.assertTrue("still on the original URL", page.getUrl().toString().contains("/userContent")); + Assert.assertTrue("web page", page.isHtmlPage()); + Assert.assertTrue("complex web page", page.getWebResponse().getContentAsString().contains("javascript")); + } + { // DBS on primary domain forwards to second domain when trying to access a file URL + webClient.setRedirectEnabled(true); + Page page = webClient.goTo("userContent/readme.txt", "text/plain"); + final String resourceResponseUrl = page.getUrl().toString(); + Assert.assertEquals("resource response success", 200, page.getWebResponse().getStatusCode()); + Assert.assertNull("no CSP headers", page.getWebResponse().getResponseHeaderValue("Content-Security-Policy")); + Assert.assertTrue("Served from resource domain", resourceResponseUrl.contains(RESOURCE_DOMAIN)); + Assert.assertTrue("Served from resource action", resourceResponseUrl.contains("static-files")); + } + } + @Test public void secondDomainBasics() throws Exception { JenkinsRule.WebClient webClient = j.createWebClient(); From 9191caca736ac08fc5f8ae0d34e271d3c65e0f1d Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Fri, 25 Oct 2024 15:59:26 -0600 Subject: [PATCH 1056/1330] Fix yarn lint issue --- war/src/main/webapp/help/parameter/file.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/war/src/main/webapp/help/parameter/file.html b/war/src/main/webapp/help/parameter/file.html index ef4f8d7f8e4a..d641470f015a 100644 --- a/war/src/main/webapp/help/parameter/file.html +++ b/war/src/main/webapp/help/parameter/file.html @@ -23,8 +23,8 @@ .) The name will not include the directory name portion.

    - Please note that some shells, such as dash, or /bin/sh provided by dash, - do not make such environment variables with special characters available to + Please note that some shells, such as dash, or /bin/sh provided by dash, do + not make such environment variables with special characters available to child processes. Try using shebang like #!/bin/bash in shell script and use From 6c0422fcda13ab5bad51a5075a81de1ede4398b4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 26 Oct 2024 11:51:12 -0700 Subject: [PATCH 1057/1330] Update dependency com.puppycrawl.tools:checkstyle to v10.19.0 (#9917) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cfdc76b2fd56..b492c804f609 100644 --- a/pom.xml +++ b/pom.xml @@ -281,7 +281,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.18.2 + 10.19.0 From bd90608a6fef0459d48483bf6652e9097e9ef277 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 26 Oct 2024 11:51:30 -0700 Subject: [PATCH 1058/1330] Update jenkins/ath Docker tag to v6059 (#9914) 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 d57b7834ee32..c3a56d5fe4f8 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=6058.v6b_05a_06f312a_ +export ATH_VERSION=6059.veb_df63f37069 if [[ $# -eq 0 ]]; then export JDK=17 From e9f8cd64ddfc63558fe247dcb1fec72656549485 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 26 Oct 2024 11:51:57 -0700 Subject: [PATCH 1059/1330] Update babel monorepo to v7.26.0 (#9915) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- yarn.lock | 69 +++++++++++++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index b4babc069cc4..892fffca567d 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ }, "devDependencies": { "@babel/cli": "7.25.9", - "@babel/core": "7.25.9", - "@babel/preset-env": "7.25.9", + "@babel/core": "7.26.0", + "@babel/preset-env": "7.26.0", "@eslint/js": "9.13.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", diff --git a/yarn.lock b/yarn.lock index 113ee9042964..0bb6566c1c40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0": version: 7.26.0 resolution: "@babel/code-frame@npm:7.26.0" dependencies: @@ -53,37 +53,37 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9": +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": version: 7.26.0 resolution: "@babel/compat-data@npm:7.26.0" checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb languageName: node linkType: hard -"@babel/core@npm:7.25.9": - version: 7.25.9 - resolution: "@babel/core@npm:7.25.9" +"@babel/core@npm:7.26.0": + version: 7.26.0 + resolution: "@babel/core@npm:7.26.0" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" + "@babel/code-frame": "npm:^7.26.0" + "@babel/generator": "npm:^7.26.0" "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helpers": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.0" + "@babel/parser": "npm:^7.26.0" "@babel/template": "npm:^7.25.9" "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d + checksum: 10c0/91de73a7ff5c4049fbc747930aa039300e4d2670c2a91f5aa622f1b4868600fc89b01b6278385fbcd46f9574186fa3d9b376a9e7538e50f8d118ec13cfbcb63e languageName: node linkType: hard -"@babel/generator@npm:^7.25.9": +"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0": version: 7.26.0 resolution: "@babel/generator@npm:7.26.0" dependencies: @@ -193,7 +193,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9": +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: @@ -300,7 +300,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.9": +"@babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" dependencies: @@ -389,7 +389,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.25.9": +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: @@ -400,7 +400,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.25.9": +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" dependencies: @@ -494,7 +494,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.9": +"@babel/plugin-transform-class-static-block@npm:^7.26.0": version: 7.26.0 resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" dependencies: @@ -886,6 +886,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" @@ -1000,11 +1012,11 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.25.9": - version: 7.25.9 - resolution: "@babel/preset-env@npm:7.25.9" +"@babel/preset-env@npm:7.26.0": + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" dependencies: - "@babel/compat-data": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.26.0" "@babel/helper-compilation-targets": "npm:^7.25.9" "@babel/helper-plugin-utils": "npm:^7.25.9" "@babel/helper-validator-option": "npm:^7.25.9" @@ -1014,8 +1026,8 @@ __metadata: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.25.9" - "@babel/plugin-syntax-import-attributes": "npm:^7.25.9" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" @@ -1023,7 +1035,7 @@ __metadata: "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" "@babel/plugin-transform-block-scoping": "npm:^7.25.9" "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" "@babel/plugin-transform-classes": "npm:^7.25.9" "@babel/plugin-transform-computed-properties": "npm:^7.25.9" "@babel/plugin-transform-destructuring": "npm:^7.25.9" @@ -1056,6 +1068,7 @@ __metadata: "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" "@babel/plugin-transform-property-literals": "npm:^7.25.9" "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" "@babel/plugin-transform-reserved-words": "npm:^7.25.9" "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" "@babel/plugin-transform-spread": "npm:^7.25.9" @@ -1074,7 +1087,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b8b391e3fe69918a2a4f4366034113bd6f57c9748974dbe1b807a728bc41434f1e003cb4204ca63a2a01cbb7c05ba96036261b64756243374374353931d346e6 + checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26 languageName: node linkType: hard @@ -4324,8 +4337,8 @@ __metadata: resolution: "jenkins-ui@workspace:." dependencies: "@babel/cli": "npm:7.25.9" - "@babel/core": "npm:7.25.9" - "@babel/preset-env": "npm:7.25.9" + "@babel/core": "npm:7.26.0" + "@babel/preset-env": "npm:7.26.0" "@eslint/js": "npm:9.13.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" From 0ccfa49acb00ba11b3d4454545170788e4069c25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 27 Oct 2024 08:25:28 +0000 Subject: [PATCH 1060/1330] Update dependency sass to v1.80.4 (#9919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 892fffca567d..8a1a9347492a 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.7", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.3", + "sass": "1.80.4", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index 0bb6566c1c40..dc03156d77e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4359,7 +4359,7 @@ __metadata: postcss-preset-env: "npm:10.0.7" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.3" + sass: "npm:1.80.4" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6336,9 +6336,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.3": - version: 1.80.3 - resolution: "sass@npm:1.80.3" +"sass@npm:1.80.4": + version: 1.80.4 + resolution: "sass@npm:1.80.4" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6346,7 +6346,7 @@ __metadata: source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/fa08043fc36b854717b6eaf6247ee11341d0aff5e17a645965071866bd677930c9c9467d82ed5a4a666d7897a82be8a61427cd81b808e6b9e2d3b32cf278bebd + checksum: 10c0/58ca0f2d10720cde6621ee62f4bdbb537ea2ac572c565d5f02309f8271a5e1e880ad8c163b933e52b22b3dc0550973fb5a6033a500248e6a0d89dd050c1743cf languageName: node linkType: hard From 0a1186061f43b12be78e5148e2b3c8756356d408 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 27 Oct 2024 08:27:26 +0000 Subject: [PATCH 1061/1330] Update dependency postcss-preset-env to v10.0.8 (#9918) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 523 ++++++++++++++++++++++++++------------------------- 2 files changed, 272 insertions(+), 253 deletions(-) diff --git a/package.json b/package.json index 8a1a9347492a..7d94e1548f40 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "mini-css-extract-plugin": "2.9.1", "postcss": "8.4.47", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.0.7", + "postcss-preset-env": "10.0.8", "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.80.4", diff --git a/yarn.lock b/yarn.lock index dc03156d77e9..f23f92f1318e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1149,13 +1149,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.2" +"@csstools/cascade-layer-name-parser@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/2cc840445328400bb3e1e4186e6081e6519a23d9abde36a16c95892b6ad75155b3af3410d79fdda1c53a068384f970cabff4b5f5ba6867578168cbd3419016c8 + checksum: 10c0/a0f0d6c94122d0a82b0da94ee2619915a9e6e98211de6e1f28afebe34332a29cab1b7905a34b6e5c1df30a125df9f9860ce5fa960c676484417d4ef2c4db4757 languageName: node linkType: hard @@ -1166,35 +1166,35 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/css-calc@npm:2.0.2" +"@csstools/css-calc@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/css-calc@npm:2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/b36e655b4abc8ea39b300725e33cd43b1875d759dd60bee8155bf7841065615a7f24cf53199382e30aa10bb137f64021043e4af7e11b7199b674a6e6cf3ccd01 + checksum: 10c0/a3dacda66bde67edab0f2384e85462dcd46b5bb62bc2a6396f0577a006d9ad59eae270353cbd6fe1a5f7081d0546fe4b1fd9b2df242758da54ec8b7022296570 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-color-parser@npm:3.0.3" +"@csstools/css-color-parser@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-color-parser@npm:3.0.4" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-calc": "npm:^2.0.3" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/02367ffc222254132c47f9cbc856f65fe0b81ee4a5e7381251b95c4064138b5ed99a5e5a79c0c8689f9e75e3d900f94773258a161a97f467c3f0420838c10e04 + checksum: 10c0/8f05264254d3768e45e46ce10e9355fe8ca0f6e4d2f648a22572f46c6d05b2378c37c2e5d970ed3b7bdfa0b152ea2af0c56a0556249bd85973aee9db7b091aa7 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-parser-algorithms@npm:3.0.2" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-parser-algorithms@npm:3.0.3" peerDependencies: "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/246afbf518ee9eaa24ed7f083360eb66884f1172fd4f8c663bff8c6099de2a8abd1e2a31d5b6fe42e010277d238469d780cff62bc7fdc6a52e7a90626b8924dc + checksum: 10c0/c1e634384affb10c3726a36f090867247005a2a470cb223de88debeab07921b78c0e7875e7847d90949c2b0ba88a290c71565f1839f7739c21a5bf1c870e137d languageName: node linkType: hard @@ -1215,82 +1215,82 @@ __metadata: languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/media-query-list-parser@npm:4.0.0" +"@csstools/media-query-list-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/media-query-list-parser@npm:4.0.1" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-parser-algorithms": ^3.0.3 "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/416417bcfd84c18a2df8dc77f31c87830e151dc20530fe7f0d8f13a0848b1a9090858abdf7792d82bf2edb41ddedb7b57b34eb78b68b5c10755ae02c019e496a + checksum: 10c0/037f57520b6ca7d58ba1d71a477bd99bdbe3a6d8e7b972ed0f436d649e574f5b429e54fc47d0272daa2ac24ffb819bd9d260a90e154c4a265b8ee4d1cfb1d279 languageName: node linkType: hard -"@csstools/postcss-cascade-layers@npm:^5.0.0": - version: 5.0.0 - resolution: "@csstools/postcss-cascade-layers@npm:5.0.0" +"@csstools/postcss-cascade-layers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-cascade-layers@npm:5.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b608c69c12671682676598e451dcd79bfc6f5030a4e17b4d1bf9659e531f1daf03526be023f9aafdc952ecc87c87b04f379a763309e3eadb2140572cd4aa5b60 + checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1 languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-color-function@npm:4.0.3" +"@csstools/postcss-color-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-color-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c994660ca0e2652755d9ad181c8cb46a07220c972086c97c843fa9bacf690be10c642770f898aeec4acc47c2b718dfc7372107285a678361f34d84d9e9c11e0c + checksum: 10c0/e7735c6d7c84f039c84dc1b180410aa4db7c404d55477c2e7872bc8306a3150bf37883583ec080ebd8b40b765f700cc78892d61dc167578f76e324543d551c04 languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.3" +"@csstools/postcss-color-mix-function@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4ba358eb9030fc485bfe2922d897eeb712725762cc399eaba60ba665c84dc3e56a4d5a52dfb320093c0b217d32fedb9b5197fa45738cade53d9afcbefdadf04f + checksum: 10c0/3e01f04853e49c9f69ee0538b817209b630649844039ee5b195cfbae94d41cf6e0d8a50a3d02dbe066f84855eefa1b7047f6750e4744858519978468577e567f languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.2" +"@csstools/postcss-content-alt-text@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.3" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e52d40f6567b9b23b32a6c40f9b2a74d57f99a9921b4cae015f51f72453474236c760bb13120682f8815698a615e0ad7bed22314c29dca89c34b5480d83a7a6d + checksum: 10c0/0389292a1ba11483f58db1bdd38cc774b0ec18c73f03d1db5f4a1f38edc861bb8b8d750b5c5b3615a98aaf995c0464dcfd6db5421888be0f868548c69455b5b3 languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.2" +"@csstools/postcss-exponential-functions@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/034ff89089872f63a6b00bda670c5ff11361babd221ed3e441dde969a718059e5d44ab0ed331868f137bb205331b808ecbcc4cb641d5c945238ebca28aa3ed59 + checksum: 10c0/690ac6c5ec72e085160401100cc8465a040fd70d59efadf61ef767094edac28bbb2653f53ea7cfa47d8220d0be0b9e23c3e3c2b80d9e93ad07b1db8031163d70 languageName: node linkType: hard @@ -1306,46 +1306,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.3" +"@csstools/postcss-gamut-mapping@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/21f5708f63e9c3b7603f8b72b5f288e0a021e9710a6abf4aaa713ff4d04bae057d1861e1f28d7670ea39ba463ac04f1507876d4a11178934e7cc7a1c6a780084 + checksum: 10c0/60c6ff13cc71a0cda7ce184fa8b42924975f2bd05e3bc096059de853ae01d48e36f27d02d7e6286d9e8c4eb4dfd526f7c302ff51be19c5f7949dd6079915a3a9 languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.3": - version: 5.0.3 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.3" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.4": + version: 5.0.4 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/062d27148438309c940a1973bfc7d42a06caa9397bf2382c7a61979f5be3d6f3fae1bc8ddf94d2dd8e6c807e0530a9e76179510266aaddc439677bf79447a765 + checksum: 10c0/3b6aa4404851be09a083f35b596acc7e3f74f525386dcd2887720438638ca1893f79e699e5dad0e3a35487cb9527e08d0dcd29f1331f87800f53c13423321d6e languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-hwb-function@npm:4.0.3" +"@csstools/postcss-hwb-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-hwb-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/faf2bfbafeec765391e37c7a5cbc7b4647d9ab1ffa51e922c7dfffa545c3d436d15604dfdfb9d7684e760042e62bb42e0243dd4ebd8c3c14694a9f7be4e57b30 + checksum: 10c0/2460cc7e6324f0793d12976de175ff33344c3410ff7a04ca8a5ce0560ee3354d1d8034f9f07c0759c2b7e222a4681d02298f6a29c2a326c76b33060830da83b4 languageName: node linkType: hard @@ -1371,29 +1371,29 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-is-pseudo-class@npm:^5.0.0": - version: 5.0.0 - resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.0" +"@csstools/postcss-is-pseudo-class@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/738eb84728b24bfe19ca06ccf6ff773a423552df2f31c87704ce79da4abfd2ccf2a45d5d6d3e11e71e42cc3d92eb35a856209b9cd6116c879acf15ac75454683 + checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.5": - version: 2.0.5 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.5" +"@csstools/postcss-light-dark-function@npm:^2.0.6": + version: 2.0.6 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.6" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/80635ee312d2a8f42aa5ce6792f1dc4a71199c384c66a3270d37e998d96db55beaa6836d689cda3b7e4828227960582fae04659ba5e4e0f64fd4543cbf15c6ab + checksum: 10c0/f3e93b58a23f0f01c9d032a892070a18e3393e60997e1d2b57c5bddb2cb36f7ee6cbaeaeb3d531b065a545a03e54d86567d34b45eddf85ed48ac360eb4ab66cd languageName: node linkType: hard @@ -1447,30 +1447,30 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-media-minmax@npm:2.0.2" +"@csstools/postcss-media-minmax@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-media-minmax@npm:2.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/83cf10742884fca3baa7ae26e2cb34123ce5a022622390566c139b4587ea8583fab00acbb85545786b36398e2201d2a94301e0fae805e55f375f1b5c38f67ce8 + checksum: 10c0/87c1ed6fe6ed487125e383ae7bc356ba0f68885c41cd129b85c323af69255031a8ac7b2e994d4f9b6b65d6a9f6833aeb1301ca230b592547825aedb3e3acab4b languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.2" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.3" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/3ac4073d2e958bfb24ae45f673070dd805f0fcf07bc8d00a9a98f596d1096e7be282c8d8e87df3abde90f33fcbe2c7705e972b8c1a58e43ec44729f470b76096 + checksum: 10c0/3bbadd5c79ff2102b4a2e0f107d7f3cbb89d2840b935915531d0a1bfc711d58386e6e234fccb9b4abb37e48f07cdfaa4dd66b5c795dfac9e317fa8b5cfd38e06 languageName: node linkType: hard @@ -1497,18 +1497,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-oklab-function@npm:4.0.3" +"@csstools/postcss-oklab-function@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-oklab-function@npm:4.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/650bcb4f664308972588a8f789f806d63c4069e2e008cfc3b5c80bf9df992c62972dce279b8f434c7f78823e97095942ee4f0e37bc549258887213e72acb7ef8 + checksum: 10c0/4fd2a5c22ebaf69053e005d9d009ccb41b6879f0246677159bfb6a28208e90af857446c443d34fe3efdaf50bccdd67b16fcd0c1e7c52961396a48bd84e45311f languageName: node linkType: hard @@ -1523,42 +1523,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.3" +"@csstools/postcss-relative-color-syntax@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c241fe6b725d775f6d2085be1dff3868d189b176fa91ab1eb1133e30e30c8151bded4e50d17a845edd0bdd0a7adf9e8883cb2634fea3394872591fe9ad2a7e86 + checksum: 10c0/f2ae6f9053e976e2431d08bdc5aa40ca5242754e23370abdfd7b6087d7ed56037e46911d1be801cf7e760aa8aee94bcab6a46f4f68696cf6befacf707c1534b7 languageName: node linkType: hard -"@csstools/postcss-scope-pseudo-class@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.0" +"@csstools/postcss-scope-pseudo-class@npm:^4.0.1": + version: 4.0.1 + resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a6f562df1417c6f257c0fec95babf4cea99a25622573a2dbcfb416e2fcb8e1e53561127f5e7277d19fcb2a4603bdbc64dd6a4c416429623503c604050c99229a + checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.2" +"@csstools/postcss-stepped-value-functions@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/444a27d725bc7a8e1554469e8ac69e248ff525b728fbe058523b0f1aefcff80ca707f543d21fead0a22d51603b1669190fb01f0f2dcd599a01768a37e0d62bc3 + checksum: 10c0/31af5a650d4b2de97d3a3ef77e7ad0777b3f013f7463e23455ac31ffc946d2f79f365a1fdead52c7c535176232ab57f6f086ecdbeca1bb0b250161b1302e8c8c languageName: node linkType: hard @@ -1574,16 +1574,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.2" +"@csstools/postcss-trigonometric-functions@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.3" dependencies: - "@csstools/css-calc": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/eaecb2ea891162e4fcbbccf4f660c99e9e59f21937b70fe6aec3b51441eff2a12c1a2dc13fff426722629a7929919fd866311eaa68d74ee9d1f5387a23502fe2 + checksum: 10c0/a13dd72c00e45e6db16c03e135f1cd1b2b412e83b7681696b49feef3a4c36ab80f5f806f3589d33405e2d14dd0dfb13572ec12007ebe3d294077b0bd3d645b2b languageName: node linkType: hard @@ -1596,12 +1596,12 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-resolve-nested@npm:^2.0.0": - version: 2.0.0 - resolution: "@csstools/selector-resolve-nested@npm:2.0.0" +"@csstools/selector-resolve-nested@npm:^3.0.0": + version: 3.0.0 + resolution: "@csstools/selector-resolve-nested@npm:3.0.0" peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10c0/10516fd1db5e0a3963063caa57d24eeb1d1f69fcb63f0b5aec5d7a44f8b36ff07b1eded3012e8a9b92fc1f484e1a5a9def0cf57d788aa7f944ee79877837cc77 + postcss-selector-parser: ^7.0.0 + checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d languageName: node linkType: hard @@ -1614,6 +1614,15 @@ __metadata: languageName: node linkType: hard +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" + peerDependencies: + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb + languageName: node + linkType: hard + "@csstools/utilities@npm:^2.0.0": version: 2.0.0 resolution: "@csstools/utilities@npm:2.0.0" @@ -2979,14 +2988,14 @@ __metadata: languageName: node linkType: hard -"css-blank-pseudo@npm:^7.0.0": - version: 7.0.0 - resolution: "css-blank-pseudo@npm:7.0.0" +"css-blank-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-blank-pseudo@npm:7.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/74c6c0af773a8d2c8c5a53bcfc2b2c06f9c3fd4a8bd756b7aafc102b91a1060b179a4f0aa21475b54685b62bfd9724fee90778dd992b42e0cd3ea3698132af92 + checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618 languageName: node linkType: hard @@ -3006,16 +3015,16 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^7.0.0": - version: 7.0.0 - resolution: "css-has-pseudo@npm:7.0.0" +"css-has-pseudo@npm:^7.0.1": + version: 7.0.1 + resolution: "css-has-pseudo@npm:7.0.1" dependencies: - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/2c72602ca9bcdb3afe2cce3b014e7dd17548658904c17560042ebf4bd6727b1ed8706961b1f44bff43bbdb8dc932c30a0b29f536c353df858e300e68e163b872 + checksum: 10c0/13789b08b70169204be786d652190356ace9313099d3656bd2fc38afbdd28f3d9620f0e0b07425480961b7a1ec789794961d0472f205b959d3f64c9a78ce511c languageName: node linkType: hard @@ -3131,10 +3140,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^8.1.1": - version: 8.1.1 - resolution: "cssdb@npm:8.1.1" - checksum: 10c0/d60facfad3bca70e21100fc35b9205cb9d3d0ac642f44f0a687e54bf787f21c43d28ce2d17fcd405f67950fb4709516108fe1f3cb15df570eff1007b5fbbc787 +"cssdb@npm:^8.1.2": + version: 8.1.2 + resolution: "cssdb@npm:8.1.2" + checksum: 10c0/056149e713a78921f56d9ef0cd734577cedb93c27966c3d0eab01956a2aa8d3c260a911766064b57ded8b4d9c55dd5275626cbb022ccd8d2d0b93b53fefd1603 languageName: node linkType: hard @@ -4356,7 +4365,7 @@ __metadata: mini-css-extract-plugin: "npm:2.9.1" postcss: "npm:8.4.47" postcss-loader: "npm:8.1.1" - postcss-preset-env: "npm:10.0.7" + postcss-preset-env: "npm:10.0.8" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.80.4" @@ -5276,14 +5285,14 @@ __metadata: languageName: node linkType: hard -"postcss-attribute-case-insensitive@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-attribute-case-insensitive@npm:7.0.0" +"postcss-attribute-case-insensitive@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-attribute-case-insensitive@npm:7.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/ce2a96bc29f59a6113953f1f72bfa2d4d34e54b194ff4d49aad0d548aa738835afaf479f22060a2605952b842f63aeae278b44e41f8f3a05731df28d08e2df97 + checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34 languageName: node linkType: hard @@ -5310,18 +5319,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-color-functional-notation@npm:7.0.3" +"postcss-color-functional-notation@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-color-functional-notation@npm:7.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/5e04c81002512c960784043c096bc91ebc76b8fddb9259a2418b0e121eb65042944cc0f78946f6b7e5774ff1fee087849019655e4848af1f88879e3ab9ff7c17 + checksum: 10c0/1e39c47f27610ebf6a6308cfea2904fbe1f157b13654325ada23153a944666722c6132b53dfc7660632406a636479dda68eeb97a246c2e593ad6eed1e9bf838d languageName: node linkType: hard @@ -5375,57 +5384,57 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.3": - version: 11.0.3 - resolution: "postcss-custom-media@npm:11.0.3" +"postcss-custom-media@npm:^11.0.4": + version: 11.0.4 + resolution: "postcss-custom-media@npm:11.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.0" + "@csstools/media-query-list-parser": "npm:^4.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/bd3f0cf17d7422385d26afed510dc2acebb1d8c25fce13e2bbee1c49cdc7fe95ebe7f50b89ef0a88ebdd5f6826e89d99e26b905881ceff788df655670dba93d8 + checksum: 10c0/31e82e5802f6933a15f5fcf64ff41c8107af9c1d5dcba3c4422a6de3fac77bce9e3dc4ed2b79ae7f6ae460549c5da5a013669af05c1ae21549dbb09b66a9492d languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.2": - version: 14.0.2 - resolution: "postcss-custom-properties@npm:14.0.2" +"postcss-custom-properties@npm:^14.0.3": + version: 14.0.3 + resolution: "postcss-custom-properties@npm:14.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/ea2e0cb60c558bb1afb4e601dcc64a38e1b28e5df3e47b83b858fc12d909d0e3453013e6b368fc05a7db7098ffcdc702a30a92f1a3c0ef67dfb97bf089021f1a + checksum: 10c0/878ffd171ab9bbbba711930cf1b5bd48a12779e3b45d69f41366c2f65d84518f9338a92a277c0e390518c9e12272e06892cdc6575783bcdecfa6d26ebde3d043 languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.2": - version: 8.0.2 - resolution: "postcss-custom-selectors@npm:8.0.2" +"postcss-custom-selectors@npm:^8.0.3": + version: 8.0.3 + resolution: "postcss-custom-selectors@npm:8.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/81673ffb0874f63c0f5e14315a5808259ec80ae8452aaf10d28112d30a9aaabbf61d13edb02f8be2965f44b943968c7eda051a1693da436ef157e77fcff0d752 + checksum: 10c0/3acdada43e385c23130f1dde41b189acc7739e5bbd14751ae28b2bd97b0d97f30c2a53da4f9558d108a893cc48717f76b28395a9ff38dcbbe3c3a1721ee4a68a languageName: node linkType: hard -"postcss-dir-pseudo-class@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-dir-pseudo-class@npm:9.0.0" +"postcss-dir-pseudo-class@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-dir-pseudo-class@npm:9.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/debae71bf508c0e494ebb1892ce6b3c1c4eeb6b23231180151a93920a12fec771815510cdec54db54605e090ae56af9f07c68ef6a61260d0c837adc719f9e1e4 + checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690 languageName: node linkType: hard @@ -5480,25 +5489,25 @@ __metadata: languageName: node linkType: hard -"postcss-focus-visible@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-focus-visible@npm:10.0.0" +"postcss-focus-visible@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-focus-visible@npm:10.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b86b825bac597092b300127c2686c0669ce0766165716ecda42f298f21ca69dda721e44917732cbcb2611a4ab650f1231bf8c5d4d07c9daefef815329251ae8a + checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665 languageName: node linkType: hard -"postcss-focus-within@npm:^9.0.0": - version: 9.0.0 - resolution: "postcss-focus-within@npm:9.0.0" +"postcss-focus-within@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-focus-within@npm:9.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1d6f1b4f4d12e23a2824f394652d520942f00fd582d3016c933a492fe0ba38aaf26bc1855576878aaeaeda1d6fc38da39bb51e8e6470c50ef03f3ea9a286b3d1 + checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a languageName: node linkType: hard @@ -5532,18 +5541,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.3": - version: 7.0.3 - resolution: "postcss-lab-function@npm:7.0.3" +"postcss-lab-function@npm:^7.0.4": + version: 7.0.4 + resolution: "postcss-lab-function@npm:7.0.4" dependencies: - "@csstools/css-color-parser": "npm:^3.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.3" "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c50a73a9ed54b4194998c4627599d1f42074235f572edbbcdb0e00717f3ae2121dc8378d917792b281860c5650a617d923823da6f395515f610b5760d115354d + checksum: 10c0/79ce3cc20484aef0e0bbc2d18c8f91d7362226a3db52f06a931ac8e1c58ffbc60876c6439f364093e5f16ef92260a420230cfb2a9e7b95c6c11e6f7d57626260 languageName: node linkType: hard @@ -5697,16 +5706,16 @@ __metadata: languageName: node linkType: hard -"postcss-nesting@npm:^13.0.0": - version: 13.0.0 - resolution: "postcss-nesting@npm:13.0.0" +"postcss-nesting@npm:^13.0.1": + version: 13.0.1 + resolution: "postcss-nesting@npm:13.0.1" dependencies: - "@csstools/selector-resolve-nested": "npm:^2.0.0" - "@csstools/selector-specificity": "npm:^4.0.0" - postcss-selector-parser: "npm:^6.1.0" + "@csstools/selector-resolve-nested": "npm:^3.0.0" + "@csstools/selector-specificity": "npm:^5.0.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b82a3c7010f7c6097bd3f3fe6c03f3f3af9a63a58e255f120dadd506a0ea9444aeeaba994f2a3fa34fb26e666dc72032edf5786c5fbdade790b02ad07d91ef95 + checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf languageName: node linkType: hard @@ -5860,85 +5869,85 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:10.0.7": - version: 10.0.7 - resolution: "postcss-preset-env@npm:10.0.7" +"postcss-preset-env@npm:10.0.8": + version: 10.0.8 + resolution: "postcss-preset-env@npm:10.0.8" dependencies: - "@csstools/postcss-cascade-layers": "npm:^5.0.0" - "@csstools/postcss-color-function": "npm:^4.0.3" - "@csstools/postcss-color-mix-function": "npm:^3.0.3" - "@csstools/postcss-content-alt-text": "npm:^2.0.2" - "@csstools/postcss-exponential-functions": "npm:^2.0.2" + "@csstools/postcss-cascade-layers": "npm:^5.0.1" + "@csstools/postcss-color-function": "npm:^4.0.4" + "@csstools/postcss-color-mix-function": "npm:^3.0.4" + "@csstools/postcss-content-alt-text": "npm:^2.0.3" + "@csstools/postcss-exponential-functions": "npm:^2.0.3" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.3" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.3" - "@csstools/postcss-hwb-function": "npm:^4.0.3" + "@csstools/postcss-gamut-mapping": "npm:^2.0.4" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.4" + "@csstools/postcss-hwb-function": "npm:^4.0.4" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" - "@csstools/postcss-is-pseudo-class": "npm:^5.0.0" - "@csstools/postcss-light-dark-function": "npm:^2.0.5" + "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" + "@csstools/postcss-light-dark-function": "npm:^2.0.6" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" - "@csstools/postcss-media-minmax": "npm:^2.0.2" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.2" + "@csstools/postcss-media-minmax": "npm:^2.0.3" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.3" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.3" + "@csstools/postcss-oklab-function": "npm:^4.0.4" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.3" - "@csstools/postcss-scope-pseudo-class": "npm:^4.0.0" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.2" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.4" + "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.3" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.2" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.3" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" - css-blank-pseudo: "npm:^7.0.0" - css-has-pseudo: "npm:^7.0.0" + css-blank-pseudo: "npm:^7.0.1" + css-has-pseudo: "npm:^7.0.1" css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.1.1" - postcss-attribute-case-insensitive: "npm:^7.0.0" + cssdb: "npm:^8.1.2" + postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.3" + postcss-color-functional-notation: "npm:^7.0.4" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.3" - postcss-custom-properties: "npm:^14.0.2" - postcss-custom-selectors: "npm:^8.0.2" - postcss-dir-pseudo-class: "npm:^9.0.0" + postcss-custom-media: "npm:^11.0.4" + postcss-custom-properties: "npm:^14.0.3" + postcss-custom-selectors: "npm:^8.0.3" + postcss-dir-pseudo-class: "npm:^9.0.1" postcss-double-position-gradients: "npm:^6.0.0" - postcss-focus-visible: "npm:^10.0.0" - postcss-focus-within: "npm:^9.0.0" + postcss-focus-visible: "npm:^10.0.1" + postcss-focus-within: "npm:^9.0.1" postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.3" + postcss-lab-function: "npm:^7.0.4" postcss-logical: "npm:^8.0.0" - postcss-nesting: "npm:^13.0.0" + postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" postcss-overflow-shorthand: "npm:^6.0.0" postcss-page-break: "npm:^3.0.4" postcss-place: "npm:^10.0.0" - postcss-pseudo-class-any-link: "npm:^10.0.0" + postcss-pseudo-class-any-link: "npm:^10.0.1" postcss-replace-overflow-wrap: "npm:^4.0.0" - postcss-selector-not: "npm:^8.0.0" + postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/f789000e0504fd827e854bb0feb8b4c218d381314e4d863c5a36df925df412d0844c912952fe27892a320433640aeaff03ee94a3057b42011bf5d32b3963f333 + checksum: 10c0/3f7dc8eb2e7f4e7a5eee0a9456972a5b18bd40109d1aa3328f60cd645d352f3a70c83c507ea58f83b820153b0f5c3f14af3f376573c56599c36d5739c943b6f1 languageName: node linkType: hard -"postcss-pseudo-class-any-link@npm:^10.0.0": - version: 10.0.0 - resolution: "postcss-pseudo-class-any-link@npm:10.0.0" +"postcss-pseudo-class-any-link@npm:^10.0.1": + version: 10.0.1 + resolution: "postcss-pseudo-class-any-link@npm:10.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/8357716e0ba0f01c70dba65a1efd268f610249ac2fbd41833e5e87dc19ffa7911c8d5e234d0d7c77d94ba6cdfa04fe7f0f98461c34f64cdbb59abd9737ab7d32 + checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673 languageName: node linkType: hard @@ -5999,18 +6008,18 @@ __metadata: languageName: node linkType: hard -"postcss-selector-not@npm:^8.0.0": - version: 8.0.0 - resolution: "postcss-selector-not@npm:8.0.0" +"postcss-selector-not@npm:^8.0.1": + version: 8.0.1 + resolution: "postcss-selector-not@npm:8.0.1" dependencies: - postcss-selector-parser: "npm:^6.1.0" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/677f2cd9d0cd481d276663b57001b2ba96db94ad5bba397f277e53d560ccb074b27c21792deff44720a9f2d96da85fa34f438bb1d33198305b5866b35f1a4708 + checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6 languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.0, postcss-selector-parser@npm:^6.1.2": +"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.2": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" dependencies: @@ -6020,6 +6029,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d + languageName: node + linkType: hard + "postcss-svgo@npm:^7.0.1": version: 7.0.1 resolution: "postcss-svgo@npm:7.0.1" From c6944dc0fb1abe3e5681b0a39a9fa988b6287ae6 Mon Sep 17 00:00:00 2001 From: Mustafa Ulu Date: Mon, 28 Oct 2024 02:34:49 +0300 Subject: [PATCH 1062/1330] Turkish localization fixes for node list page (#9916) * Turkish localization fixes for node list page * Replace obsolete property --- .../resources/hudson/model/Computer/sidepanel_tr.properties | 2 +- .../resources/hudson/model/ComputerSet/index_tr.properties | 4 ++++ .../resources/hudson/model/ComputerSet/new_tr.properties | 2 ++ .../hudson/model/ComputerSet/sidepanel_tr.properties | 2 ++ core/src/main/resources/hudson/model/Messages_tr.properties | 2 ++ .../resources/hudson/node_monitors/Messages_tr.properties | 5 ++++- core/src/main/resources/hudson/slaves/Messages_tr.properties | 1 + core/src/main/resources/hudson/util/Messages_tr.properties | 1 + .../src/main/resources/jenkins/agents/Messages_tr.properties | 2 +- .../main/resources/lib/hudson/newFromList/form_tr.properties | 4 +++- 10 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 core/src/main/resources/hudson/model/ComputerSet/index_tr.properties create mode 100644 core/src/main/resources/hudson/model/ComputerSet/new_tr.properties create mode 100644 core/src/main/resources/hudson/util/Messages_tr.properties diff --git a/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties b/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties index a96d29188a81..30694a2d05e4 100644 --- a/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties +++ b/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties @@ -23,6 +23,6 @@ Back\ to\ List=Listeye Dön Build\ History=Yapılandırma Geçmişi Configure=Yapılandır -Load\ Statistics=Yüklenme istatistikleri +Load\ Statistics=Yük İstatistikleri Script\ Console=Script Konsolu Status=Durum diff --git a/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties new file mode 100644 index 000000000000..0434bbae3c0e --- /dev/null +++ b/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties @@ -0,0 +1,4 @@ +Nodes=Sunucular +New\ Node=Yeni Sunucu +Name=İsim +Data\ obtained=Son güncelleme diff --git a/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties new file mode 100644 index 000000000000..921759b8e7ef --- /dev/null +++ b/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties @@ -0,0 +1,2 @@ +New\ node=Yeni sunucu +Node\ name=Sunucu ismi diff --git a/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties index ec93e331bfed..f4761cfdc026 100644 --- a/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties +++ b/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties @@ -22,3 +22,5 @@ Back\ to\ Dashboard=Kontrol Merkezi'ne Dön Manage\ Jenkins=Jenkins''i Yönet +Nodes=Sunucular +Clouds=Bulutlar diff --git a/core/src/main/resources/hudson/model/Messages_tr.properties b/core/src/main/resources/hudson/model/Messages_tr.properties index 75399955f2e6..4d9ae97b7bd8 100644 --- a/core/src/main/resources/hudson/model/Messages_tr.properties +++ b/core/src/main/resources/hudson/model/Messages_tr.properties @@ -48,6 +48,8 @@ BallColor.Pending=Bekliyor BallColor.Success=Başarılı BallColor.Unstable=Dengesiz +ComputerSet.DisplayName=Sunucular + Executor.NotAvailable=Mevcut Değil FreeStyleProject.DisplayName=Serbest stil proje diff --git a/core/src/main/resources/hudson/node_monitors/Messages_tr.properties b/core/src/main/resources/hudson/node_monitors/Messages_tr.properties index a58be1787e59..0ac3946dc2c0 100644 --- a/core/src/main/resources/hudson/node_monitors/Messages_tr.properties +++ b/core/src/main/resources/hudson/node_monitors/Messages_tr.properties @@ -22,4 +22,7 @@ ArchitectureMonitor.DisplayName=Mimari ClockMonitor.DisplayName=Saat Farkı -DiskSpaceMonitor.DisplayName=Diskteki Boş Alan +DiskSpaceMonitor.DisplayName=Boş Disk Alanı +SwapSpaceMonitor.DisplayName=Boş Swap Alanı +TemporarySpaceMonitor.DisplayName=Boş Temp Alanı +ResponseTimeMonitor.DisplayName=Tepki Süresi diff --git a/core/src/main/resources/hudson/slaves/Messages_tr.properties b/core/src/main/resources/hudson/slaves/Messages_tr.properties index 3f09ef711a25..061c5c7a2ff7 100644 --- a/core/src/main/resources/hudson/slaves/Messages_tr.properties +++ b/core/src/main/resources/hudson/slaves/Messages_tr.properties @@ -1 +1,2 @@ +DumbSlave.displayName=Kalıcı Ajan EnvironmentVariablesNodeProperty.displayName=Ortam değişkenleri diff --git a/core/src/main/resources/hudson/util/Messages_tr.properties b/core/src/main/resources/hudson/util/Messages_tr.properties new file mode 100644 index 000000000000..1df20672d1a6 --- /dev/null +++ b/core/src/main/resources/hudson/util/Messages_tr.properties @@ -0,0 +1 @@ +ClockDifference.InSync=Senkronize diff --git a/core/src/main/resources/jenkins/agents/Messages_tr.properties b/core/src/main/resources/jenkins/agents/Messages_tr.properties index 240942f59eae..2ae6997d3203 100644 --- a/core/src/main/resources/jenkins/agents/Messages_tr.properties +++ b/core/src/main/resources/jenkins/agents/Messages_tr.properties @@ -4,4 +4,4 @@ CloudSet.SpecifyCloudToCopy=Hangi bulutun kopyalanacağını belirtin CloudSet.NoSuchCloud=Böyle bir bulut yok: {0} CloudsLink.DisplayName=Bulutlar CloudsLink.Description=İsteğe bağlı olarak ajan hazırlamak için kullanılmak üzere bulut tanımları ekleyin, kaldırın ve düzenleyin. -IOfflineCause.offline=поза мережею +IOfflineCause.offline=Çevrimdışı diff --git a/core/src/main/resources/lib/hudson/newFromList/form_tr.properties b/core/src/main/resources/lib/hudson/newFromList/form_tr.properties index e8a77858a57d..c175c60f9ae7 100644 --- a/core/src/main/resources/lib/hudson/newFromList/form_tr.properties +++ b/core/src/main/resources/lib/hudson/newFromList/form_tr.properties @@ -1,3 +1,5 @@ # This file is under the MIT License by authors -Copy\ from=Buradan Kopyala +View\ type=Tip +Type\ for\ suggestions=Yazmaya başlayınca otomatik tamamlanır +Create=Oluştur From e1f99468fd81d6aa52dc434fefc6e0420e1cb449 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:57:01 -0700 Subject: [PATCH 1063/1330] Update dependency io.jenkins.plugins:echarts-api to v5.5.1-4 (#9922) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index 2d447fd7776b..f34ff02a9028 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -365,7 +365,7 @@ THE SOFTWARE. io.jenkins.plugins echarts-api - 5.5.1-3 + 5.5.1-4 hpi From 137b3d0ff9b7bace2b9683f1e616bbbbce7ad1ca Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:43:58 +0000 Subject: [PATCH 1064/1330] [maven-release-plugin] prepare release jenkins-2.483 --- 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/jetty12-ee9/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 fa38665c2a7b..8efbf5d2a9c7 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..2e11b2c1ca7f 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..a63d6f21d603 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..b397dfb7949d 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 jenkins-coverage diff --git a/pom.xml b/pom.xml index b492c804f609..0fccb82e556a 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 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.483 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.483 -SNAPSHOT - 2024-10-22T13:43:00Z + 2024-10-29T10:33:36Z github diff --git a/test/pom.xml b/test/pom.xml index 957127ed55c3..75c0b6f95a4a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index f34ff02a9028..a3828a2cfb9f 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..f64d9b8140b4 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.483 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..b44f33a2e19a 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.483 ../.. From 783c18c00ed73db3d2b5ac747bf617cdb09269b6 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:44:27 +0000 Subject: [PATCH 1065/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 8efbf5d2a9c7..fa38665c2a7b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2e11b2c1ca7f..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index a63d6f21d603..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index b397dfb7949d..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 0fccb82e556a..f21c24fbc5e6 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${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.483 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.483 + 2.484 -SNAPSHOT - 2024-10-29T10:33:36Z + 2024-10-29T13:43:58Z github diff --git a/test/pom.xml b/test/pom.xml index 75c0b6f95a4a..957127ed55c3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index a3828a2cfb9f..f34ff02a9028 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index f64d9b8140b4..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index b44f33a2e19a..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.483 + ${revision}${changelist} ../.. From 3a255938b680e6a6c545768ca37ca75fee1453b4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 08:53:40 -0700 Subject: [PATCH 1066/1330] Update dependency org.jenkins-ci.plugins:script-security to v1367 (#9924) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 957127ed55c3..3933966bdadb 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -118,7 +118,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1366.vd44b_49a_5c85c + 1367.vdf2fc45f229c org.jenkins-ci.plugins.workflow diff --git a/war/pom.xml b/war/pom.xml index f34ff02a9028..933dcab0193a 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -307,7 +307,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1366.vd44b_49a_5c85c + 1367.vdf2fc45f229c hpi From 87cfc46068ee43eeec85f0d46d7ab9230b8f5e32 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 13:34:56 +0000 Subject: [PATCH 1067/1330] Fill in since annotations (#9927) Co-authored-by: timja <21194782+timja@users.noreply.github.com> --- core/src/main/java/hudson/model/Computer.java | 2 +- core/src/main/java/jenkins/agents/IOfflineCause.java | 2 +- core/src/main/java/jenkins/model/IComputer.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/model/Computer.java b/core/src/main/java/hudson/model/Computer.java index eec5bdd8d28d..0c525dfabe84 100644 --- a/core/src/main/java/hudson/model/Computer.java +++ b/core/src/main/java/hudson/model/Computer.java @@ -668,7 +668,7 @@ public boolean isTemporarilyOffline() { /** * Allows a caller to define an {@link OfflineCause} for a computer that has never been online. - * @since TODO + * @since 2.483 */ public void setOfflineCause(OfflineCause cause) { this.offlineCause = cause; diff --git a/core/src/main/java/jenkins/agents/IOfflineCause.java b/core/src/main/java/jenkins/agents/IOfflineCause.java index fca5f35b8d25..b1c32820e848 100644 --- a/core/src/main/java/jenkins/agents/IOfflineCause.java +++ b/core/src/main/java/jenkins/agents/IOfflineCause.java @@ -31,7 +31,7 @@ /** * Represents a cause that puts a {@linkplain IComputer#isOffline() computer offline}. - * @since TODO + * @since 2.483 */ public interface IOfflineCause { /** diff --git a/core/src/main/java/jenkins/model/IComputer.java b/core/src/main/java/jenkins/model/IComputer.java index 6aaea7af463f..37fe0af98535 100644 --- a/core/src/main/java/jenkins/model/IComputer.java +++ b/core/src/main/java/jenkins/model/IComputer.java @@ -94,7 +94,7 @@ default boolean hasOfflineCause() { /** * @return the offline cause if the computer is offline. - * @since TODO + * @since 2.483 */ IOfflineCause getOfflineCause(); From 99c3b439fc82c3c6d37ed8de9b425917453c3208 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 13:52:30 +0000 Subject: [PATCH 1068/1330] Update softprops/action-gh-release action to v2.0.9 (#9929) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/publish-release-artifact.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish-release-artifact.yml b/.github/workflows/publish-release-artifact.yml index 8b7242136ce9..e0268a61af0b 100644 --- a/.github/workflows/publish-release-artifact.yml +++ b/.github/workflows/publish-release-artifact.yml @@ -73,7 +73,7 @@ jobs: wget -q https://get.jenkins.io/${REPO}/${PROJECT_VERSION}/${FILE_NAME} - name: Upload Release Asset id: upload-war - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 + uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -108,7 +108,7 @@ jobs: - name: Upload Release Asset id: upload-deb if: always() - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 + uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -144,7 +144,7 @@ jobs: - name: Upload Release Asset id: upload-rpm if: always() - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 + uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -180,7 +180,7 @@ jobs: - name: Upload Release Asset id: upload-msi if: always() - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 + uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -216,7 +216,7 @@ jobs: - name: Upload Release Asset id: upload-suse-rpm if: always() - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 + uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From 55d09cb4e6be5a0f72f09d83b34fffcc888b9147 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 2 Nov 2024 09:09:03 +0000 Subject: [PATCH 1069/1330] Update dependency sass to v1.80.5 (#9932) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 7d94e1548f40..55785de7bdbc 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.8", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.4", + "sass": "1.80.5", "sass-loader": "16.0.2", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index f23f92f1318e..d3296cb5b08a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4368,7 +4368,7 @@ __metadata: postcss-preset-env: "npm:10.0.8" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.4" + sass: "npm:1.80.5" sass-loader: "npm:16.0.2" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6355,9 +6355,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.4": - version: 1.80.4 - resolution: "sass@npm:1.80.4" +"sass@npm:1.80.5": + version: 1.80.5 + resolution: "sass@npm:1.80.5" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6365,7 +6365,7 @@ __metadata: source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10c0/58ca0f2d10720cde6621ee62f4bdbb537ea2ac572c565d5f02309f8271a5e1e880ad8c163b933e52b22b3dc0550973fb5a6033a500248e6a0d89dd050c1743cf + checksum: 10c0/d592e57c037315f4c5976af3d37ce4c7758b1b4e89d064455d6992829ea59888c71b9dbc86f7fc8dca87ac98ebc9cece10e5c8fc5509bf192db81712a34fd579 languageName: node linkType: hard From 5db2f0139ca12c5d7dc7cf3a1f7712074936880d Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 2 Nov 2024 09:25:07 -0400 Subject: [PATCH 1070/1330] Avoid saving `nextBuildNumber` while loading `Job` (#9778) --- core/src/main/java/hudson/model/Job.java | 21 ++++++------------- .../jenkins/model/lazy/LazyBuildMixIn.java | 4 ++-- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index e4d54d44b375..c4c8679674a1 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -221,29 +221,20 @@ public void onLoad(ItemGroup parent, String name) TextFile f = getNextBuildNumberFile(); if (f.exists()) { - // starting 1.28, we store nextBuildNumber in a separate file. - // but old Hudson didn't do it, so if the file doesn't exist, - // assume that nextBuildNumber was read from config.xml try { synchronized (this) { this.nextBuildNumber = Integer.parseInt(f.readTrim()); } } catch (NumberFormatException e) { LOGGER.log(Level.WARNING, "Corruption in {0}: {1}", new Object[] {f, e}); - //noinspection StatementWithEmptyBody - if (this instanceof LazyBuildMixIn.LazyLoadingJob) { - // allow LazyBuildMixIn.onLoad to fix it - } else { - RunT lB = getLastBuild(); - synchronized (this) { - this.nextBuildNumber = lB != null ? lB.getNumber() + 1 : 1; - } - saveNextBuildNumber(); + RunT lB = getLastBuild(); + synchronized (this) { + this.nextBuildNumber = lB != null ? lB.getNumber() + 1 : 1; } + saveNextBuildNumber(); } - } else { - // From the old Hudson, or doCreateItem. Create this file now. - saveNextBuildNumber(); + } else if (nextBuildNumber == 0) { + nextBuildNumber = 1; } if (properties == null) // didn't exist < 1.72 diff --git a/core/src/main/java/jenkins/model/lazy/LazyBuildMixIn.java b/core/src/main/java/jenkins/model/lazy/LazyBuildMixIn.java index c73c5cbf80f1..d6329ed13ed5 100644 --- a/core/src/main/java/jenkins/model/lazy/LazyBuildMixIn.java +++ b/core/src/main/java/jenkins/model/lazy/LazyBuildMixIn.java @@ -109,8 +109,8 @@ public void onLoad(ItemGroup parent, String name) throws IOExcep int max = _builds.maxNumberOnDisk(); int next = asJob().getNextBuildNumber(); if (next <= max) { - LOGGER.log(Level.WARNING, "JENKINS-27530: improper nextBuildNumber {0} detected in {1} with highest build number {2}; adjusting", new Object[] {next, asJob(), max}); - asJob().updateNextBuildNumber(max + 1); + LOGGER.log(Level.FINE, "nextBuildNumber {0} detected in {1} with highest build number {2}; adjusting", new Object[] {next, asJob(), max}); + asJob().fastUpdateNextBuildNumber(max + 1); } RunMap currentBuilds = this.builds; if (parent != null) { From 1892e2147239b74717445c8ebfda764039487572 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 2 Nov 2024 09:25:16 -0400 Subject: [PATCH 1071/1330] `Job.BuildNumberAssigner` (#9846) * `Job.BuildNumberAssigner` * Clearer API for `saveNextBuildNumber` https://github.com/jenkinsci/jenkins/pull/9846#discussion_r1792991572 --- core/src/main/java/hudson/model/Job.java | 41 +++++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index c4c8679674a1..d22c25e98e3d 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -34,6 +34,7 @@ import hudson.BulkChange; import hudson.EnvVars; import hudson.Extension; +import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.FeedAdapter; import hudson.PermalinkList; @@ -337,12 +338,42 @@ public boolean isKeepDependencies() { } /** - * Allocates a new buildCommand number. + * Allocates a new build number. + * @see BuildNumberAssigner */ - public synchronized int assignBuildNumber() throws IOException { - int r = nextBuildNumber++; - saveNextBuildNumber(); - return r; + public int assignBuildNumber() throws IOException { + return ExtensionList.lookupFirst(BuildNumberAssigner.class).assignBuildNumber(this, this::saveNextBuildNumber); + } + + /** + * Alternate strategy for assigning build numbers. + */ + @Restricted(Beta.class) + public interface BuildNumberAssigner extends ExtensionPoint { + /** + * Implementation of {@link Job#assignBuildNumber}. + */ + int assignBuildNumber(Job job, SaveNextBuildNumber saveNextBuildNumber) throws IOException; + /** + * Provides an externally accessible alias for {@link Job#saveNextBuildNumber}, which is {@code protected}. + * ({@link #getNextBuildNumber} and {@link #fastUpdateNextBuildNumber} are already accessible.) + */ + interface SaveNextBuildNumber { + void call() throws IOException; + } + } + + @Restricted(DoNotUse.class) + @Extension(ordinal = -1000) + public static final class DefaultBuildNumberAssigner implements BuildNumberAssigner { + @Override + public int assignBuildNumber(Job job, SaveNextBuildNumber saveNextBuildNumber) throws IOException { + synchronized (job) { + int r = job.nextBuildNumber++; + saveNextBuildNumber.call(); + return r; + } + } } /** From bec45d721cf2b872beec98aaf7a6327abe7fdaa8 Mon Sep 17 00:00:00 2001 From: Devin Nusbaum Date: Sat, 2 Nov 2024 09:25:23 -0400 Subject: [PATCH 1072/1330] Skip `LogRotatorTest#ableToDeleteCurrentBuild` on Windows (#9923) * Skip `LogRotatorTest#ableToDeleteCurrentBuild` on Windows * Also remove BuildWatcher from LogRotatorTest in case it was contributing to flakiness --- test/src/test/java/hudson/tasks/LogRotatorTest.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/src/test/java/hudson/tasks/LogRotatorTest.java b/test/src/test/java/hudson/tasks/LogRotatorTest.java index 118a860147a1..d30d4d8115bc 100644 --- a/test/src/test/java/hudson/tasks/LogRotatorTest.java +++ b/test/src/test/java/hudson/tasks/LogRotatorTest.java @@ -31,7 +31,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeFalse; +import hudson.Functions; import hudson.Launcher; import hudson.model.AbstractBuild; import hudson.model.BuildListener; @@ -50,10 +52,8 @@ import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; -import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.jvnet.hudson.test.BuildWatcher; import org.jvnet.hudson.test.FailureBuilder; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; @@ -64,9 +64,6 @@ */ public class LogRotatorTest { - @ClassRule - public static BuildWatcher watcher = new BuildWatcher(); - @Rule public JenkinsRule j = new JenkinsRule(); @@ -103,6 +100,8 @@ public void successVsFailureWithRemoveLastBuild() throws Exception { @Test public void ableToDeleteCurrentBuild() throws Exception { + assumeFalse("Deleting the current build while is is completing does not work consistently on Windows", + Functions.isWindows()); var p = j.createFreeStyleProject(); // Keep 0 builds, i.e. immediately delete builds as they complete. LogRotator logRotator = new LogRotator(-1, 0, -1, -1); From e0a54f41da3252ac16eb96859f318b0fe80d8c66 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 2 Nov 2024 09:25:31 -0400 Subject: [PATCH 1073/1330] Race condition & memory leak in `TypedFilter` (#9925) --- .../jenkins/security/stapler/TypedFilter.java | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/core/src/main/java/jenkins/security/stapler/TypedFilter.java b/core/src/main/java/jenkins/security/stapler/TypedFilter.java index eabce3b2dfc9..5851c5e47269 100644 --- a/core/src/main/java/jenkins/security/stapler/TypedFilter.java +++ b/core/src/main/java/jenkins/security/stapler/TypedFilter.java @@ -5,8 +5,6 @@ import hudson.ExtensionList; import java.lang.annotation.Annotation; import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import jenkins.util.SystemProperties; @@ -25,8 +23,6 @@ public class TypedFilter implements FieldRef.Filter, FunctionList.Filter { private static final Logger LOGGER = Logger.getLogger(TypedFilter.class.getName()); - private static final Map, Boolean> staplerCache = new HashMap<>(); - private boolean isClassAcceptable(Class clazz) { if (clazz.isArray()) { // special case to allow klass.isArray() dispatcher @@ -46,31 +42,23 @@ private boolean isClassAcceptable(Class clazz) { return false; } } - return SKIP_TYPE_CHECK || isStaplerRelevantCached(clazz); + return SKIP_TYPE_CHECK || isStaplerRelevant.get(clazz); } - private static boolean isStaplerRelevantCached(@NonNull Class clazz) { - if (staplerCache.containsKey(clazz)) { - return staplerCache.get(clazz); + private static final ClassValue isStaplerRelevant = new ClassValue<>() { + @Override + protected Boolean computeValue(Class clazz) { + return isSpecificClassStaplerRelevant(clazz) || isSuperTypesStaplerRelevant(clazz); } - boolean ret = isStaplerRelevant(clazz); - - staplerCache.put(clazz, ret); - return ret; - } - - @Restricted(NoExternalUse.class) - public static boolean isStaplerRelevant(@NonNull Class clazz) { - return isSpecificClassStaplerRelevant(clazz) || isSuperTypesStaplerRelevant(clazz); - } + }; private static boolean isSuperTypesStaplerRelevant(@NonNull Class clazz) { Class superclass = clazz.getSuperclass(); - if (superclass != null && isStaplerRelevantCached(superclass)) { + if (superclass != null && isStaplerRelevant.get(superclass)) { return true; } for (Class interfaceClass : clazz.getInterfaces()) { - if (isStaplerRelevantCached(interfaceClass)) { + if (isStaplerRelevant.get(interfaceClass)) { return true; } } From f8f4f19dc10808ca11eeb6cbfbf02335297654d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 2 Nov 2024 07:25:42 -0600 Subject: [PATCH 1074/1330] Update dependency com.puppycrawl.tools:checkstyle to v10.20.0 (#9926) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f21c24fbc5e6..7839cc10a7e8 100644 --- a/pom.xml +++ b/pom.xml @@ -281,7 +281,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.19.0 + 10.20.0 From 466359cb98e98138206729a55f689992d600b0ec Mon Sep 17 00:00:00 2001 From: Mustafa Ulu Date: Sat, 2 Nov 2024 16:25:51 +0300 Subject: [PATCH 1075/1330] Translate RSS links to Turkish (#9928) Recreated rssBar_tr.properties file which was removed in https://github.com/jenkinsci/jenkins/pull/8827 --- core/src/main/resources/lib/hudson/rssBar_tr.properties | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 core/src/main/resources/lib/hudson/rssBar_tr.properties diff --git a/core/src/main/resources/lib/hudson/rssBar_tr.properties b/core/src/main/resources/lib/hudson/rssBar_tr.properties new file mode 100644 index 000000000000..86aea288f023 --- /dev/null +++ b/core/src/main/resources/lib/hudson/rssBar_tr.properties @@ -0,0 +1,4 @@ +Legend=İkonlar hakkında +All=Tümü +Failures=Başarısız olanlar +LatestBuilds=Son yapılandırmalar From 2c0d8252e8ab1c62d02ffcdd5341a6a6f9395725 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:47:56 +0000 Subject: [PATCH 1076/1330] Update dependency webpack to v5.96.0 (#9934) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 38 ++++++++++++++------------------------ 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 55785de7bdbc..8a39b01e57b7 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "stylelint": "16.10.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", - "webpack": "5.95.0", + "webpack": "5.96.0", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/yarn.lock b/yarn.lock index d3296cb5b08a..6005a9c438b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2097,7 +2097,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.5, @types/estree@npm:^1.0.6": +"@types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -2383,15 +2383,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -2401,12 +2392,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.12.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" +"acorn@npm:^8.12.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 languageName: node linkType: hard @@ -2717,7 +2708,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.21.10, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": +"browserslist@npm:^4.0.0, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": version: 4.24.0 resolution: "browserslist@npm:4.24.0" dependencies: @@ -4376,7 +4367,7 @@ __metadata: stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" - webpack: "npm:5.95.0" + webpack: "npm:5.96.0" webpack-cli: "npm:5.1.4" webpack-remove-empty-scripts: "npm:1.0.4" window-handle: "npm:1.0.1" @@ -7044,17 +7035,16 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.95.0": - version: 5.95.0 - resolution: "webpack@npm:5.95.0" +"webpack@npm:5.96.0": + version: 5.96.0 + resolution: "webpack@npm:5.96.0" dependencies: - "@types/estree": "npm:^1.0.5" + "@types/estree": "npm:^1.0.6" "@webassemblyjs/ast": "npm:^1.12.1" "@webassemblyjs/wasm-edit": "npm:^1.12.1" "@webassemblyjs/wasm-parser": "npm:^1.12.1" - acorn: "npm:^8.7.1" - acorn-import-attributes: "npm:^1.9.5" - browserslist: "npm:^4.21.10" + acorn: "npm:^8.14.0" + browserslist: "npm:^4.24.0" chrome-trace-event: "npm:^1.0.2" enhanced-resolve: "npm:^5.17.1" es-module-lexer: "npm:^1.2.1" @@ -7076,7 +7066,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/b9e6d0f8ebcbf0632494ac0b90fe4acb8f4a9b83f7ace4a67a15545a36fe58599c912ab58e625e1bf58ab3b0916c75fe99da6196d412ee0cab0b5065edd84238 + checksum: 10c0/25ce25b8592c49cdb5dfba22587bbd0ee7144e6e16559aa75207eeb365736ee7e685d4b3ccafc3f3687f4f2e168d0c8766cf5fd0106648d5ef7acdfac30cc62d languageName: node linkType: hard From 854e5a5ceeebc92b68981b081c7f758e006daa92 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:48:06 +0000 Subject: [PATCH 1077/1330] Update dependency mini-css-extract-plugin to v2.9.2 (#9935) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8a39b01e57b7..4f6606f9ed07 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "eslint-formatter-checkstyle": "8.40.0", "globals": "15.11.0", "handlebars-loader": "1.7.3", - "mini-css-extract-plugin": "2.9.1", + "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.47", "postcss-loader": "8.1.1", "postcss-preset-env": "10.0.8", diff --git a/yarn.lock b/yarn.lock index 6005a9c438b5..f87a5e121d4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4353,7 +4353,7 @@ __metadata: hotkeys-js: "npm:3.12.2" jquery: "npm:3.7.1" lodash: "npm:4.17.21" - mini-css-extract-plugin: "npm:2.9.1" + mini-css-extract-plugin: "npm:2.9.2" postcss: "npm:8.4.47" postcss-loader: "npm:8.1.1" postcss-preset-env: "npm:10.0.8" @@ -4783,15 +4783,15 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:2.9.1": - version: 2.9.1 - resolution: "mini-css-extract-plugin@npm:2.9.1" +"mini-css-extract-plugin@npm:2.9.2": + version: 2.9.2 + resolution: "mini-css-extract-plugin@npm:2.9.2" dependencies: schema-utils: "npm:^4.0.0" tapable: "npm:^2.2.1" peerDependencies: webpack: ^5.0.0 - checksum: 10c0/19361902ef028b9875aafa3931d99643c2d95824ba343a501c83ff61d069a430fcfc523ca796765798b564570da2199f5a28cd51b9528ddbcfdc9271c61400d0 + checksum: 10c0/5d3218dbd7db48b572925ddac05162a7415bf81b321f1a0c07016ec643cb5720c8a836ae68d45f5de826097a3013b601706c9c5aacb7f610dc2041b271de2ce0 languageName: node linkType: hard From bf5137659c82bd8657bee998485c526784889208 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:48:14 +0000 Subject: [PATCH 1078/1330] Update dependency sass-loader to v16.0.3 (#9936) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4f6606f9ed07..12b038461af9 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.80.5", - "sass-loader": "16.0.2", + "sass-loader": "16.0.3", "style-loader": "4.0.0", "stylelint": "16.10.0", "stylelint-checkstyle-reporter": "1.0.0", diff --git a/yarn.lock b/yarn.lock index f87a5e121d4a..ce37d61a34e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4360,7 +4360,7 @@ __metadata: postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.80.5" - sass-loader: "npm:16.0.2" + sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" stylelint: "npm:16.10.0" @@ -6320,9 +6320,9 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:16.0.2": - version: 16.0.2 - resolution: "sass-loader@npm:16.0.2" +"sass-loader@npm:16.0.3": + version: 16.0.3 + resolution: "sass-loader@npm:16.0.3" dependencies: neo-async: "npm:^2.6.2" peerDependencies: @@ -6342,7 +6342,7 @@ __metadata: optional: true webpack: optional: true - checksum: 10c0/9c5165b44fc6229d8f36fb2af3ebb9d1e3a837bcc80040d3f3fc5793cd2998407e2ed55853c2b342cca2b5e17fa141160198ad034685a95b17126200c320ae11 + checksum: 10c0/2dc188dd0d5276ed0251eee7f245848ccf9df6ec121227462403f322c17a3dbe100fb60d47968f078e585e4aced452eb7fa1a8e55b415d5de3151fa1bbf2d561 languageName: node linkType: hard From ed57499327ee649251c56a6b887b20f6b8de942a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:02:39 -0800 Subject: [PATCH 1079/1330] Update dependency webpack to v5.96.1 (#9937) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 35 ++++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 12b038461af9..426fb3472fc3 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "stylelint": "16.10.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", - "webpack": "5.96.0", + "webpack": "5.96.1", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/yarn.lock b/yarn.lock index ce37d61a34e6..7a11ea59cbb3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2097,7 +2097,27 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.6": +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -2139,7 +2159,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -4367,7 +4387,7 @@ __metadata: stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" - webpack: "npm:5.96.0" + webpack: "npm:5.96.1" webpack-cli: "npm:5.1.4" webpack-remove-empty-scripts: "npm:1.0.4" window-handle: "npm:1.0.1" @@ -7035,10 +7055,11 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.96.0": - version: 5.96.0 - resolution: "webpack@npm:5.96.0" +"webpack@npm:5.96.1": + version: 5.96.1 + resolution: "webpack@npm:5.96.1" dependencies: + "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" "@webassemblyjs/ast": "npm:^1.12.1" "@webassemblyjs/wasm-edit": "npm:^1.12.1" @@ -7066,7 +7087,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/25ce25b8592c49cdb5dfba22587bbd0ee7144e6e16559aa75207eeb365736ee7e685d4b3ccafc3f3687f4f2e168d0c8766cf5fd0106648d5ef7acdfac30cc62d + checksum: 10c0/ae6052fde9a546f79f14987b65823ba4024c6642a8489339ecfee7a351dff93325842aad453295bbdc6b65fb1690e4ef07529db63aa84ece55c7869e991a0039 languageName: node linkType: hard From 4f8695b120eec1e4f5543757980fe971a0bea144 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 07:26:26 +0000 Subject: [PATCH 1080/1330] Update dependency postcss-preset-env to v10.0.9 (#9938) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 394 +++++++++++++++++++++++++-------------------------- 2 files changed, 198 insertions(+), 198 deletions(-) diff --git a/package.json b/package.json index 426fb3472fc3..1bbde3db1148 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.47", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.0.8", + "postcss-preset-env": "10.0.9", "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.80.5", diff --git a/yarn.lock b/yarn.lock index 7a11ea59cbb3..c5be3ffd93ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1149,13 +1149,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.3" +"@csstools/cascade-layer-name-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/a0f0d6c94122d0a82b0da94ee2619915a9e6e98211de6e1f28afebe34332a29cab1b7905a34b6e5c1df30a125df9f9860ce5fa960c676484417d4ef2c4db4757 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced languageName: node linkType: hard @@ -1166,42 +1166,42 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/css-calc@npm:2.0.3" +"@csstools/css-calc@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/css-calc@npm:2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/a3dacda66bde67edab0f2384e85462dcd46b5bb62bc2a6396f0577a006d9ad59eae270353cbd6fe1a5f7081d0546fe4b1fd9b2df242758da54ec8b7022296570 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/ecb68fc9f8d930b861d5c9c5d4fc6eb43dabc619a4cd6c82dc18034ee746f907dba106fa6cdb909ac727fbfc9b1f7ceac1f356641542faeb2fab99c5fcd52a2e languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/css-color-parser@npm:3.0.4" +"@csstools/css-color-parser@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/css-color-parser@npm:3.0.5" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.3" + "@csstools/css-calc": "npm:^2.0.4" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/8f05264254d3768e45e46ce10e9355fe8ca0f6e4d2f648a22572f46c6d05b2378c37c2e5d970ed3b7bdfa0b152ea2af0c56a0556249bd85973aee9db7b091aa7 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/535e2a38222ad7ee9e1143c3ef09ba07b2e70a4214bbdf7ca13398388b8d2db9ee295fe15d9d306342036e554d97dd235567a8c8ee03fea6825483f1c4dbbf7e languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/css-parser-algorithms@npm:3.0.3" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" peerDependencies: - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/c1e634384affb10c3726a36f090867247005a2a470cb223de88debeab07921b78c0e7875e7847d90949c2b0ba88a290c71565f1839f7739c21a5bf1c870e137d + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-tokenizer@npm:3.0.2" - checksum: 10c0/a74e5829420ed35982fd33be272c2a19cb2380179d357abe750aa848be6d6699d0437008f47a57eb7c6ff64a34b0c8f91a97dd63dbddd08249b7cf7983767e5e +"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 languageName: node linkType: hard @@ -1215,13 +1215,13 @@ __metadata: languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/media-query-list-parser@npm:4.0.1" +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.3 - "@csstools/css-tokenizer": ^3.0.2 - checksum: 10c0/037f57520b6ca7d58ba1d71a477bd99bdbe3a6d8e7b972ed0f436d649e574f5b429e54fc47d0272daa2ac24ffb819bd9d260a90e154c4a265b8ee4d1cfb1d279 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d languageName: node linkType: hard @@ -1237,60 +1237,60 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-color-function@npm:4.0.4" +"@csstools/postcss-color-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-color-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e7735c6d7c84f039c84dc1b180410aa4db7c404d55477c2e7872bc8306a3150bf37883583ec080ebd8b40b765f700cc78892d61dc167578f76e324543d551c04 + checksum: 10c0/b47cc4567445eb12dd3e67a4298470d62a449a4d754fd4dd32eb78b23615ba6bd1fe8dacccc6c95087ce8749a6552bace8de0b9b6eee0c9a7b7202a0bcb8fcac languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.4" +"@csstools/postcss-color-mix-function@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3e01f04853e49c9f69ee0538b817209b630649844039ee5b195cfbae94d41cf6e0d8a50a3d02dbe066f84855eefa1b7047f6750e4744858519978468577e567f + checksum: 10c0/a17d20dcc42d2c1ccd7a5ceb8d1413133ae9461bf973a9aad997a5782bf4cbbd847aef06accc20fa391ac6fbd44a1003e18c30a621d7c77052d4256fe39619aa languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.3" +"@csstools/postcss-content-alt-text@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.4" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0389292a1ba11483f58db1bdd38cc774b0ec18c73f03d1db5f4a1f38edc861bb8b8d750b5c5b3615a98aaf995c0464dcfd6db5421888be0f868548c69455b5b3 + checksum: 10c0/84caccedd8a519df434babd58b14104c5a92cd326057ce509bdbaa2a4bb3130afb1c1456caf30235ba14da52d1628a5411ea4f5d2fb558d603d234f795538017 languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.3" +"@csstools/postcss-exponential-functions@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/690ac6c5ec72e085160401100cc8465a040fd70d59efadf61ef767094edac28bbb2653f53ea7cfa47d8220d0be0b9e23c3e3c2b80d9e93ad07b1db8031163d70 + checksum: 10c0/b174faa8782b7b3f3a9636412f90963740ff033c6506acf662f002fa07f59b370eb23937dbe3f1a05d7df277373f662d6970237d34ae938cf282a0b8dbde9a47 languageName: node linkType: hard @@ -1306,46 +1306,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.4" +"@csstools/postcss-gamut-mapping@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/60c6ff13cc71a0cda7ce184fa8b42924975f2bd05e3bc096059de853ae01d48e36f27d02d7e6286d9e8c4eb4dfd526f7c302ff51be19c5f7949dd6079915a3a9 + checksum: 10c0/a9d7365bed5c323dddad06d53c137ef3508870e541c6275dbdf3a73a50d44437830c22fa62c510d9316441d1e9f3b5552730778d1b73d083422245673bd00dac languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.4": - version: 5.0.4 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.4" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.5": + version: 5.0.5 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3b6aa4404851be09a083f35b596acc7e3f74f525386dcd2887720438638ca1893f79e699e5dad0e3a35487cb9527e08d0dcd29f1331f87800f53c13423321d6e + checksum: 10c0/0ef258478270005ab3a879132dc6dbf2bf80788c79861515c826607953c551df1c2ef7005ba9592c31c6dad332d12ee247928a9fdd1569a51927a18a75dcc865 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-hwb-function@npm:4.0.4" +"@csstools/postcss-hwb-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-hwb-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/2460cc7e6324f0793d12976de175ff33344c3410ff7a04ca8a5ce0560ee3354d1d8034f9f07c0759c2b7e222a4681d02298f6a29c2a326c76b33060830da83b4 + checksum: 10c0/9ce0a66bf288c9ec7f1fc28323d56ec54d38a30cb2ab722d1afbd46ec070cc5e61121bacb503803cb00293fc5ed117269969ac21071d7f4ce94b385c96168445 languageName: node linkType: hard @@ -1383,17 +1383,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.6": - version: 2.0.6 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.6" +"@csstools/postcss-light-dark-function@npm:^2.0.7": + version: 2.0.7 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.7" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f3e93b58a23f0f01c9d032a892070a18e3393e60997e1d2b57c5bddb2cb36f7ee6cbaeaeb3d531b065a545a03e54d86567d34b45eddf85ed48ac360eb4ab66cd + checksum: 10c0/c116bfd2d3f4d0caabdedf8954c2a25908ffb29f9bbe2c57d44a2974277c7e46ee79862eea848385dc040275d343f2330350394a2095ec30f0aa17f72e2f4e39 languageName: node linkType: hard @@ -1435,42 +1435,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-logical-viewport-units@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.2" +"@csstools/postcss-logical-viewport-units@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3" dependencies: - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/31f525e774bc053f545a159eb53bb21465ea2930118e87c40207ad90fa97d3151e6de83efd02f84803fb0e93ed4a4b42a3904b734423410e73ac4c6ce9666ab4 + checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.3": - version: 2.0.3 - resolution: "@csstools/postcss-media-minmax@npm:2.0.3" +"@csstools/postcss-media-minmax@npm:^2.0.4": + version: 2.0.4 + resolution: "@csstools/postcss-media-minmax@npm:2.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/87c1ed6fe6ed487125e383ae7bc356ba0f68885c41cd129b85c323af69255031a8ac7b2e994d4f9b6b65d6a9f6833aeb1301ca230b592547825aedb3e3acab4b + checksum: 10c0/f9fe1e99b83a0724250f9426335da6f13bfbc28be6d10ebfafbf037766fc5245240ec33be7e68c9c5b60c013fbc2fa0be96fbed0d41383c919ee9e6f1b8225ce languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.3": - version: 3.0.3 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.3" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/3bbadd5c79ff2102b4a2e0f107d7f3cbb89d2840b935915531d0a1bfc711d58386e6e234fccb9b4abb37e48f07cdfaa4dd66b5c795dfac9e317fa8b5cfd38e06 + checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739 languageName: node linkType: hard @@ -1497,18 +1497,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-oklab-function@npm:4.0.4" +"@csstools/postcss-oklab-function@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-oklab-function@npm:4.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4fd2a5c22ebaf69053e005d9d009ccb41b6879f0246677159bfb6a28208e90af857446c443d34fe3efdaf50bccdd67b16fcd0c1e7c52961396a48bd84e45311f + checksum: 10c0/a49e2ee60066f7da18316c7c80e5b2ced286ec962052f83c01f1952a1c5fe5b65ba9803a04698260125270a1dd47416f0b287a8f42e591f0d88c9a660ae844ce languageName: node linkType: hard @@ -1523,18 +1523,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.4": - version: 3.0.4 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.4" +"@csstools/postcss-relative-color-syntax@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f2ae6f9053e976e2431d08bdc5aa40ca5242754e23370abdfd7b6087d7ed56037e46911d1be801cf7e760aa8aee94bcab6a46f4f68696cf6befacf707c1534b7 + checksum: 10c0/505da97e7b219095a9fb6fa0ad6c6a1358ce1f5debada00564e635e1aa11d034c588be9ce2f76263172a8d1bd07d90647fde826f4565de22dcfc0a76beb68ff1 languageName: node linkType: hard @@ -1549,16 +1549,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.3" +"@csstools/postcss-stepped-value-functions@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/31af5a650d4b2de97d3a3ef77e7ad0777b3f013f7463e23455ac31ffc946d2f79f365a1fdead52c7c535176232ab57f6f086ecdbeca1bb0b250161b1302e8c8c + checksum: 10c0/c8413a855a5ee9ad5b800263545d24d1bbd815f5ae0693c7dfd10c5f5b47bae5a9d985efdb2c46b03194ed3cae39f3d82c3ccfde502dee0b35d620fa539906be languageName: node linkType: hard @@ -1574,16 +1574,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.3": - version: 4.0.3 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.3" +"@csstools/postcss-trigonometric-functions@npm:^4.0.4": + version: 4.0.4 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.4" dependencies: - "@csstools/css-calc": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/a13dd72c00e45e6db16c03e135f1cd1b2b412e83b7681696b49feef3a4c36ab80f5f806f3589d33405e2d14dd0dfb13572ec12007ebe3d294077b0bd3d645b2b + checksum: 10c0/344c07961d24894f315faebf43c0128167fb2e33964c70d0d39d99a051c045678511d7378959105d672c5286a5360fde28fe390cdebfe823f3949e3cd1d50c4e languageName: node linkType: hard @@ -4376,7 +4376,7 @@ __metadata: mini-css-extract-plugin: "npm:2.9.2" postcss: "npm:8.4.47" postcss-loader: "npm:8.1.1" - postcss-preset-env: "npm:10.0.8" + postcss-preset-env: "npm:10.0.9" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.80.5" @@ -5330,18 +5330,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-color-functional-notation@npm:7.0.4" +"postcss-color-functional-notation@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-color-functional-notation@npm:7.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/1e39c47f27610ebf6a6308cfea2904fbe1f157b13654325ada23153a944666722c6132b53dfc7660632406a636479dda68eeb97a246c2e593ad6eed1e9bf838d + checksum: 10c0/5e1771b8a43abd3cb18142842e8ac100b205f37a6757d6686da49e0c61ecf33d09244d256f3802962105e7ef79fbde2dffbfc1eedf1700198c54d2d5e48f3dc1 languageName: node linkType: hard @@ -5395,46 +5395,46 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.4": - version: 11.0.4 - resolution: "postcss-custom-media@npm:11.0.4" +"postcss-custom-media@npm:^11.0.5": + version: 11.0.5 + resolution: "postcss-custom-media@npm:11.0.5" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" - "@csstools/media-query-list-parser": "npm:^4.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/31e82e5802f6933a15f5fcf64ff41c8107af9c1d5dcba3c4422a6de3fac77bce9e3dc4ed2b79ae7f6ae460549c5da5a013669af05c1ae21549dbb09b66a9492d + checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488 languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.3": - version: 14.0.3 - resolution: "postcss-custom-properties@npm:14.0.3" +"postcss-custom-properties@npm:^14.0.4": + version: 14.0.4 + resolution: "postcss-custom-properties@npm:14.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/878ffd171ab9bbbba711930cf1b5bd48a12779e3b45d69f41366c2f65d84518f9338a92a277c0e390518c9e12272e06892cdc6575783bcdecfa6d26ebde3d043 + checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.3": - version: 8.0.3 - resolution: "postcss-custom-selectors@npm:8.0.3" +"postcss-custom-selectors@npm:^8.0.4": + version: 8.0.4 + resolution: "postcss-custom-selectors@npm:8.0.4" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.3" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/cascade-layer-name-parser": "npm:^2.0.4" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3acdada43e385c23130f1dde41b189acc7739e5bbd14751ae28b2bd97b0d97f30c2a53da4f9558d108a893cc48717f76b28395a9ff38dcbbe3c3a1721ee4a68a + checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863 languageName: node linkType: hard @@ -5552,18 +5552,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.4": - version: 7.0.4 - resolution: "postcss-lab-function@npm:7.0.4" +"postcss-lab-function@npm:^7.0.5": + version: 7.0.5 + resolution: "postcss-lab-function@npm:7.0.5" dependencies: - "@csstools/css-color-parser": "npm:^3.0.4" - "@csstools/css-parser-algorithms": "npm:^3.0.3" - "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/79ce3cc20484aef0e0bbc2d18c8f91d7362226a3db52f06a931ac8e1c58ffbc60876c6439f364093e5f16ef92260a420230cfb2a9e7b95c6c11e6f7d57626260 + checksum: 10c0/b688f6332ac12974452c97c5a40f4d0a604ce16b074124a1106add9cf9c25fbe7717d23423d6e92d937dc6e288e03e885b70e0793b96f41d28d2f7403bce7bf5 languageName: node linkType: hard @@ -5880,39 +5880,39 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:10.0.8": - version: 10.0.8 - resolution: "postcss-preset-env@npm:10.0.8" +"postcss-preset-env@npm:10.0.9": + version: 10.0.9 + resolution: "postcss-preset-env@npm:10.0.9" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" - "@csstools/postcss-color-function": "npm:^4.0.4" - "@csstools/postcss-color-mix-function": "npm:^3.0.4" - "@csstools/postcss-content-alt-text": "npm:^2.0.3" - "@csstools/postcss-exponential-functions": "npm:^2.0.3" + "@csstools/postcss-color-function": "npm:^4.0.5" + "@csstools/postcss-color-mix-function": "npm:^3.0.5" + "@csstools/postcss-content-alt-text": "npm:^2.0.4" + "@csstools/postcss-exponential-functions": "npm:^2.0.4" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.4" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.4" - "@csstools/postcss-hwb-function": "npm:^4.0.4" + "@csstools/postcss-gamut-mapping": "npm:^2.0.5" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.5" + "@csstools/postcss-hwb-function": "npm:^4.0.5" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" - "@csstools/postcss-light-dark-function": "npm:^2.0.6" + "@csstools/postcss-light-dark-function": "npm:^2.0.7" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" - "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" - "@csstools/postcss-media-minmax": "npm:^2.0.3" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.3" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" + "@csstools/postcss-media-minmax": "npm:^2.0.4" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.4" + "@csstools/postcss-oklab-function": "npm:^4.0.5" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.4" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.5" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.3" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.4" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.3" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.4" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" @@ -5922,12 +5922,12 @@ __metadata: cssdb: "npm:^8.1.2" postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.4" + postcss-color-functional-notation: "npm:^7.0.5" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.4" - postcss-custom-properties: "npm:^14.0.3" - postcss-custom-selectors: "npm:^8.0.3" + postcss-custom-media: "npm:^11.0.5" + postcss-custom-properties: "npm:^14.0.4" + postcss-custom-selectors: "npm:^8.0.4" postcss-dir-pseudo-class: "npm:^9.0.1" postcss-double-position-gradients: "npm:^6.0.0" postcss-focus-visible: "npm:^10.0.1" @@ -5935,7 +5935,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.4" + postcss-lab-function: "npm:^7.0.5" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" @@ -5947,7 +5947,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/3f7dc8eb2e7f4e7a5eee0a9456972a5b18bd40109d1aa3328f60cd645d352f3a70c83c507ea58f83b820153b0f5c3f14af3f376573c56599c36d5739c943b6f1 + checksum: 10c0/985ef4cfd2dd6a94d8a802db8e392c4b4c47ae0de8fd5224c60d8172cac3d7ce9011e63ab80470cddc77f21f09b2be850f97ac2478f651bc0a8956b538b079fe languageName: node linkType: hard From fcc36820fc3e6d4c9c17aa0c0ef060d79ee27ce5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 07:26:47 +0000 Subject: [PATCH 1081/1330] Update eslint monorepo to v9.14.0 (#9939) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- yarn.lock | 99 ++++++++++++++++++++++++++++------------------------ 2 files changed, 55 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index 1bbde3db1148..ee2d84446b58 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ "@babel/cli": "7.25.9", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", - "@eslint/js": "9.13.0", + "@eslint/js": "9.14.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.0", - "eslint": "9.13.0", + "eslint": "9.14.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", "globals": "15.11.0", diff --git a/yarn.lock b/yarn.lock index c5be3ffd93ed..e1421c2e3394 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1657,10 +1657,10 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.11.0": - version: 4.11.0 - resolution: "@eslint-community/regexpp@npm:4.11.0" - checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 +"@eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 languageName: node linkType: hard @@ -1699,10 +1699,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.13.0": - version: 9.13.0 - resolution: "@eslint/js@npm:9.13.0" - checksum: 10c0/672257bffe17777b8a98bd80438702904cc7a0b98b9c2e426a8a10929198b3553edf8a3fc20feed4133c02e7c8f7331a0ef1b23e5dab8e4469f7f1791beff1e0 +"@eslint/js@npm:9.14.0": + version: 9.14.0 + resolution: "@eslint/js@npm:9.14.0" + checksum: 10c0/a423dd435e10aa3b461599aa02f6cbadd4b5128cb122467ee4e2c798e7ca4f9bb1fce4dcea003b29b983090238cf120899c1af657cf86300b399e4f996b83ddc languageName: node linkType: hard @@ -1722,20 +1722,20 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.0": - version: 0.19.0 - resolution: "@humanfs/core@npm:0.19.0" - checksum: 10c0/f87952d5caba6ae427a620eff783c5d0b6cef0cfc256dec359cdaa636c5f161edb8d8dad576742b3de7f0b2f222b34aad6870248e4b7d2177f013426cbcda232 +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 languageName: node linkType: hard -"@humanfs/node@npm:^0.16.5": - version: 0.16.5 - resolution: "@humanfs/node@npm:0.16.5" +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanfs/core": "npm:^0.19.0" + "@humanfs/core": "npm:^0.19.1" "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10c0/41c365ab09e7c9eaeed373d09243195aef616d6745608a36fc3e44506148c28843872f85e69e2bf5f1e992e194286155a1c1cecfcece6a2f43875e37cd243935 + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 languageName: node linkType: hard @@ -1746,13 +1746,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0, @humanwhocodes/retry@npm:^0.3.1": +"@humanwhocodes/retry@npm:^0.3.0": version: 0.3.1 resolution: "@humanwhocodes/retry@npm:0.3.1" checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b languageName: node linkType: hard +"@humanwhocodes/retry@npm:^0.4.0": + version: 0.4.0 + resolution: "@humanwhocodes/retry@npm:0.4.0" + checksum: 10c0/28dcf1ed70b28ae8bc07b268c457a02f6b53fe4591b73e31f6735e7673dfd9e662f24a69e065aada1a64311bf5692d93d4ef35aba849314e8a87a870ba3b47aa + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -2412,7 +2419,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.12.0, acorn@npm:^8.14.0, acorn@npm:^8.8.2": +"acorn@npm:^8.14.0, acorn@npm:^8.8.2": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -3469,13 +3476,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.1.0": - version: 8.1.0 - resolution: "eslint-scope@npm:8.1.0" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/ae1df7accae9ea90465c2ded70f7064d6d1f2962ef4cc87398855c4f0b3a5ab01063e0258d954bb94b184f6759febe04c3118195cab5c51978a7229948ba2875 + checksum: 10c0/8d2d58e2136d548ac7e0099b1a90d9fab56f990d86eb518de1247a7066d38c908be2f3df477a79cf60d70b30ba18735d6c6e70e9914dca2ee515a729975d70d6 languageName: node linkType: hard @@ -3486,27 +3493,27 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.1.0": - version: 4.1.0 - resolution: "eslint-visitor-keys@npm:4.1.0" - checksum: 10c0/5483ef114c93a136aa234140d7aa3bd259488dae866d35cb0d0b52e6a158f614760a57256ac8d549acc590a87042cb40f6951815caa821e55dc4fd6ef4c722eb +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 languageName: node linkType: hard -"eslint@npm:9.13.0": - version: 9.13.0 - resolution: "eslint@npm:9.13.0" +"eslint@npm:9.14.0": + version: 9.14.0 + resolution: "eslint@npm:9.14.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint-community/regexpp": "npm:^4.12.1" "@eslint/config-array": "npm:^0.18.0" "@eslint/core": "npm:^0.7.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.13.0" + "@eslint/js": "npm:9.14.0" "@eslint/plugin-kit": "npm:^0.2.0" - "@humanfs/node": "npm:^0.16.5" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.3.1" + "@humanwhocodes/retry": "npm:^0.4.0" "@types/estree": "npm:^1.0.6" "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" @@ -3514,9 +3521,9 @@ __metadata: cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.1.0" - eslint-visitor-keys: "npm:^4.1.0" - espree: "npm:^10.2.0" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" @@ -3539,18 +3546,18 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/d3577444152182a9d8ea8c6a6acb073d3a2773ad73a6b646f432746583ec4bfcd6a44fcc2e37d05d276984e583c46c2d289b3b981ca8f8b4052756a152341d19 + checksum: 10c0/e1cbf571b75519ad0b24c27e66a6575e57cab2671ef5296e7b345d9ac3adc1a549118dcc74a05b651a7a13a5e61ebb680be6a3e04a80e1f22eba1931921b5187 languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.2.0": - version: 10.2.0 - resolution: "espree@npm:10.2.0" +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: "npm:^8.12.0" + acorn: "npm:^8.14.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.1.0" - checksum: 10c0/2b6bfb683e7e5ab2e9513949879140898d80a2d9867ea1db6ff5b0256df81722633b60a7523a7c614f05a39aeea159dd09ad2a0e90c0e218732fc016f9086215 + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 languageName: node linkType: hard @@ -4359,12 +4366,12 @@ __metadata: "@babel/cli": "npm:7.25.9" "@babel/core": "npm:7.26.0" "@babel/preset-env": "npm:7.26.0" - "@eslint/js": "npm:9.13.0" + "@eslint/js": "npm:9.14.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:7.1.2" css-minimizer-webpack-plugin: "npm:7.0.0" - eslint: "npm:9.13.0" + eslint: "npm:9.14.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" globals: "npm:15.11.0" From f7479f4f86d5c13479af71de39d4e7f157caa34e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 07:27:08 +0000 Subject: [PATCH 1082/1330] Update dependency sass to v1.80.6 (#9943) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ee2d84446b58..45ba15920713 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.0.9", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.5", + "sass": "1.80.6", "sass-loader": "16.0.3", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index e1421c2e3394..335705829887 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4386,7 +4386,7 @@ __metadata: postcss-preset-env: "npm:10.0.9" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.5" + sass: "npm:1.80.6" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6373,17 +6373,20 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.5": - version: 1.80.5 - resolution: "sass@npm:1.80.5" +"sass@npm:1.80.6": + version: 1.80.6 + resolution: "sass@npm:1.80.6" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true bin: sass: sass.js - checksum: 10c0/d592e57c037315f4c5976af3d37ce4c7758b1b4e89d064455d6992829ea59888c71b9dbc86f7fc8dca87ac98ebc9cece10e5c8fc5509bf192db81712a34fd579 + checksum: 10c0/04ce40d4dcf06cf2a94a66c1cc4fd4a9eb4033fd039291acd0be9d1d4123860da568c5cbef9de8493ffbedd8acae1cd0b8346f5da21c6f7cf0ffd3477730beca languageName: node linkType: hard From 37033f66584179c4953395e73a7e5c50b7cb56d7 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:51:04 +0000 Subject: [PATCH 1083/1330] [maven-release-plugin] prepare release jenkins-2.484 --- 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/jetty12-ee9/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 fa38665c2a7b..df843739c7fc 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..b94263144626 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..02a50e8d17c7 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..abe9c7102d36 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 jenkins-coverage diff --git a/pom.xml b/pom.xml index 7839cc10a7e8..5f6a6733765d 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 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.484 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.484 -SNAPSHOT - 2024-10-29T13:43:58Z + 2024-11-05T10:33:42Z github diff --git a/test/pom.xml b/test/pom.xml index 3933966bdadb..fc7162657add 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 933dcab0193a..0e4d82a29852 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..6016d60ddcd4 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.484 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..0b54f0536d43 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.484 ../.. From 3b2287d4935986afeff4a29d38e1b6da92a3755b Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 5 Nov 2024 13:51:22 +0000 Subject: [PATCH 1084/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index df843739c7fc..fa38665c2a7b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index b94263144626..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 02a50e8d17c7..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index abe9c7102d36..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 5f6a6733765d..fe41e7201985 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${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.484 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.484 + 2.485 -SNAPSHOT - 2024-11-05T10:33:42Z + 2024-11-05T13:51:04Z github diff --git a/test/pom.xml b/test/pom.xml index fc7162657add..3933966bdadb 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 0e4d82a29852..933dcab0193a 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 6016d60ddcd4..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 0b54f0536d43..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.484 + ${revision}${changelist} ../.. From d2cec1bac7d5c03ec66ded2ca8c6a12f2529af6a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:50:08 -0800 Subject: [PATCH 1085/1330] Update dependency org.jenkins-ci.main:remoting to v3283 (#9944) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe41e7201985..05bdaa5a09f9 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3273.v4cfe589b_fd83 + 3283.v92c105e0f819 Max Medium From 62c71ff6ee0cc9132c2cfc67e04c622dd008d1c1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:50:22 -0800 Subject: [PATCH 1086/1330] Update stapler.version to v1922 (major) (#9942) Update stapler.version to v1922 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index fa38665c2a7b..0109f3c90aa2 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 2.0.0-M2 - 1903.v994a_db_314d58 + 1922.v3f3302a_7f16f 2.4.21 From 532a0c2289fb6a4d3ce7c0f359b10addc5fe41e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:50:36 -0800 Subject: [PATCH 1087/1330] Update jenkins/ath Docker tag to v6072 (#9941) 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 c3a56d5fe4f8..642d6f3a6c71 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=6059.veb_df63f37069 +export ATH_VERSION=6072.vc7e4e6a_970b_c if [[ $# -eq 0 ]]; then export JDK=17 From b0e47a7a9bf5b448bb906e7087cac841b2b5b144 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:50:56 -0800 Subject: [PATCH 1088/1330] Update dependency org.jenkins-ci.plugins.workflow:workflow-support to v932 (#9940) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 3933966bdadb..52f2d4492f62 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -134,7 +134,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-support - 930.vf51d22b_ce488 + 932.vb_555de1b_a_b_94 diff --git a/war/pom.xml b/war/pom.xml index 933dcab0193a..2bfab98574ad 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -350,7 +350,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-support - 930.vf51d22b_ce488 + 932.vb_555de1b_a_b_94 hpi From 01ef9f3a7072e56b5e796b340406e28d73cef0cb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:33:33 -0800 Subject: [PATCH 1089/1330] Update dependency org.jenkins-ci:jenkins to v1.126 (#9949) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 05bdaa5a09f9..6e6122e14157 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci jenkins - 1.125 + 1.126 From f26469f5df26358818e93449b67646a73d35ede6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:38:17 -0800 Subject: [PATCH 1090/1330] Update dependency org.apache.maven.skins:maven-fluido-skin to v2.0.0 (#9946) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- core/src/site/site.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/site/site.xml b/core/src/site/site.xml index 01aeebc17802..52c9edf3a7f3 100644 --- a/core/src/site/site.xml +++ b/core/src/site/site.xml @@ -41,7 +41,7 @@ org.apache.maven.skins maven-fluido-skin - 2.0.0-M11 + 2.0.0 From 5e15a519f9a08e718aa7b7106214fd01a953d34e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:48:15 -0800 Subject: [PATCH 1091/1330] Update dependency globals to v15.12.0 (#9950) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 45ba15920713..c806a3138222 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "9.14.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", - "globals": "15.11.0", + "globals": "15.12.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.47", diff --git a/yarn.lock b/yarn.lock index 335705829887..7dfcd772fd16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3955,10 +3955,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:15.11.0": - version: 15.11.0 - resolution: "globals@npm:15.11.0" - checksum: 10c0/861e39bb6bd9bd1b9f355c25c962e5eb4b3f0e1567cf60fa6c06e8c502b0ec8706b1cce055d69d84d0b7b8e028bec5418cf629a54e7047e116538d1c1c1a375c +"globals@npm:15.12.0": + version: 15.12.0 + resolution: "globals@npm:15.12.0" + checksum: 10c0/f34e0a1845b694f45188331742af9f488b07ba7440a06e9d2039fce0386fbbfc24afdbb9846ebdccd4092d03644e43081c49eb27b30f4b88e43af156e1c1dc34 languageName: node linkType: hard @@ -4374,7 +4374,7 @@ __metadata: eslint: "npm:9.14.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" - globals: "npm:15.11.0" + globals: "npm:15.12.0" handlebars: "npm:4.7.8" handlebars-loader: "npm:1.7.3" hotkeys-js: "npm:3.12.2" From b4244f035fd8c9a22663c3283c6238e9eede3379 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:48:32 -0800 Subject: [PATCH 1092/1330] Update dependency com.puppycrawl.tools:checkstyle to v10.20.1 (#9952) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6e6122e14157..6780dd0bf231 100644 --- a/pom.xml +++ b/pom.xml @@ -281,7 +281,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.20.0 + 10.20.1 From 0bc21b94252c957aca3e835ff22528b43abe037f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:31:49 -0800 Subject: [PATCH 1093/1330] Update dependency com.thoughtworks.xstream:xstream to v1.4.21 [SECURITY] (#9954) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 0109f3c90aa2..b7e685a4658b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -109,7 +109,7 @@ THE SOFTWARE. com.thoughtworks.xstream xstream - 1.4.20 + 1.4.21 commons-beanutils From ac63b7f156810011c0e500071cd2983d57cdb6b8 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Fri, 8 Nov 2024 05:49:00 -0800 Subject: [PATCH 1094/1330] [JENKINS-74814] `java.lang.UnsupportedOperationException`: This stack walker does not have `RETAIN_CLASS_REFERENCE` access (#9945) --- core/src/main/java/jenkins/util/SetContextClassLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/jenkins/util/SetContextClassLoader.java b/core/src/main/java/jenkins/util/SetContextClassLoader.java index c486fa4607e1..9e0a4c7dec30 100644 --- a/core/src/main/java/jenkins/util/SetContextClassLoader.java +++ b/core/src/main/java/jenkins/util/SetContextClassLoader.java @@ -62,7 +62,7 @@ public final class SetContextClassLoader implements AutoCloseable { * @since 2.362 */ public SetContextClassLoader() { - this(StackWalker.getInstance().getCallerClass()); + this(StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE).getCallerClass()); } /** From 8298257227d078bc247292e4de9e7112a15d9b0c Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Fri, 8 Nov 2024 05:49:26 -0800 Subject: [PATCH 1095/1330] [JENKINS-74795] Job created via REST API attaches to default view (#9947) Co-authored-by: Mark Waite --- .../hudson/model/ModifiableItemGroup.java | 3 +- .../test/java/hudson/jobs/CreateItemTest.java | 53 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/model/ModifiableItemGroup.java b/core/src/main/java/hudson/model/ModifiableItemGroup.java index 35e41305afb5..d0bcda31187c 100644 --- a/core/src/main/java/hudson/model/ModifiableItemGroup.java +++ b/core/src/main/java/hudson/model/ModifiableItemGroup.java @@ -33,6 +33,7 @@ import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.StaplerResponse2; +import org.kohsuke.stapler.interceptor.RequirePOST; /** * {@link ItemGroup} that is a general purpose container, which allows users and the rest of the program @@ -50,7 +51,7 @@ public interface ModifiableItemGroup extends ItemGroup { * The request format follows that of {@code <n:form xmlns:n="/lib/form">}. * */ - @StaplerNotDispatchable + @RequirePOST default T doCreateItem(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException { if (ReflectionUtils.isOverridden( ModifiableItemGroup.class, diff --git a/test/src/test/java/hudson/jobs/CreateItemTest.java b/test/src/test/java/hudson/jobs/CreateItemTest.java index df8c577e30dc..284200abdef8 100644 --- a/test/src/test/java/hudson/jobs/CreateItemTest.java +++ b/test/src/test/java/hudson/jobs/CreateItemTest.java @@ -25,19 +25,25 @@ package hudson.jobs; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import hudson.model.Failure; import hudson.model.FreeStyleProject; import hudson.model.Item; import hudson.model.ItemGroup; +import hudson.model.ListView; +import hudson.model.User; import hudson.model.listeners.ItemListener; import java.net.HttpURLConnection; import java.net.URI; import java.net.URL; import java.text.MessageFormat; +import jenkins.model.Jenkins; import org.htmlunit.HttpMethod; import org.htmlunit.Page; import org.htmlunit.WebRequest; @@ -46,6 +52,7 @@ import org.junit.Test; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.MockAuthorizationStrategy; import org.jvnet.hudson.test.MockFolder; import org.jvnet.hudson.test.TestExtension; @@ -142,4 +149,50 @@ public void onCheckCopy(Item src, ItemGroup parent) throws Failure { } } + @Issue("JENKINS-74795") + @Test + public void testCreateItemDoesNotPopulateDefaultView() throws Exception { + // Create a view that only displays jobs that start with 'a-' + FreeStyleProject aJob = rule.createFreeStyleProject("a-freestyle-job"); + ListView aView = new ListView("a-view"); + aView.setIncludeRegex("a-.*"); + rule.jenkins.addView(aView); + assertThat(aView.getItems(), containsInAnyOrder(aJob)); + assertFalse(aView.isDefault()); // Not yet the default view + + // Create a view that only displays jobs that start with 'b-' + FreeStyleProject bJob = rule.createFreeStyleProject("b-freestyle-job"); + ListView bView = new ListView("b-view"); + bView.setIncludeRegex("b-.*"); + rule.jenkins.addView(bView); + assertThat(bView.getItems(), containsInAnyOrder(bJob)); + assertFalse(bView.isDefault()); // Not the default view + + // Make the a-view the default + rule.jenkins.setPrimaryView(aView); + assertTrue(aView.isDefault()); // Now a-view is the default view + + // Use createItem API to create a new job + User user = User.getById("user", true); + rule.jenkins.setSecurityRealm(rule.createDummySecurityRealm()); + rule.jenkins.setAuthorizationStrategy(new MockAuthorizationStrategy() + .grant(Jenkins.READ, Item.CREATE) + .everywhere() + .to(user.getId())); + String b2JobName = "b-freestyle-job-2"; + try (JenkinsRule.WebClient wc = rule.createWebClient()) { + wc.login(user.getId()); + WebRequest request = new WebRequest(wc.createCrumbedUrl("createItem?name=" + b2JobName), HttpMethod.POST); + request.setAdditionalHeader("Content-Type", "application/xml"); + request.setRequestBody(""); + wc.getPage(request); + } + FreeStyleProject b2Job = rule.jenkins.getItemByFullName(b2JobName, FreeStyleProject.class); + assertThat(bView.getItems(), containsInAnyOrder(bJob, b2Job)); + assertFalse(bView.isDefault()); + + // Confirm new job is not visible in default view + assertTrue(aView.isDefault()); // a-view is still the default view + assertThat(aView.getItems(), containsInAnyOrder(aJob)); + } } From 0405a4437887065d35837717d69205ca564ee4c2 Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Sat, 9 Nov 2024 14:45:35 -0700 Subject: [PATCH 1096/1330] Update operating system end of life test data (#9931) --- .../end-of-life-data.json | 4 + ...ratingSystemEndOfLifeAdminMonitorTest.java | 120 +++++++++--------- .../jenkins/monitor/os-release-alma-8 | 11 +- .../jenkins/monitor/os-release-alma-9 | 11 +- .../jenkins/monitor/os-release-alpine-3.17 | 2 +- .../jenkins/monitor/os-release-alpine-3.18 | 2 +- .../jenkins/monitor/os-release-alpine-3.19 | 2 +- .../jenkins/monitor/os-release-alpine-3.20 | 6 + .../monitor/os-release-amazon-linux-2023 | 8 +- .../jenkins/monitor/os-release-eurolinux-8 | 14 ++ .../jenkins/monitor/os-release-eurolinux-9 | 15 +++ .../jenkins/monitor/os-release-fedora-39 | 2 +- .../jenkins/monitor/os-release-fedora-40 | 22 ++++ .../jenkins/monitor/os-release-fedora-41 | 23 ++++ .../jenkins/monitor/os-release-oracle-8 | 14 +- .../jenkins/monitor/os-release-oracle-9 | 18 +++ .../jenkins/monitor/os-release-redhat-8 | 12 +- .../jenkins/monitor/os-release-rocky-8 | 11 +- .../jenkins/monitor/os-release-rocky-9 | 17 +++ .../jenkins/monitor/os-release-ubi-8 | 17 +++ .../jenkins/monitor/os-release-ubi-9 | 18 +++ .../jenkins/monitor/os-release-ubuntu-22.04 | 4 +- .../jenkins/monitor/os-release-ubuntu-24.04 | 13 ++ 23 files changed, 273 insertions(+), 93 deletions(-) create mode 100644 core/src/test/resources/jenkins/monitor/os-release-alpine-3.20 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-eurolinux-8 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-eurolinux-9 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-fedora-40 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-fedora-41 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-oracle-9 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-rocky-9 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-ubi-8 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-ubi-9 create mode 100644 core/src/test/resources/jenkins/monitor/os-release-ubuntu-24.04 diff --git a/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json b/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json index 7dfa00bc6772..4eb62c4b49d9 100644 --- a/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json +++ b/core/src/main/resources/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitor/end-of-life-data.json @@ -83,6 +83,10 @@ "pattern": "Fedora.* 40.*", "endOfLife": "2025-05-13" }, + { + "pattern": "Fedora.* 41.*", + "endOfLife": "2025-11-19" + }, { "pattern": "Oracle Linux.* 7.*", "endOfLife": "2023-11-16" diff --git a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java index 84bc3790241a..38a4531613d6 100644 --- a/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java +++ b/core/src/test/java/jenkins/monitor/OperatingSystemEndOfLifeAdminMonitorTest.java @@ -122,36 +122,7 @@ private String docsUrl(String component) { } private static Stream testReadDocumentationUrls() { - return Stream.of( - Arguments.of("os-release-alma-8", "AlmaLinux.* 8.*", "AlmaLinux-8.7-Stone-Smilodon"), - Arguments.of("os-release-alma-9", "AlmaLinux.* 9.*", "AlmaLinux-9.3-Shamrock-Pampas-Cat"), - Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine-Linux-v3.14"), - Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine-Linux-v3.15"), - Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine-Linux-v3.16"), - Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine-Linux-v3.17"), - Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine-Linux-v3.18"), - Arguments.of("os-release-alpine-3.19", "Alpine Linux v3.19", "Alpine-Linux-v3.19"), - Arguments.of("os-release-amazon-linux-2", "Amazon Linux 2", "Amazon-Linux-2"), - Arguments.of("os-release-amazon-linux-2023", "Amazon Linux 2023", "Amazon-Linux-2023"), - Arguments.of("os-release-centos-7", "CentOS Linux.* 7.*", "CentOS-Linux-7-Core"), - Arguments.of("os-release-centos-8", "CentOS Linux.* 8.*", "CentOS-Linux-8"), - Arguments.of("os-release-debian-10", "Debian.* 10.*", "Debian-GNU-Linux-10-buster"), - Arguments.of("os-release-debian-11", "Debian.* 11.*", "Debian-GNU-Linux-11-bullseye"), - Arguments.of("os-release-debian-12", "Debian.* 12.*", "Debian-GNU-Linux-12-bookworm"), - Arguments.of("os-release-fedora-36", "Fedora.* 36.*", "Fedora-Linux-36-Container-Image"), - Arguments.of("os-release-fedora-37", "Fedora.* 37.*", "Fedora-Linux-37-Container-Image"), - Arguments.of("os-release-fedora-38", "Fedora.* 38.*", "Fedora-Linux-38-Container-Image"), - Arguments.of("os-release-fedora-39", "Fedora.* 39.*", "Fedora-Linux-39-Container-Image"), - Arguments.of("os-release-oracle-7", "Oracle Linux.* 7.*", "Oracle-Linux-Server-7.9"), - Arguments.of("os-release-oracle-8", "Oracle Linux.* 8.*", "Oracle-Linux-Server-8.7"), - Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7.*", "Red-Hat-Enterprise-Linux-Server-7.9-Maipo"), - Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8.*", "Red-Hat-Enterprise-Linux-8.8-Ootpa"), - Arguments.of("os-release-rocky-8", "Rocky Linux.* 8.*", "Rocky-Linux-8.7-Green-Obsidian"), - Arguments.of("os-release-scientific-7", "Scientific Linux.* 7.*", "Scientific-Linux-7.9-Nitrogen"), - Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18.*", "Ubuntu-18.04.6-LTS"), - Arguments.of("os-release-ubuntu-20.04", "Ubuntu.* 20.*", "Ubuntu-20.04.6-LTS"), - Arguments.of("os-release-ubuntu-22.04", "Ubuntu.* 22.*", "Ubuntu-22.04.3-LTS") - ); + return getArguments(true); } @ParameterizedTest @@ -182,33 +153,7 @@ public void testReadOperatingSystemListNoPattern() { } private static Stream testReadOperatingSystemNames() { - return Stream.of( - Arguments.of("os-release-alma-8", "AlmaLinux.* 8.*", "AlmaLinux 8.7 (Stone Smilodon)"), - Arguments.of("os-release-alma-9", "AlmaLinux.* 9.*", "AlmaLinux 9.3 (Shamrock Pampas Cat)"), - Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine Linux v3.14"), - Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine Linux v3.15"), - Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine Linux v3.16"), - Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine Linux v3.17"), - Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine Linux v3.18"), - Arguments.of("os-release-alpine-3.19", "Alpine Linux v3.19", "Alpine Linux v3.19"), - Arguments.of("os-release-amazon-linux-2", "Amazon Linux 2", "Amazon Linux 2"), - Arguments.of("os-release-amazon-linux-2023", "Amazon Linux 2023", "Amazon Linux 2023"), - Arguments.of("os-release-centos-7", "CentOS Linux.* 7.*", "CentOS Linux 7 (Core)"), - Arguments.of("os-release-debian-10", "Debian.* 10.*", "Debian GNU/Linux 10 (buster)"), - Arguments.of("os-release-debian-11", "Debian.* 11.*", "Debian GNU/Linux 11 (bullseye)"), - Arguments.of("os-release-debian-12", "Debian.* 12.*", "Debian GNU/Linux 12 (bookworm)"), - Arguments.of("os-release-fedora-36", "Fedora.* 36.*", "Fedora Linux 36 (Container Image)"), - Arguments.of("os-release-fedora-37", "Fedora.* 37.*", "Fedora Linux 37 (Container Image)"), - Arguments.of("os-release-oracle-7", "Oracle Linux.* 7.*", "Oracle Linux Server 7.9"), - Arguments.of("os-release-oracle-8", "Oracle Linux.* 8.*", "Oracle Linux Server 8.7"), - Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7.*", "Red Hat Enterprise Linux Server 7.9 (Maipo)"), - Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8.*", "Red Hat Enterprise Linux 8.8 (Ootpa)"), - Arguments.of("os-release-rocky-8", "Rocky Linux.* 8.*", "Rocky Linux 8.7 (Green Obsidian)"), - Arguments.of("os-release-scientific-7", "Scientific Linux.* 7.*", "Scientific Linux 7.9 (Nitrogen)"), - Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18.*", "Ubuntu 18.04.6 LTS"), - Arguments.of("os-release-ubuntu-20.04", "Ubuntu.* 20.*", "Ubuntu 20.04.6 LTS"), - Arguments.of("os-release-ubuntu-22.04", "Ubuntu.* 22.*", "Ubuntu 22.04.3 LTS") - ); + return getArguments(false); } @ParameterizedTest @@ -239,4 +184,65 @@ public void testReadOperatingSystemListOnWarningDate() throws Exception { public void testReadOperatingSystemNameMissingFile() { assertThat(monitor.readOperatingSystemName(new File("/this/file/does/not/exist"), ".*"), is("")); } + + private static String s(String fullString, boolean simplify) { + if (!simplify) { + return fullString; + } + return fullString.replace(" ", "-").replace("/", "-").replace("(", "").replace(")", ""); + } + + /** + * Returns resource file nanme, pattern match for operating system + * name, and expected value for each of the resource files used by + * the test. + * + * @param simplifyExpectedValue if true, then the expected value + * is simplified by replacing ' ' with '-', by replacing '/' with + * '-', and by removing '(' and ')'. + * @return arguments for ParameterizedTest, resource file name, + * pattern match for operating system name, and expected value + */ + private static Stream getArguments(boolean simplify) { + return Stream.of( + Arguments.of("os-release-alma-8", "AlmaLinux.* 8.*", s("AlmaLinux 8.10 (Cerulean Leopard)", simplify)), + Arguments.of("os-release-alma-9", "AlmaLinux.* 9.*", s("AlmaLinux 9.4 (Seafoam Ocelot)", simplify)), + Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", s("Alpine Linux v3.14", simplify)), + Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", s("Alpine Linux v3.15", simplify)), + Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", s("Alpine Linux v3.16", simplify)), + Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", s("Alpine Linux v3.17", simplify)), + Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", s("Alpine Linux v3.18", simplify)), + Arguments.of("os-release-alpine-3.19", "Alpine Linux v3.19", s("Alpine Linux v3.19", simplify)), + Arguments.of("os-release-alpine-3.20", "Alpine Linux v3.20", s("Alpine Linux v3.20", simplify)), + Arguments.of("os-release-amazon-linux-2", "Amazon Linux 2", s("Amazon Linux 2", simplify)), + Arguments.of("os-release-amazon-linux-2023", "Amazon Linux 2023.*", s("Amazon Linux 2023.5.20241001", simplify)), + Arguments.of("os-release-centos-7", "CentOS Linux.* 7.*", s("CentOS Linux 7 (Core)", simplify)), + Arguments.of("os-release-debian-10", "Debian.* 10.*", s("Debian GNU/Linux 10 (buster)", simplify)), + Arguments.of("os-release-debian-11", "Debian.* 11.*", s("Debian GNU/Linux 11 (bullseye)", simplify)), + Arguments.of("os-release-debian-12", "Debian.* 12.*", s("Debian GNU/Linux 12 (bookworm)", simplify)), + Arguments.of("os-release-eurolinux-8", "EuroLinux.* 8.*", s("EuroLinux 8.10 (Bucharest)", simplify)), + Arguments.of("os-release-eurolinux-9", "EuroLinux.* 9.*", s("EuroLinux 9.4 (San Marino)", simplify)), + Arguments.of("os-release-fedora-36", "Fedora.* 36.*", s("Fedora Linux 36 (Container Image)", simplify)), + Arguments.of("os-release-fedora-37", "Fedora.* 37.*", s("Fedora Linux 37 (Container Image)", simplify)), + Arguments.of("os-release-fedora-38", "Fedora.* 38.*", s("Fedora Linux 38 (Container Image)", simplify)), + Arguments.of("os-release-fedora-39", "Fedora.* 39.*", s("Fedora Linux 39 (Container Image)", simplify)), + Arguments.of("os-release-fedora-39", "Fedora.* 39.*", s("Fedora Linux 39 (Container Image)", simplify)), + Arguments.of("os-release-fedora-40", "Fedora.* 40.*", s("Fedora Linux 40 (Container Image)", simplify)), + Arguments.of("os-release-fedora-41", "Fedora.* 41.*", s("Fedora Linux 41 (Container Image)", simplify)), + Arguments.of("os-release-oracle-7", "Oracle Linux.* 7.*", s("Oracle Linux Server 7.9", simplify)), + Arguments.of("os-release-oracle-8", "Oracle Linux.* 8.*", s("Oracle Linux Server 8.10", simplify)), + Arguments.of("os-release-oracle-9", "Oracle Linux.* 9.*", s("Oracle Linux Server 9.4", simplify)), + Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7.*", s("Red Hat Enterprise Linux Server 7.9 (Maipo)", simplify)), + Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8.*", s("Red Hat Enterprise Linux 8.10 (Ootpa)", simplify)), + Arguments.of("os-release-rocky-8", "Rocky Linux.* 8.*", s("Rocky Linux 8.10 (Green Obsidian)", simplify)), + Arguments.of("os-release-rocky-9", "Rocky Linux.* 9.*", s("Rocky Linux 9.4 (Blue Onyx)", simplify)), + Arguments.of("os-release-scientific-7", "Scientific Linux.* 7.*", s("Scientific Linux 7.9 (Nitrogen)", simplify)), + Arguments.of("os-release-ubi-8", "Red Hat Enterprise Linux.* 8.*", s("Red Hat Enterprise Linux 8.10 (Ootpa)", simplify)), + Arguments.of("os-release-ubi-9", "Red Hat Enterprise Linux.* 9.*", s("Red Hat Enterprise Linux 9.4 (Plow)", simplify)), + Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18.*", s("Ubuntu 18.04.6 LTS", simplify)), + Arguments.of("os-release-ubuntu-20.04", "Ubuntu.* 20.*", s("Ubuntu 20.04.6 LTS", simplify)), + Arguments.of("os-release-ubuntu-22.04", "Ubuntu.* 22.*", s("Ubuntu 22.04.4 LTS", simplify)), + Arguments.of("os-release-ubuntu-24.04", "Ubuntu.* 24.*", s("Ubuntu 24.04.1 LTS", simplify)) + ); + } } diff --git a/core/src/test/resources/jenkins/monitor/os-release-alma-8 b/core/src/test/resources/jenkins/monitor/os-release-alma-8 index d483909db5b5..6b594068ed3d 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-alma-8 +++ b/core/src/test/resources/jenkins/monitor/os-release-alma-8 @@ -1,10 +1,10 @@ NAME="AlmaLinux" -VERSION="8.7 (Stone Smilodon)" +VERSION="8.10 (Cerulean Leopard)" ID="almalinux" ID_LIKE="rhel centos fedora" -VERSION_ID="8.7" +VERSION_ID="8.10" PLATFORM_ID="platform:el8" -PRETTY_NAME="AlmaLinux 8.7 (Stone Smilodon)" +PRETTY_NAME="AlmaLinux 8.10 (Cerulean Leopard)" ANSI_COLOR="0;34" LOGO="fedora-logo-icon" CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos" @@ -13,6 +13,7 @@ DOCUMENTATION_URL="https://wiki.almalinux.org/" BUG_REPORT_URL="https://bugs.almalinux.org/" ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8" -ALMALINUX_MANTISBT_PROJECT_VERSION="8.7" +ALMALINUX_MANTISBT_PROJECT_VERSION="8.10" REDHAT_SUPPORT_PRODUCT="AlmaLinux" -REDHAT_SUPPORT_PRODUCT_VERSION="8.7" +REDHAT_SUPPORT_PRODUCT_VERSION="8.10" +SUPPORT_END=2029-06-01 diff --git a/core/src/test/resources/jenkins/monitor/os-release-alma-9 b/core/src/test/resources/jenkins/monitor/os-release-alma-9 index d7c856620e81..0310fdd1ea0b 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-alma-9 +++ b/core/src/test/resources/jenkins/monitor/os-release-alma-9 @@ -1,10 +1,10 @@ NAME="AlmaLinux" -VERSION="9.3 (Shamrock Pampas Cat)" +VERSION="9.4 (Seafoam Ocelot)" ID="almalinux" ID_LIKE="rhel centos fedora" -VERSION_ID="9.3" +VERSION_ID="9.4" PLATFORM_ID="platform:el9" -PRETTY_NAME="AlmaLinux 9.3 (Shamrock Pampas Cat)" +PRETTY_NAME="AlmaLinux 9.4 (Seafoam Ocelot)" ANSI_COLOR="0;34" LOGO="fedora-logo-icon" CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos" @@ -13,6 +13,7 @@ DOCUMENTATION_URL="https://wiki.almalinux.org/" BUG_REPORT_URL="https://bugs.almalinux.org/" ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9" -ALMALINUX_MANTISBT_PROJECT_VERSION="9.3" +ALMALINUX_MANTISBT_PROJECT_VERSION="9.4" REDHAT_SUPPORT_PRODUCT="AlmaLinux" -REDHAT_SUPPORT_PRODUCT_VERSION="9.3" +REDHAT_SUPPORT_PRODUCT_VERSION="9.4" +SUPPORT_END=2032-06-01 diff --git a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.17 b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.17 index 8478d8e8bf32..357834f85742 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.17 +++ b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.17 @@ -1,6 +1,6 @@ NAME="Alpine Linux" ID=alpine -VERSION_ID=3.17.3 +VERSION_ID=3.17.10 PRETTY_NAME="Alpine Linux v3.17" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" diff --git a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.18 b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.18 index a9e1d0057d7b..6dd7e71b9c13 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.18 +++ b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.18 @@ -1,6 +1,6 @@ NAME="Alpine Linux" ID=alpine -VERSION_ID=3.18.0 +VERSION_ID=3.18.9 PRETTY_NAME="Alpine Linux v3.18" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" diff --git a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 index 0c1a379f5fcf..f3770e65dc2d 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 +++ b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.19 @@ -1,6 +1,6 @@ NAME="Alpine Linux" ID=alpine -VERSION_ID=3.19.0 +VERSION_ID=3.19.4 PRETTY_NAME="Alpine Linux v3.19" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" diff --git a/core/src/test/resources/jenkins/monitor/os-release-alpine-3.20 b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.20 new file mode 100644 index 000000000000..843e443cd895 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-alpine-3.20 @@ -0,0 +1,6 @@ +NAME="Alpine Linux" +ID=alpine +VERSION_ID=3.20.3 +PRETTY_NAME="Alpine Linux v3.20" +HOME_URL="https://alpinelinux.org/" +BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" diff --git a/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 index 97bdcb48a04a..a1bfc87cf06c 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 +++ b/core/src/test/resources/jenkins/monitor/os-release-amazon-linux-2023 @@ -4,9 +4,13 @@ ID="amzn" ID_LIKE="fedora" VERSION_ID="2023" PLATFORM_ID="platform:al2023" -PRETTY_NAME="Amazon Linux 2023" +PRETTY_NAME="Amazon Linux 2023.5.20241001" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023" -HOME_URL="https://aws.amazon.com/linux/" +HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/" +DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/" +SUPPORT_URL="https://aws.amazon.com/premiumsupport/" BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023" +VENDOR_NAME="AWS" +VENDOR_URL="https://aws.amazon.com/" SUPPORT_END="2028-03-15" diff --git a/core/src/test/resources/jenkins/monitor/os-release-eurolinux-8 b/core/src/test/resources/jenkins/monitor/os-release-eurolinux-8 new file mode 100644 index 000000000000..866ff8c05561 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-eurolinux-8 @@ -0,0 +1,14 @@ +NAME="EuroLinux" +VERSION="8.10 (Bucharest)" +ID="eurolinux" +ID_LIKE="rhel fedora centos" +VERSION_ID="8.10" +PLATFORM_ID="platform:el8" +PRETTY_NAME="EuroLinux 8.10 (Bucharest)" +ANSI_COLOR="0;34" +CPE_NAME="cpe:/o:eurolinux:eurolinux:8" +HOME_URL="https://www.euro-linux.com/" +DOCUMENTATION_URL="https://docs.euro-linux.com/" +BUG_REPORT_URL="https://github.com/EuroLinux/eurolinux-distro-bugs-and-rfc/" +REDHAT_SUPPORT_PRODUCT="EuroLinux" +REDHAT_SUPPORT_PRODUCT_VERSION="8" diff --git a/core/src/test/resources/jenkins/monitor/os-release-eurolinux-9 b/core/src/test/resources/jenkins/monitor/os-release-eurolinux-9 new file mode 100644 index 000000000000..d436181116bb --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-eurolinux-9 @@ -0,0 +1,15 @@ +NAME="EuroLinux" +VERSION="9.4 (San Marino)" +ID="eurolinux" +ID_LIKE="rhel fedora centos" +VERSION_ID="9.4" +PLATFORM_ID="platform:el9" +PRETTY_NAME="EuroLinux 9.4 (San Marino)" +ANSI_COLOR="0;34" +LOGO="fedora-logo-icon" +CPE_NAME="cpe:/o:eurolinux:eurolinux:9" +HOME_URL="https://www.euro-linux.com/" +DOCUMENTATION_URL="https://docs.euro-linux.com" +BUG_REPORT_URL="https://github.com/EuroLinux/eurolinux-distro-bugs-and-rfc/" +REDHAT_SUPPORT_PRODUCT="EuroLinux" +REDHAT_SUPPORT_PRODUCT_VERSION="9" diff --git a/core/src/test/resources/jenkins/monitor/os-release-fedora-39 b/core/src/test/resources/jenkins/monitor/os-release-fedora-39 index 26c8fbaf0423..9d04f7e3798e 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-fedora-39 +++ b/core/src/test/resources/jenkins/monitor/os-release-fedora-39 @@ -17,6 +17,6 @@ REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=39 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=39 -SUPPORT_END=2024-05-14 +SUPPORT_END=2024-11-12 VARIANT="Container Image" VARIANT_ID=container diff --git a/core/src/test/resources/jenkins/monitor/os-release-fedora-40 b/core/src/test/resources/jenkins/monitor/os-release-fedora-40 new file mode 100644 index 000000000000..90193fae8e8d --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-fedora-40 @@ -0,0 +1,22 @@ +NAME="Fedora Linux" +VERSION="40 (Container Image)" +ID=fedora +VERSION_ID=40 +VERSION_CODENAME="" +PLATFORM_ID="platform:f40" +PRETTY_NAME="Fedora Linux 40 (Container Image)" +ANSI_COLOR="0;38;2;60;110;180" +LOGO=fedora-logo-icon +CPE_NAME="cpe:/o:fedoraproject:fedora:40" +DEFAULT_HOSTNAME="fedora" +HOME_URL="https://fedoraproject.org/" +DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/" +SUPPORT_URL="https://ask.fedoraproject.org/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" +REDHAT_BUGZILLA_PRODUCT="Fedora" +REDHAT_BUGZILLA_PRODUCT_VERSION=40 +REDHAT_SUPPORT_PRODUCT="Fedora" +REDHAT_SUPPORT_PRODUCT_VERSION=40 +SUPPORT_END=2025-05-13 +VARIANT="Container Image" +VARIANT_ID=container diff --git a/core/src/test/resources/jenkins/monitor/os-release-fedora-41 b/core/src/test/resources/jenkins/monitor/os-release-fedora-41 new file mode 100644 index 000000000000..135585f763a5 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-fedora-41 @@ -0,0 +1,23 @@ +NAME="Fedora Linux" +VERSION="41 (Container Image)" +RELEASE_TYPE=stable +ID=fedora +VERSION_ID=41 +VERSION_CODENAME="" +PLATFORM_ID="platform:f41" +PRETTY_NAME="Fedora Linux 41 (Container Image)" +ANSI_COLOR="0;38;2;60;110;180" +LOGO=fedora-logo-icon +CPE_NAME="cpe:/o:fedoraproject:fedora:41" +DEFAULT_HOSTNAME="fedora" +HOME_URL="https://fedoraproject.org/" +DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f41/system-administrators-guide/" +SUPPORT_URL="https://ask.fedoraproject.org/" +BUG_REPORT_URL="https://bugzilla.redhat.com/" +REDHAT_BUGZILLA_PRODUCT="Fedora" +REDHAT_BUGZILLA_PRODUCT_VERSION=41 +REDHAT_SUPPORT_PRODUCT="Fedora" +REDHAT_SUPPORT_PRODUCT_VERSION=41 +SUPPORT_END=2025-05-13 +VARIANT="Container Image" +VARIANT_ID=container diff --git a/core/src/test/resources/jenkins/monitor/os-release-oracle-8 b/core/src/test/resources/jenkins/monitor/os-release-oracle-8 index b91c366e47ac..81c29c076b26 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-oracle-8 +++ b/core/src/test/resources/jenkins/monitor/os-release-oracle-8 @@ -1,18 +1,18 @@ NAME="Oracle Linux Server" -VERSION="8.7" +VERSION="8.10" ID="ol" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" -VERSION_ID="8.7" +VERSION_ID="8.10" PLATFORM_ID="platform:el8" -PRETTY_NAME="Oracle Linux Server 8.7" +PRETTY_NAME="Oracle Linux Server 8.10" ANSI_COLOR="0;31" -CPE_NAME="cpe:/o:oracle:linux:8:7:server" +CPE_NAME="cpe:/o:oracle:linux:8:10:server" HOME_URL="https://linux.oracle.com/" -BUG_REPORT_URL="https://bugzilla.oracle.com/" +BUG_REPORT_URL="https://github.com/oracle/oracle-linux" ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8" -ORACLE_BUGZILLA_PRODUCT_VERSION=8.7 +ORACLE_BUGZILLA_PRODUCT_VERSION=8.10 ORACLE_SUPPORT_PRODUCT="Oracle Linux" -ORACLE_SUPPORT_PRODUCT_VERSION=8.7 +ORACLE_SUPPORT_PRODUCT_VERSION=8.10 diff --git a/core/src/test/resources/jenkins/monitor/os-release-oracle-9 b/core/src/test/resources/jenkins/monitor/os-release-oracle-9 new file mode 100644 index 000000000000..2de011e2b755 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-oracle-9 @@ -0,0 +1,18 @@ +NAME="Oracle Linux Server" +VERSION="9.4" +ID="ol" +ID_LIKE="fedora" +VARIANT="Server" +VARIANT_ID="server" +VERSION_ID="9.4" +PLATFORM_ID="platform:el9" +PRETTY_NAME="Oracle Linux Server 9.4" +ANSI_COLOR="0;31" +CPE_NAME="cpe:/o:oracle:linux:9:4:server" +HOME_URL="https://linux.oracle.com/" +BUG_REPORT_URL="https://github.com/oracle/oracle-linux" + +ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9" +ORACLE_BUGZILLA_PRODUCT_VERSION=9.4 +ORACLE_SUPPORT_PRODUCT="Oracle Linux" +ORACLE_SUPPORT_PRODUCT_VERSION=9.4 diff --git a/core/src/test/resources/jenkins/monitor/os-release-redhat-8 b/core/src/test/resources/jenkins/monitor/os-release-redhat-8 index 2fafad589d61..44a109a3eefb 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-redhat-8 +++ b/core/src/test/resources/jenkins/monitor/os-release-redhat-8 @@ -1,17 +1,17 @@ NAME="Red Hat Enterprise Linux" -VERSION="8.8 (Ootpa)" +VERSION="8.10 (Ootpa)" ID="rhel" ID_LIKE="fedora" -VERSION_ID="8.8" +VERSION_ID="8.10" PLATFORM_ID="platform:el8" -PRETTY_NAME="Red Hat Enterprise Linux 8.8 (Ootpa)" +PRETTY_NAME="Red Hat Enterprise Linux 8.10 (Ootpa)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos" HOME_URL="https://www.redhat.com/" DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8" -BUG_REPORT_URL="https://bugzilla.redhat.com/" +BUG_REPORT_URL="https://issues.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8" -REDHAT_BUGZILLA_PRODUCT_VERSION=8.8 +REDHAT_BUGZILLA_PRODUCT_VERSION=8.10 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" -REDHAT_SUPPORT_PRODUCT_VERSION="8.8" +REDHAT_SUPPORT_PRODUCT_VERSION="8.10" diff --git a/core/src/test/resources/jenkins/monitor/os-release-rocky-8 b/core/src/test/resources/jenkins/monitor/os-release-rocky-8 index 2fd5d0f4bcc6..514ac1171048 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-rocky-8 +++ b/core/src/test/resources/jenkins/monitor/os-release-rocky-8 @@ -1,16 +1,17 @@ NAME="Rocky Linux" -VERSION="8.7 (Green Obsidian)" +VERSION="8.10 (Green Obsidian)" ID="rocky" ID_LIKE="rhel centos fedora" -VERSION_ID="8.7" +VERSION_ID="8.10" PLATFORM_ID="platform:el8" -PRETTY_NAME="Rocky Linux 8.7 (Green Obsidian)" +PRETTY_NAME="Rocky Linux 8.10 (Green Obsidian)" ANSI_COLOR="0;32" LOGO="fedora-logo-icon" CPE_NAME="cpe:/o:rocky:rocky:8:GA" HOME_URL="https://rockylinux.org/" BUG_REPORT_URL="https://bugs.rockylinux.org/" +SUPPORT_END="2029-05-31" ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8" -ROCKY_SUPPORT_PRODUCT_VERSION="8.7" +ROCKY_SUPPORT_PRODUCT_VERSION="8.10" REDHAT_SUPPORT_PRODUCT="Rocky Linux" -REDHAT_SUPPORT_PRODUCT_VERSION="8.7" +REDHAT_SUPPORT_PRODUCT_VERSION="8.10" diff --git a/core/src/test/resources/jenkins/monitor/os-release-rocky-9 b/core/src/test/resources/jenkins/monitor/os-release-rocky-9 new file mode 100644 index 000000000000..637ae1a12926 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-rocky-9 @@ -0,0 +1,17 @@ +NAME="Rocky Linux" +VERSION="9.4 (Blue Onyx)" +ID="rocky" +ID_LIKE="rhel centos fedora" +VERSION_ID="9.4" +PLATFORM_ID="platform:el9" +PRETTY_NAME="Rocky Linux 9.4 (Blue Onyx)" +ANSI_COLOR="0;32" +LOGO="fedora-logo-icon" +CPE_NAME="cpe:/o:rocky:rocky:9::baseos" +HOME_URL="https://rockylinux.org/" +BUG_REPORT_URL="https://bugs.rockylinux.org/" +SUPPORT_END="2032-05-31" +ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9" +ROCKY_SUPPORT_PRODUCT_VERSION="9.4" +REDHAT_SUPPORT_PRODUCT="Rocky Linux" +REDHAT_SUPPORT_PRODUCT_VERSION="9.4" diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubi-8 b/core/src/test/resources/jenkins/monitor/os-release-ubi-8 new file mode 100644 index 000000000000..44a109a3eefb --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-ubi-8 @@ -0,0 +1,17 @@ +NAME="Red Hat Enterprise Linux" +VERSION="8.10 (Ootpa)" +ID="rhel" +ID_LIKE="fedora" +VERSION_ID="8.10" +PLATFORM_ID="platform:el8" +PRETTY_NAME="Red Hat Enterprise Linux 8.10 (Ootpa)" +ANSI_COLOR="0;31" +CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos" +HOME_URL="https://www.redhat.com/" +DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8" +BUG_REPORT_URL="https://issues.redhat.com/" + +REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8" +REDHAT_BUGZILLA_PRODUCT_VERSION=8.10 +REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" +REDHAT_SUPPORT_PRODUCT_VERSION="8.10" diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubi-9 b/core/src/test/resources/jenkins/monitor/os-release-ubi-9 new file mode 100644 index 000000000000..66458c5674e2 --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-ubi-9 @@ -0,0 +1,18 @@ +NAME="Red Hat Enterprise Linux" +VERSION="9.4 (Plow)" +ID="rhel" +ID_LIKE="fedora" +VERSION_ID="9.4" +PLATFORM_ID="platform:el9" +PRETTY_NAME="Red Hat Enterprise Linux 9.4 (Plow)" +ANSI_COLOR="0;31" +LOGO="fedora-logo-icon" +CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos" +HOME_URL="https://www.redhat.com/" +DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9" +BUG_REPORT_URL="https://issues.redhat.com/" + +REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9" +REDHAT_BUGZILLA_PRODUCT_VERSION=9.4 +REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" +REDHAT_SUPPORT_PRODUCT_VERSION="9.4" diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 index 39240aa54b81..9027a5785123 100644 --- a/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 +++ b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-22.04 @@ -1,7 +1,7 @@ -PRETTY_NAME="Ubuntu 22.04.3 LTS" +PRETTY_NAME="Ubuntu 22.04.4 LTS" NAME="Ubuntu" VERSION_ID="22.04" -VERSION="22.04.3 LTS (Jammy Jellyfish)" +VERSION="22.04.4 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian diff --git a/core/src/test/resources/jenkins/monitor/os-release-ubuntu-24.04 b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-24.04 new file mode 100644 index 000000000000..18cf4770e81a --- /dev/null +++ b/core/src/test/resources/jenkins/monitor/os-release-ubuntu-24.04 @@ -0,0 +1,13 @@ +PRETTY_NAME="Ubuntu 24.04.1 LTS" +NAME="Ubuntu" +VERSION_ID="24.04" +VERSION="24.04.1 LTS (Noble Numbat)" +VERSION_CODENAME=noble +ID=ubuntu +ID_LIKE=debian +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +UBUNTU_CODENAME=noble +LOGO=ubuntu-logo From abef2ccd407dd173375b0daf04146c94cf10449a Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 9 Nov 2024 16:46:02 -0500 Subject: [PATCH 1097/1330] Introducing `ControllerToAgentCallable` and `ControllerToAgentFileCallable` (#9921) Co-authored-by: Vincent Latombe --- core/src/main/java/hudson/FilePath.java | 27 ++--------- core/src/main/java/hudson/Launcher.java | 47 +++--------------- .../jenkins/MasterToSlaveFileCallable.java | 22 +++------ .../agents/ControllerToAgentCallable.java | 48 +++++++++++++++++++ .../agents/ControllerToAgentFileCallable.java | 43 +++++++++++++++++ .../security/MasterToSlaveCallable.java | 20 +++----- .../jenkins/slaves/RemotingVersionInfo.java | 3 +- 7 files changed, 114 insertions(+), 96 deletions(-) create mode 100644 core/src/main/java/jenkins/agents/ControllerToAgentCallable.java create mode 100644 core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index f5288b26d9d1..e48d7b45108f 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -124,7 +124,7 @@ import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import jenkins.MasterToSlaveFileCallable; -import jenkins.SlaveToMasterFileCallable; +import jenkins.agents.ControllerToAgentFileCallable; import jenkins.model.Jenkins; import jenkins.security.MasterToSlaveCallable; import jenkins.util.ContextResettingExecutorService; @@ -520,21 +520,7 @@ public int archive(final ArchiverFactory factory, OutputStream os, final DirScan return act(new Archive(factory, out, scanner, verificationRoot, openOptions)); } - private static class Archive extends MasterToSlaveFileCallable { - private final ArchiverFactory factory; - private final OutputStream out; - private final DirScanner scanner; - private final String verificationRoot; - private OpenOption[] openOptions; - - Archive(ArchiverFactory factory, OutputStream out, DirScanner scanner, String verificationRoot, OpenOption... openOptions) { - this.factory = factory; - this.out = out; - this.scanner = scanner; - this.verificationRoot = verificationRoot; - this.openOptions = openOptions; - } - + private record Archive(ArchiverFactory factory, OutputStream out, DirScanner scanner, String verificationRoot, OpenOption... openOptions) implements ControllerToAgentFileCallable { @Override public Integer invoke(File f, VirtualChannel channel) throws IOException { try (Archiver a = factory.create(out)) { @@ -542,8 +528,6 @@ public Integer invoke(File f, VirtualChannel channel) throws IOException { return a.countEntries(); } } - - private static final long serialVersionUID = 1L; } public int archive(final ArchiverFactory factory, OutputStream os, final FileFilter filter) throws IOException, InterruptedException { @@ -1185,12 +1169,7 @@ public void copyFrom(org.apache.commons.fileupload.FileItem file) throws IOExcep /** * Code that gets executed on the machine where the {@link FilePath} is local. * Used to act on {@link FilePath}. - * Warning: implementations must be serializable, so prefer a static nested class to an inner class. - * - *

    - * Subtypes would likely want to extend from either {@link MasterToSlaveCallable} - * or {@link SlaveToMasterFileCallable}. - * + * A typical implementation would be a {@code record} implementing {@link ControllerToAgentFileCallable}. * @see FilePath#act(FileCallable) */ public interface FileCallable extends Serializable, RoleSensitive { diff --git a/core/src/main/java/hudson/Launcher.java b/core/src/main/java/hudson/Launcher.java index e6ba431691fb..195671b1b42e 100644 --- a/core/src/main/java/hudson/Launcher.java +++ b/core/src/main/java/hudson/Launcher.java @@ -55,6 +55,7 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; +import jenkins.agents.ControllerToAgentCallable; import jenkins.model.Jenkins; import jenkins.security.MasterToSlaveCallable; import jenkins.tasks.filters.EnvVarsFilterLocalRule; @@ -1114,8 +1115,7 @@ public Proc launch(ProcStarter ps) throws IOException { final String workDir = psPwd == null ? null : psPwd.getRemote(); try { - RemoteLaunchCallable remote = new RemoteLaunchCallable(ps.commands, ps.masks, ps.envs, in, ps.reverseStdin, out, ps.reverseStdout, err, ps.reverseStderr, ps.quiet, workDir, listener, ps.stdoutListener); - remote.setEnvVarsFilterRuleWrapper(envVarsFilterRuleWrapper); + RemoteLaunchCallable remote = new RemoteLaunchCallable(ps.commands, ps.masks, ps.envs, in, ps.reverseStdin, out, ps.reverseStdout, err, ps.reverseStderr, ps.quiet, workDir, listener, ps.stdoutListener, envVarsFilterRuleWrapper); // reset the rules to prevent build step without rules configuration to re-use those envVarsFilterRuleWrapper = null; return new ProcImpl(getChannel().call(remote)); @@ -1334,46 +1334,13 @@ public interface RemoteProcess { IOTriplet getIOtriplet(); } - private static class RemoteLaunchCallable extends MasterToSlaveCallable { - private final @NonNull List cmd; - private final @CheckForNull boolean[] masks; - private final @CheckForNull String[] env; - private final @CheckForNull InputStream in; - private final @CheckForNull OutputStream out; - private final @CheckForNull OutputStream err; - private final @CheckForNull String workDir; - private final @NonNull TaskListener listener; - private final @CheckForNull TaskListener stdoutListener; - private final boolean reverseStdin, reverseStdout, reverseStderr; - private final boolean quiet; - - private EnvVarsFilterRuleWrapper envVarsFilterRuleWrapper; - - RemoteLaunchCallable(@NonNull List cmd, @CheckForNull boolean[] masks, @CheckForNull String[] env, + private record RemoteLaunchCallable(@NonNull List cmd, @CheckForNull boolean[] masks, @CheckForNull String[] env, @CheckForNull InputStream in, boolean reverseStdin, @CheckForNull OutputStream out, boolean reverseStdout, @CheckForNull OutputStream err, boolean reverseStderr, - boolean quiet, @CheckForNull String workDir, @NonNull TaskListener listener, @CheckForNull TaskListener stdoutListener) { - this.cmd = new ArrayList<>(cmd); - this.masks = masks; - this.env = env; - this.in = in; - this.out = out; - this.err = err; - this.workDir = workDir; - this.listener = listener; - this.stdoutListener = stdoutListener; - this.reverseStdin = reverseStdin; - this.reverseStdout = reverseStdout; - this.reverseStderr = reverseStderr; - this.quiet = quiet; - } - - @Restricted(NoExternalUse.class) - public void setEnvVarsFilterRuleWrapper(EnvVarsFilterRuleWrapper envVarsFilterRuleWrapper) { - this.envVarsFilterRuleWrapper = envVarsFilterRuleWrapper; - } - + boolean quiet, @CheckForNull String workDir, + @NonNull TaskListener listener, @CheckForNull TaskListener stdoutListener, + @CheckForNull EnvVarsFilterRuleWrapper envVarsFilterRuleWrapper) implements ControllerToAgentCallable { @Override public RemoteProcess call() throws IOException { final Channel channel = getOpenChannelOrFail(); @@ -1433,8 +1400,6 @@ public IOTriplet getIOtriplet() { } }); } - - private static final long serialVersionUID = 1L; } private static class RemoteChannelLaunchCallable extends MasterToSlaveCallable { diff --git a/core/src/main/java/jenkins/MasterToSlaveFileCallable.java b/core/src/main/java/jenkins/MasterToSlaveFileCallable.java index 34afd3c11ae5..6296c6d65b28 100644 --- a/core/src/main/java/jenkins/MasterToSlaveFileCallable.java +++ b/core/src/main/java/jenkins/MasterToSlaveFileCallable.java @@ -1,26 +1,16 @@ package jenkins; import hudson.FilePath.FileCallable; -import hudson.remoting.VirtualChannel; -import java.io.File; -import jenkins.security.Roles; -import jenkins.slaves.RemotingVersionInfo; -import org.jenkinsci.remoting.RoleChecker; +import jenkins.agents.ControllerToAgentFileCallable; /** - * {@link FileCallable}s that are meant to be only used on the master. - * - * Note that the logic within {@link #invoke(File, VirtualChannel)} should use API of a minimum supported Remoting version. - * See {@link RemotingVersionInfo#getMinimumSupportedVersion()}. - * + * {@link FileCallable}s that could run on an agent. + * For new code, implement {@link ControllerToAgentFileCallable} + * which has the advantage that it can be used on {@code record}s. * @since 1.587 / 1.580.1 - * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist + * @param the return type */ -public abstract class MasterToSlaveFileCallable implements FileCallable { - @Override - public void checkRoles(RoleChecker checker) throws SecurityException { - checker.check(this, Roles.SLAVE); - } +public abstract class MasterToSlaveFileCallable implements ControllerToAgentFileCallable { private static final long serialVersionUID = 1L; } diff --git a/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java b/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java new file mode 100644 index 000000000000..b724da77f6a2 --- /dev/null +++ b/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java @@ -0,0 +1,48 @@ +/* + * The MIT License + * + * Copyright 2024 CloudBees, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +package jenkins.agents; + +import hudson.remoting.Callable; +import jenkins.security.Roles; +import jenkins.slaves.RemotingVersionInfo; +import org.jenkinsci.remoting.RoleChecker; + +/** + * {@link Callable} meant to be serialized then run on an agent. + * A typical implementation will be a {@link Record} + * since instance state merely transfers a set of parameters to an agent JVM. + *

    Note that the logic within {@link #call} may not use Remoting APIs + * newer than {@link RemotingVersionInfo#getMinimumSupportedVersion}. + * (Core and plugin APIs will be identical to those run inside the controller.) + * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist + * @since TODO + */ +public interface ControllerToAgentCallable extends Callable { + + @Override + default void checkRoles(RoleChecker checker) throws SecurityException { + checker.check(this, Roles.SLAVE); + } +} diff --git a/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java b/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java new file mode 100644 index 000000000000..22904e0c2e43 --- /dev/null +++ b/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java @@ -0,0 +1,43 @@ +/* + * The MIT License + * + * Copyright 2024 CloudBees, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +package jenkins.agents; + +import hudson.FilePath; +import jenkins.security.Roles; +import org.jenkinsci.remoting.RoleChecker; + +/** + * {@link FilePath.FileCallable} meant to be serialized then run on an agent. + * Like {@link ControllerToAgentCallable} this will typically be a {@link Record}. + * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist + * @since TODO + */ +public interface ControllerToAgentFileCallable extends FilePath.FileCallable { + + @Override + default void checkRoles(RoleChecker checker) throws SecurityException { + checker.check(this, Roles.SLAVE); + } +} diff --git a/core/src/main/java/jenkins/security/MasterToSlaveCallable.java b/core/src/main/java/jenkins/security/MasterToSlaveCallable.java index db0406bcf548..7d3830bb9562 100644 --- a/core/src/main/java/jenkins/security/MasterToSlaveCallable.java +++ b/core/src/main/java/jenkins/security/MasterToSlaveCallable.java @@ -1,25 +1,17 @@ package jenkins.security; import hudson.remoting.Callable; -import jenkins.slaves.RemotingVersionInfo; -import org.jenkinsci.remoting.RoleChecker; +import jenkins.agents.ControllerToAgentCallable; /** - * Convenient {@link Callable} meant to be run on agent. - * - * Note that the logic within {@link #call()} should use API of a minimum supported Remoting version. - * See {@link RemotingVersionInfo#getMinimumSupportedVersion()}. - * + * {@link Callable} meant to be run on agent. + * For new code, implement {@link ControllerToAgentCallable} + * which has the advantage that it can be used on {@code record}s. * @author Kohsuke Kawaguchi * @since 1.587 / 1.580.1 - * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist + * @param the return type */ -public abstract class MasterToSlaveCallable implements Callable { +public abstract class MasterToSlaveCallable implements ControllerToAgentCallable { private static final long serialVersionUID = 1L; - - @Override - public void checkRoles(RoleChecker checker) throws SecurityException { - checker.check(this, Roles.SLAVE); - } } diff --git a/core/src/main/java/jenkins/slaves/RemotingVersionInfo.java b/core/src/main/java/jenkins/slaves/RemotingVersionInfo.java index fb17b7243c9f..d595a21d22df 100644 --- a/core/src/main/java/jenkins/slaves/RemotingVersionInfo.java +++ b/core/src/main/java/jenkins/slaves/RemotingVersionInfo.java @@ -31,6 +31,7 @@ import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; +import jenkins.agents.ControllerToAgentCallable; /** * Provides information about Remoting versions used within the core. @@ -100,7 +101,7 @@ public static VersionNumber getEmbeddedVersion() { /** * Gets Remoting version which is supported by the core. - * Jenkins core and plugins make invoke operations on agents (e.g. {@link jenkins.security.MasterToSlaveCallable}) + * Jenkins core and plugins make invoke operations on agents (e.g. {@link ControllerToAgentCallable}) * and use Remoting-internal API within them. * In such case this API should be present on the remote side. * This method defines a minimum expected version, so that all calls should use a compatible API. From ec448b51c05cc0f6803c1fff6f19ab7924577417 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 9 Nov 2024 16:46:17 -0500 Subject: [PATCH 1098/1330] Clarify SECURITY-3315 error code on client side (#9930) --- core/src/main/java/hudson/cli/CLIAction.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/cli/CLIAction.java b/core/src/main/java/hudson/cli/CLIAction.java index a2fc5f590197..a2e756267178 100644 --- a/core/src/main/java/hudson/cli/CLIAction.java +++ b/core/src/main/java/hudson/cli/CLIAction.java @@ -118,12 +118,26 @@ public boolean isWebSocketSupported() { return WebSockets.isSupported(); } + /** + * Unlike {@link HttpResponses#errorWithoutStack} this sends the message in a header rather than the body. + * (Currently the WebSocket CLI is unable to process the body in an error message.) + */ + private static HttpResponse statusWithExplanation(int code, String errorMessage) { + return new HttpResponse() { + @Override + public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) { + rsp.setStatus(code); + rsp.setHeader("X-CLI-Error", errorMessage); + } + }; + } + /** * WebSocket endpoint. */ public HttpResponse doWs(StaplerRequest2 req) { if (!WebSockets.isSupported()) { - return HttpResponses.notFound(); + return statusWithExplanation(HttpServletResponse.SC_NOT_FOUND, "WebSocket is not supported in this servlet container (try the built-in Jetty instead)"); } if (ALLOW_WEBSOCKET == null) { final String actualOrigin = req.getHeader("Origin"); @@ -141,10 +155,10 @@ public HttpResponse doWs(StaplerRequest2 req) { if (actualOrigin == null || !actualOrigin.equals(expectedOrigin)) { LOGGER.log(Level.FINE, () -> "Rejecting origin: " + actualOrigin + "; expected was from request: " + expectedOrigin); - return HttpResponses.forbidden(); + return statusWithExplanation(HttpServletResponse.SC_FORBIDDEN, "Unexpected request origin (check your reverse proxy settings)"); } } else if (!ALLOW_WEBSOCKET) { - return HttpResponses.forbidden(); + return statusWithExplanation(HttpServletResponse.SC_FORBIDDEN, "WebSocket support for CLI disabled for this controller"); } Authentication authentication = Jenkins.getAuthentication2(); return WebSockets.upgrade(new WebSocketSession() { From e6ec0657b3ed551234299d409a045ea08e176173 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 08:23:00 -0800 Subject: [PATCH 1099/1330] Update dependency org.jenkins-ci.plugins:junit to v1309 (#9957) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 52f2d4492f62..3e9aaf9035c6 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -230,7 +230,7 @@ THE SOFTWARE. org.jenkins-ci.plugins junit - 1307.vdd5b_2646279e + 1309.v0078b_fecd6ed test diff --git a/war/pom.xml b/war/pom.xml index 2bfab98574ad..5529b08a0c12 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -314,7 +314,7 @@ THE SOFTWARE. org.jenkins-ci.plugins junit - 1307.vdd5b_2646279e + 1309.v0078b_fecd6ed hpi From d017d30898a4c2d9caf6a30cfc7b0d5bd8307594 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Mon, 11 Nov 2024 15:09:21 +0000 Subject: [PATCH 1100/1330] [JENKINS-37241] Support for query parameters in autocomplete --- .../main/java/hudson/model/Descriptor.java | 6 +++++ eslint.config.cjs | 2 ++ .../js/components/dropdowns/autocomplete.js | 27 ++++++++++++++++--- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/model/Descriptor.java b/core/src/main/java/hudson/model/Descriptor.java index 33c981d657f5..c55b7982695e 100644 --- a/core/src/main/java/hudson/model/Descriptor.java +++ b/core/src/main/java/hudson/model/Descriptor.java @@ -474,6 +474,12 @@ public void calcAutoCompleteSettings(String field, Map attribute if (method == null) return; // no auto-completion + // build query parameter line by figuring out what should be submitted + List depends = buildFillDependencies(method, new ArrayList<>()); + if (!depends.isEmpty()) { + attributes.put("fillDependsOn", String.join(" ", depends)); + } + attributes.put("autoCompleteUrl", String.format("%s/%s/autoComplete%s", getCurrentDescriptorByNameUrl(), getDescriptorUrl(), capitalizedFieldName)); } diff --git a/eslint.config.cjs b/eslint.config.cjs index 0362bf627a7a..dcbd22d73060 100644 --- a/eslint.config.cjs +++ b/eslint.config.cjs @@ -61,6 +61,7 @@ module.exports = [ object: "readonly", objectToUrlFormEncoded: "readonly", onSetupWizardInitialized: "readonly", + qs: "readonly", refillOnChange: "readonly", refreshPart: "readonly", registerSortableDragDrop: "readonly", @@ -72,6 +73,7 @@ module.exports = [ shortenName: "readonly", Sortable: "readonly", toQueryString: "readonly", + TryEach: "readonly", ts_refresh: "readonly", updateOptionalBlock: "readonly", Utilities: "readonly", diff --git a/src/main/js/components/dropdowns/autocomplete.js b/src/main/js/components/dropdowns/autocomplete.js index b6d982c44911..068313f84b36 100644 --- a/src/main/js/components/dropdowns/autocomplete.js +++ b/src/main/js/components/dropdowns/autocomplete.js @@ -59,9 +59,30 @@ function init() { } return; } - const url = - e.getAttribute("autoCompleteUrl") + "?value=" + encodeURIComponent(word); - fetch(url) + + const url = e.getAttribute("autoCompleteUrl"); + + const depends = e.getAttribute("fillDependsOn"); + const q = qs(e).addThis(); + if (depends && depends.length > 0) { + depends.split(" ").forEach( + TryEach(function (n) { + q.nearBy(n); + }), + ); + } + + const queryString = q.toString(); + const idx = queryString.indexOf("?"); + const parameters = queryString.substring(idx + 1); + + fetch(url, { + method: "post", + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), + body: parameters, + }) .then((rsp) => (rsp.ok ? rsp.json() : {})) .then((response) => createAndShowDropdown(e, response.suggestions || [])); } From 3daa3ac8c8d162bcc207dfd09f9590a34a9edfab Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:53:34 +0000 Subject: [PATCH 1101/1330] Update dependency io.jenkins.plugins:prism-api to v1.29.0-18 (#9960) Co-authored-by: renovate[bot] <29139614+renovate[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 3e9aaf9035c6..6d5f093edd85 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -352,7 +352,7 @@ THE SOFTWARE. io.jenkins.plugins prism-api - 1.29.0-17 + 1.29.0-18 hpi ${project.build.outputDirectory}/plugins prism-api.jpi From 10e21210dc743e34dfaa4001b7d6bd0a49681b98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:19:59 -0800 Subject: [PATCH 1102/1330] Update dependency io.jenkins.plugins:design-library to v323 (#9961) Co-authored-by: renovate[bot] <29139614+renovate[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 6d5f093edd85..4eb4d0708f7c 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -344,7 +344,7 @@ THE SOFTWARE. io.jenkins.plugins design-library - 307.vecc0205ca_707 + 323.v301efa_39c6eb_ hpi ${project.build.outputDirectory}/plugins design-library.jpi From f621c280f027abcf56c9bb9f26ef3d8a580b1a8c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:20:24 -0800 Subject: [PATCH 1103/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2351 (#9962) Co-authored-by: renovate[bot] <29139614+renovate[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 4eb4d0708f7c..315232716108 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2345.v699712948764 + 2351.v862801ec05f9 test From 4f5aff2fde393a356ab8e7a3eddb8f6743f16bfd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:21:01 -0800 Subject: [PATCH 1104/1330] Update softprops/action-gh-release action to v2.1.0 (#9963) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/publish-release-artifact.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish-release-artifact.yml b/.github/workflows/publish-release-artifact.yml index e0268a61af0b..3bd728e9632b 100644 --- a/.github/workflows/publish-release-artifact.yml +++ b/.github/workflows/publish-release-artifact.yml @@ -73,7 +73,7 @@ jobs: wget -q https://get.jenkins.io/${REPO}/${PROJECT_VERSION}/${FILE_NAME} - name: Upload Release Asset id: upload-war - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -108,7 +108,7 @@ jobs: - name: Upload Release Asset id: upload-deb if: always() - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -144,7 +144,7 @@ jobs: - name: Upload Release Asset id: upload-rpm if: always() - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -180,7 +180,7 @@ jobs: - name: Upload Release Asset id: upload-msi if: always() - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -216,7 +216,7 @@ jobs: - name: Upload Release Asset id: upload-suse-rpm if: always() - uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9 + uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From a30309847a598d7d444f10bef744ee4d5c755e12 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:58:29 +0000 Subject: [PATCH 1105/1330] [maven-release-plugin] prepare release jenkins-2.485 --- 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/jetty12-ee9/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 b7e685a4658b..85fc74ba0c55 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..1672e83a5f23 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..195b076d950e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..275e48d5f3ae 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 jenkins-coverage diff --git a/pom.xml b/pom.xml index 6780dd0bf231..82e397102c21 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 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.485 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.485 -SNAPSHOT - 2024-11-05T13:51:04Z + 2024-11-12T10:33:23Z github diff --git a/test/pom.xml b/test/pom.xml index 315232716108..12e516428cd0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 5529b08a0c12..65bf6d229634 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..05543de563ab 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.485 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..d408e4f7e367 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.485 ../.. From 9b51d52f7af8bed15de41f141275d287281631b1 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 12 Nov 2024 13:58:46 +0000 Subject: [PATCH 1106/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 85fc74ba0c55..b7e685a4658b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 1672e83a5f23..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 195b076d950e..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 275e48d5f3ae..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 82e397102c21..20c5abc8dbf8 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${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.485 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.485 + 2.486 -SNAPSHOT - 2024-11-12T10:33:23Z + 2024-11-12T13:58:29Z github diff --git a/test/pom.xml b/test/pom.xml index 12e516428cd0..315232716108 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 65bf6d229634..5529b08a0c12 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 05543de563ab..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index d408e4f7e367..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.485 + ${revision}${changelist} ../.. From 89f35da23666fe0e3feb5bb8d658a505d512f2f2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:53:40 -0800 Subject: [PATCH 1107/1330] Update dependency org.jenkins-ci.plugins:command-launcher to v116 (#9966) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index 5529b08a0c12..efdc77a77ea1 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -439,7 +439,7 @@ THE SOFTWARE. org.jenkins-ci.plugins command-launcher - 115.vd8b_301cc15d0 + 116.vd85919c54a_d6 hpi From 9e88d0f24b1401cf32991326475b1a89cb5349aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 12:09:20 -0800 Subject: [PATCH 1108/1330] Update jenkins/ath Docker tag to v6081 (#9967) 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 642d6f3a6c71..e25bf4b945e8 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=6072.vc7e4e6a_970b_c +export ATH_VERSION=6081.v29b_ce3c2771c if [[ $# -eq 0 ]]; then export JDK=17 From 11f036324f54893c8fe8ec3df41999ec6879f228 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:20:35 +0000 Subject: [PATCH 1109/1330] Update dependency postcss to v8.4.48 (#9969) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index c806a3138222..e3da41b6af25 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "globals": "15.12.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.9.2", - "postcss": "8.4.47", + "postcss": "8.4.48", "postcss-loader": "8.1.1", "postcss-preset-env": "10.0.9", "postcss-scss": "4.0.9", diff --git a/yarn.lock b/yarn.lock index 7dfcd772fd16..b8b58dec6b44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4381,7 +4381,7 @@ __metadata: jquery: "npm:3.7.1" lodash: "npm:4.17.21" mini-css-extract-plugin: "npm:2.9.2" - postcss: "npm:8.4.47" + postcss: "npm:8.4.48" postcss-loader: "npm:8.1.1" postcss-preset-env: "npm:10.0.9" postcss-scss: "npm:4.0.9" @@ -5241,10 +5241,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -6087,14 +6087,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.47, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" +"postcss@npm:8.4.48, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": + version: 8.4.48 + resolution: "postcss@npm:8.4.48" dependencies: nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + checksum: 10c0/d586361fda12fc7ab5650ce9b5763fc61d6ea2cecac9da98fceea6a3f27e42ed34db830582411bc06743492d9bb414c52b0c81da65440682d244d692da2f928a languageName: node linkType: hard From 4b2ab447de6e5305758f42c8c94f3aee5d0ae489 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:54:48 -0800 Subject: [PATCH 1110/1330] Update dependency org.jenkins-ci.plugins:script-security to v1369 (#9970) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- war/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index 315232716108..a81c2b636040 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -118,7 +118,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1367.vdf2fc45f229c + 1369.v9b_98a_4e95b_2d org.jenkins-ci.plugins.workflow diff --git a/war/pom.xml b/war/pom.xml index efdc77a77ea1..43af909f06e2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -307,7 +307,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1367.vdf2fc45f229c + 1369.v9b_98a_4e95b_2d hpi From 22e48f7fcd3e8d04a299c2bad121601aeec47e23 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:55:42 -0800 Subject: [PATCH 1111/1330] Update dependency postcss-preset-env to v10.1.0 (#9971) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 222 +++++++++++++++++++++++++++++---------------------- 2 files changed, 126 insertions(+), 98 deletions(-) diff --git a/package.json b/package.json index e3da41b6af25..8c1af17b3924 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.48", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.0.9", + "postcss-preset-env": "10.1.0", "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.80.6", diff --git a/yarn.lock b/yarn.lock index b8b58dec6b44..762381ea1d88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1166,26 +1166,26 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/css-calc@npm:2.0.4" +"@csstools/css-calc@npm:^2.1.0": + version: 2.1.0 + resolution: "@csstools/css-calc@npm:2.1.0" peerDependencies: "@csstools/css-parser-algorithms": ^3.0.4 "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/ecb68fc9f8d930b861d5c9c5d4fc6eb43dabc619a4cd6c82dc18034ee746f907dba106fa6cdb909ac727fbfc9b1f7ceac1f356641542faeb2fab99c5fcd52a2e + checksum: 10c0/c707bb533a6ea63ed5bb4b8f1ffcbf3cd2daf970a6d76d42b684243426f5aa7513179a8f34d2e3c5a85df3870f44d3bc2850ca40b085c5fe00b41a291a2ecae2 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/css-color-parser@npm:3.0.5" +"@csstools/css-color-parser@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/css-color-parser@npm:3.0.6" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" peerDependencies: "@csstools/css-parser-algorithms": ^3.0.4 "@csstools/css-tokenizer": ^3.0.3 - checksum: 10c0/535e2a38222ad7ee9e1143c3ef09ba07b2e70a4214bbdf7ca13398388b8d2db9ee295fe15d9d306342036e554d97dd235567a8c8ee03fea6825483f1c4dbbf7e + checksum: 10c0/7c4f42a704c8c44cece75f5dcd647a83634dec0f44d398ae1fbdc6e8527d4fbdc3a809eaaba3b739edf8e3c09d62c28234636f250f9b0b0d52a599e824c22047 languageName: node linkType: hard @@ -1237,33 +1237,33 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-color-function@npm:4.0.5" +"@csstools/postcss-color-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-color-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b47cc4567445eb12dd3e67a4298470d62a449a4d754fd4dd32eb78b23615ba6bd1fe8dacccc6c95087ce8749a6552bace8de0b9b6eee0c9a7b7202a0bcb8fcac + checksum: 10c0/facbae01fd58898a176219cfcffee9ffb06fb466a2c439fd28403819e48778b682621b86a69682c0f758c659f8ec5f14eca1a9612b12b8777a2198173f386b49 languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.5" +"@csstools/postcss-color-mix-function@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a17d20dcc42d2c1ccd7a5ceb8d1413133ae9461bf973a9aad997a5782bf4cbbd847aef06accc20fa391ac6fbd44a1003e18c30a621d7c77052d4256fe39619aa + checksum: 10c0/66b906b2425ed137b1c2ef3d166036719ae69039668385dccce4e02bd91e41733b37dd3c884b74a2999067bfe8a8d8d1afa4082ef21a0bf044ba7e7fffb77e01 languageName: node linkType: hard @@ -1281,16 +1281,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.4" +"@csstools/postcss-exponential-functions@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/b174faa8782b7b3f3a9636412f90963740ff033c6506acf662f002fa07f59b370eb23937dbe3f1a05d7df277373f662d6970237d34ae938cf282a0b8dbde9a47 + checksum: 10c0/8935cb69f70d7448aa5a3dcdfd188bdcfbc34e9a99131306947df8847126272773212011dcff85e10bcee4c9d01f94f7f8557ef93933122a0b82743185684ab1 languageName: node linkType: hard @@ -1306,46 +1306,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.5": - version: 2.0.5 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.5" +"@csstools/postcss-gamut-mapping@npm:^2.0.6": + version: 2.0.6 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/a9d7365bed5c323dddad06d53c137ef3508870e541c6275dbdf3a73a50d44437830c22fa62c510d9316441d1e9f3b5552730778d1b73d083422245673bd00dac + checksum: 10c0/8a3f012774ab261924cc9f3519caa87a25a6abcd70d78f622144d8e7126a687bddbdaa92995fc30f53355759cd5971e71ac099b6b8cb85c89d8ca86455588e3b languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.5": - version: 5.0.5 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.5" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.6": + version: 5.0.6 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0ef258478270005ab3a879132dc6dbf2bf80788c79861515c826607953c551df1c2ef7005ba9592c31c6dad332d12ee247928a9fdd1569a51927a18a75dcc865 + checksum: 10c0/0d97be76837f972ea323b58189ded2310b618ad94b40777464d0d8ac050b557ca9fd1f20af5ada105d61574cc9d8c119ae0daf294a3aacaaa89926f864d9d674 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-hwb-function@npm:4.0.5" +"@csstools/postcss-hwb-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-hwb-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/9ce0a66bf288c9ec7f1fc28323d56ec54d38a30cb2ab722d1afbd46ec070cc5e61121bacb503803cb00293fc5ed117269969ac21071d7f4ce94b385c96168445 + checksum: 10c0/e7bcc98095ef2873a7b1a7326f1618bbeecc1c78660b23805bbefd8ec067bf2f35f2a2d4675be51a02d2280046f36f74d55f6af78e3ce107b82624d1a421ffcf languageName: node linkType: hard @@ -1447,17 +1447,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-media-minmax@npm:2.0.4" +"@csstools/postcss-media-minmax@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-media-minmax@npm:2.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/media-query-list-parser": "npm:^4.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/f9fe1e99b83a0724250f9426335da6f13bfbc28be6d10ebfafbf037766fc5245240ec33be7e68c9c5b60c013fbc2fa0be96fbed0d41383c919ee9e6f1b8225ce + checksum: 10c0/0d17782076fcaba2c3c85bd769fc102d95809e9ee6141ad9de706ee116466cada62424fd68623c58cc2456771725291c356e550377ba73a102ab6fe628931e30 languageName: node linkType: hard @@ -1497,18 +1497,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.5": - version: 4.0.5 - resolution: "@csstools/postcss-oklab-function@npm:4.0.5" +"@csstools/postcss-oklab-function@npm:^4.0.6": + version: 4.0.6 + resolution: "@csstools/postcss-oklab-function@npm:4.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/a49e2ee60066f7da18316c7c80e5b2ced286ec962052f83c01f1952a1c5fe5b65ba9803a04698260125270a1dd47416f0b287a8f42e591f0d88c9a660ae844ce + checksum: 10c0/74ec74eb7171881deeff7a79e0dc696097fb53dcdcd9627d9559cd7be63f41adecec06c1e88ddd5d8a37f4705715d1c0c135ca2b001fb70fdc0b76ab1e491b66 languageName: node linkType: hard @@ -1523,18 +1523,31 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.5": - version: 3.0.5 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.5" +"@csstools/postcss-random-function@npm:^1.0.0": + version: 1.0.1 + resolution: "@csstools/postcss-random-function@npm:1.0.1" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/5e8f29c024aa6ed1f89ee8b9c8ece39c8e72602d63faa82d9684e3183828f01971cf2f760b7d5b773605d44a4ea661d6d4389ec03f7e21002f9aa9e8db613a61 + languageName: node + linkType: hard + +"@csstools/postcss-relative-color-syntax@npm:^3.0.6": + version: 3.0.6 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.6" + dependencies: + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/505da97e7b219095a9fb6fa0ad6c6a1358ce1f5debada00564e635e1aa11d034c588be9ce2f76263172a8d1bd07d90647fde826f4565de22dcfc0a76beb68ff1 + checksum: 10c0/207ae711831f8ae9170093dbea3727cd6f32ca31d22c1231b5b678592679eb49e329e87ea403714b8e10feb5b9137780364cc7e1e7d8cc4c90d47483a42132dc languageName: node linkType: hard @@ -1549,16 +1562,29 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.4" +"@csstools/postcss-sign-functions@npm:^1.0.0": + version: 1.0.0 + resolution: "@csstools/postcss-sign-functions@npm:1.0.0" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/c8413a855a5ee9ad5b800263545d24d1bbd815f5ae0693c7dfd10c5f5b47bae5a9d985efdb2c46b03194ed3cae39f3d82c3ccfde502dee0b35d620fa539906be + checksum: 10c0/ec745b2f1e714ffead43ade5964234dfc1750c3a71d2e29df862ab3f79ba4a1275187b270b4c226bbb1155bee8e9e63c35597b4f4cb3effaa632e5e07e422344 + languageName: node + linkType: hard + +"@csstools/postcss-stepped-value-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.5" + dependencies: + "@csstools/css-calc": "npm:^2.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + peerDependencies: + postcss: ^8.4 + checksum: 10c0/76f1f60c24b9e6a80b044eb19f37c1816788a2335fbf7c25f3fbea1cd7104857f424a451dcff60e4f8841618c6b6ffa6091f8b840d6d5930c1c7100c2f8ae74b languageName: node linkType: hard @@ -1574,16 +1600,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.4": - version: 4.0.4 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.4" +"@csstools/postcss-trigonometric-functions@npm:^4.0.5": + version: 4.0.5 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.5" dependencies: - "@csstools/css-calc": "npm:^2.0.4" + "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/344c07961d24894f315faebf43c0128167fb2e33964c70d0d39d99a051c045678511d7378959105d672c5286a5360fde28fe390cdebfe823f3949e3cd1d50c4e + checksum: 10c0/b8518c8b81da047448dcee12a5f3716dbc19671333387a4a673991a16f1a120441d2768de8a30ce1e2ef8d0d76509b9509f506ef1e8630da84834451414b23a3 languageName: node linkType: hard @@ -3158,10 +3184,10 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^8.1.2": - version: 8.1.2 - resolution: "cssdb@npm:8.1.2" - checksum: 10c0/056149e713a78921f56d9ef0cd734577cedb93c27966c3d0eab01956a2aa8d3c260a911766064b57ded8b4d9c55dd5275626cbb022ccd8d2d0b93b53fefd1603 +"cssdb@npm:^8.2.1": + version: 8.2.1 + resolution: "cssdb@npm:8.2.1" + checksum: 10c0/d27d7db0a39e1105181aac119a98d6c92cd5ceba2e8bd349cdf2ba4a8d9ead149b685a1dba9542ca24f094cc70eca4a3e02973fe1f74c11a373b508606e5e1c0 languageName: node linkType: hard @@ -4383,7 +4409,7 @@ __metadata: mini-css-extract-plugin: "npm:2.9.2" postcss: "npm:8.4.48" postcss-loader: "npm:8.1.1" - postcss-preset-env: "npm:10.0.9" + postcss-preset-env: "npm:10.1.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.80.6" @@ -5337,18 +5363,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-color-functional-notation@npm:7.0.5" +"postcss-color-functional-notation@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-color-functional-notation@npm:7.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/5e1771b8a43abd3cb18142842e8ac100b205f37a6757d6686da49e0c61ecf33d09244d256f3802962105e7ef79fbde2dffbfc1eedf1700198c54d2d5e48f3dc1 + checksum: 10c0/15f6dfc9a24d6f5186fb054623a92bcf9e804f4eaa35b339551a8048cdb0c7bd2e4655fdbb09a0c9a89f854e9fb1d71e298e8749597660ac034e79bd0d38d7dd languageName: node linkType: hard @@ -5559,18 +5585,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-lab-function@npm:7.0.5" +"postcss-lab-function@npm:^7.0.6": + version: 7.0.6 + resolution: "postcss-lab-function@npm:7.0.6" dependencies: - "@csstools/css-color-parser": "npm:^3.0.5" + "@csstools/css-color-parser": "npm:^3.0.6" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b688f6332ac12974452c97c5a40f4d0a604ce16b074124a1106add9cf9c25fbe7717d23423d6e92d937dc6e288e03e885b70e0793b96f41d28d2f7403bce7bf5 + checksum: 10c0/8b8d498dbc939ee79737b29232b39d09cbda26cc92e8926fb74fe56a1bb05af1198e85a67a822f39cc69109ac6757a6ff7b20842ba5ffafce891abc9bc1c3c68 languageName: node linkType: hard @@ -5887,19 +5913,19 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:10.0.9": - version: 10.0.9 - resolution: "postcss-preset-env@npm:10.0.9" +"postcss-preset-env@npm:10.1.0": + version: 10.1.0 + resolution: "postcss-preset-env@npm:10.1.0" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" - "@csstools/postcss-color-function": "npm:^4.0.5" - "@csstools/postcss-color-mix-function": "npm:^3.0.5" + "@csstools/postcss-color-function": "npm:^4.0.6" + "@csstools/postcss-color-mix-function": "npm:^3.0.6" "@csstools/postcss-content-alt-text": "npm:^2.0.4" - "@csstools/postcss-exponential-functions": "npm:^2.0.4" + "@csstools/postcss-exponential-functions": "npm:^2.0.5" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.5" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.5" - "@csstools/postcss-hwb-function": "npm:^4.0.5" + "@csstools/postcss-gamut-mapping": "npm:^2.0.6" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.6" + "@csstools/postcss-hwb-function": "npm:^4.0.6" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.1" @@ -5909,27 +5935,29 @@ __metadata: "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" "@csstools/postcss-logical-viewport-units": "npm:^3.0.3" - "@csstools/postcss-media-minmax": "npm:^2.0.4" + "@csstools/postcss-media-minmax": "npm:^2.0.5" "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.5" + "@csstools/postcss-oklab-function": "npm:^4.0.6" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.5" + "@csstools/postcss-random-function": "npm:^1.0.0" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.6" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.4" + "@csstools/postcss-sign-functions": "npm:^1.0.0" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.5" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.4" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.5" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" css-blank-pseudo: "npm:^7.0.1" css-has-pseudo: "npm:^7.0.1" css-prefers-color-scheme: "npm:^10.0.0" - cssdb: "npm:^8.1.2" + cssdb: "npm:^8.2.1" postcss-attribute-case-insensitive: "npm:^7.0.1" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.5" + postcss-color-functional-notation: "npm:^7.0.6" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" postcss-custom-media: "npm:^11.0.5" @@ -5942,7 +5970,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.5" + postcss-lab-function: "npm:^7.0.6" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.1" postcss-opacity-percentage: "npm:^3.0.0" @@ -5954,7 +5982,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/985ef4cfd2dd6a94d8a802db8e392c4b4c47ae0de8fd5224c60d8172cac3d7ce9011e63ab80470cddc77f21f09b2be850f97ac2478f651bc0a8956b538b079fe + checksum: 10c0/bd157dbed38c3c125b3bf86f5437a8094539ec5bf24428487c7bbf29da393731e48053afc695494cc9dbe4d182cfe405c398fcf0b22eb326b6db395e7315f892 languageName: node linkType: hard From 92436197ce1fa2b895082c39607b07fac7dada9d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 07:32:57 +0000 Subject: [PATCH 1112/1330] Update dependency postcss to v8.4.49 (#9977) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8c1af17b3924..6150d08623dd 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "globals": "15.12.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.9.2", - "postcss": "8.4.48", + "postcss": "8.4.49", "postcss-loader": "8.1.1", "postcss-preset-env": "10.1.0", "postcss-scss": "4.0.9", diff --git a/yarn.lock b/yarn.lock index 762381ea1d88..e17599d2f2f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4407,7 +4407,7 @@ __metadata: jquery: "npm:3.7.1" lodash: "npm:4.17.21" mini-css-extract-plugin: "npm:2.9.2" - postcss: "npm:8.4.48" + postcss: "npm:8.4.49" postcss-loader: "npm:8.1.1" postcss-preset-env: "npm:10.1.0" postcss-scss: "npm:4.0.9" @@ -6115,14 +6115,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.48, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": - version: 8.4.48 - resolution: "postcss@npm:8.4.48" +"postcss@npm:8.4.49, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" dependencies: nanoid: "npm:^3.3.7" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/d586361fda12fc7ab5650ce9b5763fc61d6ea2cecac9da98fceea6a3f27e42ed34db830582411bc06743492d9bb414c52b0c81da65440682d244d692da2f928a + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 languageName: node linkType: hard From 027bbb2fc65eeebbb8494cae842a58639ffa439a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 08:21:12 -0800 Subject: [PATCH 1113/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2353 (#9978) Co-authored-by: renovate[bot] <29139614+renovate[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 a81c2b636040..5bcc1583fd0c 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2351.v862801ec05f9 + 2353.ve3f890c6eea_f test From ab2ae8bf6bf86954f3bfa368ca99ffcd62ba4fd8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 08:21:35 -0800 Subject: [PATCH 1114/1330] Update dependency org.springframework:spring-framework-bom to v6.2.0 (#9976) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index b7e685a4658b..449e379d3778 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -62,7 +62,7 @@ THE SOFTWARE. org.springframework spring-framework-bom - 6.1.14 + 6.2.0 pom import From a1c8c83cf7fa58a1d0f4ca92b4e293601966d13e Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Fri, 15 Nov 2024 10:58:26 -0800 Subject: [PATCH 1115/1330] Register `OptionHandler`s through `META-INF/services/annotations` and Annotation Indexer rather than `META-INF/services` and Commons Discovery --- core/src/main/java/hudson/cli/CLICommand.java | 29 ++++++++----------- .../hudson/cli/declarative/CLIRegisterer.java | 1 - .../declarative/OptionHandlerExtension.java | 1 - .../handlers/AbstractItemOptionHandler.java | 6 ++-- .../AbstractProjectOptionHandler.java | 5 ++-- .../hudson/cli/handlers/JobOptionHandler.java | 5 ++-- .../cli/handlers/NodeOptionHandler.java | 4 +-- .../ParameterizedJobOptionHandler.java | 5 ++-- .../handlers/TopLevelItemOptionHandler.java | 5 ++-- .../cli/handlers/ViewOptionHandler.java | 4 +-- 10 files changed, 27 insertions(+), 38 deletions(-) diff --git a/core/src/main/java/hudson/cli/CLICommand.java b/core/src/main/java/hudson/cli/CLICommand.java index f2dc2f8b5fc3..ba7fd4250fdd 100644 --- a/core/src/main/java/hudson/cli/CLICommand.java +++ b/core/src/main/java/hudson/cli/CLICommand.java @@ -242,7 +242,6 @@ public int main(List args, Locale locale, InputStream stdin, PrintStream this.stdout = stdout; this.stderr = stderr; this.locale = locale; - registerOptionHandlers(); CmdLineParser p = getCmdLineParser(); // add options from the authenticator @@ -527,20 +526,6 @@ protected CLICommand createClone() { } } - /** - * Auto-discovers {@link OptionHandler}s and add them to the given command line parser. - */ - protected void registerOptionHandlers() { - try { - for (Class c : Index.list(OptionHandlerExtension.class, Jenkins.get().pluginManager.uberClassLoader, Class.class)) { - Type t = Types.getBaseClass(c, OptionHandler.class); - CmdLineParser.registerHandler(Types.erasure(Types.getTypeArgument(t, 0)), c); - } - } catch (IOException e) { - throw new Error(e); - } - } - /** * Returns all the registered {@link CLICommand}s. */ @@ -577,11 +562,21 @@ public static CLICommand getCurrent() { static { // register option handlers that are defined - ClassLoaders cls = new ClassLoaders(); Jenkins j = Jenkins.getInstanceOrNull(); if (j != null) { // only when running on the controller - cls.put(j.getPluginManager().uberClassLoader); + // Register OptionHandlers through META-INF/services/annotations and Annotation Indexer + try { + for (Class c : Index.list(OptionHandlerExtension.class, Jenkins.get().pluginManager.uberClassLoader, Class.class)) { + Type t = Types.getBaseClass(c, OptionHandler.class); + CmdLineParser.registerHandler(Types.erasure(Types.getTypeArgument(t, 0)), c); + } + } catch (IOException e) { + throw new UncheckedIOException(e); + } + // Register OptionHandlers through META-INF/services and Commons Discovery + ClassLoaders cls = new ClassLoaders(); + cls.put(j.getPluginManager().uberClassLoader); ResourceNameIterator servicesIter = new DiscoverServiceNames(cls).findResourceNames(OptionHandler.class.getName()); final ResourceClassIterator itr = diff --git a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java index f5d050174940..76b2c2612c15 100644 --- a/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java +++ b/core/src/main/java/hudson/cli/declarative/CLIRegisterer.java @@ -131,7 +131,6 @@ protected CmdLineParser getCmdLineParser() { private CmdLineParser bindMethod(List binders) { - registerOptionHandlers(); ParserProperties properties = ParserProperties.defaults().withAtSyntax(ALLOW_AT_SYNTAX); CmdLineParser parser = new CmdLineParser(null, properties); diff --git a/core/src/main/java/hudson/cli/declarative/OptionHandlerExtension.java b/core/src/main/java/hudson/cli/declarative/OptionHandlerExtension.java index f009038ed2ac..3972514bc46c 100644 --- a/core/src/main/java/hudson/cli/declarative/OptionHandlerExtension.java +++ b/core/src/main/java/hudson/cli/declarative/OptionHandlerExtension.java @@ -35,7 +35,6 @@ /** * {@link OptionHandler}s that should be auto-discovered. - * TODO is this actually necessary? {@code @MetaInfServices(OptionHandler.class)} seems to work as well. * @author Kohsuke Kawaguchi */ @Indexed diff --git a/core/src/main/java/hudson/cli/handlers/AbstractItemOptionHandler.java b/core/src/main/java/hudson/cli/handlers/AbstractItemOptionHandler.java index c99f3090799e..6919bd8a1ebc 100644 --- a/core/src/main/java/hudson/cli/handlers/AbstractItemOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/AbstractItemOptionHandler.java @@ -24,18 +24,18 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.AbstractItem; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; /** * Refers to an {@link AbstractItem} by name. * @since 1.538 */ -@MetaInfServices(OptionHandler.class) public class AbstractItemOptionHandler extends GenericItemOptionHandler { +@OptionHandlerExtension +public class AbstractItemOptionHandler extends GenericItemOptionHandler { public AbstractItemOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { super(parser, option, setter); diff --git a/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java b/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java index ab7402de65ae..0efd7fca54f8 100644 --- a/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java @@ -24,11 +24,10 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.AbstractProject; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; /** @@ -36,7 +35,7 @@ * * @author Kohsuke Kawaguchi */ -@MetaInfServices(OptionHandler.class) +@OptionHandlerExtension @SuppressWarnings("rawtypes") public class AbstractProjectOptionHandler extends GenericItemOptionHandler { public AbstractProjectOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { diff --git a/core/src/main/java/hudson/cli/handlers/JobOptionHandler.java b/core/src/main/java/hudson/cli/handlers/JobOptionHandler.java index 519293150341..e0141446cce1 100644 --- a/core/src/main/java/hudson/cli/handlers/JobOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/JobOptionHandler.java @@ -24,11 +24,10 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.Job; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; /** @@ -36,7 +35,7 @@ * * @author Kohsuke Kawaguchi */ -@MetaInfServices(OptionHandler.class) +@OptionHandlerExtension @SuppressWarnings("rawtypes") public class JobOptionHandler extends GenericItemOptionHandler { public JobOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { diff --git a/core/src/main/java/hudson/cli/handlers/NodeOptionHandler.java b/core/src/main/java/hudson/cli/handlers/NodeOptionHandler.java index 45bd0f4e679b..7e4d0367bd9e 100644 --- a/core/src/main/java/hudson/cli/handlers/NodeOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/NodeOptionHandler.java @@ -24,9 +24,9 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.Node; import jenkins.model.Jenkins; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; @@ -40,7 +40,7 @@ * @author ogondza * @since 1.526 */ -@MetaInfServices +@OptionHandlerExtension public class NodeOptionHandler extends OptionHandler { public NodeOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { diff --git a/core/src/main/java/hudson/cli/handlers/ParameterizedJobOptionHandler.java b/core/src/main/java/hudson/cli/handlers/ParameterizedJobOptionHandler.java index a37dbf1790f1..b75369070581 100644 --- a/core/src/main/java/hudson/cli/handlers/ParameterizedJobOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/ParameterizedJobOptionHandler.java @@ -24,20 +24,19 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import jenkins.model.ParameterizedJobMixIn; -import org.kohsuke.MetaInfServices; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; /** * Refer to {@link jenkins.model.ParameterizedJobMixIn.ParameterizedJob} by its name. */ @Restricted(DoNotUse.class) -@MetaInfServices(OptionHandler.class) +@OptionHandlerExtension @SuppressWarnings("rawtypes") public class ParameterizedJobOptionHandler extends GenericItemOptionHandler { diff --git a/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java b/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java index 97fdf4b8c5b6..93f1dd969ba1 100644 --- a/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java @@ -1,10 +1,9 @@ package hudson.cli.handlers; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.TopLevelItem; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; /** @@ -12,7 +11,7 @@ * * @author Kohsuke Kawaguchi */ -@MetaInfServices(OptionHandler.class) +@OptionHandlerExtension public class TopLevelItemOptionHandler extends GenericItemOptionHandler { public TopLevelItemOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { super(parser, option, setter); diff --git a/core/src/main/java/hudson/cli/handlers/ViewOptionHandler.java b/core/src/main/java/hudson/cli/handlers/ViewOptionHandler.java index 65656c15e33c..50101b284908 100644 --- a/core/src/main/java/hudson/cli/handlers/ViewOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/ViewOptionHandler.java @@ -25,11 +25,11 @@ package hudson.cli.handlers; import edu.umd.cs.findbugs.annotations.CheckForNull; +import hudson.cli.declarative.OptionHandlerExtension; import hudson.model.View; import hudson.model.ViewGroup; import java.util.StringTokenizer; import jenkins.model.Jenkins; -import org.kohsuke.MetaInfServices; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.OptionDef; @@ -58,7 +58,7 @@ * @author ogondza * @since 1.538 */ -@MetaInfServices +@OptionHandlerExtension public class ViewOptionHandler extends OptionHandler { public ViewOptionHandler(CmdLineParser parser, OptionDef option, Setter setter) { From b5eb33293b2eb375fee506a48b14e34d4f4044ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 18:26:59 -0800 Subject: [PATCH 1116/1330] Update dependency org.jvnet.hudson:commons-jelly-tags-define to v1.1-jenkins-20241115 (#9984) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 449e379d3778..291d193eb174 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -295,7 +295,7 @@ THE SOFTWARE. org.jvnet.hudson commons-jelly-tags-define - 1.1-jenkins-20240903 + 1.1-jenkins-20241115 org.jvnet.localizer From 6466ae2b7a5c2b4231e270bc6715f5facd057782 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 18:51:13 -0800 Subject: [PATCH 1117/1330] Update dependency sass to v1.80.7 (#9985) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 6150d08623dd..7bc5f996cee0 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.1.0", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.6", + "sass": "1.80.7", "sass-loader": "16.0.3", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index e17599d2f2f9..6f1e8585e2ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4164,10 +4164,10 @@ __metadata: languageName: node linkType: hard -"immutable@npm:^4.0.0": - version: 4.3.7 - resolution: "immutable@npm:4.3.7" - checksum: 10c0/9b099197081b22f6433003e34929da8ecddbbdc1474cdc8aa3b7669dee4adda349c06143de22def36016d1b6de5322b043eccd7a11db1dad2ca85dad4fff5435 +"immutable@npm:^5.0.2": + version: 5.0.2 + resolution: "immutable@npm:5.0.2" + checksum: 10c0/0d97ad95384e49563b6ed68f90e5ea83c149fd96ff417fae8274e1c524e3ef800eb1a2e8009e29d9b8ffdf63affd7692f87c8af72714181aad8dca88747fb5ac languageName: node linkType: hard @@ -4412,7 +4412,7 @@ __metadata: postcss-preset-env: "npm:10.1.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.6" + sass: "npm:1.80.7" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6401,20 +6401,20 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.6": - version: 1.80.6 - resolution: "sass@npm:1.80.6" +"sass@npm:1.80.7": + version: 1.80.7 + resolution: "sass@npm:1.80.7" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" - immutable: "npm:^4.0.0" + immutable: "npm:^5.0.2" source-map-js: "npm:>=0.6.2 <2.0.0" dependenciesMeta: "@parcel/watcher": optional: true bin: sass: sass.js - checksum: 10c0/04ce40d4dcf06cf2a94a66c1cc4fd4a9eb4033fd039291acd0be9d1d4123860da568c5cbef9de8493ffbedd8acae1cd0b8346f5da21c6f7cf0ffd3477730beca + checksum: 10c0/e0e0df8dc9dd7694826f915196a96cda45fe0fc849be9fc08b43c12aa1250eb512130979ed239e1106476973ace1f52abbcc1d5900a075d3813c282a626dcbf7 languageName: node linkType: hard From 7341b7a4faa79304c251031dadcef715a983d6d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 11:31:51 -0800 Subject: [PATCH 1118/1330] Update stapler.version to v1927 (major) (#9987) Update stapler.version to v1927 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 291d193eb174..bf498077c163 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 2.0.0-M2 - 1922.v3f3302a_7f16f + 1927.vca_a_9061b_2f28 2.4.21 From 291c548d7f90101e5bb0890da0575b54e7794f38 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 11:32:16 -0800 Subject: [PATCH 1119/1330] Update dependency org.jenkins-ci.plugins:cloudbees-folder to v6.959.v4ed5cc9e2dd4 (#9988) Co-authored-by: renovate[bot] <29139614+renovate[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 5bcc1583fd0c..b7885dcd142e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -218,7 +218,7 @@ THE SOFTWARE. org.jenkins-ci.plugins cloudbees-folder - 6.955.v81e2a_35c08d3 + 6.959.v4ed5cc9e2dd4 test From 9410768dfc30d51612ee87292dd39fb858c7e8c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 11:32:42 -0800 Subject: [PATCH 1120/1330] Bump cross-spawn from 7.0.3 to 7.0.5 (#9986) Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5. - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6f1e8585e2ee..7f5ce0a8ad02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3022,13 +3022,13 @@ __metadata: linkType: hard "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" + version: 7.0.5 + resolution: "cross-spawn@npm:7.0.5" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/aa82ce7ac0814a27e6f2b738c5a7cf1fa21a3558a1e42df449fc96541ba3ba731e4d3ecffa4435348808a86212f287c6f20a1ee551ef1ff95d01cfec5f434944 languageName: node linkType: hard From 530b0abd38cc29db8737c445775ad0d608434564 Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Sat, 16 Nov 2024 21:50:07 +0100 Subject: [PATCH 1121/1330] [JENKINS-73908] Do not show button to upgrade to SystemRead users (#9981) Co-authored-by: Daniel Beck --- .../UpdateCenter/CoreUpdateMonitor/message.jelly | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/message.jelly b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/message.jelly index f11ee8837cdd..efaa6159136e 100644 --- a/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/message.jelly +++ b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/message.jelly @@ -53,11 +53,13 @@ THE SOFTWARE. ${%NewVersionAvailable(ucData.core.version,ucData.core.url,changelog_url)} - - - - - + + +

    + + + +
    From ca121359ec63cb54f0dc9ce1abb25b05a9c1c83a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 20:50:47 +0000 Subject: [PATCH 1122/1330] Fill in since annotations (#9974) Co-authored-by: timja <21194782+timja@users.noreply.github.com> --- .../src/main/java/jenkins/agents/ControllerToAgentCallable.java | 2 +- .../main/java/jenkins/agents/ControllerToAgentFileCallable.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java b/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java index b724da77f6a2..edf057656569 100644 --- a/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java +++ b/core/src/main/java/jenkins/agents/ControllerToAgentCallable.java @@ -37,7 +37,7 @@ * newer than {@link RemotingVersionInfo#getMinimumSupportedVersion}. * (Core and plugin APIs will be identical to those run inside the controller.) * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist - * @since TODO + * @since 2.485 */ public interface ControllerToAgentCallable extends Callable { diff --git a/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java b/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java index 22904e0c2e43..bd7f7a86c36d 100644 --- a/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java +++ b/core/src/main/java/jenkins/agents/ControllerToAgentFileCallable.java @@ -32,7 +32,7 @@ * {@link FilePath.FileCallable} meant to be serialized then run on an agent. * Like {@link ControllerToAgentCallable} this will typically be a {@link Record}. * @param the return type; note that this must either be defined in your plugin or included in the stock JEP-200 whitelist - * @since TODO + * @since 2.485 */ public interface ControllerToAgentFileCallable extends FilePath.FileCallable { From 2cd68bc9072ed5cd4b7b5557992ebc062423e92a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:58:18 -0800 Subject: [PATCH 1123/1330] Bump @eslint/plugin-kit from 0.2.0 to 0.2.3 (#9982) Bumps [@eslint/plugin-kit](https://github.com/eslint/rewrite) from 0.2.0 to 0.2.3. - [Release notes](https://github.com/eslint/rewrite/releases) - [Changelog](https://github.com/eslint/rewrite/blob/main/release-please-config.json) - [Commits](https://github.com/eslint/rewrite/compare/core-v0.2.0...plugin-kit-v0.2.3) --- updated-dependencies: - dependency-name: "@eslint/plugin-kit" dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7f5ce0a8ad02..a512ae8a1fdf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1740,11 +1740,11 @@ __metadata: linkType: hard "@eslint/plugin-kit@npm:^0.2.0": - version: 0.2.0 - resolution: "@eslint/plugin-kit@npm:0.2.0" + version: 0.2.3 + resolution: "@eslint/plugin-kit@npm:0.2.3" dependencies: levn: "npm:^0.4.1" - checksum: 10c0/00b92bc52ad09b0e2bbbb30591c02a895f0bec3376759562590e8a57a13d096b22f8c8773b6bf791a7cf2ea614123b3d592fd006c51ac5fd0edbb90ea6d8760c + checksum: 10c0/89a8035976bb1780e3fa8ffe682df013bd25f7d102d991cecd3b7c297f4ce8c1a1b6805e76dd16465b5353455b670b545eff2b4ec3133e0eab81a5f9e99bd90f languageName: node linkType: hard From 73caccce052f21c94e55a7104cf3315e7cbf33c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 17:55:06 -0800 Subject: [PATCH 1124/1330] Update eslint monorepo to v9.15.0 (#9989) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- yarn.lock | 78 +++++++++++++++++++++++----------------------------- 2 files changed, 37 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 7bc5f996cee0..f7efdf47022a 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ "@babel/cli": "7.25.9", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", - "@eslint/js": "9.14.0", + "@eslint/js": "9.15.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.0", - "eslint": "9.14.0", + "eslint": "9.15.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", "globals": "15.12.0", diff --git a/yarn.lock b/yarn.lock index a512ae8a1fdf..7dd9a3380020 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1690,27 +1690,27 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.18.0": - version: 0.18.0 - resolution: "@eslint/config-array@npm:0.18.0" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.0 + resolution: "@eslint/config-array@npm:0.19.0" dependencies: "@eslint/object-schema": "npm:^2.1.4" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10c0/0234aeb3e6b052ad2402a647d0b4f8a6aa71524bafe1adad0b8db1dfe94d7f5f26d67c80f79bb37ac61361a1d4b14bb8fb475efe501de37263cf55eabb79868f + checksum: 10c0/def23c6c67a8f98dc88f1b87e17a5668e5028f5ab9459661aabfe08e08f2acd557474bbaf9ba227be0921ae4db232c62773dbb7739815f8415678eb8f592dbf5 languageName: node linkType: hard -"@eslint/core@npm:^0.7.0": - version: 0.7.0 - resolution: "@eslint/core@npm:0.7.0" - checksum: 10c0/3cdee8bc6cbb96ac6103d3ead42e59830019435839583c9eb352b94ed558bd78e7ffad5286dc710df21ec1e7bd8f52aa6574c62457a4dd0f01f3736fa4a7d87a +"@eslint/core@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/core@npm:0.9.0" + checksum: 10c0/6d8e8e0991cef12314c49425d8d2d9394f5fb1a36753ff82df7c03185a4646cb7c8736cf26638a4a714782cedf4b23cfc17667d282d3e5965b3920a0e7ce20d4 languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.1.0": - version: 3.1.0 - resolution: "@eslint/eslintrc@npm:3.1.0" +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -1721,14 +1721,14 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167 + checksum: 10c0/43867a07ff9884d895d9855edba41acf325ef7664a8df41d957135a81a477ff4df4196f5f74dc3382627e5cc8b7ad6b815c2cea1b58f04a75aced7c43414ab8b languageName: node linkType: hard -"@eslint/js@npm:9.14.0": - version: 9.14.0 - resolution: "@eslint/js@npm:9.14.0" - checksum: 10c0/a423dd435e10aa3b461599aa02f6cbadd4b5128cb122467ee4e2c798e7ca4f9bb1fce4dcea003b29b983090238cf120899c1af657cf86300b399e4f996b83ddc +"@eslint/js@npm:9.15.0": + version: 9.15.0 + resolution: "@eslint/js@npm:9.15.0" + checksum: 10c0/56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab languageName: node linkType: hard @@ -1739,7 +1739,7 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.0": +"@eslint/plugin-kit@npm:^0.2.3": version: 0.2.3 resolution: "@eslint/plugin-kit@npm:0.2.3" dependencies: @@ -1779,10 +1779,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.4.0": - version: 0.4.0 - resolution: "@humanwhocodes/retry@npm:0.4.0" - checksum: 10c0/28dcf1ed70b28ae8bc07b268c457a02f6b53fe4591b73e31f6735e7673dfd9e662f24a69e065aada1a64311bf5692d93d4ef35aba849314e8a87a870ba3b47aa +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10c0/be7bb6841c4c01d0b767d9bb1ec1c9359ee61421ce8ba66c249d035c5acdfd080f32d55a5c9e859cdd7868788b8935774f65b2caf24ec0b7bd7bf333791f063b languageName: node linkType: hard @@ -3021,7 +3021,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": version: 7.0.5 resolution: "cross-spawn@npm:7.0.5" dependencies: @@ -3526,25 +3526,25 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.14.0": - version: 9.14.0 - resolution: "eslint@npm:9.14.0" +"eslint@npm:9.15.0": + version: 9.15.0 + resolution: "eslint@npm:9.15.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.18.0" - "@eslint/core": "npm:^0.7.0" - "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.14.0" - "@eslint/plugin-kit": "npm:^0.2.0" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.15.0" + "@eslint/plugin-kit": "npm:^0.2.3" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.0" + "@humanwhocodes/retry": "npm:^0.4.1" "@types/estree": "npm:^1.0.6" "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.5" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" eslint-scope: "npm:^8.2.0" @@ -3564,7 +3564,6 @@ __metadata: minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - text-table: "npm:^0.2.0" peerDependencies: jiti: "*" peerDependenciesMeta: @@ -3572,7 +3571,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/e1cbf571b75519ad0b24c27e66a6575e57cab2671ef5296e7b345d9ac3adc1a549118dcc74a05b651a7a13a5e61ebb680be6a3e04a80e1f22eba1931921b5187 + checksum: 10c0/d0d7606f36bfcccb1c3703d0a24df32067b207a616f17efe5fb1765a91d13f085afffc4fc97ecde4ab9c9f4edd64d9b4ce750e13ff7937a25074b24bee15b20f languageName: node linkType: hard @@ -4392,12 +4391,12 @@ __metadata: "@babel/cli": "npm:7.25.9" "@babel/core": "npm:7.26.0" "@babel/preset-env": "npm:7.26.0" - "@eslint/js": "npm:9.14.0" + "@eslint/js": "npm:9.15.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:7.1.2" css-minimizer-webpack-plugin: "npm:7.0.0" - eslint: "npm:9.14.0" + eslint: "npm:9.15.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" globals: "npm:15.12.0" @@ -6893,13 +6892,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - "tippy.js@npm:6.3.7": version: 6.3.7 resolution: "tippy.js@npm:6.3.7" From c3d99d8c9fd13b9b4e8090190928ead5272468f7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 16 Nov 2024 21:17:48 -0800 Subject: [PATCH 1125/1330] Update dependency sass to v1.81.0 (#9990) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f7efdf47022a..26ab29c11b8c 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.1.0", "postcss-scss": "4.0.9", "prettier": "3.3.3", - "sass": "1.80.7", + "sass": "1.81.0", "sass-loader": "16.0.3", "style-loader": "4.0.0", "stylelint": "16.10.0", diff --git a/yarn.lock b/yarn.lock index 7dd9a3380020..89b375f73c82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4411,7 +4411,7 @@ __metadata: postcss-preset-env: "npm:10.1.0" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" - sass: "npm:1.80.7" + sass: "npm:1.81.0" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.3" style-loader: "npm:4.0.0" @@ -6400,9 +6400,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.80.7": - version: 1.80.7 - resolution: "sass@npm:1.80.7" +"sass@npm:1.81.0": + version: 1.81.0 + resolution: "sass@npm:1.81.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6413,7 +6413,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/e0e0df8dc9dd7694826f915196a96cda45fe0fc849be9fc08b43c12aa1250eb512130979ed239e1106476973ace1f52abbcc1d5900a075d3813c282a626dcbf7 + checksum: 10c0/9c59b3c9b4231c18fcb4583cc232dbc4de501ddc11101b7a025e44833e3f3ce6031546dc1cd109ee9f04ebcfb1fe30ff870810af33b8feb9aa9e36dfba9ec1ef languageName: node linkType: hard From deb2a8d896322ba31183ff9921d9f3898a66ca55 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:07:18 -0800 Subject: [PATCH 1126/1330] Update dependency postcss-preset-env to v10.1.1 (#9991) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 26ab29c11b8c..36570c241b79 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.49", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.1.0", + "postcss-preset-env": "10.1.1", "postcss-scss": "4.0.9", "prettier": "3.3.3", "sass": "1.81.0", diff --git a/yarn.lock b/yarn.lock index 89b375f73c82..da39cebd7125 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1523,7 +1523,7 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-random-function@npm:^1.0.0": +"@csstools/postcss-random-function@npm:^1.0.1": version: 1.0.1 resolution: "@csstools/postcss-random-function@npm:1.0.1" dependencies: @@ -1562,16 +1562,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-sign-functions@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-sign-functions@npm:1.0.0" +"@csstools/postcss-sign-functions@npm:^1.1.0": + version: 1.1.0 + resolution: "@csstools/postcss-sign-functions@npm:1.1.0" dependencies: "@csstools/css-calc": "npm:^2.1.0" "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" peerDependencies: postcss: ^8.4 - checksum: 10c0/ec745b2f1e714ffead43ade5964234dfc1750c3a71d2e29df862ab3f79ba4a1275187b270b4c226bbb1155bee8e9e63c35597b4f4cb3effaa632e5e07e422344 + checksum: 10c0/503bbaa8fe1d1a619880d5d6b838f07f1898a5820889e5db3c4e02bb8b340dab18b88f439f9f1da44c6669bab2d4ba3f9543643ccc459d8a21191c5d22109c9b languageName: node linkType: hard @@ -4408,7 +4408,7 @@ __metadata: mini-css-extract-plugin: "npm:2.9.2" postcss: "npm:8.4.49" postcss-loader: "npm:8.1.1" - postcss-preset-env: "npm:10.1.0" + postcss-preset-env: "npm:10.1.1" postcss-scss: "npm:4.0.9" prettier: "npm:3.3.3" sass: "npm:1.81.0" @@ -5912,9 +5912,9 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:10.1.0": - version: 10.1.0 - resolution: "postcss-preset-env@npm:10.1.0" +"postcss-preset-env@npm:10.1.1": + version: 10.1.1 + resolution: "postcss-preset-env@npm:10.1.1" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.1" "@csstools/postcss-color-function": "npm:^4.0.6" @@ -5940,10 +5940,10 @@ __metadata: "@csstools/postcss-normalize-display-values": "npm:^4.0.0" "@csstools/postcss-oklab-function": "npm:^4.0.6" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-random-function": "npm:^1.0.0" + "@csstools/postcss-random-function": "npm:^1.0.1" "@csstools/postcss-relative-color-syntax": "npm:^3.0.6" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1" - "@csstools/postcss-sign-functions": "npm:^1.0.0" + "@csstools/postcss-sign-functions": "npm:^1.1.0" "@csstools/postcss-stepped-value-functions": "npm:^4.0.5" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" "@csstools/postcss-trigonometric-functions": "npm:^4.0.5" @@ -5981,7 +5981,7 @@ __metadata: postcss-selector-not: "npm:^8.0.1" peerDependencies: postcss: ^8.4 - checksum: 10c0/bd157dbed38c3c125b3bf86f5437a8094539ec5bf24428487c7bbf29da393731e48053afc695494cc9dbe4d182cfe405c398fcf0b22eb326b6db395e7315f892 + checksum: 10c0/99931117735a66827c7318be023ddb614990457617ccbe7fd2fdc1f10345554652df180d4842768d68d57e14fc0be4d86d0b413c65e77e02db5511e57ed07c4f languageName: node linkType: hard From 1245514c15ec6959d3a2445f38cd2de6dc591b10 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 19 Nov 2024 13:49:45 +0000 Subject: [PATCH 1127/1330] [maven-release-plugin] prepare release jenkins-2.486 --- 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/jetty12-ee9/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 bf498077c163..a0821ad557d6 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..949762c007c8 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..1f1b673f0197 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..90770bc5a870 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 jenkins-coverage diff --git a/pom.xml b/pom.xml index 20c5abc8dbf8..1a359b36b0cd 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 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.486 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.486 -SNAPSHOT - 2024-11-12T13:58:29Z + 2024-11-19T10:33:45Z github diff --git a/test/pom.xml b/test/pom.xml index b7885dcd142e..ac4f3677004b 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 43af909f06e2..c43e83fcb1dc 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..d4f57eaa279b 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.486 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..d459c8a16266 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.486 ../.. From b8e5141a9e69318d908982eaecdfea798010f954 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 19 Nov 2024 13:50:32 +0000 Subject: [PATCH 1128/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index a0821ad557d6..bf498077c163 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 949762c007c8..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 1f1b673f0197..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 90770bc5a870..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 1a359b36b0cd..b8c1adb1f89f 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${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.486 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.486 + 2.487 -SNAPSHOT - 2024-11-19T10:33:45Z + 2024-11-19T13:49:45Z github diff --git a/test/pom.xml b/test/pom.xml index ac4f3677004b..b7885dcd142e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index c43e83fcb1dc..43af909f06e2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index d4f57eaa279b..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index d459c8a16266..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.486 + ${revision}${changelist} ../.. From 17ffc46ff8dcc51b3b6bf5b3b869e7eb05ad16af Mon Sep 17 00:00:00 2001 From: Daniel Beck Date: Tue, 19 Nov 2024 14:21:06 +0000 Subject: [PATCH 1129/1330] [SECURITY-3463] --- bom/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index bf498077c163..9413a5957ef0 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -39,7 +39,7 @@ THE SOFTWARE. 2.0.0-M2 - 1927.vca_a_9061b_2f28 + 1928.v9115fe47607f 2.4.21 @@ -335,7 +335,7 @@ THE SOFTWARE. org.kohsuke.stapler json-lib - 2.4-jenkins-7 + 2.4-jenkins-8 org.kohsuke.stapler From 93d34e3a945a894bd4c3878902f3c545f2dc0034 Mon Sep 17 00:00:00 2001 From: Tejas Date: Wed, 20 Nov 2024 11:48:04 +0530 Subject: [PATCH 1130/1330] BEE-51743 | Added validation for Password length in FIPS mode --- .../security/HudsonPrivateSecurityRealm.java | 6 +++ .../HudsonPrivateSecurityRealmFIPSTest.java | 49 +++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index 1a6ebe66f749..67ebee9b4803 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -839,6 +839,12 @@ public Details newInstance(StaplerRequest2 req, JSONObject formData) throws Form throw new FormException("Please confirm the password by typing it twice", "user.password2"); } + if (FIPS140.useCompliantAlgorithms()) { + if (pwd.length()< FIPS_PASSWORD_LENGTH || pwd2.length() < FIPS_PASSWORD_LENGTH) { + throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); + } + } + // will be null if it wasn't encrypted String data = Protector.unprotect(pwd); String data2 = Protector.unprotect(pwd2); diff --git a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java index ab1352807117..a5ee93c8cd32 100644 --- a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java +++ b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java @@ -30,9 +30,12 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertThrows; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import hudson.logging.LogRecorder; import hudson.logging.LogRecorderManager; +import hudson.model.Descriptor; import hudson.model.User; import hudson.security.HudsonPrivateSecurityRealm.Details; import java.lang.reflect.Method; @@ -49,6 +52,7 @@ import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.JenkinsRule.WebClient; import org.jvnet.hudson.test.RealJenkinsRule; +import org.kohsuke.stapler.StaplerRequest2; @For(HudsonPrivateSecurityRealm.class) @@ -149,6 +153,51 @@ private static void userCreationWithJBCryptPasswordsStep(JenkinsRule j) throws E is("The hashed password was hashed with an incorrect algorithm. Jenkins is expecting $PBKDF2")); } + + @Test + public void passwordLengthValidationForFIPS() throws Throwable { + rjr.then(HudsonPrivateSecurityRealmFIPSTest::passwordLengthValidationForFIPSStep); + } + + private static void passwordLengthValidationForFIPSStep(JenkinsRule j) { + + // Mocking the StaplerRequest2 + StaplerRequest2 req = mock(StaplerRequest2.class); + when(req.getParameter("user.password")).thenReturn("MockPassword"); + when(req.getParameter("user.password2")).thenReturn("MockPassword"); + + + Details.DescriptorImpl descriptor = new Details.DescriptorImpl(); + + // FormException should be thrown due to short password length (<14) under FIPS compliance + Descriptor.FormException formException = assertThrows(Descriptor.FormException.class, () -> { + descriptor.newInstance(req, null); + }); + assertThat(formException.getMessage(), is(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid())); + } + + @Test + public void passwordValidationForFIPS() throws Throwable { + rjr.then(HudsonPrivateSecurityRealmFIPSTest::passwordValidationForFIPSStep); + } + + private static void passwordValidationForFIPSStep(JenkinsRule j) { + + // Mocking the StaplerRequest2 + StaplerRequest2 req = mock(StaplerRequest2.class); + when(req.getParameter("user.password")).thenReturn("14charPassword"); + when(req.getParameter("user.password2")).thenReturn("14charPa$$word"); + + + Details.DescriptorImpl descriptor = new Details.DescriptorImpl(); + + // FormException should be thrown due to different passwords(although they are of correct length[>=14] under FIPS compliance) + Descriptor.FormException formException = assertThrows(Descriptor.FormException.class, () -> { + descriptor.newInstance(req, null); + }); + assertThat(formException.getMessage(), is("Please confirm the password by typing it twice")); + } + private static Matcher incorrectHashingLogEntry() { return Matchers.hasProperty("message", is("A password appears to be stored (or is attempting to be stored) that was created with a different hashing/encryption algorithm, check the FIPS-140 state of the system has not changed inadvertently")); From afe7d250b80336c1340b69b288d50d9d906d7e8c Mon Sep 17 00:00:00 2001 From: Tejas Date: Wed, 20 Nov 2024 18:03:49 +0530 Subject: [PATCH 1131/1330] BEE-51743 | Resolved comments --- .../security/HudsonPrivateSecurityRealm.java | 2 +- .../HudsonPrivateSecurityRealmFIPSTest.java | 99 ++++++++++++------- 2 files changed, 66 insertions(+), 35 deletions(-) diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index 67ebee9b4803..480e1b43b682 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -840,7 +840,7 @@ public Details newInstance(StaplerRequest2 req, JSONObject formData) throws Form } if (FIPS140.useCompliantAlgorithms()) { - if (pwd.length()< FIPS_PASSWORD_LENGTH || pwd2.length() < FIPS_PASSWORD_LENGTH) { + if (pwd.length()< FIPS_PASSWORD_LENGTH) { throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); } } diff --git a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java index a5ee93c8cd32..a05a0ca76bce 100644 --- a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java +++ b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java @@ -25,17 +25,10 @@ package hudson.security; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.hasItem; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; -import static org.hamcrest.Matchers.startsWith; +import static org.hamcrest.Matchers.*; import static org.junit.Assert.assertThrows; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - import hudson.logging.LogRecorder; import hudson.logging.LogRecorderManager; -import hudson.model.Descriptor; import hudson.model.User; import hudson.security.HudsonPrivateSecurityRealm.Details; import java.lang.reflect.Method; @@ -46,13 +39,15 @@ import org.hamcrest.Matcher; import org.hamcrest.Matchers; import org.htmlunit.FailingHttpStatusCodeException; +import org.htmlunit.html.HtmlForm; +import org.htmlunit.html.HtmlPage; +import org.htmlunit.html.HtmlPasswordInput; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.For; import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.JenkinsRule.WebClient; import org.jvnet.hudson.test.RealJenkinsRule; -import org.kohsuke.stapler.StaplerRequest2; @For(HudsonPrivateSecurityRealm.class) @@ -153,49 +148,85 @@ private static void userCreationWithJBCryptPasswordsStep(JenkinsRule j) throws E is("The hashed password was hashed with an incorrect algorithm. Jenkins is expecting $PBKDF2")); } - @Test - public void passwordLengthValidationForFIPS() throws Throwable { - rjr.then(HudsonPrivateSecurityRealmFIPSTest::passwordLengthValidationForFIPSStep); + public void validatePasswordLengthForFIPS() throws Throwable { + rjr.then(HudsonPrivateSecurityRealmFIPSTest::validatePasswordLengthForFIPSStep); } - private static void passwordLengthValidationForFIPSStep(JenkinsRule j) { + private static void validatePasswordLengthForFIPSStep(JenkinsRule j) throws Exception { + HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); + j.jenkins.setSecurityRealm(securityRealm); - // Mocking the StaplerRequest2 - StaplerRequest2 req = mock(StaplerRequest2.class); - when(req.getParameter("user.password")).thenReturn("MockPassword"); - when(req.getParameter("user.password2")).thenReturn("MockPassword"); + User u1 = securityRealm.createAccount("test", "password"); + WebClient wc = j.createWebClient(); + wc.login("test","password"); - Details.DescriptorImpl descriptor = new Details.DescriptorImpl(); + HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); + HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); + HtmlPasswordInput password2 = configurePage.getElementByName("user.password2"); + //Should fail as the password length is <14 (In FIPS mode) + password1.setText("mockPassword"); + password2.setText("mockPassword"); - // FormException should be thrown due to short password length (<14) under FIPS compliance - Descriptor.FormException formException = assertThrows(Descriptor.FormException.class, () -> { - descriptor.newInstance(req, null); + HtmlForm form = configurePage.getFormByName("config"); + assertThrows(FailingHttpStatusCodeException.class, () -> { + j.submit(form); }); - assertThat(formException.getMessage(), is(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid())); } @Test - public void passwordValidationForFIPS() throws Throwable { - rjr.then(HudsonPrivateSecurityRealmFIPSTest::passwordValidationForFIPSStep); + public void validatePasswordMismatchForFIPS() throws Throwable { + rjr.then(HudsonPrivateSecurityRealmFIPSTest::validatePasswordMismatchForFIPSStep); } - private static void passwordValidationForFIPSStep(JenkinsRule j) { + private static void validatePasswordMismatchForFIPSStep(JenkinsRule j) throws Exception { + HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); + j.jenkins.setSecurityRealm(securityRealm); + + User u1 = securityRealm.createAccount("test", "password"); - // Mocking the StaplerRequest2 - StaplerRequest2 req = mock(StaplerRequest2.class); - when(req.getParameter("user.password")).thenReturn("14charPassword"); - when(req.getParameter("user.password2")).thenReturn("14charPa$$word"); + WebClient wc = j.createWebClient(); + wc.login("test","password"); - Details.DescriptorImpl descriptor = new Details.DescriptorImpl(); + HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); + HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); + HtmlPasswordInput password2 = configurePage.getElementByName("user.password2"); + //should fail as the passwords are different (even though the password length >=14) In FIPS mode + password1.setText("14charPassword"); + password2.setText("14charPa$$word"); - // FormException should be thrown due to different passwords(although they are of correct length[>=14] under FIPS compliance) - Descriptor.FormException formException = assertThrows(Descriptor.FormException.class, () -> { - descriptor.newInstance(req, null); + HtmlForm form = configurePage.getFormByName("config"); + assertThrows(FailingHttpStatusCodeException.class, () -> { + j.submit(form); }); - assertThat(formException.getMessage(), is("Please confirm the password by typing it twice")); + } + + @Test + public void validatePasswordSuccessForFIPS() throws Throwable { + rjr.then(HudsonPrivateSecurityRealmFIPSTest::validatePasswordSuccessForFIPSStep); + } + + private static void validatePasswordSuccessForFIPSStep(JenkinsRule j) throws Exception { + HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); + j.jenkins.setSecurityRealm(securityRealm); + + User u1 = securityRealm.createAccount("test", "password"); + + WebClient wc = j.createWebClient(); + wc.login("test","password"); + + HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); + HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); + HtmlPasswordInput password2 = configurePage.getElementByName("user.password2"); + //should pass as the passwords are same and length >=14 In FIPS mode. + password1.setText("14charPassword"); + password2.setText("14charPassword"); + + HtmlForm form = configurePage.getFormByName("config"); + HtmlPage success = j.submit(form); + assertThat(success.getWebResponse().getStatusCode(), is(200)); } private static Matcher incorrectHashingLogEntry() { From 7cfca7066ed2f505ebfb95423df12e139b1763c0 Mon Sep 17 00:00:00 2001 From: Tejas Date: Wed, 20 Nov 2024 21:49:20 +0530 Subject: [PATCH 1132/1330] [JENKINS-74858] resolved some comments --- .../java/hudson/security/HudsonPrivateSecurityRealm.java | 6 ++---- .../hudson/security/HudsonPrivateSecurityRealmFIPSTest.java | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index 480e1b43b682..796163f0c19d 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -839,10 +839,8 @@ public Details newInstance(StaplerRequest2 req, JSONObject formData) throws Form throw new FormException("Please confirm the password by typing it twice", "user.password2"); } - if (FIPS140.useCompliantAlgorithms()) { - if (pwd.length()< FIPS_PASSWORD_LENGTH) { - throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); - } + if (FIPS140.useCompliantAlgorithms() && pwd.length()< FIPS_PASSWORD_LENGTH) { + throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); } // will be null if it wasn't encrypted diff --git a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java index a05a0ca76bce..3a69da803cab 100644 --- a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java +++ b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java @@ -25,8 +25,12 @@ package hudson.security; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.hasItem; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertThrows; + import hudson.logging.LogRecorder; import hudson.logging.LogRecorderManager; import hudson.model.User; From 0cf9e31385ecec50fc5a68027efe05145a84c633 Mon Sep 17 00:00:00 2001 From: Tejas Date: Mon, 25 Nov 2024 17:42:16 +0530 Subject: [PATCH 1133/1330] [JENKINS-74858] | Resolved some comments --- .../main/java/hudson/security/HudsonPrivateSecurityRealm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index 796163f0c19d..cf9934d22647 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -839,7 +839,7 @@ public Details newInstance(StaplerRequest2 req, JSONObject formData) throws Form throw new FormException("Please confirm the password by typing it twice", "user.password2"); } - if (FIPS140.useCompliantAlgorithms() && pwd.length()< FIPS_PASSWORD_LENGTH) { + if (FIPS140.useCompliantAlgorithms() && pwd.length() < FIPS_PASSWORD_LENGTH) { throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); } From 37069bd17d167e292915e2308ea6cf39c8e16c00 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 25 Nov 2024 19:14:51 +0000 Subject: [PATCH 1134/1330] [maven-release-plugin] prepare release jenkins-2.487 --- 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/jetty12-ee9/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 9413a5957ef0..a8c15eadf1f7 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..c3ad0273593a 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..f7eea7349dfa 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..f17cf2b79189 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 jenkins-coverage diff --git a/pom.xml b/pom.xml index b8c1adb1f89f..6500cdf0130f 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 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.487 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.487 -SNAPSHOT - 2024-11-19T13:49:45Z + 2024-11-25T15:52:13Z github diff --git a/test/pom.xml b/test/pom.xml index b7885dcd142e..5151a2049ed5 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 43af909f06e2..27633f8fd1d1 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..df8d2f941429 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.487 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..43ec40b62144 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.487 ../.. From d092094d686bd6282025313b1df9e70e79876673 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 25 Nov 2024 19:15:28 +0000 Subject: [PATCH 1135/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index a8c15eadf1f7..9413a5957ef0 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index c3ad0273593a..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index f7eea7349dfa..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index f17cf2b79189..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 6500cdf0130f..5aaf52a73603 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${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.487 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.487 + 2.488 -SNAPSHOT - 2024-11-25T15:52:13Z + 2024-11-25T19:14:52Z github diff --git a/test/pom.xml b/test/pom.xml index 5151a2049ed5..b7885dcd142e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 27633f8fd1d1..43af909f06e2 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index df8d2f941429..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 43ec40b62144..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.487 + ${revision}${changelist} ../.. From a07ccaeb7499abf6b01d26308e791f0a5e194e11 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:51:19 +0000 Subject: [PATCH 1136/1330] Update Yarn to v4.5.3 (#10005) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36570c241b79..7bb7f96c009c 100644 --- a/package.json +++ b/package.json @@ -68,5 +68,5 @@ "engines": { "node": ">=20.0.0" }, - "packageManager": "yarn@4.5.1" + "packageManager": "yarn@4.5.3" } From 0235a800b80342d6959ec7de78e41a72f1ae8f03 Mon Sep 17 00:00:00 2001 From: Vincent Latombe Date: Thu, 28 Nov 2024 22:52:44 +0100 Subject: [PATCH 1137/1330] Ensure NodeListener#onCreated is called once the Node initialization is complete (#9964) --- core/src/main/java/jenkins/model/Nodes.java | 4 ++-- test/src/test/java/jenkins/model/NodesTest.java | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/model/Nodes.java b/core/src/main/java/jenkins/model/Nodes.java index a01c3fc342b5..ae78028c2d2f 100644 --- a/core/src/main/java/jenkins/model/Nodes.java +++ b/core/src/main/java/jenkins/model/Nodes.java @@ -118,6 +118,8 @@ public void setNodes(final @NonNull Collection nodes) throws IOE toRemove.putAll(Nodes.this.nodes); for (var node : nodes) { final var name = node.getNodeName(); + Nodes.this.nodes.put(name, node); + node.onLoad(Nodes.this, name); var oldNode = toRemove.get(name); if (oldNode != null) { NodeListener.fireOnUpdated(oldNode, node); @@ -125,8 +127,6 @@ public void setNodes(final @NonNull Collection nodes) throws IOE } else { NodeListener.fireOnCreated(node); } - Nodes.this.nodes.put(name, node); - node.onLoad(Nodes.this, name); } Nodes.this.nodes.keySet().removeAll(toRemove.keySet()); jenkins.updateComputerList(); diff --git a/test/src/test/java/jenkins/model/NodesTest.java b/test/src/test/java/jenkins/model/NodesTest.java index ef2bee08ef4a..5b222e313a5f 100644 --- a/test/src/test/java/jenkins/model/NodesTest.java +++ b/test/src/test/java/jenkins/model/NodesTest.java @@ -287,6 +287,7 @@ public static class CheckSetNodes extends NodeListener { @Override protected void onCreated(@NonNull Node node) { + node.getRootDir(); created.add(node.getNodeName()); } From 5a574c9fd62d24e2a870953284fdc83e0b32131f Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Thu, 28 Nov 2024 22:52:55 +0100 Subject: [PATCH 1138/1330] [JENKINS-73487] Fix Stapler exception with multiple security warnings (#9983) Co-authored-by: Daniel Beck --- .../jenkins/security/UpdateSiteWarningsMonitor/message.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/message.groovy b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/message.groovy index 56cbb0bb4ddd..89b634002006 100644 --- a/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/message.groovy +++ b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/message.groovy @@ -42,7 +42,7 @@ def listWarnings(warnings, boolean core) { } } } - if (fixables == warnings.size) { + if (fixables == warnings.size()) { dd { if (fixables == 1) { raw(_(core ? "allFixable1Core" : "allFixable1", rootURL)) From f91ebb42382ae058d29da319c83bf42cef89b32d Mon Sep 17 00:00:00 2001 From: Yen Cheng Lin <92412722+ridemountainpig@users.noreply.github.com> Date: Fri, 29 Nov 2024 05:53:08 +0800 Subject: [PATCH 1139/1330] [JENKINS-73907] Fix double-escaped tooltips in "Help for feature" (#10000) Co-authored-by: Daniel Beck --- core/src/main/resources/lib/form/helpLink.jelly | 2 +- test/src/test/java/jenkins/security/Security2779Test.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/lib/form/helpLink.jelly b/core/src/main/resources/lib/form/helpLink.jelly index e7f2aa213c54..a388baf05f87 100644 --- a/core/src/main/resources/lib/form/helpLink.jelly +++ b/core/src/main/resources/lib/form/helpLink.jelly @@ -55,7 +55,7 @@ THE SOFTWARE. - + ? diff --git a/test/src/test/java/jenkins/security/Security2779Test.java b/test/src/test/java/jenkins/security/Security2779Test.java index ef8ef8fef7d5..8e2460687aaf 100644 --- a/test/src/test/java/jenkins/security/Security2779Test.java +++ b/test/src/test/java/jenkins/security/Security2779Test.java @@ -49,7 +49,7 @@ private void noCrossSiteScriptingInHelp(String selector) throws Exception { // assert leading space to identify unintentional double-escaping (&lt;) as test failure assertThat("tooltip does not contain dangerous HTML", jsResultString, not(containsString(" Date: Thu, 28 Nov 2024 21:53:16 +0000 Subject: [PATCH 1140/1330] Fix controls attribute leaking in the card component (#10003) --- core/src/main/resources/lib/layout/card.jelly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/lib/layout/card.jelly b/core/src/main/resources/lib/layout/card.jelly index 2c6845738227..e17f559be414 100644 --- a/core/src/main/resources/lib/layout/card.jelly +++ b/core/src/main/resources/lib/layout/card.jelly @@ -43,7 +43,7 @@ THE SOFTWARE.
    ${attrs.title}
    - + From 61d42b1d8026839ef5259b63b5783b923e042aad Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:57:40 -0800 Subject: [PATCH 1141/1330] Update dependency org.springframework.security:spring-security-bom to v6.4.1 (#9993) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 9413a5957ef0..8adb0fe5ed11 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -70,7 +70,7 @@ THE SOFTWARE. org.springframework.security spring-security-bom - 6.3.4 + 6.4.1 pom import From 569813a2248795a498b50d0350df3711a27fe4ba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:58:37 -0800 Subject: [PATCH 1142/1330] Update dependency sortablejs to v1.15.4 (#10006) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 7bb7f96c009c..8a49fdd736b9 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "hotkeys-js": "3.12.2", "jquery": "3.7.1", "lodash": "4.17.21", - "sortablejs": "1.15.3", + "sortablejs": "1.15.4", "tippy.js": "6.3.7", "window-handle": "1.0.1" }, diff --git a/yarn.lock b/yarn.lock index da39cebd7125..e406b095def5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4413,7 +4413,7 @@ __metadata: prettier: "npm:3.3.3" sass: "npm:1.81.0" sass-loader: "npm:16.0.3" - sortablejs: "npm:1.15.3" + sortablejs: "npm:1.15.4" style-loader: "npm:4.0.0" stylelint: "npm:16.10.0" stylelint-checkstyle-reporter: "npm:1.0.0" @@ -6561,10 +6561,10 @@ __metadata: languageName: node linkType: hard -"sortablejs@npm:1.15.3": - version: 1.15.3 - resolution: "sortablejs@npm:1.15.3" - checksum: 10c0/dfd79a7dd7041fe1080d58d2191cd4df62cfc9912bbb4069f295fb2c5f23eb31112931614faddce7011d30fe784d26af3416c94182e02bcf4f6274509b60242e +"sortablejs@npm:1.15.4": + version: 1.15.4 + resolution: "sortablejs@npm:1.15.4" + checksum: 10c0/aa22614b8aadc0253eb19b88c29d748af37bb3ab3d16a58c619a3bc806a96b5742e51908bffe94ab4d75a6f7458ea1524a4619c109a1e0716bb72b2ae25463e5 languageName: node linkType: hard From 7dc686b54a7a514ac8d109c513950b87ab6003a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:59:19 +0000 Subject: [PATCH 1143/1330] Update dependency node to v20.18.1 (#10004) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5aaf52a73603..8543045f068e 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ THE SOFTWARE. false 8.2 - 20.18.0 + 20.18.1 org.jenkins-ci.plugins.workflow workflow-support - 932.vb_555de1b_a_b_94 + 936.v9fa_77211ca_e1 diff --git a/war/pom.xml b/war/pom.xml index 43af909f06e2..181ed70b4de5 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -350,7 +350,7 @@ THE SOFTWARE. org.jenkins-ci.plugins.workflow workflow-support - 932.vb_555de1b_a_b_94 + 936.v9fa_77211ca_e1 hpi From 681ce644e6bb4f50b95528a2e04903df3bc4989f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 21:59:47 +0000 Subject: [PATCH 1146/1330] Update dependency io.jenkins.plugins:design-library to v325 (#10011) Co-authored-by: renovate[bot] <29139614+renovate[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 e2c447dcb875..46683b61abdd 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -344,7 +344,7 @@ THE SOFTWARE. io.jenkins.plugins design-library - 323.v301efa_39c6eb_ + 325.v40b_a_ccf974db_ hpi ${project.build.outputDirectory}/plugins design-library.jpi From f72f2c48be73773f8b248f656a49be08aff68be7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 14:00:36 -0800 Subject: [PATCH 1147/1330] Update dependency commons-io:commons-io to v2.18.0 (#9999) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 8adb0fe5ed11..61de025b3e9b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -129,7 +129,7 @@ THE SOFTWARE. commons-io commons-io - 2.17.0 + 2.18.0 commons-jelly From abfae0b8eb272594e8881f93a6adad851da22a14 Mon Sep 17 00:00:00 2001 From: Tejas Date: Fri, 29 Nov 2024 18:24:13 +0530 Subject: [PATCH 1148/1330] [JENKINS-74858] resolved comments --- .../security/HudsonPrivateSecurityRealmFIPSTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java index 3a69da803cab..b9f0449b725e 100644 --- a/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java +++ b/test/src/test/java/hudson/security/HudsonPrivateSecurityRealmFIPSTest.java @@ -161,10 +161,10 @@ private static void validatePasswordLengthForFIPSStep(JenkinsRule j) throws Exce HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); j.jenkins.setSecurityRealm(securityRealm); - User u1 = securityRealm.createAccount("test", "password"); + User u1 = securityRealm.createAccount("test", "aValidFipsPass"); WebClient wc = j.createWebClient(); - wc.login("test","password"); + wc.login("test","aValidFipsPass"); HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); @@ -188,11 +188,11 @@ private static void validatePasswordMismatchForFIPSStep(JenkinsRule j) throws Ex HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); j.jenkins.setSecurityRealm(securityRealm); - User u1 = securityRealm.createAccount("test", "password"); + User u1 = securityRealm.createAccount("test", "aValidFipsPass"); WebClient wc = j.createWebClient(); - wc.login("test","password"); + wc.login("test","aValidFipsPass"); HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); @@ -216,10 +216,10 @@ private static void validatePasswordSuccessForFIPSStep(JenkinsRule j) throws Exc HudsonPrivateSecurityRealm securityRealm = new HudsonPrivateSecurityRealm(false, false, null); j.jenkins.setSecurityRealm(securityRealm); - User u1 = securityRealm.createAccount("test", "password"); + User u1 = securityRealm.createAccount("test", "aValidFipsPass"); WebClient wc = j.createWebClient(); - wc.login("test","password"); + wc.login("test","aValidFipsPass"); HtmlPage configurePage = wc.goTo(u1.getUrl() + "/security/"); HtmlPasswordInput password1 = configurePage.getElementByName("user.password"); From f011fda465aa10bb4c02a5f508f820757baedbc0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 11:10:46 -0800 Subject: [PATCH 1149/1330] Update dependency prettier to v3.4.1 (#10012) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8a49fdd736b9..f3e18406341a 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "postcss-loader": "8.1.1", "postcss-preset-env": "10.1.1", "postcss-scss": "4.0.9", - "prettier": "3.3.3", + "prettier": "3.4.1", "sass": "1.81.0", "sass-loader": "16.0.3", "style-loader": "4.0.0", diff --git a/yarn.lock b/yarn.lock index e406b095def5..be3f5e40fcf0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4410,7 +4410,7 @@ __metadata: postcss-loader: "npm:8.1.1" postcss-preset-env: "npm:10.1.1" postcss-scss: "npm:4.0.9" - prettier: "npm:3.3.3" + prettier: "npm:3.4.1" sass: "npm:1.81.0" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.4" @@ -6132,12 +6132,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.3.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" +"prettier@npm:3.4.1": + version: 3.4.1 + resolution: "prettier@npm:3.4.1" bin: prettier: bin/prettier.cjs - checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + checksum: 10c0/2d6cc3101ad9de72b49c59339480b0983e6ff6742143da0c43f476bf3b5ef88ede42ebd9956d7a0a8fa59f7a5990e8ef03c9ad4c37f7e4c9e5db43ee0853156c languageName: node linkType: hard From 33e96091749465b62f37a04535878ee80cbbab3c Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Fri, 29 Nov 2024 11:40:01 -0800 Subject: [PATCH 1150/1330] Run `npm run lint:fix` (#10013) --- src/main/scss/abstracts/_theme.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scss/abstracts/_theme.scss b/src/main/scss/abstracts/_theme.scss index 0558369c9ac3..9353cc165201 100644 --- a/src/main/scss/abstracts/_theme.scss +++ b/src/main/scss/abstracts/_theme.scss @@ -31,9 +31,9 @@ $semantics: ( :root, .app-theme-picker__picker[data-theme="none"] { // Font related properties - --font-family-sans: system-ui, "Segoe UI", roboto, "Noto Sans", oxygen, ubuntu, - cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", arial, sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-sans: system-ui, "Segoe UI", roboto, "Noto Sans", oxygen, + ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; --font-family-mono: ui-monospace, sfmono-regular, sf mono, jetbrainsmono, consolas, monospace; --font-size-base: 1rem; // 16px From 58d0c126448dc6d4df4cf6163a255e77210072c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:34:56 -0800 Subject: [PATCH 1151/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2363 (#10014) Co-authored-by: renovate[bot] <29139614+renovate[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 46683b61abdd..50111b234ab0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2361.v8f64d70711fb_ + 2363.vf95c19b_2ca_72 test From 670e8050a4171a00075e9a180c0ee52528c6113c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 07:40:32 +0000 Subject: [PATCH 1152/1330] Update dependency sortablejs to v1.15.5 (#10016) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f3e18406341a..eb29005acc16 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "hotkeys-js": "3.12.2", "jquery": "3.7.1", "lodash": "4.17.21", - "sortablejs": "1.15.4", + "sortablejs": "1.15.5", "tippy.js": "6.3.7", "window-handle": "1.0.1" }, diff --git a/yarn.lock b/yarn.lock index be3f5e40fcf0..c2f95d428049 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4413,7 +4413,7 @@ __metadata: prettier: "npm:3.4.1" sass: "npm:1.81.0" sass-loader: "npm:16.0.3" - sortablejs: "npm:1.15.4" + sortablejs: "npm:1.15.5" style-loader: "npm:4.0.0" stylelint: "npm:16.10.0" stylelint-checkstyle-reporter: "npm:1.0.0" @@ -6561,10 +6561,10 @@ __metadata: languageName: node linkType: hard -"sortablejs@npm:1.15.4": - version: 1.15.4 - resolution: "sortablejs@npm:1.15.4" - checksum: 10c0/aa22614b8aadc0253eb19b88c29d748af37bb3ab3d16a58c619a3bc806a96b5742e51908bffe94ab4d75a6f7458ea1524a4619c109a1e0716bb72b2ae25463e5 +"sortablejs@npm:1.15.5": + version: 1.15.5 + resolution: "sortablejs@npm:1.15.5" + checksum: 10c0/ddf467d2479fdd0c4731576d170194c995f062062721c7f16572b72d01f03e5df3daa429d3277b9c20cd43ce313d3c679a80bcee312c6583f25b6e8cb79bbf0f languageName: node linkType: hard From 5e2cf4ff3ef07dbc61d58577ffa2ad4368615d11 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 09:00:36 +0000 Subject: [PATCH 1153/1330] Update dependency sortablejs to v1.15.6 (#10017) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index eb29005acc16..977f015a3351 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "hotkeys-js": "3.12.2", "jquery": "3.7.1", "lodash": "4.17.21", - "sortablejs": "1.15.5", + "sortablejs": "1.15.6", "tippy.js": "6.3.7", "window-handle": "1.0.1" }, diff --git a/yarn.lock b/yarn.lock index c2f95d428049..ccca64ed2607 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4413,7 +4413,7 @@ __metadata: prettier: "npm:3.4.1" sass: "npm:1.81.0" sass-loader: "npm:16.0.3" - sortablejs: "npm:1.15.5" + sortablejs: "npm:1.15.6" style-loader: "npm:4.0.0" stylelint: "npm:16.10.0" stylelint-checkstyle-reporter: "npm:1.0.0" @@ -6561,10 +6561,10 @@ __metadata: languageName: node linkType: hard -"sortablejs@npm:1.15.5": - version: 1.15.5 - resolution: "sortablejs@npm:1.15.5" - checksum: 10c0/ddf467d2479fdd0c4731576d170194c995f062062721c7f16572b72d01f03e5df3daa429d3277b9c20cd43ce313d3c679a80bcee312c6583f25b6e8cb79bbf0f +"sortablejs@npm:1.15.6": + version: 1.15.6 + resolution: "sortablejs@npm:1.15.6" + checksum: 10c0/a75dcf53e5613b4106d46434e40114830f9c6449b3b439bc1925c1fbf0a0c1f044727a8f3d4ae1759fa7beaa33e7eb0c4a413e6aa88d6026577b59f3658ff727 languageName: node linkType: hard From e2999799a9f983b302c63d7aaf7856f4da62e7d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 09:00:45 +0000 Subject: [PATCH 1154/1330] Update dependency stylelint to v16.11.0 (#10018) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 79 ++++++++++++++++++++-------------------------------- 2 files changed, 31 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 977f015a3351..02976322bb18 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "sass": "1.81.0", "sass-loader": "16.0.3", "style-loader": "4.0.0", - "stylelint": "16.10.0", + "stylelint": "16.11.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", "webpack": "5.96.1", diff --git a/yarn.lock b/yarn.lock index ccca64ed2607..14a7d43ce2ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1189,7 +1189,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.4": +"@csstools/css-parser-algorithms@npm:^3.0.4": version: 3.0.4 resolution: "@csstools/css-parser-algorithms@npm:3.0.4" peerDependencies: @@ -1198,23 +1198,13 @@ __metadata: languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.3": +"@csstools/css-tokenizer@npm:^3.0.3": version: 3.0.3 resolution: "@csstools/css-tokenizer@npm:3.0.3" checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/media-query-list-parser@npm:3.0.1" - peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/fca1935cabf9fb94128da87f72c34aa2cfce8eb0beba4c78d685c7b42aaba3521067710afc6905b7347fc41fe53947536ce15a7ef3387b48763d8f7d71778d5e - languageName: node - linkType: hard - "@csstools/media-query-list-parser@npm:^4.0.2": version: 4.0.2 resolution: "@csstools/media-query-list-parser@npm:4.0.2" @@ -1631,15 +1621,6 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-specificity@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/selector-specificity@npm:4.0.0" - peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10c0/6f4d4ecfdcd37f950100de8ffe0b4c1b1cc8c004aab2c2ebaa5c3e2bca2412d15b17d4628435f47a62d2c56db41bcbf985cb9c69e74b89964d48e421e93e75ba - languageName: node - linkType: hard - "@csstools/selector-specificity@npm:^5.0.0": version: 5.0.0 resolution: "@csstools/selector-specificity@npm:5.0.0" @@ -3157,13 +3138,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.0": - version: 3.0.0 - resolution: "css-tree@npm:3.0.0" +"css-tree@npm:^3.0.1": + version: 3.0.1 + resolution: "css-tree@npm:3.0.1" dependencies: - mdn-data: "npm:2.10.0" + mdn-data: "npm:2.12.1" source-map-js: "npm:^1.0.1" - checksum: 10c0/43d44fdf7004ae91d73d486f17894fef77efa33747a6752b9241cf0f5fb47fabc16ec34a96a993651d9014dfdeee803d7c5fcd3548214252ee19f4e5c98999b2 + checksum: 10c0/9f117f3067e68e9edb0b3db0134f420db1a62bede3e84d8835767ecfaa6f8ced5e87989cf39b65ffe65d788c134c8ea9abd7393d7c35838a9da84326adf57a9b languageName: node linkType: hard @@ -4415,7 +4396,7 @@ __metadata: sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.6" style-loader: "npm:4.0.0" - stylelint: "npm:16.10.0" + stylelint: "npm:16.11.0" stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" @@ -4596,10 +4577,10 @@ __metadata: languageName: node linkType: hard -"known-css-properties@npm:^0.34.0": - version: 0.34.0 - resolution: "known-css-properties@npm:0.34.0" - checksum: 10c0/8549969f02b1858554e89faf4548ece37625d0d21b42e8d54fa53184e68e1512ef2531bb15941575ad816361ab7447b598c1b18c1b96ce0a868333d1a68f2e2c +"known-css-properties@npm:^0.35.0": + version: 0.35.0 + resolution: "known-css-properties@npm:0.35.0" + checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6 languageName: node linkType: hard @@ -4781,10 +4762,10 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.10.0": - version: 2.10.0 - resolution: "mdn-data@npm:2.10.0" - checksum: 10c0/f6f1a6a6eb092bab250d06f6f6c7cb1733a77a17e7119aac829ad67d4322bbf6a30df3c6d88686e71942e66bd49274b2ddfede22a1d3df0d6c49a56fbd09eb7c +"mdn-data@npm:2.12.1": + version: 2.12.1 + resolution: "mdn-data@npm:2.12.1" + checksum: 10c0/1a09f441bdd423f2b0ab712665a1a3329fe7b15e9a2dad8c1c10c521ddb204ed186e7ac91052fd53a5ae0a07ac6eae53b5bcbb59ba8a1fb654268611297eea4a languageName: node linkType: hard @@ -6114,7 +6095,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.49, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.47": +"postcss@npm:8.4.49, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.49": version: 8.4.49 resolution: "postcss@npm:8.4.49" dependencies: @@ -6715,20 +6696,20 @@ __metadata: languageName: node linkType: hard -"stylelint@npm:16.10.0": - version: 16.10.0 - resolution: "stylelint@npm:16.10.0" +"stylelint@npm:16.11.0": + version: 16.11.0 + resolution: "stylelint@npm:16.11.0" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" - "@csstools/selector-specificity": "npm:^4.0.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + "@csstools/selector-specificity": "npm:^5.0.0" "@dual-bundle/import-meta-resolve": "npm:^4.1.0" balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" css-functions-list: "npm:^3.2.3" - css-tree: "npm:^3.0.0" + css-tree: "npm:^3.0.1" debug: "npm:^4.3.7" fast-glob: "npm:^3.3.2" fastest-levenshtein: "npm:^1.0.16" @@ -6740,16 +6721,16 @@ __metadata: ignore: "npm:^6.0.2" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" - known-css-properties: "npm:^0.34.0" + known-css-properties: "npm:^0.35.0" mathml-tag-names: "npm:^2.1.3" meow: "npm:^13.2.0" micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" - picocolors: "npm:^1.0.1" - postcss: "npm:^8.4.47" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.49" postcss-resolve-nested-selector: "npm:^0.1.6" postcss-safe-parser: "npm:^7.0.1" - postcss-selector-parser: "npm:^6.1.2" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" @@ -6759,7 +6740,7 @@ __metadata: write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d07dd156c225d16c740995daacd78090f7fc317602e87bda2fca323a4ae427a8526d724f3089df3b2185df4520f987547668ceea9b30985988ccbc514034aa21 + checksum: 10c0/65638247fb4e5eacb032e3a98412a13ad8b343d2d58e22d61b96ada72808b5b7e736c845937b3bcfde04c0bfa2120383b507e530afe876dafe824a93c337258f languageName: node linkType: hard From 966e58684b585ea27d4c5c83d23b57774c0f902c Mon Sep 17 00:00:00 2001 From: Alex Earl Date: Mon, 2 Dec 2024 12:16:35 -0700 Subject: [PATCH 1155/1330] Allow subclasses of UpdateSite to call updateData The updateData method is required to be called for the actual update data to be synced. For plugins that may implement a different method for interacting with an update site (e.g. an implementation of password or API key protected update site being planned for the Managed Update Sites plugin), we need to override updateDirectlyNow and call updateData with the retrieved JSON data. --- core/src/main/java/hudson/model/UpdateSite.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/model/UpdateSite.java b/core/src/main/java/hudson/model/UpdateSite.java index 0e3cc894148a..22764fd403d0 100644 --- a/core/src/main/java/hudson/model/UpdateSite.java +++ b/core/src/main/java/hudson/model/UpdateSite.java @@ -217,7 +217,7 @@ public long getDataTimestamp() { return updateData(DownloadService.loadJSON(new URL(getUrl() + "?id=" + URLEncoder.encode(getId(), StandardCharsets.UTF_8) + "&version=" + URLEncoder.encode(Jenkins.VERSION, StandardCharsets.UTF_8))), signatureCheck); } - private FormValidation updateData(String json, boolean signatureCheck) + protected FormValidation updateData(String json, boolean signatureCheck) throws IOException { dataTimestamp = System.currentTimeMillis(); From a73f65f4b122e5061a7abf37ca1cf5669b90198c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 18:46:18 -0700 Subject: [PATCH 1156/1330] Update eslint monorepo to v9.16.0 (#10020) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- yarn.lock | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 02976322bb18..bfcb2bd931a2 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ "@babel/cli": "7.25.9", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", - "@eslint/js": "9.15.0", + "@eslint/js": "9.16.0", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.0", - "eslint": "9.15.0", + "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", "globals": "15.12.0", diff --git a/yarn.lock b/yarn.lock index 14a7d43ce2ba..1597ad34a3b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1706,10 +1706,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.15.0": - version: 9.15.0 - resolution: "@eslint/js@npm:9.15.0" - checksum: 10c0/56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab +"@eslint/js@npm:9.16.0": + version: 9.16.0 + resolution: "@eslint/js@npm:9.16.0" + checksum: 10c0/a55846a4ddade720662d36682f3eaaf38eac06eeee12c83bb837bba2b7d550dadcb3445b104219f0bc1da2e09b4fe5fb5ba123b8338c8c787bcfbd540878df75 languageName: node linkType: hard @@ -3507,16 +3507,16 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.15.0": - version: 9.15.0 - resolution: "eslint@npm:9.15.0" +"eslint@npm:9.16.0": + version: 9.16.0 + resolution: "eslint@npm:9.16.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" "@eslint/config-array": "npm:^0.19.0" "@eslint/core": "npm:^0.9.0" "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.15.0" + "@eslint/js": "npm:9.16.0" "@eslint/plugin-kit": "npm:^0.2.3" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" @@ -3552,7 +3552,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/d0d7606f36bfcccb1c3703d0a24df32067b207a616f17efe5fb1765a91d13f085afffc4fc97ecde4ab9c9f4edd64d9b4ce750e13ff7937a25074b24bee15b20f + checksum: 10c0/f36d12652c6f20bab8a77375b8ad29a6af030c3840deb0a5f9dd4cee49d68a2d68d7dc73b0c25918df59d83cd686dd5712e11387e696e1f3842e8dde15cd3255 languageName: node linkType: hard @@ -4372,12 +4372,12 @@ __metadata: "@babel/cli": "npm:7.25.9" "@babel/core": "npm:7.26.0" "@babel/preset-env": "npm:7.26.0" - "@eslint/js": "npm:9.15.0" + "@eslint/js": "npm:9.16.0" babel-loader: "npm:9.2.1" clean-webpack-plugin: "npm:4.0.0" css-loader: "npm:7.1.2" css-minimizer-webpack-plugin: "npm:7.0.0" - eslint: "npm:9.15.0" + eslint: "npm:9.16.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" globals: "npm:15.12.0" From 7d658255f8c0aaeaab99f3c71eeee502ccfde15b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 18:46:48 -0700 Subject: [PATCH 1157/1330] Update dependency com.puppycrawl.tools:checkstyle to v10.20.2 (#10015) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8543045f068e..9fb6f5288876 100644 --- a/pom.xml +++ b/pom.xml @@ -281,7 +281,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.20.1 + 10.20.2 From e994d293e0cf0d67988878cf63a8d5419f83df3c Mon Sep 17 00:00:00 2001 From: Stefan Spieker Date: Tue, 3 Dec 2024 10:14:42 +0100 Subject: [PATCH 1158/1330] Fixed spotbugs `PATH_TRAVERSAL_IN` issue in `FileBoolean` (#9638) Co-authored-by: Mark Waite --- core/src/main/java/jenkins/util/io/FileBoolean.java | 3 ++- core/src/spotbugs/excludesFilter.xml | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/util/io/FileBoolean.java b/core/src/main/java/jenkins/util/io/FileBoolean.java index 82fe7f9b29fc..c6be6c5ef6e4 100644 --- a/core/src/main/java/jenkins/util/io/FileBoolean.java +++ b/core/src/main/java/jenkins/util/io/FileBoolean.java @@ -8,6 +8,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import jenkins.model.Jenkins; +import org.apache.commons.io.FilenameUtils; /** * Uses a presence/absence of a file as a persisted boolean storage. @@ -29,7 +30,7 @@ public FileBoolean(File file) { } public FileBoolean(Class owner, String name) { - this(new File(Jenkins.get().getRootDir(), owner.getName().replace('$', '.') + '/' + name)); + this(new File(Jenkins.get().getRootDir(), FilenameUtils.getName(owner.getName().replace('$', '.') + '/' + name))); } /** diff --git a/core/src/spotbugs/excludesFilter.xml b/core/src/spotbugs/excludesFilter.xml index 7d36952fc372..eed82962bded 100644 --- a/core/src/spotbugs/excludesFilter.xml +++ b/core/src/spotbugs/excludesFilter.xml @@ -407,7 +407,6 @@ - From 82735d468ee0de1c5177ba0a214597447010abdb Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:54:11 +0000 Subject: [PATCH 1159/1330] [maven-release-plugin] prepare release jenkins-2.488 --- 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/jetty12-ee9/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 61de025b3e9b..b99c63b58973 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 2473629d23cc..447172e9fb49 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 cli diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..bb25722d973f 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fe1e89a120dc..15f505fd717d 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 jenkins-coverage diff --git a/pom.xml b/pom.xml index 9fb6f5288876..756cbbeb35eb 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 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.488 https://github.com/jenkinsci/jenkins @@ -75,7 +75,7 @@ THE SOFTWARE. 2.488 -SNAPSHOT - 2024-11-25T19:14:52Z + 2024-12-03T10:33:21Z github diff --git a/test/pom.xml b/test/pom.xml index 50111b234ab0..de68a03da988 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 181ed70b4de5..2ce715e4ec60 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 2253163b3c4c..4f647bf17393 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.488 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 178413f92c8e..80cc80513858 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.488 ../.. From 4248fc0ca6ce108364ed23208063ff20753f5e70 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:54:30 +0000 Subject: [PATCH 1160/1330] [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 | 8 ++++---- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty12-ee9/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index b99c63b58973..61de025b3e9b 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 447172e9fb49..2473629d23cc 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index bb25722d973f..9bff5e5ad0b2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 15f505fd717d..fe1e89a120dc 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 756cbbeb35eb..1f2fe1927dc7 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${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.488 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,9 +73,9 @@ THE SOFTWARE. - 2.488 + 2.489 -SNAPSHOT - 2024-12-03T10:33:21Z + 2024-12-03T13:54:11Z github diff --git a/test/pom.xml b/test/pom.xml index de68a03da988..50111b234ab0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 2ce715e4ec60..181ed70b4de5 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty12-ee9/pom.xml b/websocket/jetty12-ee9/pom.xml index 4f647bf17393..2253163b3c4c 100644 --- a/websocket/jetty12-ee9/pom.xml +++ b/websocket/jetty12-ee9/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 80cc80513858..178413f92c8e 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.488 + ${revision}${changelist} ../.. From 171df4d1057876cfe860f6ccf682c56b362c527b Mon Sep 17 00:00:00 2001 From: Daniel Beck <1831569+daniel-beck@users.noreply.github.com> Date: Wed, 4 Dec 2024 13:34:51 +0100 Subject: [PATCH 1161/1330] Revert "Fixed spotbugs `PATH_TRAVERSAL_IN` issue in `FileBoolean`" (#10022) Revert "Fixed spotbugs `PATH_TRAVERSAL_IN` issue in `FileBoolean` (#9638)" This reverts commit e994d293e0cf0d67988878cf63a8d5419f83df3c. --- core/src/main/java/jenkins/util/io/FileBoolean.java | 3 +-- core/src/spotbugs/excludesFilter.xml | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/jenkins/util/io/FileBoolean.java b/core/src/main/java/jenkins/util/io/FileBoolean.java index c6be6c5ef6e4..82fe7f9b29fc 100644 --- a/core/src/main/java/jenkins/util/io/FileBoolean.java +++ b/core/src/main/java/jenkins/util/io/FileBoolean.java @@ -8,7 +8,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import jenkins.model.Jenkins; -import org.apache.commons.io.FilenameUtils; /** * Uses a presence/absence of a file as a persisted boolean storage. @@ -30,7 +29,7 @@ public FileBoolean(File file) { } public FileBoolean(Class owner, String name) { - this(new File(Jenkins.get().getRootDir(), FilenameUtils.getName(owner.getName().replace('$', '.') + '/' + name))); + this(new File(Jenkins.get().getRootDir(), owner.getName().replace('$', '.') + '/' + name)); } /** diff --git a/core/src/spotbugs/excludesFilter.xml b/core/src/spotbugs/excludesFilter.xml index eed82962bded..7d36952fc372 100644 --- a/core/src/spotbugs/excludesFilter.xml +++ b/core/src/spotbugs/excludesFilter.xml @@ -407,6 +407,7 @@ + From 7d6b649aaaf281bd651a63fdf9c1300c31ec56d0 Mon Sep 17 00:00:00 2001 From: Tejas Date: Wed, 4 Dec 2024 18:20:37 +0530 Subject: [PATCH 1162/1330] [JENKINS-74858] Resolved comments --- .../main/java/hudson/security/HudsonPrivateSecurityRealm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index cf9934d22647..f55576dec4d6 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -840,7 +840,7 @@ public Details newInstance(StaplerRequest2 req, JSONObject formData) throws Form } if (FIPS140.useCompliantAlgorithms() && pwd.length() < FIPS_PASSWORD_LENGTH) { - throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password1"); + throw new FormException(Messages.HudsonPrivateSecurityRealm_CreateAccount_FIPS_PasswordLengthInvalid(), "user.password"); } // will be null if it wasn't encrypted From 28f0d59d1e8fd284db99c5219dda951ec7f4af51 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 22:08:57 +0000 Subject: [PATCH 1163/1330] Update dependency globals to v15.13.0 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index bfcb2bd931a2..d704dfacb224 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", "eslint-formatter-checkstyle": "8.40.0", - "globals": "15.12.0", + "globals": "15.13.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.9.2", "postcss": "8.4.49", diff --git a/yarn.lock b/yarn.lock index 1597ad34a3b7..79a87edc2dd8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3961,10 +3961,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:15.12.0": - version: 15.12.0 - resolution: "globals@npm:15.12.0" - checksum: 10c0/f34e0a1845b694f45188331742af9f488b07ba7440a06e9d2039fce0386fbbfc24afdbb9846ebdccd4092d03644e43081c49eb27b30f4b88e43af156e1c1dc34 +"globals@npm:15.13.0": + version: 15.13.0 + resolution: "globals@npm:15.13.0" + checksum: 10c0/640365115ca5f81d91e6a7667f4935021705e61a1a5a76a6ec5c3a5cdf6e53f165af7f9db59b7deb65cf2e1f83d03ac8d6660d0b14c569c831a9b6483eeef585 languageName: node linkType: hard @@ -4380,7 +4380,7 @@ __metadata: eslint: "npm:9.16.0" eslint-config-prettier: "npm:9.1.0" eslint-formatter-checkstyle: "npm:8.40.0" - globals: "npm:15.12.0" + globals: "npm:15.13.0" handlebars: "npm:4.7.8" handlebars-loader: "npm:1.7.3" hotkeys-js: "npm:3.12.2" From 4d32ed84440c3c52f5def55ee9d17ee05b77afe4 Mon Sep 17 00:00:00 2001 From: Tejas Date: Thu, 5 Dec 2024 16:16:00 +0530 Subject: [PATCH 1164/1330] Running checks From e7a8779cc51d355461a4ce5fc75765377cc444d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:10:26 +0000 Subject: [PATCH 1165/1330] Update dependency sass to v1.82.0 (#10030) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index bfcb2bd931a2..fd3ae217613e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "postcss-preset-env": "10.1.1", "postcss-scss": "4.0.9", "prettier": "3.4.1", - "sass": "1.81.0", + "sass": "1.82.0", "sass-loader": "16.0.3", "style-loader": "4.0.0", "stylelint": "16.11.0", diff --git a/yarn.lock b/yarn.lock index 1597ad34a3b7..b7db2bbac7cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4392,7 +4392,7 @@ __metadata: postcss-preset-env: "npm:10.1.1" postcss-scss: "npm:4.0.9" prettier: "npm:3.4.1" - sass: "npm:1.81.0" + sass: "npm:1.82.0" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.6" style-loader: "npm:4.0.0" @@ -6381,9 +6381,9 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.81.0": - version: 1.81.0 - resolution: "sass@npm:1.81.0" +"sass@npm:1.82.0": + version: 1.82.0 + resolution: "sass@npm:1.82.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -6394,7 +6394,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/9c59b3c9b4231c18fcb4583cc232dbc4de501ddc11101b7a025e44833e3f3ce6031546dc1cd109ee9f04ebcfb1fe30ff870810af33b8feb9aa9e36dfba9ec1ef + checksum: 10c0/7f86fe6ade4f6018862c448ed69d5c52f485b0125c9dab24e63f679739a04cc7c56562d588e3cf16b5efb4d2c4d0530e62740e1cfd273e2e3707d04d11011736 languageName: node linkType: hard From 82d6b6bfaf709d4bcc65c8b56fcbb4515044972c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:11:54 +0000 Subject: [PATCH 1166/1330] Update dependency sass-loader to v16.0.4 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index fd3ae217613e..c72a8b8f7aa2 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "postcss-scss": "4.0.9", "prettier": "3.4.1", "sass": "1.82.0", - "sass-loader": "16.0.3", + "sass-loader": "16.0.4", "style-loader": "4.0.0", "stylelint": "16.11.0", "stylelint-checkstyle-reporter": "1.0.0", diff --git a/yarn.lock b/yarn.lock index b7db2bbac7cb..837e498e7ec4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4393,7 +4393,7 @@ __metadata: postcss-scss: "npm:4.0.9" prettier: "npm:3.4.1" sass: "npm:1.82.0" - sass-loader: "npm:16.0.3" + sass-loader: "npm:16.0.4" sortablejs: "npm:1.15.6" style-loader: "npm:4.0.0" stylelint: "npm:16.11.0" @@ -6355,9 +6355,9 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:16.0.3": - version: 16.0.3 - resolution: "sass-loader@npm:16.0.3" +"sass-loader@npm:16.0.4": + version: 16.0.4 + resolution: "sass-loader@npm:16.0.4" dependencies: neo-async: "npm:^2.6.2" peerDependencies: @@ -6377,7 +6377,7 @@ __metadata: optional: true webpack: optional: true - checksum: 10c0/2dc188dd0d5276ed0251eee7f245848ccf9df6ec121227462403f322c17a3dbe100fb60d47968f078e585e4aced452eb7fa1a8e55b415d5de3151fa1bbf2d561 + checksum: 10c0/d57c5fa35620e9022cfa3e5d49f3f9b3e54fb8b2fa9d021c10fe26c8c2f77103e038b6540eb20123a6f73aef23d2beb04033d3b7772588ca3f3c0ba2a4ee40ac languageName: node linkType: hard From 4b53f46ae1cebdc0ee0c13241174c1661e64b33b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:13:07 +0000 Subject: [PATCH 1167/1330] Update dependency prettier to v3.4.2 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index fd3ae217613e..f54b7d6bec29 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "postcss-loader": "8.1.1", "postcss-preset-env": "10.1.1", "postcss-scss": "4.0.9", - "prettier": "3.4.1", + "prettier": "3.4.2", "sass": "1.82.0", "sass-loader": "16.0.3", "style-loader": "4.0.0", diff --git a/yarn.lock b/yarn.lock index b7db2bbac7cb..10e5b4ff364f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4391,7 +4391,7 @@ __metadata: postcss-loader: "npm:8.1.1" postcss-preset-env: "npm:10.1.1" postcss-scss: "npm:4.0.9" - prettier: "npm:3.4.1" + prettier: "npm:3.4.2" sass: "npm:1.82.0" sass-loader: "npm:16.0.3" sortablejs: "npm:1.15.6" @@ -6113,12 +6113,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.4.1": - version: 3.4.1 - resolution: "prettier@npm:3.4.1" +"prettier@npm:3.4.2": + version: 3.4.2 + resolution: "prettier@npm:3.4.2" bin: prettier: bin/prettier.cjs - checksum: 10c0/2d6cc3101ad9de72b49c59339480b0983e6ff6742143da0c43f476bf3b5ef88ede42ebd9956d7a0a8fa59f7a5990e8ef03c9ad4c37f7e4c9e5db43ee0853156c + checksum: 10c0/99e076a26ed0aba4ebc043880d0f08bbb8c59a4c6641cdee6cdadf2205bdd87aa1d7823f50c3aea41e015e99878d37c58d7b5f0e663bba0ef047f94e36b96446 languageName: node linkType: hard From 43e0849ac233dde2cfdc917c80fdad21173d69c1 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat, 7 Dec 2024 19:05:09 +0000 Subject: [PATCH 1168/1330] Fix toggleswitch attributes --- .../src/main/resources/lib/form/toggleSwitch.jelly | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/src/main/resources/lib/form/toggleSwitch.jelly b/core/src/main/resources/lib/form/toggleSwitch.jelly index 2a2da3e94eb4..b0c9fcf5f835 100644 --- a/core/src/main/resources/lib/form/toggleSwitch.jelly +++ b/core/src/main/resources/lib/form/toggleSwitch.jelly @@ -76,19 +76,19 @@ THE SOFTWARE. disabled="${readOnlyMode ? 'true' : null}" checked="${value ? 'true' : null}"/> - - ${description} + + ${attrs.description} From 74ac9582c10819814657b9561f58e6387900ee9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 19:24:08 +0000 Subject: [PATCH 1169/1330] Update dependency webpack to v5.97.0 (#10031) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 200 +++++++++++++++++++++++++-------------------------- 2 files changed, 101 insertions(+), 101 deletions(-) diff --git a/package.json b/package.json index b0e7442ef1d2..f1d27f1258ab 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "stylelint": "16.11.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", - "webpack": "5.96.1", + "webpack": "5.97.0", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/yarn.lock b/yarn.lock index 0f691cfbd857..ca94cf7169e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2212,154 +2212,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - checksum: 10c0/ba7f2b96c6e67e249df6156d02c69eb5f1bd18d5005303cdc42accb053bebbbde673826e54db0437c9748e97abd218366a1d13fa46859b23cde611b6b409998c + "@webassemblyjs/helper-numbers": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 10c0/37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: 10c0/a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: 10c0/0270724afb4601237410f7fd845ab58ccda1d5456a8783aadfb16eaaf3f2c9610c28e4a5bcb6ad880cde5183c82f7f116d5ccfc2310502439d33f14b6888b48a +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" - "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" + "@webassemblyjs/helper-api-error": "npm:1.13.2" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 + checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 10c0/79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - checksum: 10c0/0546350724d285ae3c26e6fc444be4c3b5fb824f3be0ec8ceb474179dc3f4430336dd2e36a44b3e3a1a6815960e5eec98cd9b3a8ec66dc53d86daedd3296a6a2 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10c0/59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f + checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": "npm:4.2.2" - checksum: 10c0/cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e + checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 10c0/14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/helper-wasm-section": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-opt": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - "@webassemblyjs/wast-printer": "npm:1.12.1" - checksum: 10c0/972f5e6c522890743999e0ed45260aae728098801c6128856b310dd21f1ee63435fc7b518e30e0ba1cdafd0d1e38275829c1e4451c3536a1d9e726e07a5bba0b + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/helper-wasm-section": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-opt": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + "@webassemblyjs/wast-printer": "npm:1.14.1" + checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/1e257288177af9fa34c69cab94f4d9036ebed611f77f3897c988874e75182eeeec759c79b89a7a49dd24624fc2d3d48d5580b62b67c4a1c9bfbdcd266b281c16 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - checksum: 10c0/992a45e1f1871033c36987459436ab4e6430642ca49328e6e32a13de9106fe69ae6c0ac27d7050efd76851e502d11cd1ac0e06b55655dfa889ad82f11a2712fb + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-api-error": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/e85cec1acad07e5eb65b92d37c8e6ca09c6ca50d7ca58803a1532b452c7321050a0328c49810c337cc2dfd100c5326a54d5ebd1aa5c339ebe6ef10c250323a0e + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/ast": "npm:1.14.1" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/39bf746eb7a79aa69953f194943bbc43bebae98bd7cadd4d8bc8c0df470ca6bf9d2b789effaa180e900fab4e2691983c1f7d41571458bd2a26267f2f0c73705a + checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 languageName: node linkType: hard @@ -4400,7 +4400,7 @@ __metadata: stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" - webpack: "npm:5.96.1" + webpack: "npm:5.97.0" webpack-cli: "npm:5.1.4" webpack-remove-empty-scripts: "npm:1.0.4" window-handle: "npm:1.0.1" @@ -7066,15 +7066,15 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.96.1": - version: 5.96.1 - resolution: "webpack@npm:5.96.1" +"webpack@npm:5.97.0": + version: 5.97.0 + resolution: "webpack@npm:5.97.0" dependencies: "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" - "@webassemblyjs/ast": "npm:^1.12.1" - "@webassemblyjs/wasm-edit": "npm:^1.12.1" - "@webassemblyjs/wasm-parser": "npm:^1.12.1" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" acorn: "npm:^8.14.0" browserslist: "npm:^4.24.0" chrome-trace-event: "npm:^1.0.2" @@ -7098,7 +7098,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/ae6052fde9a546f79f14987b65823ba4024c6642a8489339ecfee7a351dff93325842aad453295bbdc6b65fb1690e4ef07529db63aa84ece55c7869e991a0039 + checksum: 10c0/a8714d42defbf52382b61c157f68e161a16d0edf228d8d9abaa7a165f3ee0ac7386a08d28d4dcf8d6740ea5bda0c4d4abfeeb838df029e636c1c28bb2454ac56 languageName: node linkType: hard From 9965f04545d0dee3473dbeddd76fcb9faa7032bc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 8 Dec 2024 09:16:25 +0100 Subject: [PATCH 1170/1330] Update dependency org.jenkins-ci.main:jenkins-test-harness to v2364 (#10021) Co-authored-by: renovate[bot] <29139614+renovate[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 50111b234ab0..ac3b8efc9a5f 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -178,7 +178,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-test-harness - 2363.vf95c19b_2ca_72 + 2364.v163897b_238b_3 test From cb96c2a7b4b8f32ffa7003347b93320bc842049d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 8 Dec 2024 18:08:01 +0100 Subject: [PATCH 1171/1330] Update dependency webpack to v5.97.1 (#10037) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f1d27f1258ab..5de7d953fe87 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "stylelint": "16.11.0", "stylelint-checkstyle-reporter": "1.0.0", "stylelint-config-standard": "36.0.1", - "webpack": "5.97.0", + "webpack": "5.97.1", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.4" }, diff --git a/yarn.lock b/yarn.lock index ca94cf7169e0..9f287c2dd39e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4400,7 +4400,7 @@ __metadata: stylelint-checkstyle-reporter: "npm:1.0.0" stylelint-config-standard: "npm:36.0.1" tippy.js: "npm:6.3.7" - webpack: "npm:5.97.0" + webpack: "npm:5.97.1" webpack-cli: "npm:5.1.4" webpack-remove-empty-scripts: "npm:1.0.4" window-handle: "npm:1.0.1" @@ -7066,9 +7066,9 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.97.0": - version: 5.97.0 - resolution: "webpack@npm:5.97.0" +"webpack@npm:5.97.1": + version: 5.97.1 + resolution: "webpack@npm:5.97.1" dependencies: "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" @@ -7098,7 +7098,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/a8714d42defbf52382b61c157f68e161a16d0edf228d8d9abaa7a165f3ee0ac7386a08d28d4dcf8d6740ea5bda0c4d4abfeeb838df029e636c1c28bb2454ac56 + checksum: 10c0/a12d3dc882ca582075f2c4bd88840be8307427245c90a8a0e0b372d73560df13fcf25a61625c9e7edc964981d16b5a8323640562eb48347cf9dd2f8bd1b39d35 languageName: node linkType: hard From 70544d932fd9d8a0a29e601830b52b6fe36c7107 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 07:37:27 +0000 Subject: [PATCH 1172/1330] Update dependency @babel/cli to v7.26.4 (#10038) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5de7d953fe87..1989b499283c 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "lint": "yarn lint:js && yarn lint:css" }, "devDependencies": { - "@babel/cli": "7.25.9", + "@babel/cli": "7.26.4", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@eslint/js": "9.16.0", diff --git a/yarn.lock b/yarn.lock index 9f287c2dd39e..2a4945df8592 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:7.25.9": - version: 7.25.9 - resolution: "@babel/cli@npm:7.25.9" +"@babel/cli@npm:7.26.4": + version: 7.26.4 + resolution: "@babel/cli@npm:7.26.4" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.25" "@nicolo-ribaudo/chokidar-2": "npm:2.1.8-no-fsevents.3" @@ -38,7 +38,7 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: 10c0/2e8228c3715e220fa902888c643ce1a89c4ee90be3d9f7a31218d5bb2500456e0cef12cb90fd5877ab3e5a4498df8f27670425d346422a3eb52052fd3184d520 + checksum: 10c0/f2d4fc3c4a34dd3001e3bd7084b78b38211003c36afaf2dc8fedf4565c0442bd59b1c64a9f91a0b7b2450e089123f197e09577ae50dc994307c3348b310ce34c languageName: node linkType: hard @@ -4369,7 +4369,7 @@ __metadata: version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." dependencies: - "@babel/cli": "npm:7.25.9" + "@babel/cli": "npm:7.26.4" "@babel/core": "npm:7.26.0" "@babel/preset-env": "npm:7.26.0" "@eslint/js": "npm:9.16.0" From 3b3a6376d65ce97f824202ab537a2fe1989cf43a Mon Sep 17 00:00:00 2001 From: Valentin Delaye Date: Mon, 9 Dec 2024 11:42:45 +0100 Subject: [PATCH 1173/1330] JENKINS-73355 Removal of commons-compress from core (#9958) --- .github/renovate.json | 10 ---------- bom/pom.xml | 5 ----- core/pom.xml | 11 ----------- 3 files changed, 26 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 90c5a18d9f6d..cfd588a66b8d 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -71,16 +71,6 @@ "org.fusesource.jansi:jansi" ] }, - { - "description": "Depends on commons-lang3 which is in progress for removal from core. See: https://issues.jenkins.io/browse/JENKINS-73355", - "matchManagers": [ - "maven" - ], - "enabled": false, - "matchPackageNames": [ - "org.apache.commons:commons-compress" - ] - }, { "description": "Contains incompatible API changes and needs compatibility work. See: https://github.com/jenkinsci/jenkins/pull/4224", "matchManagers": [ diff --git a/bom/pom.xml b/bom/pom.xml index 61de025b3e9b..f94253ce6f70 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -191,11 +191,6 @@ THE SOFTWARE. ant 1.10.15 - - org.apache.commons - commons-compress - 1.26.1 - org.apache.commons commons-fileupload2 diff --git a/core/pom.xml b/core/pom.xml index 9bff5e5ad0b2..0b9cb30d8763 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -285,17 +285,6 @@ THE SOFTWARE. org.apache.ant ant - - org.apache.commons - commons-compress - - - - org.apache.commons - commons-lang3 - - - org.apache.commons commons-fileupload2-core From f6802dd5455b0f5dd2893e8a7461b1be874344c2 Mon Sep 17 00:00:00 2001 From: frankie139506 <97017043+frankie139506@users.noreply.github.com> Date: Mon, 9 Dec 2024 18:43:00 +0800 Subject: [PATCH 1174/1330] =?UTF-8?q?[JENKINS-69549]=20Margins=20for=20hea?= =?UTF-8?q?ders=20and=20paragraphs=20make=20descriptions=20=E2=80=A6=20(#7?= =?UTF-8?q?078)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alexander Brandes Co-authored-by: Tim Jacomb Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- .../java/jenkins/telemetry/Telemetry.java | 5 ++ .../model/UsageStatistics/global.groovy | 2 +- .../help-usageStatisticsCollected.jelly | 52 +++++++++++-------- src/main/scss/base/_style.scss | 20 +++++++ 4 files changed, 57 insertions(+), 22 deletions(-) diff --git a/core/src/main/java/jenkins/telemetry/Telemetry.java b/core/src/main/java/jenkins/telemetry/Telemetry.java index 1f60e319f97d..de081c16954b 100644 --- a/core/src/main/java/jenkins/telemetry/Telemetry.java +++ b/core/src/main/java/jenkins/telemetry/Telemetry.java @@ -130,6 +130,11 @@ public static ExtensionList all() { return ExtensionList.lookup(Telemetry.class); } + @Restricted(NoExternalUse.class) // called by jelly + public static boolean isAnyTrialActive() { + return all().stream().anyMatch(Telemetry::isActivePeriod); + } + /** * @since 2.147 * @return whether to collect telemetry diff --git a/core/src/main/resources/hudson/model/UsageStatistics/global.groovy b/core/src/main/resources/hudson/model/UsageStatistics/global.groovy index 5506a37a67d5..7254eb283a60 100644 --- a/core/src/main/resources/hudson/model/UsageStatistics/global.groovy +++ b/core/src/main/resources/hudson/model/UsageStatistics/global.groovy @@ -8,7 +8,7 @@ def f=namespace(lib.FormTagLib) f.section(title: _("Usage Statistics")) { if (UsageStatistics.DISABLED) { - span(class: "jenkins-not-applicable") { + div(class: "jenkins-not-applicable jenkins-description") { raw(_("disabledBySystemProperty")) } } else if (FIPS140.useCompliantAlgorithms()) { diff --git a/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly b/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly index a1bef14d4e22..2d01661a175b 100644 --- a/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly +++ b/core/src/main/resources/hudson/model/UsageStatistics/help-usageStatisticsCollected.jelly @@ -1,14 +1,14 @@ -
    +

    For any project, it's critical to know how the software is used, but tracking usage data is inherently difficult in open-source projects. Anonymous usage statistics address this need. When enabled, Jenkins periodically sends information to the Jenkins project. The Jenkins project uses this information to set development priorities. -

    +

    -

    General usage statistics

    +

    General usage statistics

    Jenkins reports the following general usage statistics:

      @@ -24,7 +24,7 @@

    -

    Telemetry collection

    +

    Telemetry collection

    @@ -38,24 +38,34 @@ Each trial has a specific purpose and a defined end date, after which collection stops, independent of the installed versions of Jenkins or plugins. Once a trial is complete, the trial results may be aggregated and shared with the developer community.

    -

    - The following trials defined on this instance are active now or in the future: -

    + + -
    - - -
    ${collector.displayName}
    -
    - -

    - Start date: ${collector.start}
    - End date: ${collector.end} -

    -
    -
    -
    -
    + + +

    ${%There are currently no active trials.}

    +
    + +

    + The following trials defined on this instance are active now or in the future: +

    +
    + + +
    ${collector.displayName}
    +
    + +

    + Start date: ${collector.start} +
    + End date: ${collector.end} +

    +
    +
    +
    +
    +
    +
    diff --git a/src/main/scss/base/_style.scss b/src/main/scss/base/_style.scss index 273d583d4ca9..98807c6e5401 100644 --- a/src/main/scss/base/_style.scss +++ b/src/main/scss/base/_style.scss @@ -372,6 +372,8 @@ pre.console { border-radius: 6px; z-index: 0; + --section-padding: 0.8rem; + &::before { content: ""; position: absolute; @@ -389,6 +391,24 @@ pre.console { p:last-of-type { margin-bottom: 0; } + + // add spacing above headings except for when its the first element in the help + // the need for this is caused by p:last-of-type setting margin-bottom to 0 + // unfortunately because of the varied markup I wasn't able to find a way to avoid this + h1:not(:first-child), + .h1:not(:first-child), + h2:not(:first-child), + .h2:not(:first-child), + h3:not(:first-child), + .h3:not(:first-child), + h4:not(:first-child), + .h4:not(:first-child), + h5:not(:first-child), + .h5:not(:first-child), + h6:not(:first-child), + .h6:not(:first-child) { + margin-top: var(--section-padding); + } } .help .from-plugin { From fc4a567604527120e7d321032b3336806deca8da Mon Sep 17 00:00:00 2001 From: Michael Tughan Date: Wed, 4 Dec 2024 15:15:13 -0500 Subject: [PATCH 1175/1330] Allow all immutable List subclasses from Java 11 A previous commit specifically allowed one of the two subclasses used by `List.of` and `List.copyOf`, but not the other, which can result in unexpected errors and bugs. Add the other to the default allow list of classes to avoid these. --- core/src/main/resources/jenkins/security/whitelisted-classes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/main/resources/jenkins/security/whitelisted-classes.txt b/core/src/main/resources/jenkins/security/whitelisted-classes.txt index b1805a6bd387..f3f9080bde81 100644 --- a/core/src/main/resources/jenkins/security/whitelisted-classes.txt +++ b/core/src/main/resources/jenkins/security/whitelisted-classes.txt @@ -105,6 +105,7 @@ java.util.HashMap java.util.HashSet java.util.Hashtable java.util.ImmutableCollections$List12 +java.util.ImmutableCollections$ListN java.util.LinkedHashMap java.util.LinkedHashSet java.util.LinkedList From 930c7ffe7da6bc1d655db837feaa8a6bd2a06ac3 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:19:12 +0000 Subject: [PATCH 1176/1330] Overhaul search with a Command Palette (#7569) Co-authored-by: Wadeck Follonier Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> Co-authored-by: Alexander Brandes Co-authored-by: Tim Jacomb --- core/src/main/java/hudson/Functions.java | 10 + core/src/main/java/hudson/model/Job.java | 2 +- core/src/main/java/hudson/search/Search.java | 15 +- .../java/hudson/search/SuggestedItem.java | 2 +- core/src/main/java/jenkins/model/Jenkins.java | 4 +- .../jenkins/views/JenkinsHeader/search-box.js | 6 - .../lib/layout/command-palette.jelly | 47 +++++ .../lib/layout/header/searchbox.jelly | 38 ++-- .../main/resources/lib/layout/layout.jelly | 1 + eslint.config.cjs | 1 - src/main/js/api/search.js | 10 + src/main/js/app.js | 2 + .../components/command-palette/datasources.js | 29 +++ .../js/components/command-palette/index.js | 155 +++++++++++++++ .../js/components/command-palette/models.js | 27 +++ .../js/components/command-palette/symbols.js | 3 + src/main/js/keyboard-shortcuts.js | 24 +-- src/main/scss/abstracts/_mixins.scss | 1 + src/main/scss/abstracts/_theme.scss | 13 ++ .../scss/components/_command-palette.scss | 176 ++++++++++++++++++ src/main/scss/components/_index.scss | 1 + src/main/scss/components/_page-header.scss | 11 ++ src/main/scss/form/_search-bar.scss | 44 +++-- .../hudson/model/AbstractProjectTest.java | 1 + .../test/java/hudson/search/SearchTest.java | 76 +++----- .../hudson/widgets/HistoryWidgetTest.java | 4 +- .../test/java/jenkins/model/JenkinsTest.java | 3 +- .../main/webapp/scripts/hudson-behavior.js | 57 +----- 28 files changed, 600 insertions(+), 163 deletions(-) delete mode 100644 core/src/main/resources/jenkins/views/JenkinsHeader/search-box.js create mode 100644 core/src/main/resources/lib/layout/command-palette.jelly create mode 100644 src/main/js/api/search.js create mode 100644 src/main/js/components/command-palette/datasources.js create mode 100644 src/main/js/components/command-palette/index.js create mode 100644 src/main/js/components/command-palette/models.js create mode 100644 src/main/js/components/command-palette/symbols.js create mode 100644 src/main/scss/components/_command-palette.scss diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 64add7b35193..67801475233d 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -62,6 +62,7 @@ import hudson.model.View; import hudson.scm.SCM; import hudson.scm.SCMDescriptor; +import hudson.search.SearchFactory; import hudson.search.SearchableModelObject; import hudson.security.ACL; import hudson.security.AccessControlled; @@ -2578,6 +2579,11 @@ public static String generateItemId() { return String.valueOf(Math.floor(Math.random() * 3000)); } + @Restricted(NoExternalUse.class) + public static ExtensionList getSearchFactories() { + return SearchFactory.all(); + } + /** * @param keyboardShortcut the shortcut to be translated * @return the translated shortcut, e.g. CMD+K to ⌘+K for macOS, CTRL+K for Windows @@ -2596,6 +2602,10 @@ public static String translateModifierKeysForUsersPlatform(String keyboardShortc @Restricted(NoExternalUse.class) public static String formatMessage(String format, Object args) { + if (format == null) { + return args.toString(); + } + return MessageFormat.format(format, args); } } diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index d22c25e98e3d..7d140656e363 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -541,7 +541,7 @@ public void find(String token, List result) { public void suggest(String token, List result) { find(token, result); } - }).add("configure", "config", "configure"); + }); } @Override diff --git a/core/src/main/java/hudson/search/Search.java b/core/src/main/java/hudson/search/Search.java index 7773d9e9d696..9bd624e34742 100644 --- a/core/src/main/java/hudson/search/Search.java +++ b/core/src/main/java/hudson/search/Search.java @@ -158,7 +158,7 @@ public void doSuggestOpenSearch(StaplerRequest2 req, StaplerResponse2 rsp, @Quer public void doSuggest(StaplerRequest2 req, StaplerResponse2 rsp, @QueryParameter String query) throws IOException, ServletException { Result r = new Result(); for (SuggestedItem item : getSuggestions(req, query)) - r.suggestions.add(new Item(item.getPath())); + r.suggestions.add(new Item(item.getPath(), item.getUrl())); rsp.serveExposedBean(req, r, Flavor.JSON); } @@ -252,12 +252,25 @@ public static class Result { @ExportedBean(defaultVisibility = 999) public static class Item { + @Exported @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD", justification = "read by Stapler") public String name; + private final String url; + public Item(String name) { + this(name, null); + } + + public Item(String name, String url) { this.name = name; + this.url = url; + } + + @Exported + public String getUrl() { + return url; } } diff --git a/core/src/main/java/hudson/search/SuggestedItem.java b/core/src/main/java/hudson/search/SuggestedItem.java index 9ba455270e58..6911d002fe50 100644 --- a/core/src/main/java/hudson/search/SuggestedItem.java +++ b/core/src/main/java/hudson/search/SuggestedItem.java @@ -62,7 +62,7 @@ private void getPath(StringBuilder buf) { buf.append(item.getSearchName()); else { parent.getPath(buf); - buf.append(' ').append(item.getSearchName()); + buf.append(" » ").append(item.getSearchName()); } } diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index bedbea0af7c4..eee96b5bca05 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -2346,9 +2346,7 @@ public String getSearchUrl() { public SearchIndexBuilder makeSearchIndex() { SearchIndexBuilder builder = super.makeSearchIndex(); if (hasPermission(ADMINISTER)) { - builder.add("configure", "config", "configure") - .add("manage") - .add("log"); + builder.add("manage", Messages.ManageJenkinsAction_DisplayName()); } builder.add(new CollectionSearchIndex() { @Override diff --git a/core/src/main/resources/jenkins/views/JenkinsHeader/search-box.js b/core/src/main/resources/jenkins/views/JenkinsHeader/search-box.js deleted file mode 100644 index 91e805c4ceaf..000000000000 --- a/core/src/main/resources/jenkins/views/JenkinsHeader/search-box.js +++ /dev/null @@ -1,6 +0,0 @@ -(function () { - var element = document.getElementById("search-box-completion"); - if (element) { - createSearchBox(element.getAttribute("data-search-url")); - } -})(); diff --git a/core/src/main/resources/lib/layout/command-palette.jelly b/core/src/main/resources/lib/layout/command-palette.jelly new file mode 100644 index 000000000000..3d454f88a8c1 --- /dev/null +++ b/core/src/main/resources/lib/layout/command-palette.jelly @@ -0,0 +1,47 @@ + + + + + + The command palette overlay + + +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    + diff --git a/core/src/main/resources/lib/layout/header/searchbox.jelly b/core/src/main/resources/lib/layout/header/searchbox.jelly index 916f5ad49c22..033dc2ab0407 100644 --- a/core/src/main/resources/lib/layout/header/searchbox.jelly +++ b/core/src/main/resources/lib/layout/header/searchbox.jelly @@ -1,25 +1,27 @@ - -