Узнайте, какие измененные ресурсы вызвали обновление / перестройку рабочей области в 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 которая является старой проблемой, которая появилась только в больших рабочих пространствах (где это на самом деле больше всего мешает)

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