diff --git a/bom/pom.xml b/bom/pom.xml
index f94253ce6f70..dc442e708a6f 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -62,7 +62,7 @@ THE SOFTWARE.
org.springframework
spring-framework-bom
- 6.2.0
+ 6.2.1
pom
import
diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java
index c877d3e1f8c8..e63f501d8ece 100644
--- a/core/src/main/java/hudson/model/User.java
+++ b/core/src/main/java/hudson/model/User.java
@@ -79,6 +79,7 @@
import jenkins.util.SystemProperties;
import org.jenkinsci.Symbol;
import org.kohsuke.accmod.Restricted;
+import org.kohsuke.accmod.restrictions.Beta;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.StaplerProxy;
import org.kohsuke.stapler.StaplerRequest2;
@@ -685,9 +686,9 @@ public void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throw
}
/**
- * To be called from {@link Jenkins#reload} only.
+ * Called from {@link Jenkins#reload}.
*/
- @Restricted(NoExternalUse.class)
+ @Restricted(Beta.class)
public static void reload() throws IOException {
UserIdMapper.getInstance().reload();
AllUsers.reload();
diff --git a/core/src/main/java/hudson/search/Search.java b/core/src/main/java/hudson/search/Search.java
index f7b1d8f82912..a9af0b875910 100644
--- a/core/src/main/java/hudson/search/Search.java
+++ b/core/src/main/java/hudson/search/Search.java
@@ -277,7 +277,7 @@ public static class Item {
private final String type;
- private final String iconXml;
+ private final String icon;
private final String group;
@@ -285,10 +285,11 @@ public Item(String name) {
this(name, null, null, null, null);
}
- public Item(String name, String url, String iconXml, String type, String group) {
+ public Item(String name, String url, String icon, String type, String group) {
this.name = name;
this.url = url;
- this.iconXml = iconXml;
+ this.icon = icon;
+ this.name = name;
this.type = type;
this.group = group;
}
@@ -299,8 +300,8 @@ public String getUrl() {
}
@Exported
- public String getIconXml() {
- return iconXml;
+ public String getIcon() {
+ return icon;
}
@Exported
diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java
index 516ed8a5565a..66adc45f82e8 100644
--- a/core/src/main/java/jenkins/model/Jenkins.java
+++ b/core/src/main/java/jenkins/model/Jenkins.java
@@ -3318,11 +3318,19 @@ public void load() throws IOException {
if (cfg.exists()) {
// reset some data that may not exist in the disk file
// so that we can take a proper compensation action later.
+ String originalPrimaryView = primaryView;
+ List originalViews = new ArrayList<>(views);
primaryView = null;
views.clear();
-
- // load from disk
- cfg.unmarshal(Jenkins.this);
+ try {
+ // load from disk
+ cfg.unmarshal(Jenkins.this);
+ } catch (IOException | RuntimeException x) {
+ primaryView = originalPrimaryView;
+ views.clear();
+ views.addAll(originalViews);
+ throw x;
+ }
}
// initialize views by inserting the default view if necessary
// this is both for clean Jenkins and for backward compatibility.
diff --git a/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java b/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
index e8f8dcc31775..418f9c4b5406 100644
--- a/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
+++ b/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
@@ -24,8 +24,10 @@
package jenkins.model.experimentalflags;
+import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;
import hudson.Extension;
+import jenkins.util.SystemProperties;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
@@ -46,4 +48,10 @@ public String getDisplayName() {
public String getShortDescription() {
return "Remove YUI from all Jenkins UI pages. This will break anything that depends on YUI";
}
+
+ @NonNull
+ @Override
+ public Boolean getDefaultValue() {
+ return SystemProperties.getBoolean(RemoveYuiUserExperimentalFlag.class.getName() + ".defaultValue", true);
+ }
}
diff --git a/core/src/main/java/org/jenkins/ui/icon/IconSpec.java b/core/src/main/java/org/jenkins/ui/icon/IconSpec.java
index c44e577e1ce0..f1bf535b6ca6 100644
--- a/core/src/main/java/org/jenkins/ui/icon/IconSpec.java
+++ b/core/src/main/java/org/jenkins/ui/icon/IconSpec.java
@@ -27,8 +27,7 @@
/**
* Icon Specification.
*
- * Plugin extension points that implement/extend Action/ManagementLink should
- * also implement this interface.
+ * If your class provides an icon spec you should implement this interface.
*
* @author tom.fennelly@gmail.com
* @since 2.0
diff --git a/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly b/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
index 9ddff73647d6..e413712d6e7c 100644
--- a/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
+++ b/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
@@ -23,4 +23,9 @@ THE SOFTWARE.
-->
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/core/src/site/site.xml b/core/src/site/site.xml
index 52c9edf3a7f3..3e075fe497b9 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
+ 2.0.1
diff --git a/pom.xml b/pom.xml
index 3adc5e2a5a49..926fb78b6de1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -281,7 +281,7 @@ THE SOFTWARE.
com.puppycrawl.tools
checkstyle
- 10.20.2
+ 10.21.0
diff --git a/src/main/js/components/command-palette/datasources.js b/src/main/js/components/command-palette/datasources.js
index 9dec1b01d91c..5fb70b0afeea 100644
--- a/src/main/js/components/command-palette/datasources.js
+++ b/src/main/js/components/command-palette/datasources.js
@@ -17,7 +17,7 @@ export const JenkinsSearchSource = {
rsp.json().then((data) => {
return data["suggestions"].slice().map((e) =>
LinkResult({
- icon: e.iconXml,
+ icon: e.icon,
type: e.type,
label: e.name,
url: correctAddress(e.url),
diff --git a/src/main/js/components/command-palette/models.js b/src/main/js/components/command-palette/models.js
index c6c53119e02e..79d35fcf7b7a 100644
--- a/src/main/js/components/command-palette/models.js
+++ b/src/main/js/components/command-palette/models.js
@@ -5,7 +5,7 @@ import { xmlEscape } from "@/util/security";
* @param {Object} params
* @param {string} params.icon
* @param {string} params.label
- * @param {string} params.type
+ * @param {'symbol' | 'image'} params.type
* @param {string} params.url
* @param {string | null} params.group
* @param {boolean | undefined} params.isExternal
diff --git a/test/pom.xml b/test/pom.xml
index 563f7eb4b7cf..ceab77c44894 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -218,7 +218,7 @@ THE SOFTWARE.
org.jenkins-ci.plugins
cloudbees-folder
- 6.969.v7d22c6eb_fde1
+ 6.973.vc9b_85a_61e4fc
test
diff --git a/test/src/test/java/jenkins/model/JenkinsTest.java b/test/src/test/java/jenkins/model/JenkinsTest.java
index 8469c9b46c36..acef3b6a2300 100644
--- a/test/src/test/java/jenkins/model/JenkinsTest.java
+++ b/test/src/test/java/jenkins/model/JenkinsTest.java
@@ -30,9 +30,11 @@
import static org.awaitility.Awaitility.await;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.arrayContaining;
+import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.isA;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -46,6 +48,7 @@
import hudson.XmlFile;
import hudson.init.InitMilestone;
import hudson.init.Initializer;
+import hudson.model.AllView;
import hudson.model.Computer;
import hudson.model.Failure;
import hudson.model.FreeStyleProject;
@@ -101,6 +104,7 @@
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.rules.TemporaryFolder;
+import org.jvnet.hudson.reactor.ReactorException;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.JenkinsRule.WebClient;
@@ -755,4 +759,16 @@ public String getUrlName() {
return null;
}
}
+
+ @Test
+ public void reloadViews() throws Exception {
+ assertThat(j.jenkins.getPrimaryView(), isA(AllView.class));
+ assertThat(j.jenkins.getViews(), contains(isA(AllView.class)));
+ Files.writeString(j.jenkins.getConfigFile().getFile().toPath(), "localhost
8080
- 2.14.0-133.vcc091215a_358
+ 2.14.0-136.v4d2b_0853615e
3107.v665000b_51092
diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js
index 9ae3d9298d37..043dc4677375 100644
--- a/war/src/main/webapp/scripts/hudson-behavior.js
+++ b/war/src/main/webapp/scripts/hudson-behavior.js
@@ -194,16 +194,6 @@ var resURL = "not-defined-yet"; // eslint-disable-line no-unused-vars
}
})();
-(function initializeYUIDebugLogReader() {
- Behaviour.addLoadEvent(function () {
- var logReaderElement = document.getElementById("yui-logreader");
- if (logReaderElement !== null) {
- var logReader = new YAHOO.widget.LogReader("yui-logreader");
- logReader.collapse();
- }
- });
-})();
-
// Form check code
//========================================================
var FormChecker = {