Skip to content
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.

Commit

Permalink
Merge branch 'release/v0.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
EvilBeaver committed Feb 4, 2016
2 parents f104e22 + 3484bbc commit 09f6005
Show file tree
Hide file tree
Showing 39 changed files with 1,426 additions and 751 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.vscode/
28 changes: 28 additions & 0 deletions CONTRIBUTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#Руководство по доработке проекта oscript-library

Репозиторий oscript-library включает в себя так называемую "стандартную библиотеку" пакетов OneScript, которые поставляются вместе с самим интерпретатором OneScript.
В связи с этим, есть два варианта добавления вашего кода в проект:

* Вы хотите доработать существующий пакет
* Вы хотите добавить свой пакет в стандартную библиотеку

##Я хочу доработать существующий пакет

* Создайте issue в oscript-library с описанием того, что вы хотите доработать. Это нужно для того, чтобы исключить двойную работу. Возможно, кто-то начнет делать нечто похожее одновременно с вами. Issue позволит видеть ведущуюся или планирующуюся работу.
* Создайте форк oscript-library в своем аккаунте github
* Создайте ветку в своем форке с названием **feature/issue-<номер issue>-<любой текст на ваш выбор, если надо>**
* Внесите необходимые доработки в своем форке
* Создайте pull-request нажатием на соответствующую кнопку в гитхабе и отправьте его нам
* Команда разработки посмотрит код и, вероятно, внесет дополнения и предложения.
* Внесите в ваш код эти дополнения таким же образом - просто дополнительными коммитами в ту же ветку **featue/***
* Новый pull-request создавать не надо, дополнения будут видны сразу.
* Когда код будет принят командой, ваши изменения попадут в основную ветку, а ваше имя - в список контрибьюторов oscript-library
* Спасибо!

##Я хочу добавить свой пакет в стандартную библиотеку

* Создайте репозитарий на github, поместите в него свою библиотеку
* Создайте issue в oscript-library с предложением к сообществу о включении вашего пакета в стандартную библиотеку
* Мы посмотрим ваш код и если он нам нужен именно в стандартной библиотеке - мы скажем спасибо и с удовольствием его возьмем

Пакет должен иметь в своем составе файл packagedef с описанием пакета.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Библиотека полезных скриптов для 1Script

[![Join the chat at https://gitter.im/EvilBeaver/oscript-library](https://badges.gitter.im/EvilBeaver/oscript-library.svg)](https://gitter.im/EvilBeaver/oscript-library?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Все пакеты библиотеки могут быть подключены с помощью директивы **#Использовать <ИмяПакета>**

## Краткий список и назначение пакетов
Expand Down
2 changes: 1 addition & 1 deletion src/asserts/packagedef
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Описание.Имя("asserts")
.Версия("1.0")
.Версия("0.2.1")
.ВключитьФайл("src")
.ВключитьФайл("tests")
.ВключитьФайл("lib.config")
2 changes: 1 addition & 1 deletion src/cmdline/packagedef
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Описание.Имя("cmdline")
.Версия("1.0.2")
.Версия("0.2.1")
.ЗависитОт("logos")
.ВключитьФайл("src")
.ВключитьФайл("tests")
Expand Down
37 changes: 20 additions & 17 deletions src/cmdline/src/cmdline.os
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,29 @@
Перем мПозицияПозиционныхПараметров;
Перем мМассивВходныхПараметров;

Процедура ДобавитьПараметр(Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Функция ДобавитьПараметр(Знач ИмяПараметра, Знач Пояснение = "") Экспорт

Лог.Отладка("ДобавитьПараметр: ИмяПараметра <"+ИмяПараметра+">");

ДобавитьПараметрВТаблицу(мПозиционныеПараметры, ИмяПараметра, Пояснение, Ложь, Ложь);

КонецПроцедуры
КонецФункции

Процедура ДобавитьИменованныйПараметр(Знач ИмяПараметра, Знач Пояснение = "", Знач Глобальный = Ложь) Экспорт
Функция ДобавитьИменованныйПараметр(Знач ИмяПараметра, Знач Пояснение = "", Знач Глобальный = Ложь) Экспорт

Лог.Отладка("ДобавитьИменованныйПараметр: ИмяПараметра <"+ИмяПараметра+">");

ДобавитьПараметрВТаблицу(мПараметры, ИмяПараметра, Пояснение, Ложь, Глобальный);

КонецПроцедуры
КонецФункции

Процедура ДобавитьПараметрФлаг(Знач ИмяПараметра, Знач Пояснение = "", Знач Глобальный = Ложь) Экспорт
Функция ДобавитьПараметрФлаг(Знач ИмяПараметра, Знач Пояснение = "", Знач Глобальный = Ложь) Экспорт

Лог.Отладка("ДобавитьПараметрФлаг: ИмяПараметра <"+ИмяПараметра+">");

ДобавитьПараметрВТаблицу(мПараметры, ИмяПараметра, Пояснение, Истина, Глобальный);

КонецПроцедуры
КонецФункции

Функция ОписаниеКоманды(Знач ИмяКоманды, Знач Пояснение = "") Экспорт

Expand All @@ -52,20 +52,20 @@

КонецПроцедуры

Процедура ДобавитьПозиционныйПараметрКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Функция ДобавитьПозиционныйПараметрКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Лог.Отладка("Добавляю позиционный параметр "+ИмяПараметра);
ДобавитьПараметрВТаблицу(ОписаниеКоманды.ПозиционныеПараметры, ИмяПараметра, Пояснение, Ложь);
КонецПроцедуры
Возврат ДобавитьПараметрВТаблицу(ОписаниеКоманды.ПозиционныеПараметры, ИмяПараметра, Пояснение, Ложь);
КонецФункции

Процедура ДобавитьИменованныйПараметрКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Функция ДобавитьИменованныйПараметрКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Лог.Отладка("Добавляю именованный параметр "+ИмяПараметра);
ДобавитьПараметрВТаблицу(ОписаниеКоманды.ИменованныеПараметры, ИмяПараметра, Пояснение, Ложь);
КонецПроцедуры
Возврат ДобавитьПараметрВТаблицу(ОписаниеКоманды.ИменованныеПараметры, ИмяПараметра, Пояснение, Ложь);
КонецФункции

Процедура ДобавитьПараметрФлагКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Функция ДобавитьПараметрФлагКоманды(Знач ОписаниеКоманды, Знач ИмяПараметра, Знач Пояснение = "") Экспорт
Лог.Отладка("Добавляю параметр-флаг "+ИмяПараметра);
ДобавитьПараметрВТаблицу(ОписаниеКоманды.ИменованныеПараметры, ИмяПараметра, Пояснение, Истина);
КонецПроцедуры
Возврат ДобавитьПараметрВТаблицу(ОписаниеКоманды.ИменованныеПараметры, ИмяПараметра, Пояснение, Истина);
КонецФункции

Функция РазобратьКоманду(Знач МассивПараметров) Экспорт

Expand Down Expand Up @@ -316,12 +316,15 @@

КонецФункции

Процедура ДобавитьПараметрВТаблицу(Знач Таблица, Знач Имя, Знач Пояснение, Знач Флаг, Знач Глобальный = Ложь)
Функция ДобавитьПараметрВТаблицу(Знач Таблица, Знач Имя, Знач Пояснение, Знач Флаг, Знач Глобальный = Ложь)
СтрПараметр = Таблица.Добавить();
СтрПараметр.Имя = Строка(Имя);
СтрПараметр.ЭтоФлаг = Флаг;
СтрПараметр.Пояснение = Пояснение;
СтрПараметр.ЭтоГлобальныйПараметр = Глобальный;
КонецПроцедуры

Возврат СтрПараметр;

КонецФункции

Инит();
3 changes: 2 additions & 1 deletion src/cmdline/tests/cmdline-test.os
Original file line number Diff line number Diff line change
Expand Up @@ -263,12 +263,13 @@
ВходнойМассивПараметров = Новый Массив;
ВходнойМассивПараметров.Добавить("test");
ВходнойМассивПараметров.Добавить("flag");
ВходнойМассивПараметров.Добавить("path-value");

Результат = ПарсерКомаднойСтроки.Разобрать(ВходнойМассивПараметров);

юТест.ПроверитьНеравенство(Неопределено, Результат, "Команда должна быть разобрана правильно");
юТест.ПроверитьРавенство("test", Результат.Команда, "Команда");
юТест.ПроверитьРавенство(Неопределено, Результат.ЗначенияПараметров["testpath"], "Значение позиционного параметра testpath");
юТест.ПроверитьРавенство("path-value", Результат.ЗначенияПараметров["testpath"], "Значение позиционного параметра testpath");

юТест.ПроверитьРавенство(Истина, Результат.ЗначенияПараметров["flag"], "Глобальный параметр-флаг flag");
юТест.ПроверитьРавенство(2, Результат.ЗначенияПараметров.Количество());
Expand Down
8 changes: 8 additions & 0 deletions src/gitsync/package-loader.os
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

#Использовать "src/core"

Процедура ПриЗагрузкеБиблиотеки(Путь, СтандартнаяОбработка, Отказ)

СтандартнаяОбработка = Ложь;

КонецПроцедуры
2 changes: 1 addition & 1 deletion src/gitsync/packagedef
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Описание.Имя("gitsync")
.Версия("1.0")
.Версия("0.2.1")
.ЗависитОт("logos")
.ЗависитОт("cmdline")
.ЗависитОт("tempfiles")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@

Перем мЗаписьТекста;
Перем мПуть;
Перем ЭтоWindows;

Функция Открыть(Знач Путь = "") Экспорт

Если ПустаяСтрока(Путь) Тогда
мПуть = ВременныеФайлы.НовоеИмяФайла(".bat");
мПуть = ВременныеФайлы.НовоеИмяФайла(?(ЭтоWindows, ".bat", ".sh"));
Иначе
мПуть = Путь;
КонецЕсли;

мЗаписьТекста = Новый ЗаписьТекста(мПуть, "cp866");
Кодировка = ?(ЭтоWindows, "cp866", КодировкаТекста.UTF8NoBOM);
мЗаписьТекста = Новый ЗаписьТекста(мПуть, Кодировка);

Возврат мПуть;

Expand All @@ -30,8 +31,11 @@
Закрыть();

ПутьПакетногоФайла = мПуть;

СтрокаЗапуска = "cmd.exe /C """ + ПутьПакетногоФайла + """";
Если ЭтоWindows Тогда
СтрокаЗапуска = "cmd.exe /C """ + ПутьПакетногоФайла + """";
Иначе
СтрокаЗапуска = "sh '" + ПутьПакетногоФайла + "'";
КонецЕсли;

КодВозврата = "";
ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата);
Expand All @@ -56,3 +60,6 @@
Открыть();
КонецЕсли;
КонецПроцедуры

СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
Loading

0 comments on commit 09f6005

Please sign in to comment.