Extending gradle

hi -

in working with a foundry java streaming project i have a need to extend the provided gradle build system to better support local/ide development and report out test metrics, specifically: pin to jdk:17, test reports (jacoco, sonar)

each gradle file includes the following warning: // DO NOT MODIFY THIS FILE

q: is this a hard and fast rule?

it seems that in order to further leverage the provided baseline plugin we’d have to modify the provided gradle files?

further, i have seen documentation indicating that one can readily add task runners to the gradle build system. saying that, most tasks of interest (eg sonar) look to require additional plugins that are not available in the foundry artifact repository, thereby breaking the build. this is not a surprise as it is good practice for critical build systems to not pull unvetted artifacts blindly.

i am thinking of means to externalize our gradle needs but this will cause a bit more friction for a local/ide developer in that the default gradle file will not be build.gradle.

all this said, the ask is 1) can one modify the foundry provided gradle (violating the in-file warning) and if so 2) how best can improvements in this regard be discussed (eg adding sq-plugin to foundry’s repo)?

i’ve been happy to find that a number of the preferred dependencies already exist, eg: mockito, assertj, etc. that said, ultimately i do anticipate the need to extend the dependencies, eg: lombok

thx in advance.

best,

  • james
2 Likes

I have had to change some of the default gradle config files for some of my own custom configurations on my dev env, the files will just get overwritten if those specific files have any updates from foundry.

FYI, the disclaimer/wording on some of the default config files has started to get updated to “TAKE CARE WHEN MODIFYING THIS FILE" from “DO NOT MODIFY THIS FILE”.