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

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

И поэтому он не использует питон для сборки.
Любая декларативная система на голову лучше императивной собиралки т.к. она может нормально оптимизировать процесс сборки.
Ну и всякие там интеграции с IDE и прочие плюшки конечно надо велосипедить самому.

Любая декларативная система на голову лучше императивной собиралки т.к. она может нормально оптимизировать процесс сборки

Но как сделать что-то не стандартное - так хоть увольняйся.

Вариант изучить инструментарий и научиться им пользоваться не рассматривается? Те же make файлы, да они не современные и с хреновым user experience, однако я бы хотел увидеть задачу относящуюся к сборке проекта которую на них нельзя сделать.

ну мейк файл не такой уж и декларативный - из него можно на баше вызвать всё что угодно. А вот попробуйте с чистым мавеном что-то нетривиальное сделать.

Из любой билд системы можно вызвать что угодно (обычно компилятор конечно), и это что угодно имеет не определённые побочные эффекты. Правда на декларативность самой системы сборки это не влияет.

Вся идея мавена в том что в него можно воткнуть плагины, так что пытаться что-то сделать на чистом мавене это как раз не разобраться как этим инструментом надо пользоваться. Ну и раз в него пихаются плагины то декларативность мавена на самом деле под вопросом.

У нас хоть и не Java, но проект большой и разнообразный, состоящий из сильно разных компонент (Yocto и Android вместе, как вам такое?). Поэтому мы тоже используем Python. Но немного в другой роли. Скрипт на питоне читает yaml файл с описанием сборки и генерирует по нему build.ninja. Нинджа же прекрасно отслеживает зависимости и запускает собственно сборщики. Каждой задаче - свой инструмент.

Забавный факт: единственной IDE, которая поддерживает одновременную разработку на Java и C++, является Android Studio

NetBeans - нее ?

Eclipse - тоже нее?

Хм. У меня это все описание вызывает ровно одно воспоминание: «Чего только не сделают, чтобы не ходить на овощную базу» (с) анекдот советских времен. У мавена невесть сколько лет есть плагин, позволяющий выполнять код на груви изнутри, с доступом к модели проекта. В этом коде можно сделать все, вообще все. Все что вы будете или делаете в gradle, например.

А дальше вопрос стоит просто: вы предпочитаете питон груви? Ну не вопрос, пишите тогда на питоне. Я же предпочту груви питону в 99% случаев. Поэтому у меня в мавене нестандартные задачи решаются сравнительно легко и просто. Надо процедурный код написать — пишем. Не надо — используем механизмы мавена. Пока на IDE наш процедурный код не влияет — интеграция с ней также хороша.

гм, а не хотите связку Jenkins + SCons попробовать?

В Дженкинсе удобно распихать глобальные мазки и Ява. Плагинов море, Груви поддерживается.

Сконс удобно допиливать на питоне, и настроить билд С++ можно гибко.

Но это я так, спросить

Но Python — это здорово

Согласен, но его тоже можно превратить в раздутый кошмар, даже быстрее чем все перечисленные системы сборки.

Мы даже не пробовали Gradle в проекте

Ну и зря решили соригинальничать. Gradle хоть и может показаться сложным, но универсален. Да, там в нём надо разбираться, но магии никакой нет. Плагины можно писать прямо внутри проекта.


А так чувствую, что если эту систему на Python продолжать развивать, то в итоге когда-нибудь получится аналог Gradle, с такой же "магией".

Не совсем понятно почему Make не устраивает. Make всеядный.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий