Re: Will you accept contributions in Scala?

2018-02-13 Thread Weiss, Adam
- Style. There’s a tremendous amount of variation in Scala style because>
> > >> of its type system, implicits, macros, and functional nature. There are>
> > >> very good people out there that can write good Scala that isn’t>
> > readable by>
> > >> the 99%.>
> > >> - Binary compatibility. Scala tends to be a little more brazen about>
> > >> breaking binary compatibility in major releases and those happen a bit>
> > more>
> > >> often than with Java. That’s not a problem for any potential source>
> > code in>
> > >> the project, but it could present some dependency issues someday.>
> > >> - Testing. There’s N > 1 test frameworks and testing styles within>
> > those,>
> > >> so there’s a lot of options for introducing more variability into the>
> > tests.>
> > >> - NiFi uses a lot of statics in setting up properties and relationships>
> > >> and the like, and idiomatic Scala approaches that stuff a bit>
> > differently,>
> > >> so it’ll be necessary to impose some style guidelines so there isn’t too>
> > >> much variation.>
> > >>>
> > >> That said, there are some things that won’t be problematic:>
> > >>>
> > >> - As mentioned, processors written in Scala do just work.>
> > >> - The scala-maven-plugin works just fine allowing mixed Java-Scala>
> > >> projects (btw, it’d probably be not super great to do mixed Java-Scala>
> > and>
> > >> mixed Maven-SBT though).>
> > >> - A lot of the above concerns could be addressed by having clear style>
> > >> guidelines.>
> > >>>
> > >> Another thing: most of the projects I see deliver separate jars for>
> > Scala>
> > >> components are delivering idiomatic APIs wrapping Java (or vice versa).>
> > I>
> > >> think publishing   a separate set of jars/nars for stuff written in>
> > Scala>
> > >> would be odd since here it’d mostly be processors with new functionality>
> > >> and not functionality for using Scala. I could imagine a lib of>
> > implicits,>
> > >> traits, classes that could make the Scala development more enjoyable.>
> > That>
> > >> probably would make sense to deliver that way.>
> > >>>
> > >> -joey>
> > >>>
> > >> On Feb 10, 2018, 10:33 AM -0600, Bryan Bende 
> > >> <bb...@gmail.com<mailto:bb...@gmail.com>>, wrote:>
> > >> > I agree more with Andy about sticking with Java. The more varying>
> > >> languages>
> > >> > used, the more challenging it is to maintain. Once the code is part of>
> > >> the>
> > >> > Apache NiFi git repo, it is now the responsibility of the committers>
> > and>
> > >> > PMC members to maintain it.>
> > >> >>
> > >> > I’d even say I am somewhat against the groovy/Spock test code that>
> > Andy>
> > >> > mentioned. I have frequently spent hours trying to fix a Spock test>
> > that>
> > >> > broke from something I was working on. Every committer is familiar>
> > with>
> > >> > JUnit, but only a couple know Spock. Just using this as an example>
> > that>
> > >> > every committer knows Java, but only a couple probably know Scala,>
> > >> Clojure,>
> > >> > etc.>
> > >> >>
> > >> > On Sat, Feb 10, 2018 at 10:25 AM Jeff 
> > >> > <jt...@gmail.com<mailto:jt...@gmail.com>> wrote:>
> > >> >>
> > >> > > +1 to Joe's response. If you can develop a component in Groovy or>
> > Scala>
> > >> > > (or Clojure!) more quickly/comfortably, or if allowing components>
> > >> written>
> > >> > > in other languages would encourage people to contribute more, I'm>
> > all>
> > >> for>
> > >> > > it.>
> > >> > >>
> > >> > > On Sat, Feb 10, 2018 at 7:42 AM Joe Witt 
> > >> > > <jo...@gmail.com<mailto:jo...@gmail.com>>>
> > wrote:>
> > >> > >>
> > >> > > > i personally would be ok with it for an extension/processor>
> > provided>
> > >> it>
> > >> > > > integrates well wit

Will you accept contributions in Scala?

2018-02-09 Thread Weiss, Adam
Devs,

I have some interns starting with my team and we use Scala internally for our 
work.
If I wanted to have them work to contribute some new processors, would they 
have to be Java to be included with the base distribution or could they use 
Scala as long as it fit within your current build and test process?

Thanks,
-Adam