Example #1
0
        public Task <RepositoryName> GetRepositoryNameFromLocalDirectoryPath(LocalRepositoryDirectoryPath localRepositoryDirectoryPath)
        {
            // Example: C:\Code\DEV\Git\GitHub\SafetyCone\R5T.Aalborg\
            var directoryPath = localRepositoryDirectoryPath.Value;

            var repositoryDirectoryName = this.StringlyTypedPathOperator.GetDirectoryNameForDirectoryPath(directoryPath);

            var organizationDirectoryPath = this.StringlyTypedPathOperator.GetParentDirectoryPathForDirectoryPath(directoryPath);

            var organizationDirectoryName = this.StringlyTypedPathOperator.GetDirectoryNameForDirectoryPath(organizationDirectoryPath);

            var remoteRepositoryProviderDirectoryPath = this.StringlyTypedPathOperator.GetParentDirectoryPathForDirectoryPath(organizationDirectoryPath);

            var remoteRepositoryProviderDirectoryName = this.StringlyTypedPathOperator.GetDirectoryNameForDirectoryPath(remoteRepositoryProviderDirectoryPath);

            // Convention is to directly use the directory names.
            var remoteRepositoryProviderNameToken = remoteRepositoryProviderDirectoryName;
            var organizationNameToken             = organizationDirectoryName;
            var repositoryNameToken = repositoryDirectoryName;

            var repositoryNameValue = $"{remoteRepositoryProviderNameToken}/{organizationNameToken}/{repositoryNameToken}";

            var repositoryName = RepositoryName.From(repositoryNameValue);

            return(Task.FromResult(repositoryName));
        }
Example #2
0
        public static async Task <RepositoryNameAndLocalDirectoryPathMapping> GetRepositoryNameAndLocalDirectoryPathMapping(
            this IRepositoryNameFromLocalDirectoryPathConvention repositoryNameFromLocalDirectoryPathConvention,
            LocalRepositoryDirectoryPath localRepositoryDirectoryPath)
        {
            var repositoryName = await repositoryNameFromLocalDirectoryPathConvention.GetRepositoryNameFromLocalDirectoryPath(localRepositoryDirectoryPath);

            var mapping = new RepositoryNameAndLocalDirectoryPathMapping(repositoryName, localRepositoryDirectoryPath);

            return(mapping);
        }
Example #3
0
        protected override Task <RepositoryNameAndLocalDirectoryPathMapping> DeserializeTokens(string[] tokens)
        {
            var repositoryNameToken = tokens[0];
            var localRepositoryDirectoryPathToken = tokens[1];

            var repositoryName = RepositoryName.From(repositoryNameToken);
            var localRepositoryDirectoryPath = LocalRepositoryDirectoryPath.From(localRepositoryDirectoryPathToken);

            var mapping = new RepositoryNameAndLocalDirectoryPathMapping(repositoryName, localRepositoryDirectoryPath);

            return(Task.FromResult(mapping));
        }