private static void SetupRelatedProject(ProjectReference reference, LogPackages log) { var fileName = Path.GetFileName(reference.Include); var localName = Path.GetFileName(Path.GetDirectoryName(reference.Include)); var referenceName = reference.Name; // another hardcode for resolving the names quickly if (String.IsNullOrEmpty(referenceName)) { referenceName = localName; if (referenceName.StartsWith("Metro.") || referenceName.StartsWith("FlexQueue.")) { referenceName = "CnetContent." + localName; } } var includePath = Path.Combine(Args.RelatedPath, localName, fileName); // quick dirty hardcode below with calling tools with specific paths and arguments var blobVersion = String.Format("{0}/version.txt", referenceName); var localVersion = String.Format(@"{0}\{1}.txt", Args.RelatedPath, localName); Execute.Run( "CCNet.Build.AzureDownload.exe", String.Format( @"Storage=Devbuild Container=build ""BlobFile={0}"" ""LocalFile={1}""", blobVersion, localVersion)); var version = File.ReadAllText(localVersion); var blobSnapshot = String.Format("{0}/{1}/{0}.snapshot.zip", referenceName, version); var localSnapshot = String.Format(@"{0}\{1}.zip", Args.RelatedPath, localName); Execute.Run( "CCNet.Build.AzureDownload.exe", String.Format( @"Storage=Devbuild Container=snapshot ""BlobFile={0}"" ""LocalFile={1}""", blobSnapshot, localSnapshot)); var localFolder = String.Format(@"{0}\{1}", Args.RelatedPath, localName); Execute.Run( @"C:\Program Files\7-Zip\7z.exe", String.Format(@"x ""-o{0}"" ""{1}""", localFolder, localSnapshot)); reference.UpdateLocation(includePath); log.Add( referenceName, new LogPackage { PackageId = referenceName, ProjectName = referenceName, ProjectUrl = String.Format("http://rufc-devbuild.cneu.cnwk/ccnet/server/Azure/project/{0}/ViewProjectReport.aspx", referenceName), IsLocal = true, SourceVersion = null, BuildVersion = new Version(version), ProjectReference = true }); }
private void SetupRelatedProject(ProjectReference reference) { var fileName = Path.GetFileName(reference.Include); var folderName = Path.GetFileName(Path.GetDirectoryName(reference.Include)); var referenceName = reference.Name; Console.WriteLine($"Resolving related project '{fileName}'..."); if (String.IsNullOrEmpty(referenceName)) { referenceName = folderName; // quick dirty hardcode below for resolving names if (referenceName.StartsWith("Metro.") || referenceName.StartsWith("FlexQueue.")) { referenceName = "CnetContent." + folderName; } } // quick dirty hardcode below with calling tools with specific paths and arguments var versionBlob = $"{referenceName}/version.txt"; var versionLocal = $@"{Args.RelatedPath}\{folderName}.txt"; Execute.Run( "CCNet.Build.AzureDownload.exe", $@"Storage=Devbuild Container=build ""BlobFile={versionBlob}"" ""LocalFile={versionLocal}"""); var version = File.ReadAllText(versionLocal); var sourceBlob = $"{referenceName}/{version}/source.zip"; var sourceLocal = $@"{Args.RelatedPath}\{folderName}.source.zip"; Execute.Run( "CCNet.Build.AzureDownload.exe", $@"Storage=Devbuild Container=snapshot ""BlobFile={sourceBlob}"" ""LocalFile={sourceLocal}"""); var packagesBlob = $"{referenceName}/{version}/packages.zip"; var packagesLocal = $@"{Args.RelatedPath}\{folderName}.packages.zip"; Execute.Run( "CCNet.Build.AzureDownload.exe", $@"Storage=Devbuild Container=snapshot ""BlobFile={packagesBlob}"" ""LocalFile={packagesLocal}"""); var sourceFolder = $@"{Args.RelatedPath}\{folderName}"; Execute.Run(@"C:\Program Files\7-Zip\7z.exe", $@"x ""-o{sourceFolder}"" ""{sourceLocal}"""); var packagesFolder = $@"{Args.RelatedPath}\packages"; Execute.Run(@"C:\Program Files\7-Zip\7z.exe", $@"x ""-o{packagesFolder}"" ""{packagesLocal}"""); // update project location and report as referenced package var includePath = Path.Combine(Args.RelatedPath, folderName, fileName); reference.UpdateLocation(includePath); m_log.Add( referenceName, new LogPackage { PackageId = referenceName, ProjectName = referenceName, ProjectUrl = $"http://rufc-devbuild.cneu.cnwk/ccnet/server/Azure/project/{referenceName}/ViewProjectReport.aspx", IsLocal = true, SourceVersion = null, BuildVersion = new Version(version), ProjectReference = true }); }