refac!: полная переработка проекта

This commit is contained in:
2025-08-11 15:20:25 +03:00
parent 740aeee621
commit 896b8c361e
30 changed files with 626 additions and 416 deletions

View File

@@ -1,20 +1,77 @@
# Project "MIRROR"
Зеркалирующий мавен-репозиторий.
# PROJECT "MIRROR"
## Сборка
```shell
gradle :web-spring:bootDistTar
Зеркалирование артефактов Maven репозиториев.
## Как подключать "MIRROR" к сборщикам
### Gradle
```groovy
repositories {
maven {
url = "http://example.com:8080/maven/central"
}
}
```
или
Где `central` в URL - идентификатор зеркалируемого репозитория, указанного в файле настроек.
```shell
gradle :web-spring:installBootDist
### Maven
```xml
<repositories>
<repository>
<id>mirror-central</id>
<url>http://example.com:8080/maven/central</url>
</repository>
</repositories>
```
## Запуск
Где `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/web-spring
bin/project-mirror --spring.config.location=path/to/config.properties
```
Все настройки производятся через стандартный "спринговский" `application.yml`.
## Сборка из исходников
```shell
gradle installBootDist
```
В директории `build/install/project-mirror-boot` будут находиться
скрипты запуска (в `bin`)
и само приложение (в `lib`).