-
Notifications
You must be signed in to change notification settings - Fork 146
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
add symbol annotations to BranchProperty and BranchPropertyStrategy subclasses #192
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") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Any thoughts on naming here (or for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I removed the suggestions because i thought i was overthinking it. But yeah, I thought the wording was a bit redundant. I'm fine with |
||
@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") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I also don't see this show up as an option for Multibranch Pipelines, so IDK if we want a symbol or not. In this case, I think it's because Pipelines extend If we do keep the symbol, maybe There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll remove it if it's not configurable. Probably best to keep it consistent with UI. Same goes with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It might be configurable for some other implementation of MultiBranchProject, but I'm not sure what those might be. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Cool, I'll double check before I do anything |
||
@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
DataBoundConstructor
for this class includesBuildDiscarder
as an argument.BuildDiscarder
is an abstract class, so I was not sure if I needed to addSymbol
annotation forBuildDiscarder
subclasses? 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
BuildDiscarder
and make sure they have symbols as well, but the only implementation I am aware of isLogRotator
and that already has a symbol, see here.That said, I don't think that
BuildRetentionBranchProperty
is 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 anisApplicable
override in the descriptor), so maybe we shouldn't add a symbol for it?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
BuildRetentionBranchProperty
here as well asUntrustedBranchProperty
hereOr does having a jelly file not always mean there is a UI element?
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.
UntrustedBranchProperty
implementsBranchPropertyDescriptor.isApplicable
so that it only shows up when the items inside of theMultiBranchProject
extendhudson.model.Project
, butWorkflowJob
directly 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
DescriptorVisibilityFilter
that suppressesBuildRetentionBranchProperty
andRateLimitBranchProperty
, 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.
RateLimitBranchProperty
already 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.