I mentioned earlier that Hadoop requires protobuf to be installed. It is a little inconvenient but it’s a 1 time setup. We can add a bit more documentation with all the full steps on how to install it and where to get it. I’ve worked on projects before in the past where I need mysql setup and running. I work on the Hadoop KMS/keyprovider and I have to modify my JRE by installing the Unlimited JCE jars. So at least in my experience, there has always been some external dependency required before I can start developing. It’s annoying, but not a problem as long as the instructions are clear and complete.
>This also may confuse IDEs people use (since there are files that needs to be >built in order to be seen. I’m not sure about most, but I’d expect nearly all devs to do a build of the project as soon as they check it out. Then it will generate those files. The thrift generation is now part of the default mvn profile so they can’t not not have it generated for a full build. As far as using 0.9.3, is there a reason as to why we’re on this version? Can we update to a later release? > On Mar 27, 2018, at 7:51 PM, Alexander Kolbasov <ak...@cloudera.com> wrote: > > I have some concerns there. It is, indeed, a problem every time you need to > do thrift changes, but so fat this was usually a rare event. Having thrift > as a requirement makes life inconvenient - for example the thrift version > that I have on my laptop is 0.11.0 and I have to do something special to > get outdated thrift 0.9.3. This also may confuse IDEs people use (since > there are files that needs to be built in order to be seen. > > On the plus side all thrift changes will work automatically and people > wouldn't incidentally apply changes to thrift files. > > On Tue, Mar 27, 2018 at 1:34 PM, Stephen Moist <mo...@cloudera.com> wrote: > >> Looks like it about 5 seconds. >> >> org.apache.thrift.tools:maven-thrift-plugin >> >>> On Mar 27, 2018, at 3:27 PM, Sergio Pena <sergio.p...@cloudera.com> >> wrote: >>> >>> Thanks Stephen for stepping into this issue. I've seen this issue before >>> and it is tedious to manually roll back each file. But because I don't >>> generate thrift sources too often, then I didn't care at that time. >>> >>> Anyway, thrift apis are in source control to the time generating them in >>> every compile I assume. >>> How much extra time we'll have if we send them to the target/ directory >> and >>> generate them on every compilation? >>> >>> What maven plugin are you talking about? >>> >>> On Tue, Mar 27, 2018 at 1:59 PM, Stephen Moist <mo...@cloudera.com> >> wrote: >>> >>>> Hey all, I’ve started writing some skeleton apis for ABAC. In the >>>> process, I’ve had to regenerate the Thrift api. Anytime that happens, >> it >>>> regenerates all the files and gives it a new timestamp. So when I look >> in >>>> git, it shows 75+ files have changed in addition to my new set of >> apis. I >>>> then have to manually roll back each file. As a development process >> this >>>> is terrible. So… >>>> >>>> 1) Is there any reason why we need thrift apis in source control? >>>> 2) Anyone object to using a newer maven plugin to generate the thrift >> apis >>>> on build time? >>>> 2a) This requires all developers to install thrift 0.9.3. I personally >>>> don’t see a problem as I have to have protobuf installed to compile >>>> hadoop. (Most sentry devs probably already have it anyway) >>>> 2b) This will impact build systems to have thrift compiler installed. >>>> 3) This prevents the above headache and makes it far simpler and faster >> to >>>> develop for Sentry. And makes for happier devs. >>>> 4) Dumping generated code into target/generated-sources is a standard >>>> development practice when working against a known schema. >> >>