use assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" use namespace="System" use namespace="System.Collections" use namespace="System.IO" use import="Files" use import="BuildEnv" use import="Environment" default BASE_DIR="${Directory.GetCurrentDirectory()}" var AUTHORS="Andrey Taritsyn" use-standard-lifecycle #resx description="Converts .resx files to .Designer.cs" target="initialize" @{ string currentDirPath; string originalCurrentDirPath = Environment.GetEnvironmentVariable("ORIGINAL_CURRENT_DIR"); string vsProjectDirPath= Environment.GetEnvironmentVariable("VS_PROJECT_DIR"); if (!string.IsNullOrEmpty(vsProjectDirPath)) { currentDirPath = vsProjectDirPath; } else if (!string.IsNullOrEmpty(originalCurrentDirPath)) { currentDirPath = originalCurrentDirPath; } else { currentDirPath = BASE_DIR; } Log.Info(string.Format('Processing of resx-files in "{0}" directory:', currentDirPath)); foreach (var filePath in Directory.EnumerateFiles(currentDirPath, "*.resx", SearchOption.AllDirectories)) { GenerateResx(filePath); string relativeFilePath = filePath.Substring(currentDirPath.Length); Log.Info(string.Format(' * "{0}" is processed', relativeFilePath)); } Log.Info(""); } macro name="GenerateResx" resxFile="string" generate-resx