Gradle: делает задачи JavaExe c инкрементными во время отладки - PullRequest
1 голос
/ 24 января 2020

Я работаю над проектом gradle, где у меня есть задача JavaExe c, которая выполняется как часть сборки. При выполнении задачи обычно она является инкрементной, то есть когда входы / выходы не изменились, задача пропускается. Поскольку проект построен с использованием gradle, при запуске приложения оно создает необходимые модули перед запуском.

Это прекрасно работает при использовании стандартного «Выполнить» (я использую IntelliJ в качестве своей IDE), однако, если я запустите его с помощью «Отладка» (с той же конфигурацией выполнения), перестроит JavaExe c task всегда , так как случайно назначенное свойство address в jvmArgs изменилось, несмотря на то, что никакие другие изменения во входных данных не изменились /outputs.

Это превращает обычное время запуска ~ 5 с (когда все задачи обновлены) в 1 мин +, так как оно перезапускает задачу.

Есть ли способ заставить адрес jvm, который использует дочерний процесс, чтобы сохранить преимущество добавочных сборок?

Я пытался:

  • закрытие debugOptions, например:

    debugOptions {
            enabled = true
            port = 12995
            server = true
            suspend = false
        }
  • Явно настраивает jvmArgs, например:

    jvmArgs '-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=12995'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...