Hi there Geode Devs,

Recently 
GEODE-9621<https://issues.apache.org/jira/projects/GEODE/issues/GEODE-9621> was 
introduced onto the develop branch. This new feature introduces a new bug where 
`spotlessApply` will remove all version dependencies out of gradle. I assume 
this is to combat the rising number of cases where developers have been 
hard-coding versions into the gradle files, rather than using the constraints 
resolution.

Whilst I like this feature, it also has its draw backs. There is no way to turn 
off this feature WHEN version overrides are required. An example would be a 
test where one wants to specifically test a specific version of a library. In 
my case, this is Spring 4.3.5. My test is designed to deploy a version of 
Spring, onto Geode, and make sure that the versions of the libraries don’t 
conflict with one another.

We’ve all agreed to spotless when the code has not conformed to the coding 
standards that we have all agreed to. To automagically apply the code 
formatting, using `spotlessApply` is an accepted norm, which each of us follow. 
But the one thing that I cannot accept, and I hope many of you could not do 
this either, is when spotless where to actually CHANGE our code. Apply some 
benign rule that could negatively impact the code behavior.

When we voted for the use of spotless, it was as a code formatter. To make sure 
that our code base has the same formatting. Seemingly, with GEODE-9621, 
spotless now have the ability to change the code. I can accept that gradle 
files will be formatted in specific manner, but I cannot accept that the 
formatter now has to the power to negatively impact behavior.

Currently there is no way to exclude certain code blocks from the malicious 
code formatter. Therefore, my tests that require a specific hardcoded version 
of Spring to be used, will always either fail the validation or tests will fail 
due to spotless changing my testing scenario by affecting the version of the 
library that we have to use.

Does anyone have any suggestions as to how we can fix this. My vote is to 
remove this behavior and limit spotless to only formatting. BUT, that is only 
my view.

--Udo

Reply via email to