[JIRA] (JENKINS-53575) Configuration-as-Code compatibility

2 views
Skip to first unread message

jnz@topdanmark.dk (JIRA)

unread,
Sep 14, 2018, 5:41:03 AM9/14/18
to jenkinsc...@googlegroups.com
Jon Brohauge updated an issue
 
Jenkins / Improvement JENKINS-53575
Configuration-as-Code compatibility
Change By: Jon Brohauge
Summary: Compatability issues with JCASC Configuration-as-Code compatibility
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

nicolas.deloof@gmail.com (JIRA)

unread,
Oct 30, 2018, 7:17:03 AM10/30/18
to jenkinsc...@googlegroups.com
Nicolas De Loof commented on Improvement JENKINS-53575
 
Re: Configuration-as-Code compatibility

The issue is due to JCasC export feature design : as we only want to export things that differ from default values, we create a fresh new `GradleInstallation$DescriptorImpl` instance and compare properties.
But gradle plugin did manage the transition from `Gradle.DescriptorImpl` to `ToolDescriptor` relying on an `@Inject` delegate, which I think is a nice, concise and clean way to handle this. When JCasC do create a new instance it doesn't inject dependencies and the delegate call results in a NPE.

I'm not sure the best way to handle this. I like the @Inject-based delegate approach, compared to other implementations which do a systematic lookup to legacy Descriptor. On the other hand the root issue maybe is that those approach don't migrate data, they just pretend they implement the new API but tried to avoid having to manage data migration. Maybe a correct way to handle this is for `Gradle.DescriptorImpl` (and other) to populate `GradleInstallation$DescriptorImpl#installations` when some legacy data get loaded, and fully follow the intended `ToolDescriptor` design to host `installations` property.

rene.scheibe@gmail.com (JIRA)

unread,
Dec 28, 2018, 10:31:03 AM12/28/18
to jenkinsc...@googlegroups.com
René Scheibe assigned an issue to René Scheibe
Change By: René Scheibe
Assignee: Stefan Wolf René Scheibe

rene.scheibe@gmail.com (JIRA)

unread,
Dec 28, 2018, 10:31:04 AM12/28/18
to jenkinsc...@googlegroups.com
René Scheibe started work on Improvement JENKINS-53575
 
Change By: René Scheibe
Status: Open In Progress

rene.scheibe@gmail.com (JIRA)

unread,
Dec 29, 2018, 6:14:02 PM12/29/18
to jenkinsc...@googlegroups.com

rene.scheibe@gmail.com (JIRA)

unread,
Dec 29, 2018, 6:15:01 PM12/29/18
to jenkinsc...@googlegroups.com
René Scheibe assigned an issue to Stefan Wolf
Change By: René Scheibe
Assignee: René Scheibe Stefan Wolf

stefan.wolf.phd@gmail.com (JIRA)

unread,
Dec 30, 2018, 5:12:02 PM12/30/18
to jenkinsc...@googlegroups.com
Stefan Wolf commented on Improvement JENKINS-53575
 
Re: Configuration-as-Code compatibility

Nicolas De Loof: Do you have an example of a plugin doing the data migration? Do I need to do anything else than populating the installations field of GradleInstallation? For example, I wonder how the version numbers to select from for the GradleInstaller are populated, and if this is related to the GradleInstallation. I vaguely remember there is some backend job which provides the versions which can be accessed via some class name. 

stefan.wolf.phd@gmail.com (JIRA)

unread,
Jan 11, 2019, 5:25:03 PM1/11/19
to jenkinsc...@googlegroups.com
Stefan Wolf updated Improvement JENKINS-53575
 

Fixed in the Gradle plugin 1.30.

Change By: Stefan Wolf
Status: In Review Resolved
Resolution: Fixed

rene.scheibe@gmail.com (JIRA)

unread,
Feb 21, 2019, 4:53:02 PM2/21/19
to jenkinsc...@googlegroups.com
René Scheibe updated an issue
Change By: René Scheibe
Released As: 1.30

jnz@topdanmark.dk (JIRA)

unread,
Jun 3, 2019, 7:19:03 AM6/3/19
to jenkinsc...@googlegroups.com
Jon Brohauge closed an issue as Fixed
Change By: Jon Brohauge
Status: Resolved Closed
Reply all
Reply to author
Forward
0 new messages