# PROJECT "MIRROR" Зеркалирование артефактов Maven репозиториев. ## Как подключать "MIRROR" к сборщикам ### Gradle ```groovy repositories { maven { url = "http://example.com:8080/maven/central" } } ``` Где `central` в URL - идентификатор зеркалируемого репозитория, указанного в файле настроек. ### Maven ```xml mirror-central http://example.com:8080/maven/central ``` Где `central` в URL - идентификатор зеркалируемого репозитория, указанного в файле настроек. ## Запуск и настройка ### Требования к запуску - Java 17 ### Настройка _Пример настроек можно посмотреть в файле [application.properties](src/main/resources/application.properties)._ Создайте файл `config.properties` и укажите в нём следующие настройки #### Общие настройки | Настройка | Описание | Значение по-умолчанию | |---------------------|-------------------------------------------------------------------|-----------------------| | `server.addres` | Интерфейс, который будет прослушиваться | `0.0.0.0` | | `server.port` | Порт, который будет прослушиваться | `8080` | | `app.maven.storage` | Путь к папке, в которую будут сохраняться отзеркаленные артефакты | `storage` | #### Настройки репозиториев Значение `[0]` в настройках указывает на порядковый номер. Сам порядок ни на что не влияет, однако каждая следующая настройка репозитория должна увеличивать это значение на единицу: `[0]`, `[1]`, `[2]` и так далее. | Настройка | Описание | |--------------------------------------|------------------------------------------------------------------------| | `app.maven.repository[0].id` | Уникальный идентификатор репозитория | | `app.maven.repository[0].url` | URL репозитория | | `app.maven.repository[0].cache-time` | Сколько времени хранить информацию о не найденных ресурсах (в минутах) | ### Запуск ```shell bin/project-mirror --spring.config.location=path/to/config.properties ``` ## Сборка из исходников ```shell gradle installBootDist ``` В директории `build/install/project-mirror-boot` будут находиться скрипты запуска (в `bin`) и само приложение (в `lib`).