# Подключение QtBindings

**[<span class="icon material-symbols-outlined">link</span>GitLab](https://gitlab.com/omprussia/kmp/qt-bindings)**

QtBindings - плагин предназначенный для облегчения работы с библиотеками
[Kotlin Multiplatform](https://www.jetbrains.com/kotlin-multiplatform/) в [Qt](https://www.qt.io/).
Он создает привязки низкоуровневых библиотек Linux для Qt.

## Публикация в Maven Local

Для использования QtBindings необходимо использовать [Maven Local Repositories](https://maven.apache.org/repositories/local.html).

Для сборки и публикации в `Maven Local` нужно клонировать открытый проект из GitLab:

```shell
git clone https://gitlab.com/omprussia/kmp/qt-bindings.git
```

Затем перейти в директорию с проектом и выполнить команду:

```shell
./gradlew publishToMavenLocal
```

Эта команда соберет проект и опубликует его в `Maven Local`.

## Подключение Maven Local

Для активации `Maven Local` в проекте, необходимо добавить `mavenLocal()` в файле `settings.gradle.kts`:

```kotlin
pluginManagement {
    repositories {
        google()
        gradlePluginPortal()
        mavenCentral()
        mavenLocal()
    }
}

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
    }
}
```

## Подключение QtBindings

> Для работы плагина требуется [Kotlin Symbol Processing](https://kotlinlang.org/docs/ksp-quickstart.html).

После публикации плагина в `Maven Local` плагин можно подключить:

```kotlin
plugins {
    id("ru.aurora.kmp.qtbindings") version "0.1.0"
}
```

Необходимо настроить плагин, указав название библиотеки:

```kotlin
qtBindings {
    libName = "my_library"
}
```

> Указанное название библиотеки, должно совпадать с названием определённым в блоке настройки цели Linux.

Далее можно ознакомиться со страницей документации [Использование](demo.md).
