This is something that has been bugging me for a long while, but haven't had a 
chance to really dig into it.  Thanks for doing this!

> On Sep 26, 2016, at 8:59 AM, Casey Brotherton <[email protected]> 
> wrote:
> Will the project be continuing with each project having their own directory
> structure?

        As long as we stick to bits that don't need to be compiled, one of the 
big advantages of having this type of directory structure is that most 
components are runnable without doing a build.  The big con is that it makes it 
very hard to share or split components. For example, I think yetuslib could 
easily be a separate, shared component not only for yetus-bits but for 
non-yetus stuff too.  In my head, I think it would be extremely advantageous to 
have a common bash library that should be shared amongst Apache projects to 
build their Java launch code. e.g., let's say I finish that hbase bash code 
rewrite; sharing yetuslib between hadoop and hbase would make it way easier 
rather than having each project with their own version of duplicate functions.

        Something else that just popped into my head is how user's digest the 
project if they want to look at the source.  I have a hunch it might be useful 
for them to see, no, really, these are such separate/independent components 
that their source trees basically are too! Hmmm....

> Possibly like this:
> ./src
> ./src/docs
> ./src/main
> ./src/main/bin
> ./src/main/java
> ./src/main/py
> ./src/test
> ./src/test/bin
> 
> Or something entirely different?

        FWIW, when I was toying with builds last year using make, I had 
something similar to this.  I think this is basically the correct direction, 
but the minor issues/edge cases always seem to be bigger than one originally 
thinks. :)

        That said, and I need to put more thought into this, but a few things 
sort of stick out:

                * Unless we're using a build system that really wants it (hi 
maven, hi gradle), is making a 'src' directory worth it?
                * Why should docs be underneath src? (That would be the website 
right?)
                * language based structures always freak me out a bit because 
of what happens if the language being used changes. (but that's my own personal 
phobia haha)
                * if we stick we language-based dirs, we'd probably want a bash 
dirs and have bin be wrapper code, given how we currently release the tar ball
                * no matter what we do, the annotations code is a PITA.


Reply via email to