1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-com.eclipsesource.tycho.aspectj.demo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 5.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 09:24 0535be2

Вклад в AspectJ

AspectJ — это проект Maven, поэтому он должен быть импортирован чисто в вашу среду разработки. Проект использует GitHub для отслеживания проблем (https://github.com/eclipse-aspectj/aspectj/issues).

Работа с базой кода

Импорт проекта

Eclipse

Просто запустите импортер проекта Maven и укажите корневую директорию клонированного репозитория AspectJ. Это импортирует все модули AspectJ.

Каждый модуль прилагает свои собственные наборы тестов, однако есть модуль под названием run-all-junit-tests, внутри которого находится файл RunTheseBeforeYouCommitTests. Этот файл можно запустить как JUnit тест (правый клик -> RunAs -> JUnit Test). Это выполнит несколько тысяч тестов для проверки вашего импорта в IDE.

Некоторые тесты условны и зависят от JDK, который вы используете в своей IDE, поскольку они используются для тестирования возможностей, доступных только в последних версиях Java. Чтобы выполнить все возможные тесты, убедитесь, что вы выполняете тесты с самой новой доступной версией JDK Java. Одна лишь JRE, скорее всего, будет недостаточной, так как из тестов будут вызываться такие инструменты, как javadoc.

IntelliJ IDEA

TODO

Разработка тестовЕсли вы работаете над системными тестами, основанными на исходных данных полных Java-приложений, следуйте шаблону в модуле tests.

Для каждой версии AspectJ существует папка bugsNNN, содержащая вложенные папки для каждого вопроса. Затем следует пара, состоящая из спецификации теста в файле ajcNNN.xml в папке src/test/resources и файла источника AjcNNNTests.java в папке src/main/java. Просто следуйте шаблону для предыдущих версий, чтобы добавить новый набор тестов для новой версии AspectJ. Помимо файла AjcNNNTests вы можете добавить другие наборы тестов для новых языковых особенностей Java. Все эти наборы затем объединены в одном AllTestsAspectJNNN.java наборе. В свою очередь, наборы объединены в одном AllTestsNN.java наборе для основной версии AspectJ и так далее.Создание теста тогда представляет собой этот базовый процесс:

  • создайте новую папку на основе номера проблемы в правильной папке bugsNNN. Добавьте соответствующие материалы в эту папку (.java исходники, любые ресурсы, xml файлы и т.д.).
  • Создайте определение шагов теста ("собери эти файлы", "пакуй этот jar из этих классов") в правильном файле ajcNNN.xml в области src/main/resources.
  • Создайте тест в правильном файле AjcNNNTests.java, который ссылается на спецификацию, записанную в XML.

Проблемы компилятора

AspectJ основан на модифицированной версии Eclipse JDT, использующей модифицированный грамматический синтаксис, расширенный для поддержки конструкций AspectJ. Модифицированный компилятор существует в отдельном репозитории: https://github.com/eclipse/aspectj.eclipse.jdt.core

Некоторые проблемы, связанные с проблемами компилятора, например, если Java-код не работает из-за того, что переменная была названа ключевым словом AspectJ — эти проблемы должны решаться в этом другом проекте, хотя тесты для этого будут скорее всего находиться в данном проекте.

Вклады

Пожалуйста, делайте свой вклад через Pull Request против репозитория GitHub.

Контрибьюторы должны убедиться, что они подписали Eclipse Contributor Agreement, это будет проверено автоматической валидацией, которая происходит против любых Pull Requests.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-com.eclipsesource.tycho.aspectj.demo.git
git@api.gitlife.ru:oschina-mirror/mirrors-com.eclipsesource.tycho.aspectj.demo.git
oschina-mirror
mirrors-com.eclipsesource.tycho.aspectj.demo
mirrors-com.eclipsesource.tycho.aspectj.demo
master