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] > <javascript:>> 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] <javascript:>. >> 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. For more options, visit https://groups.google.com/d/optout.
