Как стать автором
Обновить

Комментарии 18

shell команды прописаны в конфиге, который парсит и исполняет скрипт на Python? Не хватает electron'a ещё :)

По идее, для всего этого можно использовать make.

И как запрашивать параметры у пользователя в мейк?

Я знаю, но это не то же самое.

Имеется ли у make возможность запросить у пользователя параметр, затем запомнить его для использования при запуске уже других команд в последствии? Как, например, параметр 'appName' при запуске '1. Build', затем '2. Deploy and Up', а затем и '4. Stop' в примере приведенном в статье.

Make и переменные окружения, например. Ваш скрипт — самое неуниверсальное решение. Изучите хорошо shell, make, это обязательно окупится сторицей.

как будто в питон нету dotenv

Я просто не хотел вдаваться в критику. Понятно, что человек только начал изучать питон и ему хочется все написать на нем. Но скрипт написан откровенно плохо, в совершенно не питонячем стиле (например, кто использует названия переменных и методов, начинающиеся с __? ни в одном из python проектов вы не увидите такого, за очень редким исключением).


Да собственно, вопрос не в этом, а в том, что человек изобрел велосипед, сделанный из пластиковых соломинок и изоленты, тогда как можно было немного почитать и узнать, что уже существует 100500 настоящих велосипедов — дорожных, горных, электрических, скутеров, мотоциклов, каждый из которых справится с задачей лучше, а главное — известен и понятен каждому.


Если хочется написать статью на Хабр, то можно было бы хотя бы попытаться произвести сравнение своего велосипеда с существующими. Правда, тогда и статью писать было бы не о чем, потому что сразу же стало бы очевидно, что сравнение не в пользу автора.

Критика скрипта это один разговор. Но мейк это другая альтернатива со своими минусами. Использовать питон вместо шелла и sed/grep/awk вполне здравый подход имхо.

Дело не в этом, а в том, что задача сборки проектов — типичная задача, с которой сталкиваются почти 100% программистов. Поэтому она неоднократно решена и продолжает решаться, можно найти решение на любой вкус. Make был одним из первых, и до сих пор остается весьма мощным и удобным средством. Но кроме него существует еще газиллион других, в т.ч., написанных на Python. Например, на Python был написан SCons.

А у автора тут нету никакой сборки. make в первую очередь ориентирован на рецепты получения файлов из других файлов. Система же сборки для конкретных языков у каждого своя. Тут обсуждается как сделать шорткаты на отдельные команды вместе с пошаговым выбором их из списка.

В make необязательно генерировать файлы из файлов. На самом деле, существует масса проектов, которые используют Makefile, например, для вызова npm.


Для обычного человека намного проще использовать стандартный инструмент, известный практически всем. И вызывать шорткаты простым вызовом make build, make autotests, etc.


  1. Это просто.
  2. Это понятно любому разработчику из любой точки мира (make повсеместно распространен).
  3. Эти вызовы можно объединять в цепочки: make build && make tests && make deploy-staging.
  4. Эти вызовы можно легко привязать к почти любой IDE.
  1. Но зачем если в npm уже есть команды package.json.
  2. Как узнать список команд в make? как узнать их аргументы?
  3. это фича баша а не мейк
  4. В любой IDE можно сделать любой список команд не обязательно мейк
Как вариант, очень любопытно, но не всегда необходимо.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.