public virtual ValueTask <Project> CreateOrModifyAsync(Project project, IFileSystemDictionary directoryContents) { if (project == null) { project = new Project(); } project.Name = directoryContents.Name; project.Paths = new List <string> { _fileSystem.GetRelativePath(directoryContents.Path) }; return(new ValueTask <Project>(project)); }
public override ValueTask <bool> IsMatchAsync(Project project, IFileSystemDictionary directoryContents) { if (project?.Framework == ProjectFramework.Django) { return(new ValueTask <bool>(true)); } if (directoryContents?.Count > 0) { foreach (var path in directoryContents.Keys) { if (path.Equals("manage.py", StringComparison.InvariantCultureIgnoreCase)) { return(new ValueTask <bool>(true)); } } } return(new ValueTask <bool>(false)); }
public override async ValueTask <Project> CreateOrModifyAsync(Project project, IFileSystemDictionary directoryContents) { project = await base.CreateOrModifyAsync(project, directoryContents); project.Framework = ProjectFramework.Django; project.Roles.TryAdd(ProjectRole.App); return(project); }
public override ValueTask <bool> ShouldIdentify(Project project, IFileSystemDictionary directoryContents) { return(new ValueTask <bool>(true)); }
public abstract ValueTask <bool> ShouldIdentify(Project project, IFileSystemDictionary directoryContents);
public abstract ValueTask <bool> IsMatchAsync(Project project, IFileSystemDictionary directoryContents);
public override async ValueTask <Project> CreateOrModifyAsync(Project project, IFileSystemDictionary directoryContents) { project = await base.CreateOrModifyAsync(project, directoryContents); project.Framework = ProjectFramework.Node; // TODO: determine type return(project); }
public override async ValueTask <Project> CreateOrModifyAsync(Project project, IFileSystemDictionary directoryContents) { project = await base.CreateOrModifyAsync(project, directoryContents); project.Framework = ProjectFramework.Dotnet; if (project.Name.Contains("test", StringComparison.InvariantCultureIgnoreCase)) { project.Roles.TryAdd(ProjectRole.Test); } else { project.Roles.TryAdd(ProjectRole.App); project.Port = Port; } Port++; return(project); }
public override ValueTask <bool> IsMatchAsync(Project project, IFileSystemDictionary directoryContents) { return(new ValueTask <bool>(true)); }