public RoundhouseMigrationRunner( string repository_path, Environment environment, KnownFolders known_folders, FileSystemAccess file_system, DatabaseMigrator database_migrator, VersionResolver version_resolver, bool silent, bool dropping_the_database, bool dont_create_the_database, bool run_in_a_transaction, bool use_simple_recovery, ConfigurationPropertyHolder configuration) { this.known_folders = known_folders; this.repository_path = repository_path; this.environment = environment; this.file_system = file_system; this.database_migrator = database_migrator; this.version_resolver = version_resolver; this.silent = silent; this.dropping_the_database = dropping_the_database; this.dont_create_the_database = dont_create_the_database; this.run_in_a_transaction = run_in_a_transaction; this.use_simple_recovery = use_simple_recovery; this.configuration = configuration; }
protected virtual bool Run() { var currentDirectory = Directory.GetCurrentDirectory(); var rootRepositoryDirectory = VersionResolver.GetRootRepositoryDirectoryOf(currentDirectory); Log($"{nameof(BaseGit)}.{nameof(Run)}: current directory = {currentDirectory}, root repository directory = {rootRepositoryDirectory}"); var rawDependencies = JsonConvert.DeserializeObject <CompileDependencies>(File.ReadAllText(DependencyFile)); var userDefinedDependencies = readUserDefinedDependencies(); var userDefinedAuthentication = readUserDefinedAuth(); var dependencies = MergeDependencies(rawDependencies, userDefinedDependencies, userDefinedAuthentication); Names = dependencies.Select(d => $@"{d.OutputFolder}\build.xml").ToArray(); try { IndentLevel++; using (var myRepository = new Repository(rootRepositoryDirectory.FullName)) { foreach (var dependency in dependencies) { if (dependency.UseGit) { var cloneOptions = new CloneOptions() { CredentialsProvider = (_url, _user, _cred) => dependency.GetCredentials(Authentication) }; if (dependency.Branch == "autoversioning") { HandleAutoVersioning(myRepository, rawDependencies.ShortName, dependency, cloneOptions); } else { HandleFixedVersioning(dependency, cloneOptions); } } else { Log($"Dependency {dependency} does not use a remote repository"); } } } } finally { IndentLevel--; } return(true); }
[InlineData("Cuemon", "version.json", "6.0.0-preview.{height}.11")] // https://github.com/gimlichael/Cuemon public void GetVersionTest(string repositoryName, string versionPath, string expectedVersion) { string path = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), @"Source\Repos", repositoryName); GitRepository repository = new GitRepository(path); VersionResolver resolver = new VersionResolver(repository, versionPath, NullLogger <VersionResolver> .Instance); var version = resolver.GetVersion(); Assert.Equal(expectedVersion, version); }
private string GetInstalledRuntimeVersion(ContextName context) { using (var contextKey = PackageRegistry.OpenRegistryRoot(false, context)) { if (contextKey == null) { return(null); } string installationPath = (string)contextKey.GetValue("InstallationPath"); return(VersionResolver.GetVersion( PackageManager.GetEntryAssemblyLocation(installationPath) )); } }
public void TestVesionResolver_SearchForRepositoryRootFolder() { Trace.WriteLine(VersionResolver.GetRootRepositoryDirectoryOf(Directory.GetCurrentDirectory())); }
public void TestBuildAssemblyVersion() { VersionResolver.LoadFiles(@"..\..\..\TestData\versions.xml", @"..\..\..\TestData\revisions.xml"); Assert.AreEqual("1.2.3.5", VersionResolver.BuildAssemblyVersion("MajorVersion", "MinorVersion", "Release", "Revision")); }
public void TestVersionsUnexisting() { VersionResolver.LoadFiles("UnexistingFile"); Assert.AreEqual("", VersionResolver.Versions["UnexistingProperty"]); }