Update to Gradle 7 comes with a very painful update trap

I wanted to update my build.gradle script so it works with Gradle 7.

–warning-mode all told me what to do:
The AbstractArchiveTask.archiveName property has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the archiveFileName property instead. See…
But when I replace archiveName by archiveFileName, I get the following build result:
A problem occurred evaluating root project ‘ss-paulusorchester’.

No signature of method: build_6iuobugu2gi4s2a43rjha2kef.war() is applicable for argument types: (build_6iuobugu2gi4s2a43rjha2kef$_run_closure6) values: [build_6iuobugu2gi4s2a43rjha2kef$_run_closure6@35ff4b9e]
Possible solutions: wait(), wait(long), tap(groovy.lang.Closure), run(), run(), any()

What on earth ist method: build_6iuobugu2gi4s2a43rjha2kef.war() ?

I was stuck for all of a day with this completely senseless error message.

Today, a very knowledgeable colleague helped me out. After all of an hour and two new branches he found the solution:

archiveFileName needs an equals sign before the following value,
while archiveName does not!

Who on earth devises such a terrible trap?
I mean: when an equals sign is missing, can Gradle not tell us so?
Rather than throwing method: build_6iuobugu2gi4s2a43rjha2kef.war() at us?