private static void AddFileAssociations(this ApplicationManifest application, Project project) { Logger.Normal(Messages.Build_Process_FileAssociations); if (project.FileAssociations.Value is null) { Logger.Normal(Messages.Result_NoneFound, 1, 2); return; } foreach (var item in project.FileAssociations.Value.Split(':')) { var elements = item.Split(';'); var fileAssociation = new FileAssociation { Extension = elements[0], Description = elements[1], ProgId = elements[2], DefaultIcon = elements[3] }; Logger.Normal(fileAssociation.Extension, 1); application.FileAssociations.Add(fileAssociation); application.Add(project, Path.Combine(project.Source.Value, fileAssociation.DefaultIcon), fileAssociation.DefaultIcon, GlobKind.Files); } Logger.Normal(); }
private static void AddIconFile(this ApplicationManifest application, Project project) { Logger.Normal(Messages.Build_Process_IconFile); if (!application.Add(project, project.IconFile?.RootedPath, project.IconFile?.Value, GlobKind.Files)) { Logger.Normal(Messages.Result_NoneFound, 1); } Logger.Normal(); }
private static void AddGlob(this ApplicationManifest application, Project project, GlobOption glob) { var any = false; Logger.Normal(Messages.Build_Process_Glob_Adding, 0, 1, glob.Kind.ToString().SplitPascalCase().ToLowerInvariant()); foreach (var item in glob.ExpandRequired()) { any |= application.Add(project, Path.Combine(project.Source.Value, item), item, glob.Kind); } if (glob.Kind != GlobKind.DataFiles) { foreach (var item in glob.ExpandOptional()) { any |= application.Add(project, Path.Combine(project.Source.Value, item.Value), item.Value, glob.Kind, item.Key); } } if (!any) { Logger.Normal(Messages.Result_NoneFound, 1); } Logger.Normal(); }
private static void AddEntryPoint(this ApplicationManifest application, Project project) { Logger.Normal(Messages.Build_Process_EntryPoint); var assembly = project.EntryPoint.RootedPath; var assemblyIdentity = AssemblyIdentity.FromManagedAssembly(assembly); if (assemblyIdentity is null || project.UseLauncher.Value == UseLauncher.True) { if (project.UseLauncher.Value == UseLauncher.False) { throw new ApplicationException(string.Format(Messages.Build_Exceptions_EntryPoint_NotManaged, assembly)); } Logger.Normal(string.Format(Messages.Build_Process_Launcher, assembly), 1); assembly = LauncherBuilder.Build(project); assemblyIdentity = AssemblyIdentity.FromManagedAssembly(assembly); } if (assemblyIdentity is null) { throw new ApplicationException(Messages.Build_Exceptions_EntryPoint_Failed); } var assemblyReference = new AssemblyReference(assembly.Replace(".deploy", "")) { AssemblyIdentity = assemblyIdentity, TargetPath = Path.GetFileName(assembly.Replace(".deploy", "")) }; if (!application.Add(project, assembly, assemblyReference.TargetPath, GlobKind.Assemblies)) { throw new ApplicationException(Messages.Build_Exceptions_EntryPoint_Failed); } application.EntryPoint = assemblyReference; Logger.Normal(); }