mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-26 19:15:09 +00:00
Merge branch 'master' into revamp-dropdowns
This commit is contained in:
24 files changed
+74
-36
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
||||
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
|
||||
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 https://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
|
||||
<extension>
|
||||
<groupId>io.jenkins.tools.incrementals</groupId>
|
||||
<artifactId>git-changelist-maven-extension</artifactId>
|
||||
|
||||
@@ -468,7 +468,7 @@ public class ExtensionList<T> extends AbstractList<T> implements OnMaster {
|
||||
* @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> U lookupFirst(Class<U> type) {
|
||||
var all = lookup(type);
|
||||
|
||||
@@ -1909,7 +1909,7 @@ public class Functions {
|
||||
* 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) {
|
||||
|
||||
@@ -48,6 +48,7 @@ import hudson.util.RingBufferLogHandler;
|
||||
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 class WebAppMain implements ServletContextListener {
|
||||
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) {
|
||||
|
||||
@@ -40,9 +40,9 @@ import org.kohsuke.stapler.StaplerRequest;
|
||||
*
|
||||
* @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;
|
||||
|
||||
|
||||
@@ -406,7 +406,7 @@ public abstract class View extends AbstractModelObject implements AccessControll
|
||||
}
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.426
|
||||
*/
|
||||
@DataBoundSetter
|
||||
public void setFilterExecutors(boolean filterExecutors) {
|
||||
@@ -421,7 +421,7 @@ public abstract class View extends AbstractModelObject implements AccessControll
|
||||
}
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.426
|
||||
*/
|
||||
@DataBoundSetter
|
||||
public void setFilterQueue(boolean filterQueue) {
|
||||
|
||||
@@ -73,7 +73,7 @@ public abstract class AbstractNodeMonitorDescriptor<T> extends Descriptor<NodeMo
|
||||
* method and return false.
|
||||
*
|
||||
* @return true if this monitor might take agents offline
|
||||
* @since TODO
|
||||
* @since 2.437
|
||||
*/
|
||||
public boolean canTakeOffline() {
|
||||
return true;
|
||||
|
||||
@@ -183,11 +183,11 @@ public abstract class DiskSpaceMonitorDescriptor extends AbstractAsyncNodeMonito
|
||||
/**
|
||||
* 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
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.kohsuke.stapler.DataBoundConstructor;
|
||||
/**
|
||||
* {@link NodeProperty} that allows users to set agent specific disk space thresholds.
|
||||
*
|
||||
* @since TODO
|
||||
* @since 2.434
|
||||
*/
|
||||
public class DiskSpaceMonitorNodeProperty extends NodeProperty<Node> {
|
||||
private final String freeDiskSpaceThreshold;
|
||||
|
||||
@@ -52,7 +52,7 @@ import org.kohsuke.stapler.Stapler;
|
||||
* 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<ConsoleUrlProvider> {
|
||||
@Restricted(NoExternalUse.class)
|
||||
|
||||
@@ -48,7 +48,7 @@ import org.kohsuke.stapler.StaplerRequest;
|
||||
/**
|
||||
* 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")
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.kohsuke.stapler.DataBoundSetter;
|
||||
/**
|
||||
* 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 {
|
||||
|
||||
@@ -36,7 +36,7 @@ import org.kohsuke.stapler.DataBoundConstructor;
|
||||
* Default implementation of {@link ConsoleUrlProvider} that uses the standard Jenkins console view.
|
||||
* <p>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 {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* Object whose state can be loaded from disk. In general, also implements {@link Saveable}.
|
||||
*
|
||||
* @since TODO
|
||||
* @since 2.428
|
||||
*/
|
||||
public interface Loadable {
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
}
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_STABLE_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
@@ -262,7 +262,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
};
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_SUCCESSFUL_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
@@ -283,7 +283,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
};
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_FAILED_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
@@ -303,7 +303,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
};
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_UNSTABLE_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
@@ -323,7 +323,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
};
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_UNSUCCESSFUL_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
@@ -343,7 +343,7 @@ public abstract class PeepholePermalink extends Permalink implements Predicate<R
|
||||
};
|
||||
|
||||
/**
|
||||
* @since TODO
|
||||
* @since 2.436
|
||||
*/
|
||||
public static final Permalink LAST_COMPLETED_BUILD = new PeepholePermalink() {
|
||||
@Override
|
||||
|
||||
@@ -32,7 +32,7 @@ import jenkins.util.SystemProperties;
|
||||
* The environment (host, JVM and servlet container), must be suitably configured which is outside the scope of the Jenkins project.
|
||||
* @see <a href="https://csrc.nist.gov/pubs/fips/140-2/upd2/final">FIPS-140-2</a>
|
||||
* @see <a href="https://github.com/jenkinsci/jep/tree/master/jep/237#readme">JEP-237</a>
|
||||
* @since TODO
|
||||
* @since 2.426
|
||||
*/
|
||||
public class FIPS140 {
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ import org.kohsuke.accmod.restrictions.NoExternalUse;
|
||||
/**
|
||||
* Basic default implementation of {@link jenkins.util.ScriptListener} that just logs.
|
||||
*
|
||||
* @since TODO
|
||||
* @since 2.427
|
||||
*/
|
||||
@Extension
|
||||
@Restricted(NoExternalUse.class)
|
||||
|
||||
@@ -49,7 +49,7 @@ import org.kohsuke.stapler.StaplerRequest;
|
||||
* @see hudson.cli.GroovyshCommand
|
||||
* @see jenkins.util.groovy.GroovyHookScript
|
||||
*
|
||||
* @since TODO
|
||||
* @since 2.427
|
||||
*/
|
||||
public interface ScriptListener extends ExtensionPoint {
|
||||
|
||||
|
||||
@@ -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" }]
|
||||
|
||||
@@ -86,7 +86,7 @@ THE SOFTWARE.
|
||||
<changelog.url>https://www.jenkins.io/changelog</changelog.url>
|
||||
|
||||
<!-- Bundled Remoting version -->
|
||||
<remoting.version>3198.v03a_401881f3e</remoting.version>
|
||||
<remoting.version>3203.v94ce994fdb_31</remoting.version>
|
||||
<!-- Minimum Remoting version, which is tested for API compatibility -->
|
||||
<remoting.minimum.supported.version>4.13</remoting.minimum.supported.version>
|
||||
|
||||
|
||||
@@ -157,12 +157,21 @@ public class JNLPLauncherTest {
|
||||
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));
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ import org.jvnet.hudson.test.ExtractResourceSCM;
|
||||
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 @@ public class MavenTest {
|
||||
assertNotNull(isp.installers.get(MavenInstaller.class));
|
||||
}
|
||||
|
||||
@Test 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"),
|
||||
|
||||
+1
-1
@@ -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",
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user