提交 c0f70656 编写于 作者: K Kohsuke Kawaguchi

added a marker interface to help plugin developers.

上级 a8b609ef
......@@ -46,6 +46,7 @@ import jenkins.InitReactorRunner;
import jenkins.RestartRequiredException;
import jenkins.YesNoMaybe;
import jenkins.model.Jenkins;
import jenkins.util.io.OnMaster;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
......@@ -99,7 +100,7 @@ import static hudson.init.InitMilestone.*;
* @author Kohsuke Kawaguchi
*/
@ExportedBean
public abstract class PluginManager extends AbstractModelObject {
public abstract class PluginManager extends AbstractModelObject implements OnMaster {
/**
* All discovered plugins.
*/
......
......@@ -60,6 +60,7 @@ import hudson.widgets.HistoryWidget.Adapter;
import hudson.widgets.Widget;
import jenkins.model.Jenkins;
import jenkins.model.ProjectNamingStrategy;
import jenkins.util.io.OnMaster;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;
import org.jfree.chart.ChartFactory;
......@@ -102,7 +103,7 @@ import static javax.servlet.http.HttpServletResponse.*;
* @author Kohsuke Kawaguchi
*/
public abstract class Job<JobT extends Job<JobT, RunT>, RunT extends Run<JobT, RunT>>
extends AbstractItem implements ExtensionPoint, StaplerOverridable {
extends AbstractItem implements ExtensionPoint, StaplerOverridable, OnMaster {
/**
* Next build number. Kept in a separate file because this is the only
......
......@@ -59,6 +59,7 @@ import java.util.List;
import java.util.logging.Logger;
import jenkins.model.Jenkins;
import jenkins.util.io.OnMaster;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.BindInterceptor;
import org.kohsuke.stapler.Stapler;
......@@ -77,7 +78,7 @@ import org.kohsuke.stapler.export.Exported;
* @see NodeDescriptor
*/
@ExportedBean
public abstract class Node extends AbstractModelObject implements ReconfigurableDescribable<Node>, ExtensionPoint, AccessControlled {
public abstract class Node extends AbstractModelObject implements ReconfigurableDescribable<Node>, ExtensionPoint, AccessControlled, OnMaster {
private static final Logger LOGGER = Logger.getLogger(Node.class.getName());
......
......@@ -97,6 +97,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import jenkins.model.Jenkins;
import jenkins.util.io.OnMaster;
import net.sf.json.JSONObject;
import org.apache.commons.io.input.NullInputStream;
import org.apache.commons.io.IOUtils;
......@@ -128,7 +129,7 @@ import static java.util.logging.Level.*;
*/
@ExportedBean
public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,RunT>>
extends Actionable implements ExtensionPoint, Comparable<RunT>, AccessControlled, PersistenceRoot, DescriptorByNameOwner {
extends Actionable implements ExtensionPoint, Comparable<RunT>, AccessControlled, PersistenceRoot, DescriptorByNameOwner, OnMaster {
protected transient final JobT project;
......
......@@ -47,6 +47,7 @@ import hudson.util.PersistedList;
import hudson.util.XStream2;
import jenkins.RestartRequiredException;
import jenkins.model.Jenkins;
import jenkins.util.io.OnMaster;
import org.acegisecurity.Authentication;
import org.acegisecurity.context.SecurityContext;
import org.apache.commons.io.input.CountingInputStream;
......@@ -104,7 +105,7 @@ import org.kohsuke.stapler.interceptor.RequirePOST;
* @since 1.220
*/
@ExportedBean
public class UpdateCenter extends AbstractModelObject implements Saveable {
public class UpdateCenter extends AbstractModelObject implements Saveable, OnMaster {
private static final String UPDATE_CENTER_URL = System.getProperty(UpdateCenter.class.getName()+".updateCenterUrl","http://updates.jenkins-ci.org/");
......
package jenkins.util.io;
/**
* Marks the objects in Jenkins that only exist in the core
* and not on slaves.
*
* <p>
* This marker interface is for plugin developers to quickly
* tell if they can take a specific object from a master to
* a slave.
*
* (Core developers, if you find classes/interfaces that extend
* from this, please be encouraged to add them.)
*
* @author Kohsuke Kawaguchi
* @since 1.475
*/
public interface OnMaster {
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册