- Создайте fork репозитория fizteh-java-2015.
- Создайте локальный клон своего репозитория
- В директории projects нужно создать maven модуль командой
mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=ru.mipt.diht.students -DartifactId=<Your github login>
- Добавить свой модуль в родительский projects/pom.xml, если его там ещё не было. Нужно, чтобы можно было из корня собирать все модули разом.
<modules>
<module>dkhurtin</module>
<!--Add you module here-->
</modules>
- Добавить в свой pom.xml (подобно, pom.xml ссылку на родительский модуль, если её там ещё не было. Нужно, чтобы унаследовать общие параметры сборки проекта.
<parent>
<groupId>ru.mipt.diht.students</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- Смотрите в качестве примера модуль dkhurtin.
- Свои классы нужно добавлять в директории
projects/<Your github login>/src/main/java/ru/mipt/diht/students/<Your github login>/<task>
. - Сборка модуля производится командой
mvn package
. - Запускать приложение можно прямо из maven командой
mvn exec:java -Dexec.mainClass=<Fully qualified main class name> -Dexec.args="<arguments>"
. Она сама добавит в classpath транзативно все необходимые библиотеки из pom.xml dependencies.
Также можно запускать с помощью команды java. Для этого нужно:
- Выполнить единожды
mvn dependency:copy-dependencies
. Эта команда скопирует все необходимые зависимости в target/dependency. - Далее запускать командой
java -cp "target/*:target/dependency/*" <Your main class name> <arguments>
- После того, как задание выполнено и протестировано в собственном репозитории, необходимо создать
pull request в репозиторий fizteh-java-2015. В заголовке
к pull request необходимо написать:
Имя Фамилия, № группы, задание
(например,Василий Иванов, 123, Shell
). Также необходимо назначить pull request на своего семинариста. В одном pull request должно быть решение только одной задачи. Если хочется сдавать параллельно несколько заданий, необходимо создавать бранчи и делать pull request из бранчей. - Результаты сборки можно смотреть тут
- Далее нужно провести полноценный ревью пулл реквестов как минимум 2х (двух) ваших одногруппников или ребят из параллельной группы, как вам удобно. Для этого вам нужно:
- Зафиксировать (commit) и отправить (push) свои последние изменения в свой удаленный репозиторий (чтобы не потерять их).
- Забрать последние изменения из базового репозитория (см. ниже "Синхронизация с базовым репозиторием").
- Выбрать pull-request из множества pull-requests
- Создать локальную ветку и вмержить в нее пулл реквест проверяемого студента. Например, для student123, который создал pull-request из своей вертки master, будет следующее:
```
git checkout -b student123-master master
git pull [email protected]:student123/fizteh-java-2015.git master
```
- Запустить приложение с разными параметрами и убедиться, что оно удовлетворяет спецификации (заданию) или указать на ошибки.
- Посмотреть код и попытаться выявить возможные нефункциональные ошибки и недочёты.
- После исправлений вашего коллеги - проверить ещё раз.
- В журнале ревью на пересечении себя для каждой задачи вписать кого вы проверяли (например, Алексей Зотов хочет проверить у Ольги Сопильняк задание 2, тогда Алексей вписывает "Ольга Сопильняк" в ячейку на пересечении TwitterStream и своего имени "Алексей Зовтов"). Только смотрите, чтобы не было на один pull-review слишком много человек. Желательно, чтобы каждый pull-request ревьювил один-два студента (максимум три, не нужно всем накидываться на одно решение какого-нибудь студента :) ).
Периодически синхронизируйтесь с базовым репозиторием, чтобы получать актуальные версии скриптов для сборки и примеров.
- Если в списке репозиториев, возвращаемых
git remote
у вас нет upstream, то добавьте себе удаленный репозиторий:
git remote add upstream https://github.com/KhurtinDN/fizteh-java-2015.git
- Чтобы подхватить изменения из базового репозитория, в своём master делайте
git pull upstream master