Работает ли система сборки Phantom под Mono?

Я ищу кроссплатформенные системы сборки для проектов .Net. Phantom выглядит интересно, однако мне интересно, будет ли он нормально работать в Linux с Mono. Он построен поверх Boo. Похоже, у Boo есть поддержка в Mono (http://www.mono-project.com/Boo), но я не слишком много знаю об этом.

Могу ли я использовать Phantom в системе Mono / Linux?


person ngm    schedule 19.04.2012    source источник


Ответы (1)


Я только что это проверил. Хотя это хороший кандидат, он не работает на 100% из коробки на (по крайней мере, моей) машине Linux. Мне удалось скомпилировать его с помощью xbuild (вы не можете сделать это с помощью phantom.exe в библиотеках, потому что он слишком старый, чтобы иметь важная проверка с точки зрения Mono). Многие модульные тесты Phantom проходят успешно, но не все, на самом деле, не могут сказать, являются ли они основными функциями. Также есть некоторые проблемы с корпусом, в основном с NuGet.exe, их можно обойти с помощью MONO_IOMAP. В общем, если вы ищете что-то протестированное и уже работающее, я бы не рекомендовал это (пока! - из github видно, что Linux хотя бы пыталась поддерживать).

Я могу предложить вам два альтернативных решения:

xbuild - это эквивалент MSBuild в Mono. В большинстве случаев он работает хорошо, хотя не все функции, присутствующие в MSBuild, реализованы. Формат sln / proj также используется в MonoDevelop и Visual Studio. Этого достаточно для многих проектов, например, это то, что используется в проекте Mooege и что я использовал больше всего. времени.

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

person konrad.kruczynski    schedule 20.04.2012
comment
Спасибо за обстоятельный ответ! И спасибо за рекомендации. Я надеялся найти что-то более похожее на сценарий и менее основанное на XML. Я использую psake в Windows и считаю его очень хорошим. Однако, будучи построенным на PowerShell, я не думаю, что у него много шансов работать с Mono / Linux. Другой возможный вариант - rake / albacore, но опять же, я не думаю, что Mono поддерживается. Я надеялся, что Phantom сможет использовать поддержку Mono Boo, но я думаю, что это еще не все. Я, вероятно, выберу NAnt или xbuild, по крайней мере, они стабильны и поддерживаются. - person ngm; 20.04.2012
comment
Или существует также потенциально ПОДДЕЛЬНЫЙ (github.com/forki/FAKE) сценарий сборки F #, но опять же я не уверен в поддержке Mono. Вот это - ›github.com/forki/FAKE/pull/25, но довольно уверен, что сейчас это тоже нестабильно. - person ngm; 20.04.2012