Как я могу отладить пользовательскую аннотацию в Lombok?
Я пытаюсь расширить Lombok, создав собственную аннотацию.
Мне удалось иметь LombokizedEclipse.launch
созданный муравьем, и я написал before
а также after
файлы.
ant test
не в моей аннотации (что ожидается), и теперь я хотел бы отладить Handle*
классы.
Я на Mac, затмение Luna 4.4 и Java 1.8 обновление 45.
Как я могу это сделать? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Заранее спасибо!
2 ответа
Теперь я понимаю, что Lombok
можно отлаживать двумя разными способами:
- Отладка с помощью тестов Lombok JUnit (спасибо, Roel Spilker)
- Отладка во втором экземпляре Eclipse, запущенном первым экземпляром
После клонирования хранилища lombok я выполнил следующие шаги для достижения обоих методов:
Отладка с помощью тестов Lombok JUnit (спасибо, Roel Spilker)
$ ant eclipse
- Импортировать (существующий) проект в Eclipse
$ ant setupJavaOracle8TestEnvironment
$ ant dist
$ java -jar dist/lombok.jar
- Убедитесь, что JDK8, настроенный в Eclipse, называется
JavaSE-1.8
, Перейдите в Eclipse -> Настройки -> Java -> Установленные JRE, чтобы изменить его. - Обновить проект Eclipse (просто нажмите
F5
) - Щелкните правой кнопкой мыши вновь созданную конфигурацию запуска
RunLombokTests OracleJDK8.launch
и запустить / отладить RunAllTests
выполняется:Runs: 455/454 (1 skipped), Errors: 0, Failures: 89
$ ant test
работаетRunAllTests
успешно:Tests run: 455, Failures: 0, Errors: 0, Skipped: 1
- ПРИМЕЧАНИЕ: установка точки останова, например, в
HandleGetter.handle
работает, я не знаю, почему в Eclipse (шаг 9)TestWithEcj
, хотя остальные 54 (и 1 пропущены) проходят.
Отладка во втором экземпляре Eclipse, запущенном первым экземпляром
$ ant dist
$ ant eclipseForDebugging
- Введите вашу установку Eclipse (подсказка: это родительская папка каталога
plugins
) - Запустите Eclipse и обновите проект
- Щелкните правой кнопкой мыши вновь созданную конфигурацию запуска
LombokizedEclipse.launch
и запустить / отладить - Создайте новый проект во втором экземпляре Eclipse
- Добавьте свой кастом
lombok.jar
в путь к классу - Аннотировать с помощью аннотации Lombok (или по вашему желанию)
- Первый экземпляр Eclipse должен вступить во владение при отладке (и если есть точки останова)
Вы можете запустить модульные тесты в Eclipse и установить точки останова. Бежать /test/transform/src/lombok/transform/TestWithDelombok.java
только для тестирования Javac и /test/transform/src/lombok/transform/RunTransformTests.java
для запуска всех тестов.
Раскрытие информации: я разработчик Lombok.