public static ProjectManifest GetEmpty(string projectName, ManifestKind kind)
 {
     return(new ProjectManifest
     {
         ApiVersion = "apps/v1",
         Kind = kind,
         Metadata = new MetadataBase
         {
             Name = projectName
         }
     });
 }
 public static TaskBase GetApiServiceInstance(ManifestKind enm, IServiceProvider services)
 {
     MemberInfo[] mi = enm.GetType().GetMember(enm.ToString());
     if (mi != null && mi.Length > 0)
     {
         MappedApiServiceAttribute attr = Attribute.GetCustomAttribute(mi[0],
                                                                       typeof(MappedApiServiceAttribute)) as MappedApiServiceAttribute;
         if (attr != null)
         {
             return(Activator.CreateInstance(attr.targetType, new object[] { services }) as TaskBase);
         }
     }
     throw new ArgumentOutOfRangeException($"No service mapped to {enm.ToString()}");
 }
Exemple #3
0
        public async Task WriteManifestAsync(AzDoServices.Dtos.Project project, ManifestKind manifest, string content)
        {
            var filePath = GetFilePath(project.Name, manifest);

            using var op = IcClient.BeginOperation($"Writing file [{filePath}] ...");

            await EnsureProjectDirectory(project);

            if (File.Exists(filePath))
            {
                op.Message("Deleting existing file...");
                File.Delete(filePath);
            }
            await File.WriteAllTextAsync(filePath, content);
        }
Exemple #4
0
 private string GetFilePath(string projectName, ManifestKind manifest)
 {
     return(Path.Combine(GetProjectRootDirectory(projectName), $"{manifest.ToString()}.yaml"));
 }