Hi Saravanan,
could you just use union mounts / bind mounts under Linux, to combine
all the source directories as to appear as one ?
Cheers,
mg
Am 09.06.2025 um 20:26 schrieb Saravanan Palanichamy:
Thank you Eric
I dont know if I want incremental compilation. I'll state the problem
differently
* I have a file to compile. It imports a bunch of other files and types
* I want to start compiling this file and as the resolver is kicking
in, I want to give the compiler additional files to add to the
list (and recurse on any dependencies from this new list as well)
regards
Saravanan
On Mon, Jun 9, 2025 at 9:47 AM Milles, Eric (TR Technology) via dev
<dev@groovy.apache.org> wrote:
I think what you are describing is "incremental compilation".
There are open issue items about incremental compilation:
* https://issues.apache.org/jira/browse/GROOVY-11666
* https://issues.apache.org/jira/browse/GROOVY-10932
This feature is not mentioned in the docs for groovyc.
https://groovy-lang.org/groovyc.html
I don't think there is explicit support to provide all sources and
a partially populated binary directory and have the compiler work
out just what to build. Maven might provide some of this on top
of groovyc. Incremental is indicated as on by default since Maven
3.1:
https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#useIncrementalCompilation
------------------------------------------------------------------------
*From:* Saravanan Palanichamy <chava...@gmail.com>
*Sent:* Monday, June 9, 2025 11:01 AM
*To:* dev@groovy.apache.org <dev@groovy.apache.org>
*Subject:* [EXT] Re: Controlled compilation
*External Email:* Use caution with links and attachments.
Thank you Jochen for your reply
some followup
* My source files may be in different locations (I want to say
here's three different source directories, they form the
source closure. But compile only foo.groovy and let the
compiler decide what other files in what locations need to be
pulled up for the compile). I saw that groovyc is backed by
FileSystemCompiler.java and it is doing the same thing I am
doing I think (it adds all source files passed in the command
line args to the compile unit). What's the way to pass in only
foo.groovy but then say here are other source units/files one
of which is bar.groovy, just use the ones you need and leave
out the others
If it helps,
* I assume every file will only have one class defined (these
are java files that are being compiled with the Groovy
compiler, so java limitations will help)
* I can also do multi pass compiles, time to compile is not a
limitation
regards
Saravanan
On Mon, Jun 9, 2025 at 4:21 AM Jochen Theodorou
<blackd...@gmx.org> wrote:
On 09.06.25 09:21, Saravanan Palanichamy wrote:
> Hello Groovy devs
>
> I am trying to understand how to do this with the Groovy
Compiler
>
> * I have say 20 files in my project
> * I know I have to compile just one of those files
groovyc foo.groovy
will compile foo.groovy and potentially its dependencies. A
dependency
should be compiled filed in class format, or source file. If
both are
available then which is newer decide if recompilation happens.
If a
dependency is not found compilation will fail.
bye Jochen