Skip to main content

Система сборки похожая по духу на 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;}' > {{target.name}}")
        ])
    ],
    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;}' > {{target.name}}")
        ])
    ],
    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

exechain-0.0.5.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exechain-0.0.5-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file exechain-0.0.5.tar.gz.

File metadata

  • Download URL: exechain-0.0.5.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for exechain-0.0.5.tar.gz
Algorithm Hash digest
SHA256 89ba95d411a81b8cfdc454aaa6467939eb41e0ad0ca66a586449278b0d3cc77f
MD5 06b6f090f6de56f10de1a7d587127bd3
BLAKE2b-256 efab4f447eef61b53582b909d7c00c4a420ce5ebbd6884063c436f30bc9abfae

See more details on using hashes here.

File details

Details for the file exechain-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: exechain-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for exechain-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 76fbba9cfb68d099d50d10ea8c4fad1676518fdaca53b3ee20ce2171d77d4b82
MD5 3b467f0f920493ed5c3cff296b65707a
BLAKE2b-256 3c60beb06b2e96f394d39e83decf5632029d63c854f4fb10fc4488ab6fd50c6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page