mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-26 19:15:09 +00:00
Merge branch 'master' into new-bottom-app-bar
This commit is contained in:
commit
d4cf906a15
21 files changed
+165
-253
No files matched your search
@@ -6,7 +6,7 @@ set -o xtrace
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# https://github.com/jenkinsci/acceptance-test-harness/releases
|
||||
export ATH_VERSION=6277.vb_5b_2154b_6691
|
||||
export ATH_VERSION=6294.v8837063f315d
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
export JDK=17
|
||||
|
||||
+6
-1
@@ -623,6 +623,11 @@ THE SOFTWARE.
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<!-- Version specified in grandparent POM -->
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>properties</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>winsw</id>
|
||||
<goals>
|
||||
@@ -651,7 +656,7 @@ THE SOFTWARE.
|
||||
<!-- Version specified in grandparent POM -->
|
||||
<configuration>
|
||||
<!-- Make sure to keep the directives in test/pom.xml and war/pom.xml in sync with these. -->
|
||||
<argLine>@{jacocoSurefireArgs} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</argLine>
|
||||
<argLine>@{jacocoSurefireArgs} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -javaagent:${org.mockito:mockito-core:jar}</argLine>
|
||||
<reuseForks>false</reuseForks>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
@@ -39,10 +39,11 @@ import jenkins.security.seed.UserSeedProperty;
|
||||
import jenkins.util.SystemProperties;
|
||||
import org.kohsuke.accmod.Restricted;
|
||||
import org.kohsuke.accmod.restrictions.NoExternalUse;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
import org.springframework.security.web.servlet.util.matcher.PathPatternRequestMatcher;
|
||||
|
||||
/**
|
||||
* Login filter with a change for Jenkins so that
|
||||
@@ -56,7 +57,7 @@ public final class AuthenticationProcessingFilter2 extends UsernamePasswordAuthe
|
||||
|
||||
@SuppressFBWarnings(value = "HARD_CODE_PASSWORD", justification = "This is a password parameter, not a password")
|
||||
public AuthenticationProcessingFilter2(String authenticationGatewayUrl) {
|
||||
setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/" + authenticationGatewayUrl, "POST"));
|
||||
setRequiresAuthenticationRequestMatcher(PathPatternRequestMatcher.withDefaults().matcher(HttpMethod.POST, "/" + authenticationGatewayUrl));
|
||||
// Jenkins/login.jelly & SetupWizard/authenticate-security-token.jelly
|
||||
setUsernameParameter("j_username");
|
||||
setPasswordParameter("j_password");
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
package jenkins.console;
|
||||
|
||||
import edu.umd.cs.findbugs.annotations.CheckForNull;
|
||||
import edu.umd.cs.findbugs.annotations.NonNull;
|
||||
import hudson.Extension;
|
||||
import hudson.model.User;
|
||||
import hudson.model.UserProperty;
|
||||
import hudson.model.UserPropertyDescriptor;
|
||||
import hudson.model.userproperty.UserPropertyCategory;
|
||||
import java.util.List;
|
||||
import org.jenkinsci.Symbol;
|
||||
import org.kohsuke.accmod.Restricted;
|
||||
@@ -70,6 +72,11 @@ public class ConsoleUrlProviderUserProperty extends UserProperty {
|
||||
return Messages.consoleUrlProviderDisplayName_Description();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull UserPropertyCategory getUserPropertyCategory() {
|
||||
return UserPropertyCategory.get(UserPropertyCategory.Appearance.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserProperty newInstance(User user) {
|
||||
return new ConsoleUrlProviderUserProperty();
|
||||
|
||||
@@ -2830,12 +2830,13 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
|
||||
|
||||
/**
|
||||
* Formerly used to bind {@link ExtensionList}s to URLs.
|
||||
* <p>
|
||||
* Currently handled by {@link jenkins.telemetry.impl.HttpExtensionList.ExtensionListRootAction}.
|
||||
* </p>
|
||||
*
|
||||
* @since 1.349
|
||||
* @deprecated This is no longer supported.
|
||||
* For URL access to descriptors, see {@link hudson.model.DescriptorByNameOwner}.
|
||||
* For URL access to specific other {@link hudson.Extension} annotated elements, create your own {@link hudson.model.Action}, like {@link hudson.console.ConsoleAnnotatorFactory.RootAction}.
|
||||
*/
|
||||
@Deprecated(since = "TODO")
|
||||
public ExtensionList getExtensionList(String extensionType) throws ClassNotFoundException {
|
||||
return getExtensionList(pluginManager.uberClassLoader.loadClass(extensionType));
|
||||
}
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
/*
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright (c) 2025, 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.telemetry.impl;
|
||||
|
||||
import static java.util.logging.Level.FINE;
|
||||
|
||||
import edu.umd.cs.findbugs.annotations.NonNull;
|
||||
import hudson.Extension;
|
||||
import hudson.ExtensionList;
|
||||
import hudson.model.InvisibleAction;
|
||||
import hudson.model.RootAction;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Logger;
|
||||
import jenkins.model.Jenkins;
|
||||
import jenkins.telemetry.Telemetry;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.kohsuke.accmod.Restricted;
|
||||
import org.kohsuke.accmod.restrictions.NoExternalUse;
|
||||
import org.kohsuke.stapler.Stapler;
|
||||
import org.kohsuke.stapler.StaplerRequest2;
|
||||
|
||||
/**
|
||||
* Collect information about which URLs in {@code /extensionList/} are being accessed.
|
||||
*
|
||||
* @since 2.505
|
||||
*/
|
||||
@Extension
|
||||
@Restricted(NoExternalUse.class)
|
||||
public class HttpExtensionList extends Telemetry {
|
||||
private final Map<String, Integer> calls = new ConcurrentHashMap<>();
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
return "Extension List access via HTTP";
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LocalDate getStart() {
|
||||
return LocalDate.of(2025, 4, 5);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LocalDate getEnd() {
|
||||
return LocalDate.of(2025, 7, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized JSONObject createContent() {
|
||||
JSONObject info = new JSONObject();
|
||||
info.put("components", buildComponentInformation());
|
||||
|
||||
Map<String, Integer> currentRequests = new TreeMap<>(calls);
|
||||
calls.clear();
|
||||
|
||||
JSONObject payload = new JSONObject();
|
||||
payload.putAll(currentRequests);
|
||||
|
||||
info.put("dispatches", payload);
|
||||
return info;
|
||||
}
|
||||
|
||||
public synchronized void record(String path) {
|
||||
String[] parts = path.split("/");
|
||||
if (parts.length > 1) {
|
||||
// Record just extension point + implementation class
|
||||
path = parts[0] + '/' + parts[1];
|
||||
}
|
||||
calls.compute(path, (p, v) -> v == null ? 1 : v + 1);
|
||||
}
|
||||
|
||||
@Extension
|
||||
@Restricted(NoExternalUse.class)
|
||||
public static class ExtensionListRootAction extends InvisibleAction implements RootAction {
|
||||
private static final Logger LOGGER = Logger.getLogger(ExtensionListRootAction.class.getName());
|
||||
|
||||
@Override
|
||||
public String getUrlName() {
|
||||
return "extensionList";
|
||||
}
|
||||
|
||||
public ExtensionList getDynamic(String extensionType) throws ClassNotFoundException {
|
||||
StaplerRequest2 req = Stapler.getCurrentRequest2();
|
||||
if (req != null && extensionType != null) {
|
||||
try {
|
||||
final HttpExtensionList telemetry = ExtensionList.lookupSingleton(HttpExtensionList.class);
|
||||
if (telemetry.isActivePeriod()) {
|
||||
telemetry.record(extensionType + req.getRestOfPath());
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
LOGGER.log(FINE, "Failed to record telemetry for " + HttpExtensionList.class.getName(), ex);
|
||||
}
|
||||
}
|
||||
return Jenkins.get().getExtensionList(extensionType);
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -30,7 +30,7 @@ THE SOFTWARE.
|
||||
<l:layout permission="${app.ADMINISTER}" title="${%title}">
|
||||
<st:include page="sidepanel.jelly" it="${it.targetUser}" />
|
||||
<l:main-panel>
|
||||
<f:form method="post" action="configSubmit" name="config">
|
||||
<f:form method="post" action="configSubmit" name="config" class="jenkins-form">
|
||||
<h1>
|
||||
${%title}
|
||||
</h1>
|
||||
@@ -44,7 +44,7 @@ THE SOFTWARE.
|
||||
<j:when test="${hasItems}">
|
||||
<j:forEach var="d" items="${descriptors}" varStatus="loop">
|
||||
<j:if test="${d.enabled}">
|
||||
<f:section title="${d.displayName}">
|
||||
<f:section title="${d.displayName}" description="${d.description}">
|
||||
<j:set var="it" value="${thisAction.targetUser}" />
|
||||
<j:set var="descriptor" value="${d}" />
|
||||
<j:set var="instance" value="${instances[d]}" />
|
||||
|
||||
+2
-7
@@ -1,13 +1,8 @@
|
||||
<?jelly escape-by-default='true'?>
|
||||
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form">
|
||||
<j:if test="${descriptor.enabled}">
|
||||
<f:section title="${%Console URL Provider}">
|
||||
<f:block>
|
||||
${%description}
|
||||
</f:block>
|
||||
<f:entry>
|
||||
<f:repeatableHeteroProperty field="providers" hasHeader="true" oneEach="true" header="${%Providers}" />
|
||||
</f:entry>
|
||||
<f:section title="${%Console URL Provider}" description="${%description}">
|
||||
<f:repeatableHeteroProperty field="providers" hasHeader="true" oneEach="true" header="${%Providers}" />
|
||||
</f:section>
|
||||
</j:if>
|
||||
</j:jelly>
|
||||
@@ -5,8 +5,6 @@
|
||||
<!-- Dummy field to always have an entry in form submissions so users can delete all providers. -->
|
||||
<f:checkbox field="unused" checked="true" />
|
||||
</f:invisibleEntry>
|
||||
<f:entry>
|
||||
<f:repeatableHeteroProperty field="providers" hasHeader="true" oneEach="true" header="${%Providers}" />
|
||||
</f:entry>
|
||||
<f:repeatableHeteroProperty field="providers" hasHeader="true" oneEach="true" header="${%Providers}" />
|
||||
</j:if>
|
||||
</j:jelly>
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright 2019 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.model.GlobalBuildDiscarderConfiguration
|
||||
|
||||
f = namespace(lib.FormTagLib)
|
||||
|
||||
f.section(title: _("Global Build Discarders")) {
|
||||
f.block() {
|
||||
f.repeatableHeteroProperty(field: "configuredBuildDiscarders", hasHeader: true, oneEach: true)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<!--
|
||||
The MIT License
|
||||
Copyright (c) 2025, Stefan Spieker
|
||||
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.
|
||||
-->
|
||||
|
||||
<?jelly escape-by-default='true'?>
|
||||
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form">
|
||||
<f:section title="${%Global Build Discarders}">
|
||||
<f:block>
|
||||
<f:repeatableHeteroProperty field="configuredBuildDiscarders" hasHeader="true" oneEach="true"/>
|
||||
</f:block>
|
||||
</f:section>
|
||||
</j:jelly>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
# The MIT License
|
||||
# Copyright (c) 2025, Stefan Spieker
|
||||
# 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.
|
||||
|
||||
Global\ Build\ Discarders=Globale Build-Löschrichtlinien
|
||||
@@ -1,9 +0,0 @@
|
||||
<?jelly escape-by-default='true'?>
|
||||
<j:jelly xmlns:j="jelly:core">
|
||||
<p>
|
||||
${%blurb}
|
||||
</p>
|
||||
<p>
|
||||
${%blurb2}
|
||||
</p>
|
||||
</j:jelly>
|
||||
-4
@@ -1,4 +0,0 @@
|
||||
blurb = This trial records uses of an HTTP endpoint granting direct access to extensions, the building blocks of Jenkins's extensibility through plugins. \
|
||||
It is expected that there are few legitimate uses of this endpoint, and this trial informs plans for its eventual removal.
|
||||
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.
|
||||
@@ -9,7 +9,7 @@
|
||||
</breadcrumbs>
|
||||
<head>
|
||||
<![CDATA[
|
||||
<script src="https://cdn.jsdelivr.net/npm/lit@3.3.0/polyfill-support.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/lit@3.3.1/polyfill-support.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs@2.8.0/webcomponents-loader.js"></script>
|
||||
<script data="jio" src="https://cdn.jsdelivr.net/npm/@jenkinsci/jenkins-io-components/+esm" type="module"></script>
|
||||
<script data="jio" nomodule="" src="https://cdn.jsdelivr.net/npm/@jenkinsci/jenkins-io-components"></script>
|
||||
|
||||
+4
-4
@@ -26,12 +26,12 @@
|
||||
"@babel/cli": "7.28.0",
|
||||
"@babel/core": "7.28.0",
|
||||
"@babel/preset-env": "7.28.0",
|
||||
"@eslint/js": "9.30.1",
|
||||
"@eslint/js": "9.31.0",
|
||||
"babel-loader": "10.0.0",
|
||||
"clean-webpack-plugin": "4.0.0",
|
||||
"css-loader": "7.1.2",
|
||||
"css-minimizer-webpack-plugin": "7.0.2",
|
||||
"eslint": "9.30.1",
|
||||
"eslint": "9.31.0",
|
||||
"eslint-config-prettier": "10.1.5",
|
||||
"eslint-formatter-checkstyle": "8.40.0",
|
||||
"globals": "16.3.0",
|
||||
@@ -46,9 +46,9 @@
|
||||
"sass-loader": "16.0.5",
|
||||
"style-loader": "4.0.0",
|
||||
"stylelint": "16.21.1",
|
||||
"stylelint-checkstyle-reporter": "1.0.0",
|
||||
"stylelint-checkstyle-reporter": "1.1.1",
|
||||
"stylelint-config-standard-scss": "15.0.1",
|
||||
"webpack": "5.99.9",
|
||||
"webpack": "5.100.2",
|
||||
"webpack-cli": "6.0.1",
|
||||
"webpack-remove-empty-scripts": "1.1.1"
|
||||
},
|
||||
|
||||
@@ -28,7 +28,7 @@ THE SOFTWARE.
|
||||
<parent>
|
||||
<groupId>org.jenkins-ci</groupId>
|
||||
<artifactId>jenkins</artifactId>
|
||||
<version>1.133</version>
|
||||
<version>1.134</version>
|
||||
<relativePath />
|
||||
</parent>
|
||||
|
||||
@@ -73,9 +73,9 @@ THE SOFTWARE.
|
||||
</issueManagement>
|
||||
|
||||
<properties>
|
||||
<revision>2.519</revision>
|
||||
<revision>2.520</revision>
|
||||
<changelist>-SNAPSHOT</changelist>
|
||||
<project.build.outputTimestamp>2025-07-08T13:08:54Z</project.build.outputTimestamp>
|
||||
<project.build.outputTimestamp>2025-07-15T13:07:49Z</project.build.outputTimestamp>
|
||||
|
||||
<!-- configuration for patch tracker plugin -->
|
||||
<project.patchManagement.system>github</project.patchManagement.system>
|
||||
@@ -87,7 +87,7 @@ THE SOFTWARE.
|
||||
<changelog.url>https://www.jenkins.io/changelog</changelog.url>
|
||||
|
||||
<!-- Bundled Remoting version -->
|
||||
<remoting.version>3309.v27b_9314fd1a_4</remoting.version>
|
||||
<remoting.version>3324.vea_eda_e98cd69</remoting.version>
|
||||
|
||||
<spotbugs.effort>Max</spotbugs.effort>
|
||||
<spotbugs.threshold>Medium</spotbugs.threshold>
|
||||
@@ -98,7 +98,7 @@ THE SOFTWARE.
|
||||
<spotless.check.skip>false</spotless.check.skip>
|
||||
<!-- Make sure to keep the jetty-ee9-maven-plugin version in war/pom.xml in sync with the Jetty release in Winstone: -->
|
||||
<winstone.version>8.11</winstone.version>
|
||||
<node.version>22.17.0</node.version>
|
||||
<node.version>22.17.1</node.version>
|
||||
</properties>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -36,15 +36,21 @@ function dropdown() {
|
||||
animation: "dropdown",
|
||||
duration: 250,
|
||||
onShow: (instance) => {
|
||||
// Make sure only one instance is visible at all times
|
||||
const dropdowns = document.querySelectorAll("[data-tippy-root]");
|
||||
Array.from(dropdowns).forEach((element) => {
|
||||
// Check if the Tippy.js instance exists
|
||||
if (element && element._tippy) {
|
||||
// To just hide the dropdown
|
||||
element._tippy.hide();
|
||||
}
|
||||
});
|
||||
// Make sure only one instance is visible at all times in case of breadcrumb
|
||||
if (
|
||||
instance.reference.classList.contains("hoverable-model-link") ||
|
||||
instance.reference.classList.contains("hoverable-children-model-link")
|
||||
) {
|
||||
const dropdowns = document.querySelectorAll("[data-tippy-root]");
|
||||
Array.from(dropdowns).forEach((element) => {
|
||||
// Check if the Tippy.js instance exists
|
||||
if (element && element._tippy) {
|
||||
// To just hide the dropdown
|
||||
element._tippy.hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const referenceParent = instance.reference.parentNode;
|
||||
|
||||
if (referenceParent.classList.contains("model-link")) {
|
||||
|
||||
+7
-4
@@ -49,6 +49,9 @@ THE SOFTWARE.
|
||||
<jenkins.addOpens>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</jenkins.addOpens>
|
||||
<!-- Filled in by maven-hpi-plugin with the path to org-netbeans-insane-hook.jar extracted from jenkins-test-harness -->
|
||||
<jenkins.insaneHook />
|
||||
|
||||
<!-- Filled in by maven-hpi-plugin with "-javaagent:/path/to/mockito-core-<version>.jar" -->
|
||||
<jenkins.javaAgent />
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
@@ -63,7 +66,7 @@ THE SOFTWARE.
|
||||
<dependency>
|
||||
<groupId>io.jenkins.plugins</groupId>
|
||||
<artifactId>commons-lang3-api</artifactId>
|
||||
<version>3.17.0-87.v5cf526e63b_8b_</version>
|
||||
<version>3.18.0-98.v3a_674c06072d</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- RequireUpperBoundDeps between checks-api, plugin-util-api, and font-awesome-api -->
|
||||
@@ -128,7 +131,7 @@ THE SOFTWARE.
|
||||
<dependency>
|
||||
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
||||
<artifactId>workflow-step-api</artifactId>
|
||||
<version>700.v6e45cb_a_5a_a_21</version>
|
||||
<version>704.ve4f0967e98fa_</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- Required by plugin-util-api -->
|
||||
@@ -223,7 +226,7 @@ THE SOFTWARE.
|
||||
<dependency>
|
||||
<groupId>org.jenkins-ci.plugins</groupId>
|
||||
<artifactId>cloudbees-folder</artifactId>
|
||||
<version>6.1026.ve06dfa_cf31c3</version>
|
||||
<version>6.1036.vb_94fd035b_287</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -386,7 +389,7 @@ THE SOFTWARE.
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<!-- version specified in grandparent pom -->
|
||||
<configuration>
|
||||
<argLine>@{jacocoSurefireArgs} -Xmx1g @{jenkins.addOpens} @{jenkins.insaneHook}</argLine>
|
||||
<argLine>@{jacocoSurefireArgs} -Xmx1g @{jenkins.addOpens} @{jenkins.insaneHook} @{jenkins.javaAgent}</argLine>
|
||||
<systemPropertyVariables>
|
||||
<hudson.maven.debug>${mavenDebug}</hudson.maven.debug>
|
||||
<buildDirectory>${project.build.directory}</buildDirectory>
|
||||
|
||||
+2
-2
@@ -414,7 +414,7 @@ THE SOFTWARE.
|
||||
<!-- dependency of checks-api, junit, plugin-util-api, workflow-api, and workflow-support -->
|
||||
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
||||
<artifactId>workflow-step-api</artifactId>
|
||||
<version>700.v6e45cb_a_5a_a_21</version>
|
||||
<version>704.ve4f0967e98fa_</version>
|
||||
<type>hpi</type>
|
||||
</artifactItem>
|
||||
<artifactItem>
|
||||
@@ -512,7 +512,7 @@ THE SOFTWARE.
|
||||
<!-- dependency of bootstrap5-api, checks-api, commons-text-api, echarts-api, font-awesome-api, jquery3-api, and plugin-util-api -->
|
||||
<groupId>io.jenkins.plugins</groupId>
|
||||
<artifactId>commons-lang3-api</artifactId>
|
||||
<version>3.17.0-87.v5cf526e63b_8b_</version>
|
||||
<version>3.18.0-98.v3a_674c06072d</version>
|
||||
<type>hpi</type>
|
||||
</artifactItem>
|
||||
<artifactItem>
|
||||
|
||||
@@ -1704,6 +1704,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/core@npm:^0.15.0":
|
||||
version: 0.15.1
|
||||
resolution: "@eslint/core@npm:0.15.1"
|
||||
dependencies:
|
||||
"@types/json-schema": "npm:^7.0.15"
|
||||
checksum: 10c0/abaf641940776638b8c15a38d99ce0dac551a8939310ec81b9acd15836a574cf362588eaab03ab11919bc2a0f9648b19ea8dee33bf12675eb5b6fd38bda6f25e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^3.3.1":
|
||||
version: 3.3.1
|
||||
resolution: "@eslint/eslintrc@npm:3.3.1"
|
||||
@@ -1721,10 +1730,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:9.30.1":
|
||||
version: 9.30.1
|
||||
resolution: "@eslint/js@npm:9.30.1"
|
||||
checksum: 10c0/17fc382a0deafdb1cadac1269d9c2f2464f025bde6e4d12fc4f4775eb9886b41340d4650b72e85a53423644fdc89bf59c987a852f27379ad25feecf2c5bbc1c9
|
||||
"@eslint/js@npm:9.31.0":
|
||||
version: 9.31.0
|
||||
resolution: "@eslint/js@npm:9.31.0"
|
||||
checksum: 10c0/f9d4c73d0fafe70679a418cbb25ab7ebcc8f1dba6c32456d6f8ba5a137d583ecff233cfe10f61f41d7d4d2220e94cff1f39fc7ed1fa3819d1888dee1cad678ea
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -2167,10 +2176,10 @@ __metadata:
|
||||
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
|
||||
"@types/estree@npm:*, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8":
|
||||
version: 1.0.8
|
||||
resolution: "@types/estree@npm:1.0.8"
|
||||
checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -2453,6 +2462,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn-import-phases@npm:^1.0.3":
|
||||
version: 1.0.3
|
||||
resolution: "acorn-import-phases@npm:1.0.3"
|
||||
peerDependencies:
|
||||
acorn: ^8.14.0
|
||||
checksum: 10c0/43cc13a63f13105756e53cdc057f0a60dcbf38f8be739258ba85ed9f126920936a0720a4232a45569d391e82da85135af23dd431e8882a226380db289632f7b2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn-jsx@npm:^5.3.2":
|
||||
version: 5.3.2
|
||||
resolution: "acorn-jsx@npm:5.3.2"
|
||||
@@ -2462,7 +2480,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.8.2":
|
||||
"acorn@npm:^8.15.0, acorn@npm:^8.8.2":
|
||||
version: 8.15.0
|
||||
resolution: "acorn@npm:8.15.0"
|
||||
bin:
|
||||
@@ -3412,13 +3430,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"enhanced-resolve@npm:^5.17.1":
|
||||
version: 5.18.0
|
||||
resolution: "enhanced-resolve@npm:5.18.0"
|
||||
"enhanced-resolve@npm:^5.17.2":
|
||||
version: 5.18.2
|
||||
resolution: "enhanced-resolve@npm:5.18.2"
|
||||
dependencies:
|
||||
graceful-fs: "npm:^4.2.4"
|
||||
tapable: "npm:^2.2.0"
|
||||
checksum: 10c0/5fcc264a6040754ab5b349628cac2bb5f89cee475cbe340804e657a5b9565f70e6aafb338d5895554eb0ced9f66c50f38a255274a0591dcb64ee17c549c459ce
|
||||
checksum: 10c0/2a45105daded694304b0298d1c0351a981842249a9867513d55e41321a4ccf37dfd35b0c1e9ceae290eab73654b09aa7a910d618ea6f9441e97c52bc424a2372
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -3534,17 +3552,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:9.30.1":
|
||||
version: 9.30.1
|
||||
resolution: "eslint@npm:9.30.1"
|
||||
"eslint@npm:9.31.0":
|
||||
version: 9.31.0
|
||||
resolution: "eslint@npm:9.31.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.2.0"
|
||||
"@eslint-community/regexpp": "npm:^4.12.1"
|
||||
"@eslint/config-array": "npm:^0.21.0"
|
||||
"@eslint/config-helpers": "npm:^0.3.0"
|
||||
"@eslint/core": "npm:^0.14.0"
|
||||
"@eslint/core": "npm:^0.15.0"
|
||||
"@eslint/eslintrc": "npm:^3.3.1"
|
||||
"@eslint/js": "npm:9.30.1"
|
||||
"@eslint/js": "npm:9.31.0"
|
||||
"@eslint/plugin-kit": "npm:^0.3.1"
|
||||
"@humanfs/node": "npm:^0.16.6"
|
||||
"@humanwhocodes/module-importer": "npm:^1.0.1"
|
||||
@@ -3580,7 +3598,7 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: 10c0/5a5867078e03ea56a1b6d1ee1548659abc38a6d5136c7ef94e21c5dbeb28e3ed50b15d2e0da25fce85600f6cf7ea7715eae650c41e8ae826c34490e9ec73d5d6
|
||||
checksum: 10c0/3fd1cd5b38b907ecb3f5e7537ab91204efb38bc1ad0ca6e46fc4112f13b594272ff56e641b41580049bc333fbcb5b1b99ca9a542e8406e7da5e951068cbaec77
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -4365,12 +4383,12 @@ __metadata:
|
||||
"@babel/cli": "npm:7.28.0"
|
||||
"@babel/core": "npm:7.28.0"
|
||||
"@babel/preset-env": "npm:7.28.0"
|
||||
"@eslint/js": "npm:9.30.1"
|
||||
"@eslint/js": "npm:9.31.0"
|
||||
babel-loader: "npm:10.0.0"
|
||||
clean-webpack-plugin: "npm:4.0.0"
|
||||
css-loader: "npm:7.1.2"
|
||||
css-minimizer-webpack-plugin: "npm:7.0.2"
|
||||
eslint: "npm:9.30.1"
|
||||
eslint: "npm:9.31.0"
|
||||
eslint-config-prettier: "npm:10.1.5"
|
||||
eslint-formatter-checkstyle: "npm:8.40.0"
|
||||
globals: "npm:16.3.0"
|
||||
@@ -4390,10 +4408,10 @@ __metadata:
|
||||
sortablejs: "npm:1.15.6"
|
||||
style-loader: "npm:4.0.0"
|
||||
stylelint: "npm:16.21.1"
|
||||
stylelint-checkstyle-reporter: "npm:1.0.0"
|
||||
stylelint-checkstyle-reporter: "npm:1.1.1"
|
||||
stylelint-config-standard-scss: "npm:15.0.1"
|
||||
tippy.js: "npm:6.3.7"
|
||||
webpack: "npm:5.99.9"
|
||||
webpack: "npm:5.100.2"
|
||||
webpack-cli: "npm:6.0.1"
|
||||
webpack-remove-empty-scripts: "npm:1.1.1"
|
||||
window-handle: "npm:1.0.1"
|
||||
@@ -6628,15 +6646,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stylelint-checkstyle-reporter@npm:1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "stylelint-checkstyle-reporter@npm:1.0.0"
|
||||
"stylelint-checkstyle-reporter@npm:1.1.1":
|
||||
version: 1.1.1
|
||||
resolution: "stylelint-checkstyle-reporter@npm:1.1.1"
|
||||
dependencies:
|
||||
get-stdin: "npm:9.0.0"
|
||||
xmlbuilder2: "npm:3.1.1"
|
||||
bin:
|
||||
stylelint-checkstyle-reporter: dist/reporter-with-stdin.mjs
|
||||
checksum: 10c0/26d45528ab75ad4129abdf34436578a2a0e6a10c552e53b1bb19fb7eff8433f1fd77ab3fb6698b295802df54f9005d8031791451b695fa86269e20385b978a9b
|
||||
checksum: 10c0/e003714d6877b2296cd79831ac7859c88b49e4b57ec7e01e0b46aa5169b8bdcd98422be80a79ac48e25f9fe2258fc0e0977b70584a11de39ae28e09267b75461
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -7072,27 +7090,28 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"webpack-sources@npm:^3.2.3":
|
||||
version: 3.2.3
|
||||
resolution: "webpack-sources@npm:3.2.3"
|
||||
checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e
|
||||
"webpack-sources@npm:^3.3.3":
|
||||
version: 3.3.3
|
||||
resolution: "webpack-sources@npm:3.3.3"
|
||||
checksum: 10c0/ab732f6933b513ba4d505130418995ddef6df988421fccf3289e53583c6a39e205c4a0739cee98950964552d3006604912679c736031337fb4a9d78d8576ed40
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"webpack@npm:5.99.9":
|
||||
version: 5.99.9
|
||||
resolution: "webpack@npm:5.99.9"
|
||||
"webpack@npm:5.100.2":
|
||||
version: 5.100.2
|
||||
resolution: "webpack@npm:5.100.2"
|
||||
dependencies:
|
||||
"@types/eslint-scope": "npm:^3.7.7"
|
||||
"@types/estree": "npm:^1.0.6"
|
||||
"@types/estree": "npm:^1.0.8"
|
||||
"@types/json-schema": "npm:^7.0.15"
|
||||
"@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"
|
||||
acorn: "npm:^8.15.0"
|
||||
acorn-import-phases: "npm:^1.0.3"
|
||||
browserslist: "npm:^4.24.0"
|
||||
chrome-trace-event: "npm:^1.0.2"
|
||||
enhanced-resolve: "npm:^5.17.1"
|
||||
enhanced-resolve: "npm:^5.17.2"
|
||||
es-module-lexer: "npm:^1.2.1"
|
||||
eslint-scope: "npm:5.1.1"
|
||||
events: "npm:^3.2.0"
|
||||
@@ -7106,13 +7125,13 @@ __metadata:
|
||||
tapable: "npm:^2.1.1"
|
||||
terser-webpack-plugin: "npm:^5.3.11"
|
||||
watchpack: "npm:^2.4.1"
|
||||
webpack-sources: "npm:^3.2.3"
|
||||
webpack-sources: "npm:^3.3.3"
|
||||
peerDependenciesMeta:
|
||||
webpack-cli:
|
||||
optional: true
|
||||
bin:
|
||||
webpack: bin/webpack.js
|
||||
checksum: 10c0/34ec3f19b50bccaf27929e5e5b901b25047f2d414acba7d0967dc98eb4f404d107fb1a4b63095edbca2b006ff5815f1720b131e10b20664b074dfc86b7ffa717
|
||||
checksum: 10c0/0add75d44c482634c6879a3fc87fa2af6a6c7c8eacda5d5f60ed778a2ce13d33fd6178a2b4750368706a49e769af6d828934c28914b4faa2e21be790f92b4110
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in new issue
Block a user