Как я определяю время компиляции *только* путь к классу в Gradle?

Может кто-то давать мне простой build.gradle пример того, как я могу указать единственные временем компиляции классы, которые не включены в развертывание во время выполнения (война).

Gradle, кажется, получил это неправильный путь вокруг, так как 'время выполнения' наследовалось 'компиляции'. Я не могу вообразить ситуацию, где я хотел бы классы во времени выполнения, которое я не захочу во время компиляции. Однако существует много обстоятельств, где мне нужны классы, чтобы сгенерировать код во время компиляции, что я не хочу развертываться во времени выполнения!

Я уложил через чрезмерно увеличенную в размерах gradle документацию, но не могу найти четкие указания или примеры. Я подозреваю, что это могло бы быть достигнуто путем определения 'конфигурации' и установки ее как пути к классу плагина CompileJava - но документация терпит неудачу в отношении объяснения, как достигнуть этого.

62
задан 2 May 2012 в 03:56

1 ответ

В Gradle 2.12 compileOnly была представлена конфигурация. Сообщение в блоге, представляющее это, показывает, может быть найден здесь:

Gradle последняя функция: Скомпилируйте только зависимости

знать об одном важном побочном эффекте:

В результате добавления “compileOnly” конфигурации, “compile” конфигурация больше не представляет полное изображение всех зависимостей времени компиляции. При необходимости сослаться на путь к классу компиляции в сценариях сборки или пользовательских плагинах, соответствующее исходное свойство set’s compileClasspath должно использоваться вместо этого.

6
ответ дан 31 October 2019 в 14:08

Другие вопросы по тегам:

Похожие вопросы: