/* * The MIT License * * Copyright (c) 2011, Oracle Corporation, Anton Kozak, Nikita Levyankov * * 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 hudson.model; import hudson.Functions; import hudson.model.Descriptor.FormException; import hudson.tasks.BuildStep; import hudson.tasks.BuildStepDescriptor; import hudson.tasks.BuildWrapper; import hudson.tasks.BuildWrappers; import hudson.tasks.Builder; import hudson.tasks.Publisher; import hudson.triggers.Trigger; import hudson.util.CascadingUtil; import hudson.util.DescribableList; import hudson.util.DescribableListUtil; import java.io.IOException; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import net.sf.json.JSONObject; import org.hudsonci.api.model.IBaseBuildableProject; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; /** * Base buildable project. * * @author Anton Kozak. */ public abstract class BaseBuildableProject

,B extends AbstractBuild> extends AbstractProject implements Saveable, BuildableItemWithBuildWrappers, IBaseBuildableProject { public static final String BUILDERS_PROPERTY_NAME = "builders"; /** * List of active {@link Builder}s configured for this project. * * @deprecated as of 2.2.0 * don't use this field directly, logic was moved to {@link org.hudsonci.api.model.IProjectProperty}. * Use getter/setter for accessing to this field. */ @Deprecated private DescribableList> builders = new DescribableList>(this); /** * List of active {@link Publisher}s configured for this project. * * @deprecated as of 2.2.0 * don't use this field directly, logic was moved to {@link org.hudsonci.api.model.IProjectProperty}. * Use getter/setter for accessing to this field. */ @Deprecated private DescribableList> publishers = new DescribableList>(this); /** * List of active {@link BuildWrapper}s configured for this project. * * @deprecated as of 2.2.0 * don't use this field directly, logic was moved to {@link org.hudsonci.api.model.IProjectProperty}. * Use getter/setter for accessing to this field. */ @Deprecated private DescribableList> buildWrappers = new DescribableList>(this); /** * Creates a new project. * @param parent parent {@link ItemGroup}. * @param name the name of the project. */ public BaseBuildableProject(ItemGroup parent, String name) { super(parent, name); } @Override public void onLoad(ItemGroup parent, String name) throws IOException { super.onLoad(parent, name); getBuildersList().setOwner(this); getPublishersList().setOwner(this); getBuildWrappersList().setOwner(this); } @Override protected void buildProjectProperties() throws IOException { super.buildProjectProperties(); convertBuildersProjectProperty(); convertBuildWrappersProjectProperties(); convertPublishersProperties(); } protected void buildDependencyGraph(DependencyGraph graph) { getPublishersList().buildDependencyGraph(this,graph); getBuildersList().buildDependencyGraph(this,graph); getBuildWrappersList().buildDependencyGraph(this,graph); } @Override protected void submit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException { super.submit(req,rsp); JSONObject json = req.getSubmittedForm(); buildBuildWrappers(req, json, BuildWrappers.getFor(this)); setBuilders(DescribableListUtil.buildFromHetero(this, req, json, "builder", Builder.all())); buildPublishers(req, json, BuildStepDescriptor.filter(Publisher.all(), this.getClass())); } @Override @SuppressWarnings("unchecked") protected List createTransientActions() { List r = super.createTransientActions(); for (BuildStep step : getBuildersList()) r.addAll(step.getProjectActions(this)); for (BuildStep step : getPublishersList()) r.addAll(step.getProjectActions(this)); for (BuildWrapper step : getBuildWrappersList()) r.addAll(step.getProjectActions(this)); for (Trigger trigger : getTriggersList()) r.addAll(trigger.getProjectActions()); return r; } /** * @inheritDoc */ public List getBuilders() { return getBuildersList().toList(); } /** * @inheritDoc */ @SuppressWarnings("unchecked") public DescribableList> getBuildersList() { return CascadingUtil.getDescribableListProjectProperty(this, BUILDERS_PROPERTY_NAME).getValue(); } /** * @inheritDoc */ public void setBuilders(DescribableList> builders) { CascadingUtil.getDescribableListProjectProperty(this, BUILDERS_PROPERTY_NAME).setValue(builders); } /** * @inheritDoc */ public Map,Publisher> getPublishers() { return getPublishersList().toMap(); } public Publisher getPublisher(Descriptor descriptor) { return (Publisher) CascadingUtil.getExternalProjectProperty(this, descriptor.getJsonSafeClassName()).getValue(); } /** * Returns the list of the publishers available in the hudson. * * @return the list of the publishers available in the hudson. */ public DescribableList> getPublishersList() { return DescribableListUtil.convertToDescribableList(Functions.getPublisherDescriptors(this), this); } /** * Adds a new {@link BuildStep} to this {@link Project} and saves the configuration. * * @param publisher publisher. * @throws java.io.IOException exception. */ @SuppressWarnings("unchecked") public void addPublisher(Publisher publisher) throws IOException { CascadingUtil.getExternalProjectProperty(this, publisher.getDescriptor().getJsonSafeClassName()).setValue(publisher); save(); } /** * Removes a publisher from this project, if it's active. * * @param publisher publisher. * @throws java.io.IOException exception. */ public void removePublisher(Descriptor publisher) throws IOException { removeProjectProperty(publisher.getJsonSafeClassName()); save(); } /** * @inheritDoc */ public Map,BuildWrapper> getBuildWrappers() { return getBuildWrappersList().toMap(); } /** * @inheritDoc */ public DescribableList> getBuildWrappersList() { return DescribableListUtil.convertToDescribableList(Functions.getBuildWrapperDescriptors(this), this); } /** * Builds publishers. * * @param req {@link StaplerRequest} * @param json {@link JSONObject} * @param descriptors list of descriptors. * @throws hudson.model.Descriptor.FormException if any. */ protected void buildPublishers(StaplerRequest req, JSONObject json, List> descriptors) throws FormException { CascadingUtil.buildExternalProperties(req, json, descriptors, this); } /** * Builds BuildWrappers. * * @param req {@link StaplerRequest} * @param json {@link JSONObject} * @param descriptors list of descriptors. * @throws hudson.model.Descriptor.FormException if any. */ protected void buildBuildWrappers(StaplerRequest req, JSONObject json, List> descriptors) throws FormException { CascadingUtil.buildExternalProperties(req, json, descriptors, this); } protected void convertPublishersProperties() { if (null != publishers) { putAllProjectProperties(DescribableListUtil.convertToProjectProperties(publishers, this), false); publishers = null; } } protected void convertBuildWrappersProjectProperties() { if (null != buildWrappers) { putAllProjectProperties(DescribableListUtil.convertToProjectProperties(buildWrappers, this), false); buildWrappers = null; } } protected void convertBuildersProjectProperty() { if (null != builders && null == getProperty(BUILDERS_PROPERTY_NAME)) { setBuilders(builders); builders = null; } } } ----- Classpath: --------------------------------------------- bootPath: /space/jdk1.7.0_03/jre/lib/resources.jar:/space/jdk1.7.0_03/jre/lib/rt.jar:/space/jdk1.7.0_03/jre/lib/sunrsasign.jar:/space/jdk1.7.0_03/jre/lib/jsse.jar:/space/jdk1.7.0_03/jre/lib/jce.jar:/space/jdk1.7.0_03/jre/lib/charsets.jar:/space/jdk1.7.0_03/jre/classes:/space/jdk1.7.0_03/jre/lib/ext/sunjce_provider.jar:/space/jdk1.7.0_03/jre/lib/ext/localedata.jar:/space/jdk1.7.0_03/jre/lib/ext/zipfs.jar:/space/jdk1.7.0_03/jre/lib/ext/sunec.jar:/space/jdk1.7.0_03/jre/lib/ext/sunpkcs11.jar:/space/jdk1.7.0_03/jre/lib/ext/dnsns.jar classPath: /space/tmp/m2repo/org/jvnet/hudson/main/hudson-remoting/2.2.1-SNAPSHOT/hudson-remoting-2.2.1-SNAPSHOT.jar:/space/tmp/m2repo/org/jvnet/hudson/main/hudson-cli/2.2.1-SNAPSHOT/hudson-cli-2.2.1-SNAPSHOT.jar:/space/tmp/m2repo/org/jvnet/hudson/crypto-util/1.0/crypto-util-1.0.jar:/space/tmp/m2repo/net/sf/jtidy/jtidy/r938/jtidy-r938.jar:/space/tmp/m2repo/org/jruby/ext/posix/jna-posix/1.0.3/jna-posix-1.0.3.jar:/space/tmp/m2repo/org/kohsuke/trilead-putty-extension/1.0/trilead-putty-extension-1.0.jar:/space/tmp/m2repo/org/jvnet/hudson/trilead-ssh2/build212-hudson-1/trilead-ssh2-build212-hudson-1.jar:/space/tmp/m2repo/org/kohsuke/stapler/stapler-groovy/1.176/stapler-groovy-1.176.jar:/space/tmp/m2repo/org/kohsuke/stapler/stapler-jelly/1.176/stapler-jelly-1.176.jar:/space/tmp/m2repo/org/kohsuke/stapler/stapler/1.176/stapler-1.176.jar:/space/tmp/m2repo/commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar:/space/tmp/m2repo/com/google/guava/guava/10.0.1/guava-10.0.1.jar:/space/tmp/m2repo/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/space/tmp/m2repo/commons-fileupload/commons-fileupload/1.2.1/commons-fileupload-1.2.1.jar:/space/tmp/m2repo/org/jenkins-ci/commons-jelly/1.1-jenkins-20110627/commons-jelly-1.1-jenkins-20110627.jar:/space/tmp/m2repo/org/jvnet/hudson/commons-jexl/1.1-hudson-20090508/commons-jexl-1.1-hudson-20090508.jar:/space/tmp/m2repo/org/jvnet/hudson/dom4j/dom4j/1.6.1-hudson-3/dom4j-1.6.1-hudson-3.jar:/space/tmp/m2repo/com/infradna/tool/bridge-method-annotation/1.4/bridge-method-annotation-1.4.jar:/space/tmp/m2repo/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar:/space/tmp/m2repo/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6.jar:/space/tmp/m2repo/args4j/args4j/2.0.16/args4j-2.0.16.jar:/space/tmp/m2repo/org/jvnet/hudson/annotation-indexer/1.2/annotation-indexer-1.2.jar:/space/tmp/m2repo/org/jvnet/hudson/task-reactor/1.2/task-reactor-1.2.jar:/space/tmp/m2repo/org/jvnet/localizer/localizer/1.10/localizer-1.10.jar:/space/tmp/m2repo/org/kohsuke/graph-layouter/1.0/graph-layouter-1.0.jar:/space/tmp/m2repo/antlr/antlr/2.7.6/antlr-2.7.6.jar:/space/tmp/m2repo/org/hudsonci/tools/xstream/1.4.1-hudson-2/xstream-1.4.1-hudson-2.jar:/space/tmp/m2repo/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar:/space/tmp/m2repo/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar:/space/tmp/m2repo/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar:/space/tmp/m2repo/jfree/jcommon/1.0.12/jcommon-1.0.12.jar:/space/tmp/m2repo/org/apache/ant/ant/1.8.2/ant-1.8.2.jar:/space/tmp/m2repo/org/apache/ant/ant-launcher/1.8.2/ant-launcher-1.8.2.jar:/space/tmp/m2repo/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar:/space/tmp/m2repo/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar:/space/tmp/m2repo/org/apache/commons/commons-lang3/3.0.1/commons-lang3-3.0.1.jar:/space/tmp/m2repo/commons-lang/commons-lang/2.5/commons-lang-2.5.jar:/space/tmp/m2repo/commons-digester/commons-digester/1.7/commons-digester-1.7.jar:/space/tmp/m2repo/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar:/space/tmp/m2repo/org/apache/commons/commons-digester3/3.0/commons-digester3-3.0.jar:/space/tmp/m2repo/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar:/space/tmp/m2repo/javax/mail/mail/1.4/mail-1.4.jar:/space/tmp/m2repo/org/jvnet/hudson/activation/1.1.1-hudson-1/activation-1.1.1-hudson-1.jar:/space/tmp/m2repo/jaxen/jaxen/1.1-beta-11/jaxen-1.1-beta-11.jar:/space/tmp/m2repo/commons-jelly/commons-jelly-tags-fmt/1.0/commons-jelly-tags-fmt-1.0.jar:/space/tmp/m2repo/commons-jelly/commons-jelly-tags-xml/1.1/commons-jelly-tags-xml-1.1.jar:/space/tmp/m2repo/org/jvnet/hudson/commons-jelly-tags-define/1.0.1-hudson-20071021/commons-jelly-tags-define-1.0.1-hudson-20071021.jar:/space/tmp/m2repo/org/apache/commons/commons-jexl/2.0.1/commons-jexl-2.0.1.jar:/space/tmp/m2repo/org/acegisecurity/acegi-security/1.0.5/acegi-security-1.0.5.jar:/space/tmp/m2repo/oro/oro/2.0.8/oro-2.0.8.jar:/space/tmp/m2repo/org/codehaus/groovy/groovy-all/1.8.1/groovy-all-1.8.1.jar:/space/tmp/m2repo/org/springframework/spring-web/2.5/spring-web-2.5.jar:/space/tmp/m2repo/org/springframework/spring-beans/2.5/spring-beans-2.5.jar:/space/tmp/m2repo/org/springframework/spring-context/2.5/spring-context-2.5.jar:/space/tmp/m2repo/org/springframework/spring-core/2.5/spring-core-2.5.jar:/space/tmp/m2repo/org/springframework/spring-aop/2.5/spring-aop-2.5.jar:/space/tmp/m2repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/space/tmp/m2repo/org/springframework/spring-dao/2.0.8/spring-dao-2.0.8.jar:/space/tmp/m2repo/org/springframework/spring-jdbc/2.5/spring-jdbc-2.5.jar:/space/tmp/m2repo/org/springframework/spring-tx/2.5/spring-tx-2.5.jar:/space/tmp/m2repo/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar:/space/tmp/m2repo/javax/servlet/jstl/1.1.0/jstl-1.1.0.jar:/space/tmp/m2repo/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/space/tmp/m2repo/log4j/log4j/1.2.12/log4j-1.2.12.jar:/space/tmp/m2repo/logkit/logkit/2.0/logkit-2.0.jar:/space/tmp/m2repo/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar:/space/tmp/m2repo/com/sun/xml/txw2/txw2/20070624/txw2-20070624.jar:/space/tmp/m2repo/commons-collections/commons-collections/3.2/commons-collections-3.2.jar:/space/tmp/m2repo/org/jvnet/winp/winp/1.14/winp-1.14.jar:/space/tmp/m2repo/org/jvnet/hudson/memory-monitor/1.3/memory-monitor-1.3.jar:/space/tmp/m2repo/com/octo/captcha/jcaptcha-all/1.0-RC6/jcaptcha-all-1.0-RC6.jar:/space/tmp/m2repo/commons-pool/commons-pool/1.3/commons-pool-1.3.jar:/space/tmp/m2repo/org/codehaus/woodstox/wstx-asl/3.2.7/wstx-asl-3.2.7.jar:/space/tmp/m2repo/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/space/tmp/m2repo/javax/jmdns/jmdns/3.4.0/jmdns-3.4.0.jar:/space/tmp/m2repo/net/java/dev/jna/jna/3.3.0/jna-3.3.0.jar:/space/tmp/m2repo/org/kohsuke/akuma/1.6/akuma-1.6.jar:/space/tmp/m2repo/org/jvnet/libpam4j/libpam4j/1.4/libpam4j-1.4.jar:/space/tmp/m2repo/org/jvnet/libzfs/libzfs/0.5/libzfs-0.5.jar:/space/tmp/m2repo/com/sun/solaris/embedded_su4j/1.1/embedded_su4j-1.1.jar:/space/tmp/m2repo/net/java/sezpoz/sezpoz/1.9/sezpoz-1.9.jar:/space/tmp/m2repo/org/jvnet/hudson/jinterop-wmi/1.0/jinterop-wmi-1.0.jar:/space/tmp/m2repo/org/kohsuke/jinterop/jinterop-proxy/1.1/jinterop-proxy-1.1.jar:/space/tmp/m2repo/org/kohsuke/jinterop/j-interop/2.0.5/j-interop-2.0.5.jar:/space/tmp/m2repo/org/kohsuke/jinterop/j-interopdeps/2.0.5/j-interopdeps-2.0.5.jar:/space/tmp/m2repo/org/jvnet/tiger-types/1.1/tiger-types-1.1.jar:/space/tmp/m2repo/org/jvnet/hudson/windows-remote-command/1.0/windows-remote-command-1.0.jar:/space/tmp/m2repo/org/samba/jcifs/jcifs/1.3.14-kohsuke-1/jcifs-1.3.14-kohsuke-1.jar:/space/tmp/m2repo/org/kohsuke/metainf-services/metainf-services/1.1/metainf-services-1.1.jar:/space/tmp/m2repo/commons-codec/commons-codec/1.4/commons-codec-1.4.jar:/space/tmp/m2repo/asm/asm-commons/2.2.3/asm-commons-2.2.3.jar:/space/tmp/m2repo/asm/asm-tree/2.2.3/asm-tree-2.2.3.jar:/space/tmp/m2repo/asm/asm/2.2.3/asm-2.2.3.jar:/space/tmp/m2repo/org/kohsuke/access-modifier-annotation/1.0/access-modifier-annotation-1.0.jar:/space/tmp/m2repo/jline/jline/0.9.94/jline-0.9.94.jar:/space/tmp/m2repo/org/jvnet/animal-sniffer-annotation/1.0/animal-sniffer-annotation-1.0.jar sourcePath: /space/src/hudson/main-orig/hudson-core/src/main/java:/space/src/hudson/main-orig/hudson-core/target/generated-sources/localizer:/space/src/hudson/main-orig/hudson-core/target/generated-sources/antlr:/space/src/hudson/main-orig/hudson-core/src/main/resources:/space/src/hudson/main-orig/hudson-core/src/main/resources-filtered ----- Original exception --------------------------------------------- java.lang.AssertionError: c = hudson.model.AbstractProject tree.sym = hudson.model.AbstractProject tree = public abstract class AbstractProject

