https://wiki.jenkins-ci.org/display/JENKINS/Hint+on+retaining+backward+compatibility

https://wiki.jenkins-ci.org/display/JENKINS/Marking+a+new+plugin+version+as+incompatible+with+older+versions

/B

On Sat, Feb 18, 2017 at 5:53 AM, <[email protected]> wrote:

>
> I've finally got it working, one remaining issue:
>
> Is there any way to make optionalProperty backwards compatible with
> optionalBlock?  When I publish the update to this plugin I don't want
> people to have to reconfigure there jobs.  If not, is there any way to mark
> the plugin as not backwards compatible?
>
>
> For anyone else struggling with this the answer is that an
> optionalProperty needs to have it's own class and config.jelly.
>
> For me that meant:
> 1. the original optional block became <f:optionalProperty title="Wait Till
> Build Completed" field="waitTillBuildCompleted" />
> 2. a new class:
>
> public class WaitTillCompleted extends 
> AbstractDescribableImpl<WaitTillCompleted>
> {
>  private final boolean printLogOnFailure;
>  public boolean isPrintLogOnFailure() {
>   return printLogOnFailure;
>  }
>  @DataBoundConstructor
>  public WaitTillCompleted(boolean printLogOnFailure) {
>         this.printLogOnFailure = printLogOnFailure;
>     }
>
>     @Extension
>     public static class DescriptorImpl extends
> Descriptor<WaitTillCompleted> {
>         @Override
>         public String getDisplayName() {
>             return "";
>         }
>     }
> }
>
> 3. A new config.jelly for the above class
>
> <?jelly escape-by-default='true'?>
> <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler"
> xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson"
> xmlns:f="/lib/form">
>     <f:entry title="Show BuildMaster Log on Failure"
> field="printLogOnFailure" >
>       <f:checkbox default="false" />
>     </f:entry>
> </j:jelly>
>
> Cheers
>   Andrew
>
> On Friday, February 17, 2017 at 6:17:25 AM UTC+13, Jesse Glick wrote:
>
>> On Thu, Feb 16, 2017 at 4:30 AM, <[email protected]> wrote:
>> >The only example I can find this the ui-samples-plugin which has an
>> overly complicated example that I cannot follow.
>>
>> That is the cleanest example I know of. You can use GitHub search to
>> look for others but I cannot say whether they will be good examples or
>> bad examples, unless I wrote them myself.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/jenkinsci-dev/86581742-e4dd-4e26-943b-62ba8bd4b7dc%
> 40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/86581742-e4dd-4e26-943b-62ba8bd4b7dc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Robert Sandell
*Software Engineer*
*CloudBees Inc.*

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS3Us-JvRqxm59R%2B8WeKqRNL79K9AugSzDkgBAWRKOEiLQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to