Предоставлено M.Ricciuti, который ответил на мой начальный 'Миграция с Gradle 4 на 5. Как получить mapstruct 1.20. Окончательная работа с ним' вопрос У меня есть дополнительный вопрос. Создана новая тема, потому что «Добавить комментарий» не позволяет мне использовать достаточно символов / текста.
Я хотел бы, чтобы у меня была задача Gradle 'generateMappers' для генерации исходных файлов mapstruct И отображения сообщения, когда исходные файлы были сгенерированы, и предпочтительнее, который сообщает мне, что ничего не генерируется, потому что это не нужно.
В старой ситуации у нас была задача generateMappers, которая использовала mapstruct для генерации исходных файлов и отображения сообщения при создании файлов. Теперь его в основном пусто.
task generateMappers (type: JavaCompile, dependsOn: compileJava) {
doFirst {
println "\tGenerating mapper classes"
}
doLast {
println "\tMapping classes generated"
}
}
Gradlew -i generateMappers reveals the following.
> Task :eu.myfirm.rest:generateMappers NO-SOURCE
Skipping task ':eu.myfirm.rest:generateMappers' as it has no source files and no previous output files.
:eu.myfirm.rest:generateMappers (Thread[Execution worker for ':' Thread 4,5,main]) completed. Took 0.0 secs.[enter link description here][1]
NOTE: > Task :eu.myfirm.rest:compileJava FROM-CACHE does trigger correctly ONLY when the sources are not there.
Изменяя задачу на 'task generateMappers {...}', я ВСЕГДА получаю сообщение - даже когда новые файлы не генерируются, потому что в преобразователях ничего не изменилось. Gradlew - информация показывает
> Task :eu.myfirm.rest:generateMappers
Custom actions are attached to task ':eu.myfirm.rest:generateMappers'.
Caching disabled for task ':eu.myfirm.rest:generateMappers' because:
Caching has not been enabled for the task
Task ':eu.myfirm.rest:generateMappers' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Generating mapper classes
Mapping classes generated
Это неправильно, потому что кэширование отключено, и я знаю, что это только косметика, потому что, есть ли источники или нет, я всегда получу это сообщение.
У меня такое чувство, что я нахожусь на НЕПРАВИЛЬНОЙ дорожке, и мне как-то нужно подключиться к annotationProcessor , чтобы получить два требуемых сообщения, НО я также хотел бы иметь отдельную задачу generateMappers для вызов. Любые дальнейшие подсказки / указатели очень ценятся.