Загрузка данных


Нужно настроить Maven строго по корпоративной инструкции «Использование Nexus и SberOSC в Maven».

Сейчас выполняем ТОЛЬКО заполнение и установку официального settings.xml. Не исправляй Maven-профили, mirrorOf, URL, server id или другие элементы шаблона по собственному усмотрению.

Исходный корпоративный шаблон settings.xml находится в папке:

/Users/23865613/Downloads

Моя домашняя Maven-директория:

/Users/23865613/.m2

Проект:

/Users/23865613/IdeaProjects/snl-integration-audit

ОГРАНИЧЕНИЯ

1. Не изменять pom.xml.
2. Не изменять исходный код проекта.
3. Не изменять тесты.
4. Не изменять application.yaml.
5. Не создавать новые Maven-профили.
6. Не изменять существующие profile id и activeProfile.
7. Не изменять mirrorOf.
8. Не добавлять repositories или pluginRepositories.
9. Не изменять URL репозиториев.
10. Не изменять server id.
11. Не выполнять git add, commit, push, checkout, merge или rebase.
12. Не сохранять settings.xml внутри Git-репозитория.
13. Не выводить в чат токены, логины, пароли, BASE64_STRING или Authorization-заголовки.
14. Не выводить полное содержимое заполненного settings.xml.
15. Не запускать compile, test или dependency:resolve. Сейчас выполняется только настройка файла.
16. Если структура скачанного файла отличается от корпоративной инструкции, остановиться и сообщить о расхождении. Ничего не придумывать.

ШАГ 1. НАЙТИ ШАБЛОН

Найди в Downloads файлы Maven settings:

find /Users/23865613/Downloads -maxdepth 2 -type f \
  \( -iname "settings.xml" -o -iname "settings*.xml" \) \
  -print

Покажи для найденных файлов только:

- полный путь;
- дату изменения;
- размер;
- список server id;
- список mirror id;
- список profile id;
- список activeProfile.

Не показывай username и password.

Выбери скачанный корпоративный settings.xml, соответствующий инструкции «Использование Nexus и SberOSC в Maven».

ШАГ 2. ПРОВЕРИТЬ СТРУКТУРУ

В выбранном файле должны присутствовать следующие server id:

- SberOSC repository
- Maven lib dev
- Maven lib release
- Maven distr
- Maven proxy lib internal
- Mirror of central
- ml360.ca.sbrf.ru

Также должен присутствовать mirror:

- id: SberOSC repository
- url: https://sberosc.sigma.sbrf.ru/repo/maven/central/

Не меняй значение mirrorOf.

Также не изменяй profiles и activeProfiles, даже если их структура кажется странной или неполной. На этом этапе задача — только заполнить официальный шаблон.

Если перечисленные элементы отсутствуют, остановись и ничего не изменяй.

ШАГ 3. ЗАПРОСИТЬ У МЕНЯ УЧЁТНЫЕ ДАННЫЕ

Не редактируй файл, пока я отдельным сообщением не передам необходимые значения.

Запроси у меня следующие данные:

1. SberOSC token.
2. Nexus username из Nexus Token.
3. Nexus password из Nexus Token.
4. Числовой логин Delta/Omega для ml360.ca.sbrf.ru.
5. Значение password для ml360.ca.sbrf.ru.

Не повторяй полученные секреты в ответе.

Если я передам только «логин, пароль и токен», обязательно уточни:

- этот логин относится к Nexus или к ml360;
- этот пароль относится к Nexus или к ml360;
- совпадают ли Nexus username и числовой логин ml360.

Ничего не предполагай самостоятельно.

ШАГ 4. ЗАПОЛНИТЬ ТОЛЬКО PLACEHOLDER-ЗНАЧЕНИЯ

После получения всех значений замени только содержимое username/password внутри соответствующих server.

Для server id:

SberOSC repository

должно быть:

- username: literal-значение token
- password: переданный мной SberOSC token

То есть username должен остаться словом:

token

Для следующих server id:

- Maven lib dev
- Maven lib release
- Maven distr
- Maven proxy lib internal
- Mirror of central

используй:

- username: Nexus username из Nexus Token
- password: Nexus password из Nexus Token

Для server id:

ml360.ca.sbrf.ru

