Новости

Обновление исправляет совместимость с Freenode после обновления этой сетью версии IRCd.

Вышел второй релиз-кандидат KVIrc 4.0

Ричард Столлман дал автограф проекту и пожелал успеха в разработке.

Image:Feed.png RSS
Главная страница >

Creation of install.kvs

Материал из IRC клиент KVIrc.

(Перенаправлено с Creation of a class)
Перейти к: навигация, поиск

В этой статье я опишу создание install.kvs. Этот файл является инсталлером вашего скриптового дополнения. Если вы написали свой скрипт и хотите дать его другу, то вам будет необходимо грамотно создать этот файл.

Содержание

[править] Структура install.kvs

По сути этот файл является обычным скриптом на язык KVS. Но обязательно наличие в нем нескольких секций.

  • Регистрация аддона
  • Копирование файлов данных скрипта (опционально)
  • Инициализация алиасов, событий и др. данных скрипта

[править] Регистрация дополнения

За регистрацию дополнения отвечает команда

addon.register [-f|--force] [-n|--no-uninstall] [-q|--quiet] (<id скрипта>,
<версия>,<видимое_имя>,<описание>,
<минимальная версия kvirc>[,<иконка>])
{
    <команды удаления>
}

Если задан флаг -f|--force то аддон будет установлен даже если существует установленный аддон более поздней версии. Используйте этот флаг при отладке, но не оставляйте его при финальном релизе.

Флаг -n|--no-uninstall указывает на то, что установленная версия аддона не должна удаляться.

Стандартный флаг -q|--quiet отключает показ ошибок при установке.

<id скрипта> это уникальный идентификатор скрипта в системе. Не может быть установлено 2 аддона с одинаковыми id. Будьте осторожны при выборе id чтобы избежать конфликтов со скриптами других разработчиков.

<версия> - версия вашего скрипта в формате x.y.z

<видимое_имя> - имя скрипта, которое будет видеть пользователь

<описание> - краткое (1 строчка) описание скрипта

<минимальная версия kvirc> - минимальная версия kvirc, на которой возможно функционирование скрипта. Например 3.2.1. Если вы зависите от CVS функций то вы можете добавить дату исходных кодов в виде 3.2.1.20060410 (10 апреля 2006 года)

<иконка> - идентификатор (номер или имя файла) иконки, которая будет показываться в диалоге уравления дополнениями.

<команды удаления> - команды, которые должны выполнятсья при удалении скрипта. Они должны удалить все события, алиасы, файлы и другое, созданное скриптом.

Пример рабочей команды:

addon.register (myscript,0.0.1,"My super script","Just a test",3.2.1,myscript.png)
{
    myscript::uninstall
    myscript::uninstallfiles
}

Она зарегистрирует скрипт с id myscript версии 0.0.1.

[править] Копирование файлов

Для этого создан готовый файл, который называется installer.kvs. Найти его можно в дистрибутиве KVIrc или в чьем-либо готовом дополнении. Опишу как им пользоваться.

  • Создайте в папке с вашим будущим аддоном папку utils
  • Поместите туда installer.kvs
  • Создайте в папке с аддоном подпапки с данными.
  • В своем install.kvs напишите
# Получение пути, из которого запущен аддон
%mypath = $file.extractPath($0)

# Включение файла с классом инсталлера
parse %mypath/utils/installer.kvs

# Создание объекста класса инсталлера
%installer = $new(installer,0,myinstaller)
# Копирование файлов
# картинок
%installer->$copyFiles("%mypath/pics/","*.png","$file.localdir("pics")")
# переводов
%installer->$copyFiles("%mypath/locale/","*.mo","$file.localdir("locale")")
# документации
%installer->$copyFiles("%mypath/help/en/myscript/","*.html","$file.localdir("help/en/myscript")")
# генерация 
%installer->$generateUninstallAlias("myscript::uninstallfiles")
# удаление инсталлера
delete %installer

Таким образом файлы *.png из папки pics будут скопированы в папку с катинками, файлы из папки locale - в папку с переводами, будет скопирован хелп. И в конце будет создан алиас myscript::uninstallfiles, при вызове которого все скопированные файлы будут удалены.

[править] Создание алиасов

Подробную доументацию по языку KVS вы можете найди в соответствующей статье. Напомню лишь что создают алиас командой

alias(ИМЯ_АЛИАСА) {
   команда1
   команда2
   .....
}

А удаляют командой

alias(ИМЯ_АЛИАСА) {}
Личные инструменты
Инструменты
Наши кнопки
Размести кнопку KVirc у себя на сайте:
www.kvirc.ru - кроссплатформенный IRC клиент с богатым графическим интерфейсом и внутренним языком скриптинга
Друзья и спонсоры
  • на сайте http://dosugminsk.com/.
  • Fireforge.net
Linux coutner