For me, it's too early but if you think that it's fine to include it under
jenkinsci in the current state then I don't mind. Yet I want to control
development of it for now and keep pull request model for it, I hope you
understand :)

Sergei

On Tue, Mar 22, 2016 at 3:40 PM Oleg Nenashev <[email protected]>
wrote:

> Why don't you just move it to jenkinsci org?
> The plugin is definitely useful, so I think it is reasonable.
>
> P.S: I'm still planning to run the plugin against big pipelines. I'm just
> in the slowpoke mode :(
>
> BR, Oleg
>
> вторник, 22 марта 2016 г., 14:07:39 UTC+1 пользователь Sergei Egorov
> написал:
>>
>> FYI I configured CircleCI for this plugin, so now it's possible to
>> download the latest *.hpi *automated* build from there:
>>
>> i.e. Build #7:
>> https://circleci.com/gh/bsideup/jenkins-pipeline-view/7#artifacts
>>
>> On Tue, Mar 22, 2016 at 8:59 AM Michael Neale <[email protected]>
>> wrote:
>>
> In another case it looks like Execution, yes... never mind (should be easy
>>> to fix once identified). I think the jackson stuff just happened to pick
>>> that edge case up (I thought I saw a serialization problem and my brain
>>> suddenly turned off looking for null pointers! hahaha.
>>>
>>> Nice work!
>>>
>>>
>>> On Tuesday, March 22, 2016 at 5:49:49 PM UTC+11, Sergei Egorov wrote:
>>>
>>>> Actually... getStartNode marked with @Nonnull, as well
>>>> as getExecution(), so one of them is null. Execution maybe?
>>>>
>>>> On Tue, Mar 22, 2016 at 8:17 AM Sergei Egorov <[email protected]> wrote:
>>>>
>>> Hi Michael,
>>>>>
>>>>> Wow, interesting finding!
>>>>>
>>>>> I checked with the sources and looks like it's not an issue of the
>>>>> plugin itself, but StepEndNode. Jackson in plugin configured to serialize
>>>>> only pre-configured fields/methods, and any new object in the domain will
>>>>> not affect it.
>>>>>
>>>>> What I see here is that StepEndNode::getTypeDisplayName throws an NPE.
>>>>> From StepEndNode's source code, I see that there are no checks for
>>>>> getStartNode() result, and for some reason it's null. This is a good place
>>>>> to start if you want to figure out what's wrong in your setup (even better
>>>>> if you can put conditional breakpoint on getTypeDisplayName and
>>>>> "getStartNode() == null", because I see (in code) that it might be null,
>>>>> but getTypeDisplayName is not null-safe.
>>>>>
>>>>> On Tue, Mar 22, 2016 at 8:00 AM Michael Neale <[email protected]>
>>>>> wrote:
>>>>>
>>>> As luck would have it, I notice this is tripped by by having global lib
>>>>>> variables added in (basically, DSLs). Is there a JIRA project for this?
>>>>>>
>>>>>> (not a huge thing, I can't imagine many would run into this, but it
>>>>>> looks like it gets upset if not all the things are serializable).
>>>>>>
>>>>>> Caused by: com.fasterxml.jackson.databind.JsonMappingException: (was
>>>>>> java.lang.NullPointerException) (through reference chain:
>>>>>> org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode["typeDisplayName"])
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:141)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3559)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2909)
>>>>>>
>>>>>> at
>>>>>> com.github.bsideup.jenkins.pipeline.ui.view.PipelineViewApi.doNodes(PipelineViewApi.java:75)
>>>>>>
>>>>>> ... 89 more
>>>>>>
>>>>>> Caused by: java.lang.IllegalArgumentException: (was
>>>>>> java.lang.NullPointerException) (through reference chain:
>>>>>> org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode["typeDisplayName"])
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3459)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3378)
>>>>>>
>>>>>> at
>>>>>> com.github.bsideup.jenkins.pipeline.ui.view.PipelineViewApi$2.apply(PipelineViewApi.java:78)
>>>>>>
>>>>>> at
>>>>>> com.github.bsideup.jenkins.pipeline.ui.view.PipelineViewApi$2.apply(PipelineViewApi.java:75)
>>>>>>
>>>>>> at com.google.common.collect.Iterators$8.next(Iterators.java:812)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ser.std.IterableSerializer.serializeContents(IterableSerializer.java:89)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ser.std.IterableSerializer.serialize(IterableSerializer.java:74)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ser.std.IterableSerializer.serialize(IterableSerializer.java:12)
>>>>>>
>>>>>> at
>>>>>> com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130)
>>>>>>
>>>>>> ... 92 more
>>>>>>
>>>>>> On Tuesday, March 22, 2016 at 10:49:54 AM UTC+11, Michael Neale wrote:
>>>>>>>
>>>>>>> Very cool, and I like the use of react!
>>>>>>>
>>>>>>> On Monday, March 21, 2016 at 5:52:04 PM UTC+11, Sergei Egorov wrote:
>>>>>>>>
>>>>>>>> Hey everyone,
>>>>>>>>
>>>>>>>> Yesterday I decided to publish sources for my pipeline
>>>>>>>> visualization plugin:
>>>>>>>> https://github.com/bsideup/jenkins-pipeline-view
>>>>>>>>
>>>>>>>> <https://lh3.googleusercontent.com/-t28IjO2m73U/Vu-VVrauoEI/AAAAAAAAAyI/tiF8TH7YVCYiqI4n78DvC0FQ21ir46LNg/s1600/screenshot.png>
>>>>>>>>
>>>>>>>>
>>>>>>>> What's cool about it?
>>>>>>>> First of all, it *can handle any graph* provided by pipeline
>>>>>>>> because it uses very powerful *JS graph library* to position
>>>>>>>> steps.
>>>>>>>> Also, it's a *React* application, written in *ES7* (not even
>>>>>>>> ES6!), with ImmutableJS and RxJS inside - so hipsters will be happy :D 
>>>>>>>> But
>>>>>>>> in fact, it means that it's damn easy to develop this plugin and 
>>>>>>>> provide
>>>>>>>> more functionality.
>>>>>>>> I use *Webpack* to bundle everything (JS, CSS, fonts, images, SVG
>>>>>>>> icons) in one single pipe.js file. *No Jenkins JS Modules*, no
>>>>>>>> conflicts, no impact on others. Even CSS will not conflict because of
>>>>>>>> *CSS-modules* ( http://glenmaddern.com/articles/css-modules )
>>>>>>>> All icons are SVG ones and look good on any screen, retina or not,
>>>>>>>> and any zoom level.
>>>>>>>>
>>>>>>>> I use Jackson on the backend side to serialize FlowNodes and their
>>>>>>>> actions. *Why Jackson?* Because it was much easier to implement
>>>>>>>> serialization of selected (non-exposed) fields and class info included
>>>>>>>> compared to Stapler. I saw something were done about classinfo in 
>>>>>>>> Stapler,
>>>>>>>> but at the moment of creation of this plugin, it wasn't delivered to
>>>>>>>> Jenkins core yet. Also, *almost none of the Pipeline actions are
>>>>>>>> @Expose-d*.
>>>>>>>>
>>>>>>>> I use *gradle-jpi-plugin* instead of Maven because it's much
>>>>>>>> easier to describe some complex build process with Gradle, especially 
>>>>>>>> when
>>>>>>>> frontend build is involved. In fact, it's just one line:
>>>>>>>>
>>>>>>>> https://github.com/bsideup/jenkins-pipeline-view/blob/954b895b6574cdf34815ff94a4a8db3ad3811aeb/build.gradle#L61
>>>>>>>>
>>>>>>>>
>>>>>>>> Future development
>>>>>>>> Will I continue to develop it? Definitely! Here, *at
>>>>>>>> ZeroTurnaround*, we use Jenkins a lot, and eventually we will
>>>>>>>> migrate to the pipelines, and proper visualization of the process is a 
>>>>>>>> must
>>>>>>>> for us. And feel free to contribute as well, it's really a good chance 
>>>>>>>> to
>>>>>>>> learn *modern JS stack* as well :)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Sergei Egorov
>>>>>>>>
>>>>>>> --
>>>>>> 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/0697c884-91ad-4716-809e-3c40cf5e35da%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/jenkinsci-dev/0697c884-91ad-4716-809e-3c40cf5e35da%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>> 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/70fea7d1-fb89-4500-802b-9e7ec2cb3fb1%40googlegroups.com
>>> <https://groups.google.com/d/msgid/jenkinsci-dev/70fea7d1-fb89-4500-802b-9e7ec2cb3fb1%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> 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/08bfae6f-5de0-41e1-8a1f-4daca75fe753%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/08bfae6f-5de0-41e1-8a1f-4daca75fe753%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CAAJdKXm%2BjmTcQEMim9s2T7Y0JMJc-tZcP64edZDvVDYTjAG8AQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to