Система сборки похожая по духу на make
Project description
exechain
exechain - система сборки, вдохновленная популярной системой сборки make. Целью проекта является предоставление удобного и гибкого инструмента для автоматизации процесса сборки и управления зависимостями в проектах.
Введение
exechain - это утилита, которая позволяет описывать и выполняет цепочки команд, необходимые для сборки вашего проекта и управления его зависимостями, аналогично тому, как это делает make. Это удобный и мощный инструмент, подходящий для различных типов проектов и сценариев.
Список возможностей
- Описание процесса сборки декларативным методом
- Отслеживание изменения файлов для пересборки только необходимых файлов
- Включение скриптов сборки из подкаталогов
Установка
Установка утилиты выполняется командой: pip install exechain. Так же можно установить из GitVerse: pip install --index-url https://gitverse.ru/api/packages/Depish/pypi/simple/ exechain
Начало работы
Подробная документация по началу работы с exechain будет добавлена, как только проект достигнет более стабильной версии. На данный момент основная концепция работы аналогична работе целей в make.
Примеры использования
Для создания сценария сборки необходимо создать файл exechain. В данном файле используется язык программирования Python и доступны все его функции.
Пример сборочного скрипта:
# Данный импорт для подсказок в IDE
from exechain.exechain import *
Target("hello",
dependencies = [
Target("main.cpp", recept=[
Shell("echo 'int main() {return 0;}' > main.cpp")
])
],
recept=[
Shell("g++ main.cpp -o hello")
]
)
После создания сборочного скрипта нам необходимо его запустить. Для этого в пакете exechain имеется утилита ech.
Необходимо перейти в каталог с файлом exechain и выполнить команду
ech hello
Где hello это имя цели которую необходимо выполнить. Можно указать несколько целей. Любая цель из любого места в файле может быть вызвана через аргументы.
Данный проект так же собирается с помощью exechain.
Пример конфигурационного файла
Target("hello",
dependencies = [
Target("main.cpp", recept=[
Shell("echo 'int main() {return 0;}' > main.cpp")
])
],
recept=[
Shell("g++ main.cpp -o hello")
]
)
Состояние проекта
Проект находится на ранней стадии разработки. Многие функции все еще находятся в стадии проектирования и реализации. Следите за обновлениями и новыми релизами.
Вклад
Мы приветствуем вклад в развитие проекта. Если у вас есть идеи, исправления или улучшения, пожалуйста, создайте issue или pull request в этом репозитории.
Лицензия
Подробности можно найти в файле LICENSE.md.
Благодарим вас за интерес к exechain! Надеемся, что этот инструмент окажется полезным и облегчит вашу работу над проектами.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exechain-0.0.4.tar.gz.
File metadata
- Download URL: exechain-0.0.4.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5772f1e6e912047732fb21a6b5ac12b8af033cf82f896b2052a276344cac1b00
|
|
| MD5 |
117d36da195144c8b802d1ed55a924ae
|
|
| BLAKE2b-256 |
7ad8933905cebde30647b729646b472ef70d1e891f1e5468684ef067d0a06ed6
|
File details
Details for the file exechain-0.0.4-py3-none-any.whl.
File metadata
- Download URL: exechain-0.0.4-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
073e567d6e7ca52ca570acdd9444f17c7cfec5cca0686cfdbb30ea59c708ebc7
|
|
| MD5 |
6bbf2b09fd965e9d7d209e119de0e2e1
|
|
| BLAKE2b-256 |
e9cbb5e0ff5895469ea6a9723ebb11034e333d413d0ad0d14d484814e94371b3
|