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