- Создайте fork репозитория fizteh-java-2015.
- Создайте локальный клон своего репозитория
- В корневой директории нужно создать maven модуль командой
mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=ru.fizteh.fivt.students -DartifactId=<Your github login>
- Добавить свой модуль в родительский pom.xml. Нужно, чтобы можно было из корня собирать все модули разом.
<modules>
<module>akormushin</module>
<!--Add you module here-->
</modules>
- Добавить в свой pom.xml ссылку на родительский модуль, если её там ещё не было. Нужно, чтобы унаследовать общие параметры сборки проекта.
<parent>
<groupId>ru.fizteh.fivt.students</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- Смотрите в качестве примера модуль akormushin.
- Свои классы нужно добавлять в директории
<Your github login>/src/main/java/ru/fizteh/fivt/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 из бранчей. - Результаты сборки можно смотреть тут
- Если pull-request не мержится "This branch has conflicts that must be resolved", надо смержить себе мои изменения.
- Далее нужно провести ревью пулл реквестов как минимум 2х (двух) ваших одногруппников или ребят из параллельной группы, как вам удобно.
- Отметить в журнале успеваемости в колонек Ревьюверы себя через запятую напротив фамилии того, кого ревьювите, например, Каргальцев Степан хочет проверить задание 2 у Зерцалова Андрея: в Е9 нужно вписать Каргальцев Степан.
- Нужно себе в локальную ветку смержить пулл реквест. Например, для thefacetakt это:
```
git checkout -b thefacetakt-master master
git pull https://github.com/thefacetakt/fizteh-java-2015.git master
```
- Запустить приложение с разными параметрами и убедиться, что оно удовлетворяет спецификации (заданию) или указать на ошибки.
- Посмотреть код и попытаться выявить возможные нефункциональные ошибки и недочёты.
- После исправлений вашего коллеги - проверить ещё раз.
- Задание считается выполненным, если:
- Приложение функционально соответствует спецификации
- Код прошёл ревью и не содержит неустранённых замечаний.
- Вы провели ревью pull request'ов как минимум 2х коллег и нашли как минимум 10 существенных замечаний. Hack: если вы или я обнаружили у вас в коде какую-то проблему - с большой вероятностью она будет у многих. Можно пройтись по 10ти pull request'ам и всем указать на неё же. PROFIT.
Периодически синхронизируйтесь с базовым репозиторием, чтобы получать актуальные версии скриптов для сборки и примеров.
- Если в списке репозиториев, возвращаемых
git remoteу вас нет upstream, то добавьте себе удаленный репозиторий:
git remote add upstream https://github.com/akormushin/fizteh-java-2015.git
- Чтобы подхватить изменения из базового репозитория, в своём master делайте
git pull upstream master