public List <SolutionImportResult> ImportSolutions( string logsFolder, string configFilePath) { if (!Directory.Exists(logsFolder)) { throw new Exception($"{logsFolder} does not exist"); } if (!File.Exists(configFilePath)) { throw new Exception($"{configFilePath} does not exist"); } Logger.LogVerbose("Parsing import json file {0}", configFilePath); SolutionImportConfig config = Serializers.ParseJson <SolutionImportConfig>(configFilePath); Logger.LogVerbose("Finished parsing import json file {0}", configFilePath); Logger.LogVerbose("{0} solution for import found", config.Solutions.Count); FileInfo configInfo = new FileInfo(configFilePath); List <SolutionImportResult> results = ImportSolutions( configInfo.Directory.FullName, logsFolder, config); return(results); }
public List <bool> PackSolutions( string solutionPackager, string outputFolder, string configFilePath, string logsDirectory) { if (!File.Exists(solutionPackager)) { throw new Exception(string.Format("SolutionPackager.exe file couldn't be found at {0}", solutionPackager)); } if (!Directory.Exists(outputFolder)) { throw new Exception(string.Format("outputFolder couldn't be found at {0}", outputFolder)); } if (!File.Exists(configFilePath)) { throw new Exception(string.Format("Config file couldn't be found at {0}", configFilePath)); } SolutionPackConfig config = Serializers.ParseJson <SolutionPackConfig>(configFilePath); List <bool> results = new List <bool>(); foreach (SolutionPackOptions option in config.Solutions) { string configDirectory = new FileInfo(configFilePath).DirectoryName; string folder = Path.Combine(configDirectory, option.Folder); string mapping = Path.Combine(configDirectory, option.MappingFile); bool result = PackSolution( solutionPackager, outputFolder, folder, option.PackageType, option.IncludeVersionInName, mapping, option.SourceLoc, option.Localize, option.TreatWarningsAsErrors, option.IncrementReleaseVersion, option.Version, logsDirectory ); results.Add(result); if (!result) { break; } } Logger.LogInformation("{0} solutions processed out of {1}", results.Count, config.Solutions.Count); return(results); }
public List <string> ExportSolutions( string outputFolder, string configFilePath) { SolutionExportConfig config = Serializers.ParseJson <SolutionExportConfig>(configFilePath); List <string> solutionFilePaths = ExportSolutions(outputFolder, config); return(solutionFilePaths); }
public Assembly ReadMappingFile(string mappingFile) { var fileInfo = new FileInfo(mappingFile); switch (fileInfo.Extension.ToLower()) { case ".json": logVerbose("Reading mapping json file"); var pluginAssembly = Serializers.ParseJson <Assembly>(mappingFile); logVerbose("Deserialized mapping json file"); return(pluginAssembly); case ".xml": logVerbose("Reading mapping xml file"); pluginAssembly = Serializers.ParseXml <Assembly>(mappingFile); logVerbose("Deserialized mapping xml file"); return(pluginAssembly); default: throw new ArgumentException("Only .json and .xml mapping files are supported", nameof(ReadMappingFile)); } }
private void LoadList() { ConnectionList = Serializers.ParseJson <XrmConnectionInfoList>(ConfigPath); }