I recommend nifi/maven - archetypes. Thanks Bryan! On Jan 20, 2015 8:44 AM, "Mark Payne" <[email protected]> wrote:
> All, > Bryan has done a great job of creating a Maven archetype for creating a > processor bundle (processor + nar + parent). I think it will be extremely > helpful to have, and Bryan has chosen to contribute the archetype back to > the community. > The question is where in the source tree does it make sense to put it? > I could see putting it directly under nifi/ or nifi/commons but I imagine > that there will be more archetypes in the future -- for reporting tasks, > for controller services, and perhaps other things. So maybe we would > create a nifi/maven-archetypes or a nifi/commons/maven-archetypes directory. > Any thoughts on where best to add this into the source tree? > Thanks-Mark > > Date: Mon, 19 Jan 2015 21:48:26 -0500 > Subject: Re: Processor Bundle Archetype > From: [email protected] > To: [email protected] > > Hey Mark, > > Since it looks like the develop branch is back to having the > nar-maven-plugin and nifi as the two top level directories, where would you > want to put the archetype? I guess it could be a directory under nifi ? > > And do you have a preference on the artifactId? In my own repo I called it > nifi-processor-bundle-archetype, but I wasn't sure if something else made > more sense within the actual NiFi source code. > > -Bryan > > On Fri, Jan 16, 2015 at 9:37 AM, Mark Payne <[email protected]> wrote: > > > > Bryan, > That's great - I was hoping you'd go ahead and contribute that back. I > think it's best if you create the patch/pull-request so that all of the git > patch magic can take affect and show you as the contributor. I think > putting it into that new directory with the nar plugin is the way to go, > too. > I created a ticket that you can submit the patch/PR to: > https://issues.apache.org/jira/browse/NIFI-272 > Many thanks!-Mark > > Date: Fri, 16 Jan 2015 09:27:09 -0500 > Subject: Re: Processor Bundle Archetype > From: [email protected] > To: [email protected] > > Hey Mark, > Glad you like the archetype so much! I would love to contribute it to the > official codebase. I could probably put together a patch/pull-request over > the weekend if that works, or if you are looking to get it in there today, > I have no problem with you taking the reigns and doing it. I was looking at > the latest code last night and I saw one of Joe W's email about the latest > directory structure, so I assume we could put the archetype along side the > nar plugin. Let me know what you want to do. > -Bryan > On Fri, Jan 16, 2015 at 8:45 AM, Mark Payne <[email protected]> wrote: > > > > Hey Bryan, > Sorry, I never did write back. I did look at the documentation that you > put together, and it's perfect. Every time I write Processor, I end up > copying another index.html and gutting it to look just like this one and > then filling in. So nice to not have to do that every time. I appreciate > all the work you put into this! > Were you interested in putting this into the Apache NiFi codebase? Or did > you want to keep it separate? > Thanks-Mark > > > Date: Wed, 7 Jan 2015 20:42:10 -0500 > > Subject: Re: Processor Bundle Archetype > > From: [email protected] > > To: [email protected] > > > > Mark, > > > > Thanks for the feedback! and glad it is useful for you. > > > > I just made the updates you suggested so you should be able to pull them > > down from GitHub. > > > > If you were thinking of anything different for the documentation stub let > > me know. I just took an example that had Uses Attributes, Modifies > > Attributes, Properties, and Relationships, and then removed the specific > > content. > > > > -Bryan > > > > On Wed, Jan 7, 2015 at 4:34 PM, Mark Payne <[email protected]> wrote: > > > > > Bryan, > > > This is great! I've been meaning to do this for a while... just haven't > > > gotten around to it. Very helpful. > > > It's done pretty well, too, I would say. I have just a few things I'd > > > point out: > > > In the Processor implementation, I would avoid the:this.myProperty = > > > context.getProperty(MY_PROPERTY).getValue(); > > > and defining the myProperty variable altogether. > > > This approach is not thread-safe, and the context.getProperty() returns > > > PropertyValue, which has some nice convenience methods like > "asInteger", > > > etc. > > > In the onTrigger method, the argument names are 'processContext' and > > > 'processSession'. I would call these simply 'context' and 'session', as > > > it's much easier to type and these are the names that are typically > used. > > > In the processor's directory you may also want to build a directory > > > structure > > > > of:src/main/resources/docs/org.apache.nifi.processors.MyProcessor/index.html > > > with a stubbed out documentation. The Standard Processors all use the > same > > > documentation. > > > Then, in the application, if you right-click on a Processor and click > > > "Usage", that's where the information comes from. > > > This is very helpful! I will be building this locally so I can start > > > making use of it. > > > > > > > Date: Sun, 4 Jan 2015 15:23:56 -0500 > > > > Subject: Processor Bundle Archetype > > > > From: [email protected] > > > > To: [email protected] > > > > > > > > After setting up a project to develop some custom processors, I > started > > > > thinking it would be useful to have a really easy way to jump start > a new > > > > project, so I created a Maven archetype that can be used to help get > > > > started: > > > > > > > > https://github.com/bbende/nifi-processor-bundle-archetype > > > > > > > > If anyone has any feedback on useful defaults, or best practices to > > > > include, let me know. > > > > > > > > If something like this already exists, then I'll chalk this up to a > good > > > > learning experience since I learned a lot about multi-module > archetypes > > > :) > > > > > > > > -Bryan > > > > > > > > > > >
