On Wed, 7 May 2025 21:12:54 GMT, Erik Joelsson <er...@openjdk.org> wrote:

>> We should always exclude `doc-files` and `snippet-files` when compiling java 
>> code. To generalize this, exclude all `*-files` directories.
>> 
>> (The usage of EXCLUDES and EXCLUDE_FILES is a bit weird. In essence, 
>> EXCLUDE_FILES prepends a `%` wildchar match to the filenames given, which we 
>> use here, while EXCLUDES matches only strict directory names in the path. 
>> These should probably be clarified/redesigned for more intuitive exclusion.)
>
> make/common/JavaCompilation.gmk line 342:
> 
>> 340:     $1_SRCS_WITHOUT_ROOTS := $$($1_SRCS)
>> 341:     $$(foreach i, $$($1_SRC), $$(eval $1_SRCS_WITHOUT_ROOTS := 
>> $$(patsubst \
>> 342:         $$i/%,%, $$($1_SRCS_WITHOUT_ROOTS))))
> 
> Using eval like this can sometimes have weird consequences. I would recommend 
> rewriting this without eval. I think something like this should work. It may 
> change the order of elements, but that shouldn't matter here.
> 
> 
>     $1_SRCS_WITHOUT_ROOTS := $$(foreach i, $$($1_SRC), \
>         $$(patsubst $$i/%,%, $$(filter $$i/%, $$($1_SRCS))))

I agree that this looks a bit wonky. I just copied it from 
SetupNativeCompilation, since it has worked well there.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24449#discussion_r2078598352

Reply via email to