Hey,

Trying to reply to the email that was sent before I subscribed to the
dev mailing list. I'm not sure if it will look nice & tidy.

IMHO the most important requirement is not to degrade the experience
of projects that do not have 'generated' resources. There're lots of
projects with only static resources. Whatever we change I wouldn't
like to run gradle every time I update some static resource.

>One downside to options 1 and 2 is that some files will appear twice on the
>classpath - once in the directory under build/ and a second time in the output
>directory of the IDE.

True. We would depend on the order of classpath entries and that might
be somewhat error prone (for example: if the user changes the order
for some reason he might have weird results). Should work but... kind
of dirty :)

>Option 2 is better, in that only static resources appear
>twice, rather than classes and resources in option 1.

Hmmm. I don't like adding build/resources/main *before* the IDE's
compiler output directory. This means that if change a static resource
I need to run gradle build to see the change.

>The big downside to option 3 is that it is dependent on the build author 
>knowing
>how the mapping scheme works, and being careful to copy static resources into
>build/classes/main and generate dynamic resources into
>build/generated-resources/main. To me, this is a deal breaker for this option.

Keeping generated resources output separated from the static resources
output is simply a good pattern. I would recommend that anyway,
regardless of the build tool.

>Option 4 is interesting, in that it produces the most accurate classpath in the
>IDE, but requires some extra copying to be done in each build (only if an IDE
>plugin is applied).

What I don't like about it is that we're adding complexity to fairly
simple problem. It will bite us sooner or later.

Here's my option #5:

a) we recommend putting generated sources in a different folder than
resources output dir
b) we make it possible for eclipse/idea to guess it via naming
convention or something smarter. Or we make it very easy to configure
it in eclipse/idea plugin (I guess it's already fairly easy
configurable in eclipse/idea).

Adam, shall we have voice conversation today about the ways of solving that?

Cheers!
Szczepan

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to