История изменений
Исправление matumba, (текущая версия) :
Есть http://cakebuild.net
После беглого просмотра сложилось впечатление, что это не совсем то. Могу ошибаться, но вот неприятные ньюансы:
1. Как и в MSBuild, расширения пишутся отдельно ( http://cakebuild.net/documentation/script-aliases/ ) - уже серьёзный минус.
2. Не совсем внятный формат конфига: с одной стороны, в нём C#-подобный chaining. С другой, пишутся какие-то лямбды с неизвестным набором функций, причём вызываемых с некорректным C# синтаксисом. Это смущает - модель должна быть либо полностью C# conform, либо иметь человеческий синтаксис. Например, такой:
TASK "EditConfig" {
Depends "config.json"
Source "forms/*.cs"
AfterBuild {
Say "Config is built"
CopyFile "config" "distr/config"
}
}
UTILS {
void Say(params object[] args) {
Console.WriteLine(args);
}
}
AUTORUN {
Say "Build started at "+Now
if (arg == "all") Build "EditConfig"
}
Исходная версия matumba, :
Есть http://cakebuild.net
После беглого просмотра сложилось впечатление, что это не совсем то. Могу ошибаться, но вот неприятные ньюансы:
1. Как и в MSBuild, расширения пишутся отдельно ( http://cakebuild.net/documentation/script-aliases/ ) - уже серьёзный минус.
2. Не совсем внятный формат конфига: с одной стороны, в нём C#-подобный chaining. С другой, пишутся какие-то лямбды с неизвестным набором функций, причём вызываемых с некорректным C# синтаксисом. Это смущает - модель должна быть либо полностью C# conform, либо иметь человеческий синтаксис. Например,
[code]
TASK «EditConfig» {
Depends «config.json»
Source «forms/*.cs»
AfterBuild {
Say «Config is built»
CopyFile «config» «distr/config»
}
}
UTILS {
void Say(params object[] args) {
Console.WriteLine(args);
}
}
AUTORUN {
Say «Build started at »+Now
if (arg == «all») Build «EditConfig»
}
[/code]
Ну то есть ничто не мешает парсить UTILS как корректный C# код, но при этом «по-человечески» юзать его в остальном конфиге. И всё это в едином файле, который можно править на лету.