diff --git a/pom.xml b/pom.xml index 525b4d4..409edc3 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.jenkins-ci.plugins plugin - 3.5 + 3.18 com.synopsys.jenkinsci @@ -23,11 +23,11 @@ - 1.651.3 - 7 - UTF-8 - 1.14 + 2.60.3 + 8 Max + + true @@ -64,13 +64,13 @@ com.synopsys.arc.jenkinsci.plugins job-restrictions - 0.1 + 0.8 true org.jenkins-ci.plugins script-security - 1.20 + 1.42 true @@ -88,24 +88,24 @@ org.jenkins-ci.plugins security-inspector - 0.4 + 0.5-20181007.200044-1 true org.jenkins-ci.plugins matrix-project - 1.6 + 1.13 org.jenkins-ci.plugins matrix-auth - 1.7 + 2.2 org.jenkins-ci.plugins mailer - 1.13 + 1.18 org.jenkins-ci.plugins @@ -115,27 +115,27 @@ org.jenkins-ci.plugins.workflow workflow-cps - ${workflow.version} + 2.53 org.jenkins-ci.plugins.workflow workflow-step-api - ${workflow.version} + 2.15 tests test org.jenkins-ci.plugins.workflow workflow-job - ${workflow.version} + 2.21 test org.jenkins-ci.plugins.workflow workflow-basic-steps - ${workflow.version} + 2.7 test @@ -144,6 +144,12 @@ 2.1.13 test + + io.jenkins + configuration-as-code + 1.1 + test + diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/OwnershipPluginConfiguration.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/OwnershipPluginConfiguration.java index 6b4fff4..fa764d0 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/OwnershipPluginConfiguration.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/OwnershipPluginConfiguration.java @@ -25,6 +25,7 @@ package com.synopsys.arc.jenkins.plugins.ownership; import com.synopsys.arc.jenkins.plugins.ownership.extensions.ItemOwnershipPolicy; +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.ownership.util.mail.MailOptions; import hudson.Extension; import hudson.model.Describable; @@ -59,14 +60,14 @@ public class OwnershipPluginConfiguration @Deprecated public OwnershipPluginConfiguration(@Nonnull ItemOwnershipPolicy itemOwnershipPolicy, - @Nonnull MailOptions mailOptions, EnvSetupOptions globalEnvSetupOptions, + @CheckForNull MailOptions mailOptions, EnvSetupOptions globalEnvSetupOptions, @Nonnull DisplayOptions displayOptions) { this(itemOwnershipPolicy, mailOptions, globalEnvSetupOptions, displayOptions, InheritanceOptions.DEFAULT); } @DataBoundConstructor public OwnershipPluginConfiguration(@Nonnull ItemOwnershipPolicy itemOwnershipPolicy, - @Nonnull MailOptions mailOptions, EnvSetupOptions globalEnvSetupOptions, + @CheckForNull MailOptions mailOptions, EnvSetupOptions globalEnvSetupOptions, @Nonnull DisplayOptions displayOptions, @Nonnull InheritanceOptions inheritanceOptions) { this.itemOwnershipPolicy = itemOwnershipPolicy; this.mailOptions = mailOptions; @@ -123,7 +124,8 @@ public Descriptor getDescriptor() { @Extension public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); - + + @Symbol("ownershipConfig") public static class DescriptorImpl extends Descriptor { @Override diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/jobs/JobOwnerJobProperty.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/jobs/JobOwnerJobProperty.java index 0693758..bfabb4a 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/jobs/JobOwnerJobProperty.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/jobs/JobOwnerJobProperty.java @@ -35,6 +35,7 @@ import com.synopsys.arc.jenkins.plugins.ownership.util.userFilters.IUserFilter; import net.sf.json.JSONObject; +import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; @@ -140,6 +141,7 @@ public JobProperty reconfigure(StaplerRequest req, JSONObject form) throws De } @Extension + @Symbol("ownership") public static class DescriptorImpl extends JobPropertyDescriptor { @Override public String getDisplayName() { diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/nodes/OwnerNodeProperty.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/nodes/OwnerNodeProperty.java index 53457e1..238187c 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/nodes/OwnerNodeProperty.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/nodes/OwnerNodeProperty.java @@ -40,8 +40,11 @@ import java.lang.reflect.Method; import java.util.List; import javax.annotation.CheckForNull; +import javax.annotation.Nonnull; + import jenkins.model.Jenkins; import net.sf.json.JSONObject; +import org.jenkinsci.Symbol; import org.kohsuke.stapler.Ancestor; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; @@ -54,15 +57,17 @@ public class OwnerNodeProperty extends NodeProperty implements IOwnershipItem { + @Nonnull private OwnershipDescription ownership; + @CheckForNull private String nodeName; @DataBoundConstructor - public OwnerNodeProperty(NodeOwnerWrapper slaveOwnership) { - this(null, (slaveOwnership != null) ? slaveOwnership.getDescription() : null); + public OwnerNodeProperty(@CheckForNull NodeOwnerWrapper nodeOwnership) { + this(null, (nodeOwnership != null) ? nodeOwnership.getDescription() : null); } - public OwnerNodeProperty(Node node, OwnershipDescription ownership) { + public OwnerNodeProperty(@CheckForNull Node node, @CheckForNull OwnershipDescription ownership) { setNode(node); //FIXME: remove hack with owner this.nodeName = (node != null) ? node.getNodeName() : null; @@ -112,7 +117,8 @@ public OwnershipLayoutFormatter getLayoutFormatter() { } @Extension - public static class DescriptorImpl extends NodePropertyDescriptor { + @Symbol("ownership") + public static class DescriptorImpl extends NodePropertyDescriptor { /** * Gets Node, which is being configured by StaplerRequest * @remarks Workaround for diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/authorizeproject/OwnershipAuthorizeProjectStrategy.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/authorizeproject/OwnershipAuthorizeProjectStrategy.java index 2f0f51c..86e272b 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/authorizeproject/OwnershipAuthorizeProjectStrategy.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/authorizeproject/OwnershipAuthorizeProjectStrategy.java @@ -34,6 +34,7 @@ import jenkins.model.Jenkins; import org.acegisecurity.Authentication; import org.acegisecurity.userdetails.UsernameNotFoundException; +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.authorizeproject.AuthorizeProjectStrategy; import org.jenkinsci.plugins.authorizeproject.AuthorizeProjectStrategyDescriptor; import org.kohsuke.stapler.DataBoundConstructor; @@ -69,6 +70,7 @@ public Authentication authenticate(Job job, Queue.Item item) { } @Extension(optional = true) + @Symbol("ownershipBased") public static class DescriptorImpl extends AuthorizeProjectStrategyDescriptor { @Override diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/itemspecific/ItemSpecificSecurity.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/itemspecific/ItemSpecificSecurity.java index 36fcb63..b992b31 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/itemspecific/ItemSpecificSecurity.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/itemspecific/ItemSpecificSecurity.java @@ -36,6 +36,7 @@ import javax.annotation.Nonnull; import jenkins.model.Jenkins; import net.sf.json.JSONObject; +import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; @@ -82,6 +83,7 @@ public ItemSpecificSecurity clone() { public static final ItemSpecificDescriptor DESCRIPTOR = new ItemSpecificDescriptor(); @Extension + @Symbol("itemSpecific") public static class ItemSpecificDescriptor extends Descriptor { @Override public String getDisplayName() { diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/jobrestrictions/OwnersListJobRestriction.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/jobrestrictions/OwnersListJobRestriction.java index 95d3ece..af439b7 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/jobrestrictions/OwnersListJobRestriction.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/security/jobrestrictions/OwnersListJobRestriction.java @@ -38,6 +38,8 @@ import java.util.List; import java.util.Set; import java.util.TreeSet; + +import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; /** @@ -50,6 +52,7 @@ public class OwnersListJobRestriction extends JobRestriction { private static final JobOwnerHelper helper = new JobOwnerHelper(); + private final List usersList; private final boolean acceptsCoOwners; transient private Set usersMap = null; @@ -142,6 +145,7 @@ private boolean canTake(OwnershipDescription descr) { @Extension(optional = true) + @Symbol("ownership") public static class DescriptorImpl extends JobRestrictionDescriptor { @Override public String getDisplayName() { diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/util/ui/UserSelector.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/util/ui/UserSelector.java index b93b57a..4ea8b7f 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/util/ui/UserSelector.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/util/ui/UserSelector.java @@ -32,6 +32,7 @@ import java.io.Serializable; import javax.annotation.CheckForNull; +import org.jenkinsci.Symbol; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; @@ -81,6 +82,8 @@ public int hashCode() { @Extension public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); + + @Symbol("user") public static class DescriptorImpl extends Descriptor { @Override diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipBuildWrapper.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipBuildWrapper.java index 46466bf..f679b5f 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipBuildWrapper.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipBuildWrapper.java @@ -34,6 +34,8 @@ import hudson.tasks.BuildWrapperDescriptor; import java.io.IOException; import javax.annotation.Nonnull; + +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.ownership.util.environment.EnvSetupOptions; import org.kohsuke.stapler.DataBoundConstructor; @@ -90,6 +92,7 @@ public boolean isInjectNodeOwnership() { @Extension public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); + @Symbol("injectOwnershipEnvVars") public static final class DescriptorImpl extends BuildWrapperDescriptor { public DescriptorImpl() { diff --git a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipTokenMacro.java b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipTokenMacro.java index 5fafd78..e221f8e 100644 --- a/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipTokenMacro.java +++ b/src/main/java/com/synopsys/arc/jenkins/plugins/ownership/wrappers/OwnershipTokenMacro.java @@ -32,6 +32,8 @@ import hudson.model.Node; import hudson.model.TaskListener; import java.io.IOException; + +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro; import org.jenkinsci.plugins.tokenmacro.MacroEvaluationException; @@ -44,6 +46,7 @@ * @since 0.4 */ @Extension(optional = true) +@Symbol("ownership") public class OwnershipTokenMacro extends DataBoundTokenMacro { public static final String MACRO_NAME="OWNERSHIP"; diff --git a/src/main/java/org/jenkinsci/plugins/ownership/config/DisplayOptions.java b/src/main/java/org/jenkinsci/plugins/ownership/config/DisplayOptions.java index 857b1a7..282636e 100644 --- a/src/main/java/org/jenkinsci/plugins/ownership/config/DisplayOptions.java +++ b/src/main/java/org/jenkinsci/plugins/ownership/config/DisplayOptions.java @@ -30,6 +30,7 @@ import hudson.model.Describable; import hudson.model.Descriptor; +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.ownership.model.runs.RunOwnershipAction; import org.kohsuke.stapler.DataBoundConstructor; @@ -75,7 +76,8 @@ public boolean isHideOwnershipIfNoData() { public DescriptorImpl getDescriptor() { return DESCRIPTOR; } - + + @Symbol("ownershipVisualization") public static class DescriptorImpl extends Descriptor { @Override diff --git a/src/main/java/org/jenkinsci/plugins/ownership/config/InheritanceOptions.java b/src/main/java/org/jenkinsci/plugins/ownership/config/InheritanceOptions.java index eb9ca99..bb6d5c0 100644 --- a/src/main/java/org/jenkinsci/plugins/ownership/config/InheritanceOptions.java +++ b/src/main/java/org/jenkinsci/plugins/ownership/config/InheritanceOptions.java @@ -31,6 +31,7 @@ import hudson.model.Describable; import hudson.model.Descriptor; import hudson.model.ItemGroup; +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.ownership.model.folders.FolderOwnershipHelper; import org.kohsuke.stapler.DataBoundConstructor; @@ -70,7 +71,8 @@ public boolean isBlockInheritanceFromItemGroups() { public DescriptorImpl getDescriptor() { return DESCRIPTOR; } - + + @Symbol("ownershipInheritance") public static class DescriptorImpl extends Descriptor { @Override diff --git a/src/main/java/org/jenkinsci/plugins/ownership/config/PreserveOwnershipPolicy.java b/src/main/java/org/jenkinsci/plugins/ownership/config/PreserveOwnershipPolicy.java index 641a6aa..560c2be 100644 --- a/src/main/java/org/jenkinsci/plugins/ownership/config/PreserveOwnershipPolicy.java +++ b/src/main/java/org/jenkinsci/plugins/ownership/config/PreserveOwnershipPolicy.java @@ -7,6 +7,7 @@ import com.synopsys.arc.jenkins.plugins.ownership.util.AbstractOwnershipHelper; import hudson.Extension; import hudson.model.Item; +import org.jenkinsci.Symbol; import org.jenkinsci.plugins.ownership.model.OwnershipHelperLocator; import org.kohsuke.stapler.DataBoundConstructor; @@ -33,6 +34,7 @@ public OwnershipDescription onCreated(@Nonnull Item item) { } @Extension + @Symbol("preserveOwnership") public static class DescriptorImpl extends ItemOwnershipPolicyDescriptor { @Override public String getDisplayName() { diff --git a/src/main/java/org/jenkinsci/plugins/ownership/integrations/securityinspector/PermissionsForOwnerReportBuilder.java b/src/main/java/org/jenkinsci/plugins/ownership/integrations/securityinspector/PermissionsForOwnerReportBuilder.java index 4f4f1b2..d5dd400 100644 --- a/src/main/java/org/jenkinsci/plugins/ownership/integrations/securityinspector/PermissionsForOwnerReportBuilder.java +++ b/src/main/java/org/jenkinsci/plugins/ownership/integrations/securityinspector/PermissionsForOwnerReportBuilder.java @@ -44,7 +44,6 @@ import org.acegisecurity.context.SecurityContext; import org.acegisecurity.context.SecurityContextHolder; import org.acegisecurity.userdetails.UsernameNotFoundException; -import org.jenkinsci.plugins.securityinspector.Messages; import static org.jenkinsci.plugins.securityinspector.SecurityInspectorAction.getSessionId; import org.jenkinsci.plugins.securityinspector.UserContext; import org.jenkinsci.plugins.securityinspector.UserContextCache; diff --git a/src/main/java/org/jenkinsci/plugins/ownership/model/folders/FolderOwnershipProperty.java b/src/main/java/org/jenkinsci/plugins/ownership/model/folders/FolderOwnershipProperty.java index 05f1bb3..65d4ba7 100644 --- a/src/main/java/org/jenkinsci/plugins/ownership/model/folders/FolderOwnershipProperty.java +++ b/src/main/java/org/jenkinsci/plugins/ownership/model/folders/FolderOwnershipProperty.java @@ -35,6 +35,7 @@ import java.io.IOException; import javax.annotation.CheckForNull; import net.sf.json.JSONObject; +import org.jenkinsci.Symbol; import org.kohsuke.stapler.StaplerRequest; /** @@ -85,6 +86,7 @@ public AbstractFolderProperty reconfigure(StaplerRequest req, JSONObject form } @Extension(optional = true) + @Symbol("ownership") public static class DescriptorImpl extends AbstractFolderPropertyDescriptor { @Override diff --git a/src/main/resources/org/jenkinsci/plugins/ownership/integrations/securityinspector/Messages.properties b/src/main/resources/org/jenkinsci/plugins/ownership/integrations/securityinspector/Messages.properties new file mode 100644 index 0000000..3359e01 --- /dev/null +++ b/src/main/resources/org/jenkinsci/plugins/ownership/integrations/securityinspector/Messages.properties @@ -0,0 +1 @@ +JobReport.RowColumnHeader=Items