Привет, во-первых, большое спасибо за то, что сделали Java-разработку сносной. Я хотел бы внести свой вклад в ломбок (смотрите # 1207), и моя первая цель - оформить заказ и пройти тесты. Итак, я оформляю заказ и делаю следующее:
ant -projecthelp
ant setupJavaOracle8TestEnvironment
- выдает много ошибок:src/core9
build.xml
<ivy:compile destdir="build/lombok" source="1.9" target="1.9">
запускается, хотя я использую только setupJavaOracle8TestEnvironment
ant setupJavaOracle8TestEnvironment
ant dist
, многие тесты не пройдутПотратив выходные на настройку среды разработки на Lombok, приношу свои извинения, я сдался. Либо я делаю что-то очень не так, и в этом случае я хотел бы получить помощь от вас, ребята, в том, что здесь не так. Или я хотел бы начать вносить свой вклад в настройку простой тестовой среды (обновлять сценарии сборки или документы) и CI (Travis CI?), Запускающего тесты для каждого PR. Что вы думаете? :)
Мы должны быть немного более ясными, но JDK9 требуется для создания ломбока (почему? Ну, если не прибегать к таким вещам, как ecj, невозможно создать lombok.jar, который работает на JDK9, без его компиляции на JDK9).
РЕШЕНИЕ: Сделайте так, чтобы муравей определил, что у вас 8 или меньше, и сразу же выйдет из строя.
Я вытащил новый клон репозитория, настроил среду Mac на использование javac8 и запустил его. Ошибок нет.
Я думаю, ты что-то не так делаешь? Я понятия не имею; пожалуйста, укажите ошибки, которые у вас есть, я мало что могу сделать без этой информации.
По отдельности этого делать не нужно; просто ant eclipse
или ant dist
, в зависимости от того, что вы пытаетесь сделать, нормально.
Ну, главная ветка - это живая ветка разработчика. Вернитесь к выпуску с тегами, если хотите что-то стабильное. Большинство неудачных тестов указывают на то, что ломбок делает что-то не так в довольно экзотических ситуациях, и тесты это отражают, но это, как правило, не «волосы в огне !!!» должен починить ночевки или что-то в этом роде. Подавляющее большинство пользователей ломбока не столкнутся с этим. Не беспокойся об этом.
Что ж, у меня работает. Как говорится, «не работает» - не лучший отчет об ошибке. Требуется какая-то деталь, иначе я не могу вам помочь. Я думаю, что твои приоритеты немного сбиты с толку. Вы хотите внести свой вклад, и в первую очередь ставите под сомнение наш выбор сценариев сборки? Это сложный беспорядок по очень веской причине: Lombok - едва ли не самый сложный проект, который вы можете построить. Это действительно не лучшее место, чтобы начинать вносить свой вклад.
Это полезная информация: вы перечислили множество отдельных запросов функций и отчетов об ошибках с очень небольшими подробностями. В следующий раз:
Отчеты об ошибках в файлах как хорошие, хорошо документированные отчеты: включайте соответствующие данные, такие как версии java, вашу ОС, какие настройки вы выполняли и какие ошибки вы получаете, и отправляйте только одну проблему для каждого элемента.
Обсудите идеи для участия или общие жалобы на то, насколько легко или сложно, так сказать, «начать» на форуме. В Lombok dev проникнуть труднее, чем хотелось бы, но большая часть этого просто заложена в сложности того, что пытается сделать Lombok.
Пользуюсь виндой. Я проверил, смогу ли я сделать новую сборку ломбока с помощью этого:
git clone https://github.com/rzwitserloot/lombok.git
При необходимости установите свойства прокси (это так для меня):
set ANT_OPTS=-Dhttp.proxyHost=myproxyhost -Dhttp.proxyPort=3128 -Dhttp.proxyUser=myproxyusername -Dhttp.proxyPassword=myproxypassword -Dhttps.proxyHost=myproxyhost -Dhttps.proxyPort=3128
Естественно, если вы находитесь за прокси-сервером, вам необходимо настроить хост, порт и пользователя в соответствии с вашей конфигурацией. Если вы не пользуетесь прокси-сервером, вы можете просто пропустить этот шаг.
java -version
:
Это выводит:
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
javac -version
:
Это выводит всего javac 10
ant
- Да просто ant
и больше ничего. Это займет некоторое время, чтобы загрузить кучу зависимостей и немного времени на компиляцию. Но в итоге заканчивается безупречно, через 7 минут и 7 секунд в моей папке dist
появляются lombok.jar
и lombok-1.16.21.jar
.
Конечно, как сказал @rzwitserloot , получение вещей из master
вместо тегированной ветки, вероятно, также приведет к некоторым не очень хорошо протестированным вещам с этим. Но послушайте, если у вас есть JAR-файлы в папке dist
, это означает, что вы только что скомпилировали его. Итак, вы можете начать взламывать его код, чтобы отработать свои функции и исправить ошибки.
@rzwitserloot Мне должно быть ясно, что я не имел в виду «разглагольствовать», на самом деле как раз наоборот. Мой приоритет был довольно прост: оформить заказ и запустить тесты из интерфейса командной строки, следуя документам, напечатанным с помощью ant -projecthelp
. Я должен сказать, что втискивание в такие вещи, как сомнение в нашем выборе buildscript (?),
@victorwss спасибо, попробую релиз с тегами. Я не знал, что это нормально, если тесты не пройдут на мастере, и потратил много времени, пытаясь их пройти. Для такого сложного проекта, как lombok, я бы не хотел начинать со сценария сбоя теста - потому что, когда я начинаю изменять код, невозможно сказать, ломались ли неудачные тесты до или после, и приводит к старому доброму «Он компилируется на у моей машины "проблемы". Следовательно, я все равно буду пытаться получить тесты, проходящие через релиз с тегами, и начинать оттуда итерации.
Самый полезный комментарий
@rzwitserloot Мне должно быть ясно, что я не имел в виду «разглагольствовать», на самом деле как раз наоборот. Мой приоритет был довольно прост: оформить заказ и запустить тесты из интерфейса командной строки, следуя документам, напечатанным с помощью
ant -projecthelp
. Я должен сказать, что втискивание в такие вещи, как сомнение в нашем выборе buildscript (?),@victorwss спасибо, попробую релиз с тегами. Я не знал, что это нормально, если тесты не пройдут на мастере, и потратил много времени, пытаясь их пройти. Для такого сложного проекта, как lombok, я бы не хотел начинать со сценария сбоя теста - потому что, когда я начинаю изменять код, невозможно сказать, ломались ли неудачные тесты до или после, и приводит к старому доброму «Он компилируется на у моей машины "проблемы". Следовательно, я все равно буду пытаться получить тесты, проходящие через релиз с тегами, и начинать оттуда итерации.