Architector

Разработка скриптов для ALE

2 сообщения в этой теме

В этой статье я расскажу, как настроить окружение для разработки скриптов ALE и выложу готовый образ для Virtualbox.

 

1. Установка ОС.

Первым делом необходимо заметь ОС Linux. В этом примере будет использоваться Xubuntu 18.04 в Virtualbox. Итак, скачиваем Xubuntu desktop и устанавливаем на VirtualBox. Мануалов в сети много, подробно описывать этот процесс не буду.

2. Загрузка ALE.

Скачиваем ALE и распаковываем куда-нибудь. Я создал в домашней папке каталог ale и распаковал архив туда. После этого необходимо файлам ale и subprocess дать права на выполнение. ale-props.png

prop-exec.png

3. Тестовый запуск.

Запустим терминал и перейдем в папку с ALE.

cd ~/ale

Запустим ale:

./ale

В первый запуск ALE попросит авторизоваться в системе.

auth.png

Вводим почту и пароль и нажимаем кнопку "Sign in". После этого в терминале должно появиться сообщение "Ok. Lets rock!":

ok.png

Для завершения ALE в терминале нажмем Ctrl+C.

4. Установка зависимостей.

Если при запуске появилось другое сообщение, что-то вроде

error while loading shared libraries libgtk-x11-2.0.so: cannot open shared object file: No such file or directory

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

sudo apt install libgtk2.0-0 libxtst6 libxss1 libgconf-2-4 libnss3 libasound2 libatk-bridge2.0-0

5. Настройка окружения и запуск.

Для разработки скриптов будем использовать VSCode. Скачиваем и устанавливаем этот редактор. Кроме того нам понадобится nodejs и npm для компиляции TypeScript в JavaScript и запуска ALE.

Устанавливаем nodejs:

sudo apt install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt install nodejs

Нам понадобится git, установим и его:

sudo apt install git

Создадим папку для проектов ALE:

mkdir ~/ale/projects

И папку для тестового проекта:

mkdir ~/ale/projects/test

Откроем эту папку в VSCode.

В VSCode откроем терминал, нажав Ctrl+` и далее уже работаем из него.

Инициализируем проект командой:

npm init

Так как мы будем писать на TypeScript, установим его

npm install --save typescript
sudo apt install node-typescript

Для разработки нам понадобятся декларации типов ALE. В файле package.json укажем это в разделе dependencies:

{
  ...
  "dependencies": {
    ...
    "ale_types": "git+https://github.com/WaspAce/ale_types.git"
  }
  ...
}

После этого для того, чтобы npm подтянул декларации, выполним

npm update

Далее необходимо создать в корне проекта конфиг для TypeScript - tsconfig.json. Содержимое этого файла должно выглядеть так:

{
  "compilerOptions": {
      "target": "es2017",
      "removeComments": true,
      "outDir": "./dist",
      "typeRoots": [
        "./node_modules/ale_types/"
      ],
      "lib": [
        "es2017"
      ],
      "module": "es2015"
  }
}

Для того, чтобы запускать ALE с нашим скриптом настроим команду выполнения npm. Для этого отредактируем файл package.json следующим образом:

{
  ...
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "ale": "tsc && cd ~/ale && ./ale --source=./projects/test/dist"
  },
  ...
}

Теперь создадим файл index.ts в корне проекта. Это будет наш главный модуль скрипта. Добавим в него следующее содержимое:

console.log('Hello from ALE!')

Сохраним и попробуем выполнить:

npm run ale

В результате выполнения этой команды TypeScript код из файла index.ts должен скомпилироваться в JavaScript код в файл ./dist/index.js и выполниться посредством движка ALE, а мы увидим в терминале 

Hello from ALE!

Остановить выполнение можно, нажав Ctrl+C в окне терминала.

Ура, теперь мы можем писать скрипты для ALE и запускать их!

Готовый образ с настроенным окружением выложу чуть позже, как только залью на раздачу.

0

Поделиться сообщением


Ссылка на сообщение

Ребята, образ виртуалки я закачал на Я.Диск (скачать).

В этой виртуалке уже все настроено, осталось только запустить VSCode. Ярлык есть на рабочем столе. Ну и в терминале набрать 

npm run ale

ale.gif

Если что, пользователь ale, пароль  ale.

 

0

Поделиться сообщением


Ссылка на сообщение

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу