-
-
Notifications
You must be signed in to change notification settings - Fork 151
add symbol annotations to BranchProperty and BranchPropertyStrategy subclasses #192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
6b36838
a2b5be9
d9e1755
b713225
21ac3a0
b10a28a
bbef50a
5e44032
23607fc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,6 +27,7 @@ | |
| import edu.umd.cs.findbugs.annotations.NonNull; | ||
| import hudson.Extension; | ||
| import jenkins.scm.api.SCMHead; | ||
| import org.jenkinsci.Symbol; | ||
| import org.kohsuke.stapler.DataBoundConstructor; | ||
|
|
||
| import java.util.ArrayList; | ||
|
|
@@ -81,6 +82,7 @@ public List<BranchProperty> getPropertiesFor(SCMHead head) { | |
| /** | ||
| * Our {@link BranchPropertyStrategyDescriptor}. | ||
| */ | ||
| @Symbol("allBranchesSameProperties") | ||
|
||
| @Extension | ||
| @SuppressWarnings("unused") // by jenkins | ||
| public static class DescriptorImpl extends BranchPropertyStrategyDescriptor { | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -33,6 +33,7 @@ | |
| import hudson.tasks.BuildWrapper; | ||
| import hudson.tasks.Publisher; | ||
| import java.lang.reflect.Type; | ||
| import org.jenkinsci.Symbol; | ||
| import org.kohsuke.stapler.DataBoundConstructor; | ||
|
|
||
| import java.util.ArrayList; | ||
|
|
@@ -120,6 +121,7 @@ public <P extends Job<P,B>,B extends Run<P,B>> JobDecorator<P,B> jobDecorator(Cl | |
| /** | ||
| * Our {@link Descriptor}. | ||
| */ | ||
| @Symbol("untrustedCode") | ||
|
||
| @Extension | ||
| @SuppressWarnings("unused") // instantiated by Jenkins | ||
| public static class DescriptorImpl extends BranchPropertyDescriptor { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
DataBoundConstructorfor this class includesBuildDiscarderas an argument.BuildDiscarderis an abstract class, so I was not sure if I needed to addSymbolannotation forBuildDiscardersubclasses? The same question applies to some other classes below.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, ideally we would track down all implementations of
BuildDiscarderand make sure they have symbols as well, but the only implementation I am aware of isLogRotatorand that already has a symbol, see here.That said, I don't think that
BuildRetentionBranchPropertyis intended to be directly configured by users because it doesn't show up in the UI when configuring a property strategy for a multibranch projects (not sure why, I don't see anisApplicableoverride in the descriptor), so maybe we shouldn't add a symbol for it?Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do see a jelly file for
BuildRetentionBranchPropertyhere as well asUntrustedBranchPropertyhereOr does having a jelly file not always mean there is a UI element?
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@car-roll Yeah, I think they might show up in the UI in some context, I'm just not sure what those contexts are, because I don't see them as options when I configure a property strategy for a Multibranch Pipeline.
UntrustedBranchPropertyimplementsBranchPropertyDescriptor.isApplicableso that it only shows up when the items inside of theMultiBranchProjectextendhudson.model.Project, butWorkflowJobdirectly extendshudson.model.Job, so it makes sense that that one didn't show up in my testing.After some digging it looks like Multibranch Pipelines have a
DescriptorVisibilityFilterthat suppressesBuildRetentionBranchPropertyandRateLimitBranchProperty, so that explains why I didn't see them either in my testing.So as far as I can tell, adding symbols to these types doesn't matter for Multibranch Pipelines, but we could still go ahead and add them for whatever projects do support them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RateLimitBranchPropertyalready has a symbol annotation so we're good to go there.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the symbol is only for the descriptor for the job property, but I think we want one on the descriptor for the branch property.