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;}' > 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

exechain-0.0.4.tar.gz (18.2 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.4-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

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

Hashes for exechain-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5772f1e6e912047732fb21a6b5ac12b8af033cf82f896b2052a276344cac1b00
MD5 117d36da195144c8b802d1ed55a924ae
BLAKE2b-256 7ad8933905cebde30647b729646b472ef70d1e891f1e5468684ef067d0a06ed6

See more details on using hashes here.

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

Hashes for exechain-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 073e567d6e7ca52ca570acdd9444f17c7cfec5cca0686cfdbb30ea59c708ebc7
MD5 6bbf2b09fd965e9d7d209e119de0e2e1
BLAKE2b-256 e9cbb5e0ff5895469ea6a9723ebb11034e333d413d0ad0d14d484814e94371b3

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