Подтвердить что ты не робот

Есть ли какой-нибудь Maven-инструмент, который работает на многих языках?

Я пытаюсь найти такой инструмент, как Maven (стандартизованная сборка и упаковка, ретрансляция артефакта и т.д.), которая поддерживает больше, чем Java (и C/С++), в частности Python и .NET(С#). Желательно особенно хорошее управление зависимостями.

Мы используем смешанный магазин языков на нашем месте, и текущая домашняя "über-buildsystem" на основе python должна, вероятно, уйти. Обратите внимание, что он не пытается делать подробные сборки, просто обрабатывает зависимости между модулями/проектами, загружает скомпилированные артефакты (несколько сотен мегабайт на библиотеку в случае С++) и вызывает msbuild/easy_install/etc в существующем .sln/.vcproj/etc, чтобы получить реальную сборку.

Это работает, но в основном потому, что я его создал и знаю, что он может и чего не может сделать, и продлеваю его, когда мне нужны новые вещи. Это не помогло другим разработчикам в этом заняться, и я все больше чувствую, что мы не должны фокусироваться на этом. (Несмотря на то, что это не так много работает и, похоже, не является убедительной альтернативой.)

Итак:

  • Python setuptools представляется только для Python (и некоторой компиляции С++ → .pyd).
  • Maven в основном использует Java и некоторые C/С++, в основном для JNI.
  • Для C/С++ есть... ничего? (qmake/cmake для строительства)
  • Для .NET есть некоторые вещи, но хорошо ли они работают за пределами Visual Studio и инструментальной привязки MSFT?

Создание еще одного Maven (но с более гибкой поддержкой) поверх Ant (с использованием Beanshell в основном) - это то, что я уже сделал. Текущий Python-материал является ответвлением этого.

Update:

Ant + Ivy потребовалось бы построить немного сверху, как я указал выше, но это, вероятно, лучший фундамент, чем то, что у нас есть сегодня, поскольку мы получаем больше задач сборки и репозитария артефакта из коробки. (См. Maven Как управление зависимостями для С++)

Вся помощь тепло ценится!

4b9b3361

Ответ 1

Попробуйте waf.