internal ProtobuildStandardDefinition (ProtobuildModuleInfo modulel, ProtobuildDefinitionInfo definitionl, XmlDocument document, IProtobuildModule moduleObj) { module = modulel; definition = definitionl; this.document = document; this.moduleObj = moduleObj; Initialize(this); }
protected ProtobuildNonStandardDefinition (ProtobuildModuleInfo modulel, ProtobuildDefinitionInfo definitionl, XmlDocument document, IProtobuildModule moduleObj) { module = modulel; definition = definitionl; this.document = document; this.moduleObj = moduleObj; Items = new ProjectItemCollection(); Initialize(this); }
public static IProtobuildDefinition CreateDefinition(ProtobuildModuleInfo modulel, ProtobuildDefinitionInfo definitionl, IProtobuildModule moduleObj) { var document = new XmlDocument (); document.Load(definitionl.DefinitionPath); switch (definitionl.Type) { case "External": return new ProtobuildExternalDefinition(modulel, definitionl, document, moduleObj); case "Content": return new ProtobuildContentDefinition(modulel, definitionl, document, moduleObj); default: return new ProtobuildStandardDefinition(modulel, definitionl, document, moduleObj); } }
internal ProtobuildExternalDefinition (ProtobuildModuleInfo modulel, ProtobuildDefinitionInfo definitionl, XmlDocument document, IProtobuildModule moduleObj) : base(modulel, definitionl, document, moduleObj) { Initialize(this); }
public ProtobuildModuleInfo LoadModule(string rootPath) { var moduleInfoType = internalAssembly.GetType("Protobuild.ModuleInfo"); var moduleInfoLoad = moduleInfoType.GetMethod("Load"); dynamic moduleRef = moduleInfoLoad.Invoke(null, new object[] { Path.Combine(rootPath, "Build", "Module.xml") }); /*if (monitor != null) { monitor.BeginStepTask ("Loading " + moduleRef.Name + "...", 1, 5); }*/ var moduleInfo = new ProtobuildModuleInfo(); moduleInfo.Name = moduleRef.Name; moduleInfo.Path = moduleRef.Path; moduleInfo.DefaultAction = moduleRef.DefaultAction; moduleInfo.DefaultLinuxPlatforms = moduleRef.DefaultLinuxPlatforms; moduleInfo.DefaultWindowsPlatforms = moduleRef.DefaultWindowsPlatforms; moduleInfo.DefaultMacOSPlatforms = moduleRef.DefaultMacOSPlatforms; moduleInfo.DisableSynchronisation = moduleRef.DisableSynchronisation; moduleInfo.GenerateNuGetRepositories = moduleRef.GenerateNuGetRepositories; moduleInfo.SupportedPlatforms = moduleRef.SupportedPlatforms; moduleInfo.DefaultStartupProject = moduleRef.DefaultStartupProject; moduleInfo.LoadedDefinitions = new List<ProtobuildDefinitionInfo> (); foreach (var definition in moduleRef.GetDefinitions ()) { var definitionInfo = new ProtobuildDefinitionInfo (); definitionInfo.Name = definition.Name; try { // Newer versions of Protobuild name this property RelativePath. definitionInfo.Path = definition.RelativePath; } catch (Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ex) { definitionInfo.Path = definition.Path; } definitionInfo.Type = definition.Type; definitionInfo.DefinitionPath = definition.DefinitionPath; definitionInfo.ModulePath = definition.ModulePath; definitionInfo.SkipAutopackage = definition.SkipAutopackage; moduleInfo.LoadedDefinitions.Add (definitionInfo); } moduleInfo.Packages = new List<ProtobuildPackageRef>(); foreach (var package in moduleRef.Packages) { var packageInfo = new ProtobuildPackageRef(); packageInfo.Uri = package.Uri; packageInfo.GitRef = package.GitRef; packageInfo.Folder = package.Folder; moduleInfo.Packages.Add(packageInfo); } moduleInfo.LoadedSubmodules = new List<ProtobuildModuleInfo> (); foreach (var submodule in moduleRef.GetSubmodules ()) { moduleInfo.LoadedSubmodules.Add (LoadModule (submodule.Path)); } return moduleInfo; }
public ProtobuildDefinitionHandler (ProtobuildDefinitionInfo definitionl) { definition = definitionl; }