Участник
Пользователь
- Сообщения
- 18
- Реакции
- 28
- Помог
- 2 раз(а)
Хмм...Работающий конфиг билд системы для Sublime Text под линукс
Установка:
1. Заходим в меню Tools -> Builds System -> New Builds System
2. Вставляем конфиг ниже и сохраняем с именем Amxx.sublime-build (/path/to/hlds нужно заменить не свой)
3. Для компиляции жмем Ctrl+B
4. Проверяем файл
JavaScript:{
"cmd": ["/path/to/hlds/cstrike/addons/amxmodx/scripting/amxxpc", "$file", "-o/path/to/hlds/cstrike/addons/amxmodx/plugins//$file_base_name"],
"file_regex": "(.*?)[(]([0-9]*)[)]",
"selector": "source.sma",
"working_dir": "/path/to/hlds/cstrike/addons/amxmodx/scripting/",
}
Я пользуюсь немного похожим конфигом, работает не только на линукс системах, в принципе на любой:
JSON:
{
"working_dir": "/Users/weazzylee/Code/scripting/",
"shell_cmd": "./amxxpc $file -o$file_path/$file_base_name.amxx",
"selector": "source.sma",
"file_regex": "(.*?)[(]([0-9]*)[)]",
"file_patterns": ["*.sma"]
}
Для работы на Windows в shell_cmd заменить:
Diff:
-./amxxpc
+.\amxxpc.exe
Да и еще, можно дополнить что compile.sh под мак путает директории и не компилирует. До того как начал пользоваться Sublime Build, написал себе его замену на bash. Приложил инструкцию, может кому пригодится.
Проверял работу на Ubuntu и OSX, работает как нужно.
Bash:
#!/bin/bash
# Executable script for compile
#
# by WeazzyLee
#
# How to use:
# Place this script in directory with amxxpc or amxxpc_osx file.
# By default it is "amxmodx/scripting" folder.
# Make this and amxxpc file executable by command in terminal:
# cd /path to file/amxmodx/scripting/ && chmod a+x amxxpc compile
# Run the file by double click simply like app. (For OSX)
# Run the file from terminal in directory of file location, by command: (Linux)
# ./compile
# From this moment you have several way to compile:
# 1. Drag and drop one or more files in opened window.
# You can drag and drop each one files from different folders.
# 2. Enter in opened window one or more full files name with extension,
# in that directory, separated by space.
# For example: admin.sma adminchat.sma
# 3. You can combine methods 1 and 2.
# 4. You can to type nothing or don't drag anything, just press Enter
# to compile all files with .sma extension in that directory.
DIR=$(dirname "$0")
cd $DIR
if [[ -f "$DIR/amxxpc_osx" || -f "$DIR/amxxpc" ]]
then
if [[ -f "$DIR/amxxpc_osx" ]]
then
pc=amxxpc_osx
else
pc=amxxpc
fi
test -e $DIR/compiled || mkdir $DIR/compiled
rm -f $DIR/CompileLog.txt
echo "What plugins will be compiled?"
echo "Enter one plugin name or list with space to compile, for example: admin.sma admincha.sma"$'\n'"Or press Enter, to compile all plugins in directory."$'\n'"You can also simply drag and drop one or more files here."
IFS="" read -r input
eval "files=( $input )"
if [[ "${files[@]}" == "" ]]
then
LIST="$DIR/*.sma"
else
LIST="${files[@]}"
fi
for file in $LIST
do
if [[ -f "${file}" ]]
then
if [[ "${file##*.}" == "sma" ]]
then
smafile="`echo ${file##*/}`"
amxxfile="`echo $smafile | sed -e 's/\.sma$/.amxx/'`"
echo "Compiling $smafile... To /compiled/$amxxfile" >> $DIR/CompileLog.txt
echo "Compiling $smafile... To /compiled/$amxxfile"
compileoutput=$($DIR/$pc $file -o$DIR/compiled/$amxxfile -i$DIR/include)
echo "$compileoutput"$'\n' >> $DIR/CompileLog.txt
echo "$compileoutput"$'\n'
else
echo "$file : error: passed file is invalid."$'\n' >> $DIR/CompileLog.txt
echo "$file : error: passed file is invalid."$'\n'
fi
else
echo "$file : error: passed file is not exist."$'\n' >> $DIR/CompileLog.txt
echo "$file : error: passed file is not exist."$'\n'
fi
done
echo $'\n'"Compilation log in /CompileLog.txt"
read -p "Press Enter to close" </dev/tty
else
echo "No amxxpc or amxxpc_osx file found in this folder:"
echo "$DIR"
echo "Please, place this script in directory with amxxpc or amxxpc_osx file."
echo "By default it is \"amxmodx/scripting\" folder."
read -p "Press Enter to close" </dev/tty
fi
Поместите этот скрипт в каталог с файлом amxxpc.
По умолчанию это папка "amxmodx/scripting".
Сделайте этот файл и файл amxxpc исполняемым командой в терминале:
cd /путь к папке/amxmodx/scripting/ && chmod a+x amxxpc compile
Запустите файл двойным щелчком мыши просто как приложение. (для OSX)
Запустите файл через терминал, выполнив команду из каталога где лежит файл. (для Linux)
./compile
С этого момента у вас есть несколько способов компиляции:
1. Перетащите один или несколько файлов в открывшиеся окно/окно терминала.
Вы можете перетаскивать файлы из разных папок.
2. Введите в открывшемся окне одно или несколько полных имен файлов с расширением,
из папки, разделенном пробелом.
Например: admin.sma adminchat.sma
3. Можно комбинировать методы 1 и 2.
4. Вы можете ничего не вводить или ничего не перетаскивать, просто нажмите Enter в открывшемся окне/окне терминала
для компиляции всех файлов с расширением .sma в этом каталоге.