Julia


В документации ниже встречаются ссылки на git репозитории. Содержание ссылок зависит от уровня владения реестра. С параметрами, указанными в ссылках можно ознакомиться ниже:

Уровень URL
Проект {gitflic}/project/{userAlias}/{projectAlias}
Команда {gitflic}/project/{teamAlias}/{projectAlias}
Компания {gitflic}/project/{companyAlias}/{projectAlias}
Переменная в URL Описание
userAlias Псевдоним владельца проекта
projectAlias Псевдоним проекта
teamAlias Псевдоним команды
companyAlias Псевдоним компании

На месте переменной {gitflic} необходимо указать домен, в зависимости от версии:

  • для SaaS версии gitflic.ru

  • для self-hosted localhost:8080

Домен и порт для self-hosted версии могут отличаться.


Требования

Для работы с модулями Julia необходимо установить язык программирования Julia.

Скачайте пакет с официального сайта или установите с помощью команды:

Linux и MacOS

curl -fsSL https://install.julialang.org | sh

Windows

winget install julia -s msstore

Создание пакета

Перед созданием нового пакета необходимо зайти в консоль языка программирования Julai. Для этого необходимо выполнить команду:

julia

Для создания нового пакета Julia необходимо ввести в терминале следующую команду:

using Pkg
Pkg.generate("MyNewPackage")

После выполнения команды структура вашего пакета будет выглядеть следующим образом:

MyNewPackage
├── Project.toml
└── src
    └── MyNewPackage.jl

Далее необходимо открыть файл Project.toml и настроить его следующим образом:

[package]
name = "MyNewPackage"
uuid = "уникальний-uuid-модуля"
authors = ["username <contactEmail>"]
version = "0.1.0"

[compat]
julia = "1.10"

Загрузите пакет на GitFlic. Запомните ссылку на созданный проект - она понадобиться далее.


Создание реестра

Создайте проект на GitFlic, который будет являться реестром пакетов Julia. Содержание данного проекта должно иметь определенную структуру, которую необходимо сначала создать локально:

juliarepo
├── MyNewPackage
    ├── Package.toml
    └── Versions.toml
└── Registry.toml

Registry.toml - конфигурация вашего реестра
MyNewPackage - название пакета
Package.toml и Versions.toml - метаинформация о пакете

Пример Registry.toml

name = "MyRegistry"
uuid = "уникальный-uuid-реестра" // Генерируется самостоятельно
repo = "{gitflic}/project/{ownerAlias}/{projectAlias}.git" // Ссылка на созданный проект в GitFlic для реестра пакетов Julia

[packages]
уникальный-uuid-пакета = {name = "MyNewPackage", path = "MyNewPackage" } // Должен совпадать с тем, что был сгенерирован при создании пакета

Пример Package.toml

name = "MyNewPackage"
uuid = "уникальный-uuid-модуля" // Должен совпадать с тем, что был сгенерирован при создании пакета
authors = ["username <contactEmail>"]
version = "0.1.0"
repo = "{gitflic}/project/{ownerAlias}/{projectAlias}.git" // Ссылка на проект, содержащий пакет, который был создан на предыдущем шаге

Пример Versions.toml

["0.1.0"]
git-tree-sha1 = "git-tree-sha1" 

Для получения git-tree-sha1 необходимо перейти в репозиторий с загружаемым пакетом и выполнить команду:

git rev-parse HEAD^{tree}

Создайте реестр путем его загрузки на GitFlic


Добавление реестра в пакетный менеджер

Далее необходимо добавить свой реестр в пакетный менеджер pkg с помощью команды:

Pkg.Registry.add(RegistrySpec(url="{gitflic}/project/{ownerAlias}/{projectAlias}.git"))

В качестве параметра url необходимо передать ссылку на проект-реестр, созданный на предыдущем шаге

Обновить реестр можно с помощью команды:

Pkg.Registry.update()

Команда для проверки добавления реестра:

Pkg.Registry.status()

Команда для загрузки пакета в окружение Julia:

Pkg.add("HelloWorld")

Команда для проверки загрузки пакета:

Pkg.status()

Для использования загруженного пакета необходимо воспользоваться командой:

using HelloWorld
HelloWorld.greeting()

Ваш пакет и реестр теперь настроены и готовы к использованию.