Перейти к основному содержимому
Version: 3.0.0

Установка

Установите консольную утилиту Swipe:

git clone -b v3 git@github.com:swipe-io/swipe.gitcd swipe/v3 && make

Swipe требуется версия Go с поддержкой Golang Modules. Поэтому не забудьте инициализировать модуль Go:

go mod init <name>

Утилита swipe генерирует код с использованием плагинов у которых есть настройки. Настройки организованы на основе патерна
options as func.

У каждого плагина свой набор настроек.

Перед написание файла конфигурации необходимо сненерировать файды настроек, для этого надо выполнить следующую команду:

swipe3 init

Swipe сгенерирует файлы настроек в пакет <package>/pkg/swipe.

Для описания параметров генерации создайте файл .go.

  • Добавьте тег сборки // +build swipe, чтобы Golang игнорировал файл когда вы будете собирать ваше приложение.
  • Добавьте функцию с любым именем, можно использовать не экспортируемое имя
  • В тело функции добавьте вызов функции плагина, например gokit.Gokit(opts ...GokitOption).

Ниже представлен простой пример файла настройки генерации JSON RPC транспорта:


//+build swipe
package transport
import (    "github.com/examples/example/pkg/interface/controller"    "github.com/examples/example/pkg/swipe/gokit")
func swipe() {    gokit.Gokit(        gokit.HTTPServer(),        gokit.JSONRPCEnable(),        gokit.ClientsEnable([]string{"js"}),
        gokit.Interface((*controller.UserControllerIface)(nil), "user", gokit.ClientName("user")),        gokit.Interface((*controller.TaskControllerIface)(nil), "task", gokit.ClientName("task")),
        gokit.MethodDefaultOptions(            gokit.Logging(true),            gokit.Instrumenting(true),        ),    )}

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

swipe3 gen ./pkg/...