OberonCore
https://forum.oberoncore.ru/

Хранилище компонент КП [CP repository]
https://forum.oberoncore.ru/viewtopic.php?f=28&t=2845
Страница 2 из 2

Автор:  ilovb [ Воскресенье, 18 Май, 2014 23:40 ]
Заголовок сообщения:  Re: Хранилище компонент КП [CP repository]

Вот смотри:

Есть такой реестр, на гитхабе, к примеру:
index.txt писал(а):
A '' https://github.com/чтототам/ещечегойто.zip
B '' https://bitbucket.org/чтототам2/ещечегойто2.zip
C '' http://vasya.org/ещечегойто3.zip


Ты знаешь адрес реестра и он у тебя забит в настройках ББ.

Набираешь в ББ команду ^Q PM.Install A

Менеджер пакетов обращается к реестру, находит в нем A и скачивает.
Далее распаковывает и смотрит что нужно для A. И там к примеру Б.
Менеджер опять смотрит в реестр, находит Б и скачивает.
Далее распаковывает и смотрит что нужно для Б. И там к примеру С.
Находит и качает С.
И если зависимостей больше нет, то в обратном порядке компилит и запускает тесты.

Профит!

ps Проблема только с циклическими зависимостями. Но их, думаю, можно разрулить, т.к. они только на уровне подсистем могут быть.

Автор:  Роман М. [ Понедельник, 19 Май, 2014 16:03 ]
Заголовок сообщения:  Re: Хранилище компонент КП [CP repository]

ilovb писал(а):
А пример можно метаинформации?

Метаинформация нужна чтобы не распаковывать понапрасну ...
  1. название компонента
  2. ссылка на архив
  3. размер архива
  4. список зависимостей

Что касается скачивания: архив может быть не найден. В таком случае все зависимости не смогут быть установлены.

Менеджер пакетов должен знать откуда брать информацию о компонентах. Откуда знать что появлися новый компонент А на ресурсе Б?

Автор:  ilovb [ Понедельник, 19 Май, 2014 16:47 ]
Заголовок сообщения:  Re: Хранилище компонент КП [CP repository]

Роман М. писал(а):
Метаинформация нужна чтобы не распаковывать понапрасну ...
  1. название компонента
  2. ссылка на архив
  3. размер архива
  4. список зависимостей

Ну это можно при необходимости в тот же текстовик добавить. Вообще полагаю что это Json должен быть и, возможно, скрипт на js, который это красиво отображает в виде html

Роман М. писал(а):
Менеджер пакетов должен знать откуда брать информацию о компонентах. Откуда знать что появлися новый компонент А на ресурсе Б?

Ну у реестра должен быть владелец, который следит за ним и добавляет обнаруженные пакеты. Я, к примеру, буду вести такой реестр. Ну и автор пакета заинтересован в том чтобы попасть в известные ему реестры.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/