Kohsuke,
I think thats a good idea, we should think about code we could remove - 300 
Releases after deprecation should be long enough
Domi


On 26.04.2012, at 08:06, Kohsuke Kawaguchi wrote:

> On 04/19/2012 02:50 PM, Jørgen Tjernø wrote:
>> I like this, definitely would be good.
>> 
>> At this point they're getting very similar to build steps (not a bad
>> thing, per se), and that train of thought lead me to consider one
>> thing:
>> Could we not simplify the whole set of job configuration by making
>> build tasks&  publishers the same thing? Does the separation of
>> publishers&  build steps gain us anything? They're all "actions" that
>> are taken (in a sequence) for each build performed.
> 
> Yes, the distinction is starting to blur indeed.
> 
> One difference that I'm aware of is that if the builder fails, later builders 
> won't execute, but publishers still get to run.
> 
>> With a few changes to make it so that build tasks could behave like
>> post-build tasks ("always run" as opposed to "don't run if build
>> failed", etc), it seems feasible to me. The benefit would be a simpler
>> UI, simpler codebase and the opportunity for more re-use. The
>> complexity of the Jenkins codebase is definitely significant for new
>> people to start developing - both plugins&  core changes.
> 
> Because of the backward compatibility requirements, I suspect this change is 
> likely add to more complexity, at least for a short term. That is not to say 
> we shouldn't do it. but it'd have the opposite effect for 100 or 200 releases 
> to come until we retire the old abstractions.
> 
> 
> On the broader issue of the complexity, maybe we can actually start deleting 
> some code that's marked deprecated long enough.
> 
> For example, Mailer.DESCRIPTOR field is deprecated since 1.286 and anyone 
> building against >=1.355 is prevented by compiler to link to this field. 
> That's almost 200 releases of deprecation.
> 
> Or BuildStepCompatibilityLayer is there to keep Builder/Publisher from pre 
> 1.150 working. That's more than 300 releases ago.
> 
> Do you think those would help? Or do you see the complexity in places other 
> than compatibility related things?
> 
>> 
>> Does anyone else have any thoughts on this?
>> 
>> - Jørgen.
>> 
>> On Thu, Apr 19, 2012 at 9:01 AM, Kohsuke Kawaguchi<k...@kohsuke.org>  wrote:
>>> Following up the conversation from JUC Paris, I pushed the "publisher"
>>> branch to the repository that changes the publisher configuration UI.
>>> I'd like to get feedback on whether people think this is a good idea
>>> or a bad idea.
>>> 
>>> Currently, the "post-build action" of the project configuration page
>>> lists one checkbox per one publisher. This has a couple of problems:
>>> 
>>>   - when you have a large number of plugins, as many large instances
>>> inevitably do, they occupy a large real estate in the configuration
>>> screen.
>>> 
>>>   - you cannot reorder them
>>> 
>>> In the branch, instead of a big list of checkboxes, you get a
>>> drop-down menu button just like the main "build' section. And then
>>> you'll be adding publishers by clicking them.
>>> 
>>>   - once you add a publisher of a certain kind, it gets grayed out and
>>> prevents you from adding 2nd (and if you actually click the grayed out
>>> item, you jump to the corresponding part of the page.) (this
>>> restriction of one instance per one publisher might be something worth
>>> removing in the future?)
>>> 
>>>   - new items are inserted into their preferred position, instead of
>>> getting added to the bottom, so that users normally wouldn't have to
>>> think about the proper ordering among them (you generally want the
>>> data collection tasks to come before the notification tasks.)
>>> 
>>> - a few animations to go with it.
>>> 
>>> Looking forward to hearing back.
>>> 
>>> --
>>> Kohsuke Kawaguchi
>> .
>> 
> 
> 
> -- 
> Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
> Try Nectar, our professional version of Jenkins

Reply via email to