Узнайте, какие измененные ресурсы вызвали обновление / перестройку рабочей области в Eclipse с помощью Buildship
Есть ли способ получить более подробный вывод журнала с платформы Eclipse или плагина Buildship (или даже через сам Gradle API) в отношении того, что вызвало перестройку проекта?
Контекст:
В настоящее время мы мигрируем из Eclipse Mars (с плагином Spring Gradle) в Eclipse Photon (с плагином Gradle Buildship). Одна из проблем, с которой мы сталкиваемся в новой версии, заключается в том, что она заканчивает перестройкой больших частей рабочего пространства каждый раз, когда мы открываем Eclipse, что может занять несколько минут в больших проектах. Refresh workspace on startup
отключен в настройках Eclipse. настройка Max simultaneous project builds
к более высокой стоимости и Max iterations when building with cycles
более низкое значение, чем значения по умолчанию, помогают немного смягчить проблему, ускоряя первоначальное восстановление, но, в конце концов, оно работает только вокруг фактической проблемы.
У нас не было этих проблем в старой версии, и это поведение кажется мне странным. После полного создания рабочей области, закрытия Eclipse и повторного его открытия, я ожидаю, что никакие ресурсы не изменились и нет необходимости в перестройке.
Хотя у нас есть довольно много пользовательских плагинов и задач Gradle, очевидных нарушителей, таких как задачи, генерирующие источники, не существует. Однако я не хочу полностью исключать возможность того, что что-то, что мы настроили, портит файл при оценке проектов Gradle.
Поэтому, почему бы получить больше информации о том, почему IDE/ плагин считает, что проект требует перестройки, было бы очень полезно получить стартовое преимущество.
Единственный параметр, который я нашел, это eclipse.log.level
, но это уже по умолчанию ALL
,
2 ответа
Я закончил тем, что добавил .options
файл с
org.eclipse.jdt.core/debug=true
org.eclipse.jdt.core/debug/javadelta=true
org.eclipse.core.resources/build/delta=true
org.eclipse.core.resources/refresh=true
в каталог установки Eclipse. Затем я запустил Eclipse с -debug -consoleLog
аргументы. В основном, как указано в этом ответе.
Конфигурация с помощью плагина трассировки в моем случае не сработала, так как не было создано ни одного лога. С моей стороны это могло быть проблемой.
Полученного результата трассировки в консоли было достаточно, чтобы указать на проблему, из-за которой выходной каталог Gradle для файлов.class не совпадал с ожидаемым Eclipse в качестве выходного каталога, поэтому он, вероятно, рассматривал эту папку как просто еще одну группу ресурсов.
Это также показало, что разрешенный путь к классам каждого проекта был отмечен как измененный в каждом проекте сразу после открытия Eclipse. Еще не уверен, является ли первая проблема причиной второй.
Для темы ненужного построения при запуске Eclipse: вы можете обновить до Eclipse 2018-09 (см. https://www.eclipse.org/downloads/), который содержит два исправления, связанных с этим:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=536990 специально для Eclipse Photon.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=525597 которая является старой проблемой, которая появилась только в больших рабочих пространствах (где это на самом деле больше всего мешает)