используй:

- username: переданный числовой логин Delta/Omega
- password: переданное мной значение для ml360

Не изменяй никакие другие элементы XML.

При записи значений обязательно корректно XML-экранируй специальные символы:

- & как &
- < как &lt;
- > как &gt;
- " как &quot;
- ' как &apos;

Не преобразовывай токены в Base64 и не используй значение BASE64_STRING. Для settings.xml нужны именно значения, указанные корпоративной инструкцией.

ШАГ 5. СОЗДАТЬ РЕЗЕРВНЫЕ КОПИИ

Перед изменением исходного файла создай его резервную копию рядом:

cp "/полный/путь/к/скачанному/settings.xml" \
   "/полный/путь/к/скачанному/settings.xml.backup-$(date +%Y%m%d-%H%M%S)"

Создай Maven-директорию:

mkdir -p /Users/23865613/.m2

Если существует:

/Users/23865613/.m2/settings.xml

создай резервную копию:

cp /Users/23865613/.m2/settings.xml \
   /Users/23865613/.m2/settings.xml.backup-$(date +%Y%m%d-%H%M%S)

Не показывай содержимое резервных копий.

ШАГ 6. СОХРАНИТЬ ЗАПОЛНЕННЫЙ ФАЙЛ

Сначала сохрани заполненный официальный файл на его исходном месте в Downloads.

Затем скопируй его:

cp "/полный/путь/к/заполненному/settings.xml" \
   /Users/23865613/.m2/settings.xml

Установи права:

chmod 600 /Users/23865613/.m2/settings.xml

Проверь права:

stat -f "%Sp %N" /Users/23865613/.m2/settings.xml

Ожидаемый режим доступа:

-rw-------

ШАГ 7. ПРОВЕРИТЬ XML

Проверь синтаксис:

xmllint --noout /Users/23865613/.m2/settings.xml

Если xmllint отсутствует, используй Python только как XML-парсер:

python3 - <<'PY'
import xml.etree.ElementTree as ET

path = "/Users/23865613/.m2/settings.xml"
ET.parse(path)
print("XML корректен")
PY

Не выводи XML-файл.

ШАГ 8. ПРОВЕРИТЬ ЗАПОЛНЕНИЕ БЕЗ ВЫВОДА СЕКРЕТОВ

Безопасно проверь:

- все ожидаемые server id существуют;
- в username/password не осталось текстовых инструкций и заглушек;
- password не пустые;
- username не пустые;
- XML корректен;
- файл установлен в ~/.m2/settings.xml;
- права равны 600.

Ищи только наличие заглушек, но не печатай найденные реальные значения.

Примеры запрещённых оставшихся заглушек:

- ваш токен из sber osc
- user_name из токена nexus
- password из токена nexus
- ваш числовой логин
- любой набор букв
- username
- password

Не считай literal username «token» в server id «SberOSC repository» ошибкой: по инструкции там именно username=token.

ШАГ 9. INTELLIJ IDEA

Не редактируй автоматически файлы проекта или конфигурацию IntelliJ.

В итоговом отчёте укажи, что в IntelliJ IDEA необходимо открыть:

Settings
→ Build, Execution, Deployment
→ Build Tools
→ Maven

И установить:

User settings file:
/Users/23865613/.m2/settings.xml

Поле Local repository оставить стандартным:

/Users/23865613/.m2/repository

ШАГ 10. ИТОГОВЫЙ ОТЧЁТ

Покажи только безопасный отчёт:

1. Какой файл из Downloads был выбран.
2. Создана ли резервная копия файла из Downloads.
3. Создана ли резервная копия старого ~/.m2/settings.xml.
4. Установлен ли файл в /Users/23865613/.m2/settings.xml.
5. Результат проверки XML.
6. Права файла.
7. Список server id без username/password.
8. Остались ли незаполненные заглушки.
9. Подтверждение, что mirrorOf, profiles, activeProfiles и URL не изменялись.
10. Подтверждение, что pom.xml и файлы проекта не изменялись.
11. Подтверждение, что секреты не выводились.
12. Результат команды:

cd /Users/23865613/IdeaProjects/snl-integration-audit
git status --short

После отчёта остановись. Maven-сборку пока не запускай.