, R extends AbstractBuild> extends Job implements BuildableItem, IAbstractProject { public static final String CONCURRENT_BUILD_PROPERTY_NAME; public static final String CLEAN_WORKSPACE_REQUIRED_PROPERTY_NAME; public static final String BLOCK_BUILD_WHEN_DOWNSTREAM_BUILDING_PROPERTY_NAME; public static final String BLOCK_BUILD_WHEN_UPSTREAM_BUILDING_PROPERTY_NAME; public static final String QUIET_PERIOD_PROPERTY_NAME; public static final String SCM_CHECKOUT_RETRY_COUNT_PROPERTY_NAME; public static final String CUSTOM_WORKSPACE_PROPERTY_NAME; public static final String JDK_PROPERTY_NAME; public static final String SCM_PROPERTY_NAME; public static final String HAS_QUIET_PERIOD_PROPERTY_NAME; public static final String HAS_SCM_CHECKOUT_RETRY_COUNT_PROPERTY_NAME; public static final String BUILD_TRIGGER_PROPERTY_NAME; public static final String APPOINTED_NODE_PROPERTY_NAME; public static final String BASIC_KEY; public static final String AFFINITY_CHO0SER_KEY; public static final String SLAVE_KEY; public static final String ASSIGNED_LABEL_KEY; @Deprecated() private volatile SCM scm; private volatile transient SCMRevisionState pollingBaseline; protected transient RunMap builds; @Deprecated() private volatile Integer quietPeriod; @Deprecated() private volatile Integer scmCheckoutRetryCount; @Deprecated() private String assignedNode; @Deprecated() private Boolean advancedAffinityChooser; @Deprecated() private volatile boolean canRoam; protected volatile boolean disabled; @Deprecated() protected volatile boolean blockBuildWhenDownstreamBuilding; @Deprecated() protected volatile boolean blockBuildWhenUpstreamBuilding; @Deprecated() private volatile String jdk; @Deprecated() private transient boolean enableRemoteTrigger; private volatile BuildAuthorizationToken authToken; protected List> triggers; @CopyOnWrite() protected volatile transient List transientActions; @Deprecated() private boolean concurrentBuild; @Deprecated() private volatile boolean cleanWorkspaceRequired; protected AbstractProject(ItemGroup parent, String name); @Override() public void onCreatedFromScratch(); @Override() public void onLoad(ItemGroup parent, String name) throws IOException; @Override() protected void buildProjectProperties() throws IOException; void convertBlockBuildWhenUpstreamBuildingProperty() throws IOException; void convertBlockBuildWhenDownstreamBuildingProperty() throws IOException; void convertConcurrentBuildProperty() throws IOException; void convertCleanWorkspaceRequiredProperty() throws IOException; void convertQuietPeriodProperty() throws IOException; void convertScmCheckoutRetryCountProperty() throws IOException; void convertJDKProperty() throws IOException; void convertScmProperty() throws IOException; void convertTriggerProperties(); void convertAppointedNode(); @Override() protected void performDelete() throws IOException, InterruptedException; @Exported() public boolean isConcurrentBuild(); public void setConcurrentBuild(boolean b) throws IOException; public boolean isCleanWorkspaceRequired(); public void setCleanWorkspaceRequired(boolean cleanWorkspaceRequired); public Label getAssignedLabel(); public String getAssignedLabelString(); public void setAssignedLabel(Label label) throws IOException; public void setAssignedNode(Node node) throws IOException; public boolean isAdvancedAffinityChooser(); public void setAdvancedAffinityChooser(boolean b) throws IOException; @SuppressWarnings(value = "unchecked") public void setAppointedNode(AppointedNode appointedNode); public AppointedNode getAppointedNode(); @Override() public String getPronoun(); public AbstractProject getRootProject(); public final FilePath getWorkspace(); private AbstractBuild getBuildForDeprecatedMethods(); public final FilePath getSomeWorkspace(); public final R getSomeBuildWithWorkspace(); public FilePath getModuleRoot(); public FilePath[] getModuleRoots(); public int getQuietPeriod(); public void setQuietPeriod(Integer seconds) throws IOException; public int getScmCheckoutRetryCount(); public void setScmCheckoutRetryCount(Integer retryCount); protected void setScmCheckoutRetryCount(String scmCheckoutRetryCount) throws IOException; public boolean getHasCustomQuietPeriod(); protected void setQuietPeriod(String seconds) throws IOException; public boolean hasCustomScmCheckoutRetryCount(); @Override() public boolean isBuildable(); public boolean isConfigurable(); public boolean blockBuildWhenDownstreamBuilding(); public void setBlockBuildWhenDownstreamBuilding(boolean b) throws IOException; public boolean blockBuildWhenUpstreamBuilding(); public void setBlockBuildWhenUpstreamBuilding(boolean b) throws IOException; public boolean isDisabled(); public FormValidation doCheckRetryCount(@QueryParameter() String value) throws IOException, ServletException; public void makeDisabled(boolean b) throws IOException; public void disable() throws IOException; public void enable() throws IOException; @Override() public BallColor getIconColor(); protected void updateTransientActions(); protected List createTransientActions(); public abstract DescribableList> getPublishersList(); @Override() public void addProperty(JobProperty jobProp) throws IOException; public List getProminentActions(); @Override() public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException; public boolean scheduleBuild(); public boolean scheduleBuild(int quietPeriod); public boolean scheduleBuild(Cause c); public boolean scheduleBuild(int quietPeriod, Cause c); public boolean scheduleBuild(int quietPeriod, Cause c, Action... actions); public Future scheduleBuild2(int quietPeriod, Cause c, Action... actions); public Future scheduleBuild2(int quietPeriod, Cause c, Collection actions); private List getDefaultParametersValues(); public Future scheduleBuild2(int quietPeriod); public Future scheduleBuild2(int quietPeriod, Cause c); public boolean schedulePolling(); @Override() public boolean isInQueue(); @Override() public Queue.Item getQueueItem(); public String getJDKName(); public JDK getJDK(); public void setJDK(JDK jdk) throws IOException; public void setJDK(String jdk); public BuildAuthorizationToken getAuthToken(); @Override() public SortedMap _getRuns(); @Override() public void removeRun(R run); protected abstract Class getBuildClass(); private transient long lastBuildStartTime; protected synchronized R newBuild() throws IOException; private IOException handleInvocationTargetException(InvocationTargetException e); protected R loadBuild(File dir) throws IOException; @Override() public synchronized List getActions(); public Node getLastBuiltOn(); public Object getSameNodeConstraint(); public final Task getOwnerTask(); public boolean isBuildBlocked(); public String getWhyBlocked(); public static class BecauseOfBuildInProgress extends CauseOfBlockage { private final AbstractBuild build; public BecauseOfBuildInProgress(AbstractBuild build); @Override() public String getShortDescription(); } public static class BecauseOfDownstreamBuildInProgress extends CauseOfBlockage { public final AbstractProject up; public AbstractProject getUp(); public BecauseOfDownstreamBuildInProgress(AbstractProject up); @Override() public String getShortDescription(); } public static class BecauseOfUpstreamBuildInProgress extends CauseOfBlockage { public final AbstractProject up; public BecauseOfUpstreamBuildInProgress(AbstractProject up); public AbstractProject getUp(); @Override() public String getShortDescription(); } public CauseOfBlockage getCauseOfBlockage(); protected AbstractProject getBuildingDownstream(); protected AbstractProject getBuildingUpstream(); private boolean isInUnblockedQueue(); public List getSubTasks(); public R createExecutable() throws IOException; public void checkAbortPermission(); public boolean hasAbortPermission(); public Resource getWorkspaceResource(); public ResourceList getResourceList(); protected Set getResourceActivities(); public boolean checkout(AbstractBuild build, Launcher launcher, BuildListener listener, File changelogFile) throws IOException, InterruptedException; private void calcPollingBaseline(AbstractBuild build, Launcher launcher, TaskListener listener) throws IOException, InterruptedException; private SCMRevisionState safeCalcRevisionsFromBuild(AbstractBuild build, Launcher launcher, TaskListener listener) throws IOException, InterruptedException; public boolean pollSCMChanges(TaskListener listener); public PollingResult poll(TaskListener listener); public boolean hasParticipant(User user); @Exported() public SCM getScm(); @SuppressWarnings(value = "unchecked") public void setScm(SCM scm) throws IOException; @SuppressWarnings(value = "unchecked") public void addTrigger(Trigger trigger) throws IOException; @SuppressWarnings(value = "unchecked") public void removeTrigger(TriggerDescriptor trigger) throws IOException; protected final synchronized >void addToList(T item, List collection) throws IOException; protected final synchronized >void removeFromList(Descriptor item, List collection) throws IOException; @SuppressWarnings(value = "unchecked") public synchronized Map getTriggers(); public List> getTriggersList(); public DescribableList, TriggerDescriptor> getTriggerDescribableList(); public T getTrigger(Class clazz); @SuppressWarnings(value = "unchecked") public void setTriggers(List> triggerList); public abstract boolean isFingerprintConfigured(); @Exported() public final List getDownstreamProjects(); @Exported() public final List getUpstreamProjects(); public final List getBuildTriggerUpstreamProjects(); public final Set getTransitiveUpstreamProjects(); public final Set getTransitiveDownstreamProjects(); public SortedMap getRelationship(AbstractProject that); private void checkAndRecord(AbstractProject that, TreeMap r, Collection builds); protected abstract void buildDependencyGraph(DependencyGraph graph); @Override() protected SearchIndexBuilder makeSearchIndex(); @Override() protected HistoryWidget createHistoryWidget(); public boolean isParameterized(); public void doBuild(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; CauseAction getBuildCause(StaplerRequest req); public int getDelay(StaplerRequest req) throws ServletException; public void doBuildWithParameters(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; public void doPolling(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; public void doCancelQueue(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; @Override() protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException; protected final >List buildDescribable(StaplerRequest req, List> descriptors, String prefix) throws FormException, ServletException; protected final >List buildDescribable(StaplerRequest req, List> descriptors) throws FormException, ServletException; protected void buildTriggers(StaplerRequest req, JSONObject json, List descriptors) throws FormException; public DirectoryBrowserSupport doWs(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException; public HttpResponse doDoWipeOutWorkspace() throws IOException, ServletException, InterruptedException; public boolean cleanWorkspace() throws IOException, InterruptedException; @CLIMethod(name = "disable-job") public HttpResponse doDisable() throws IOException, ServletException; @CLIMethod(name = "enable-job") public HttpResponse doEnable() throws IOException, ServletException; public void doRssChangelog(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException; public static abstract class AbstractProjectDescriptor extends TopLevelItemDescriptor { public AbstractProjectDescriptor(); @Override() public boolean isApplicable(Descriptor descriptor); public FormValidation doCheckAssignedLabelString(@QueryParameter() String value); public AutoCompletionCandidates doAutoCompleteAssignedLabelString(@QueryParameter() String value); } public static AbstractProject findNearest(String name); private static final Comparator REVERSE_INTEGER_COMPARATOR; private static final Logger LOGGER; public static final Permission ABORT; @CLIResolver() public static AbstractProject resolveForCLI(@Argument(required = true, metaVar = "NAME", usage = "Job name") String name) throws CmdLineException; } at com.sun.tools.javac.util.Assert.error(Assert.java:133) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:3267) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3246) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3195) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3177) at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3151) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1220) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1195) at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:466) at com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:445) at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:592) at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.toPhase(CompilationInfoImpl.java:385) at org.netbeans.api.java.source.CompilationController.toPhase(CompilationController.java:109) at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin$FindTask.run(JavaWhereUsedQueryPlugin.java:476) at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin$FindTask.run(JavaWhereUsedQueryPlugin.java:457) at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:482) at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:583) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:185) at org.netbeans.modules.parsing.api.ParserManager$MultiUserTaskAction.run(ParserManager.java:158) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:200) at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:197) at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:168) at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:360) at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:72) at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:197) at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:104) at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:432) at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:403) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.processFiles(JavaRefactoringPlugin.java:267) at org.netbeans.modules.refactoring.java.spi.JavaRefactoringPlugin.queryFiles(JavaRefactoringPlugin.java:251) at org.netbeans.modules.refactoring.java.plugins.JavaWhereUsedQueryPlugin.prepare(JavaWhereUsedQueryPlugin.java:362) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare2(AbstractRefactoring.java:426) at org.netbeans.modules.refactoring.api.AbstractRefactoring.pluginsPrepare(AbstractRefactoring.java:410) at org.netbeans.modules.refactoring.api.AbstractRefactoring.prepare(AbstractRefactoring.java:221) at org.netbeans.modules.refactoring.spi.impl.ParametersPanel$Prepare$2.run(ParametersPanel.java:1044) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)