private void SaveExternalXRefSpec()
 {
     CurrentBuildVersionInfo.ExternalXRefSpecFile = IncrementalUtility.CreateRandomFileName(CurrentBuildVersionInfo.BaseDir);
     using (var writer = File.CreateText(Path.Combine(CurrentBuildVersionInfo.BaseDir, CurrentBuildVersionInfo.ExternalXRefSpecFile)))
     {
         Context.SaveExternalXRefSpec(writer);
     }
 }
Exemplo n.º 2
0
        public Stream SaveContextInfo()
        {
            if (!_increContext.ShouldTraceIncrementalInfo)
            {
                Logger.LogVerbose("Could not save current context info since should not trace incremental information.");
                return(null);
            }

            var currentPostProcessorInfo = FindPostProcessorInfo(_increContext.CurrentInfo, _postProcessorName);

            currentPostProcessorInfo.ContextInfoFile = IncrementalUtility.CreateRandomFileName(_increContext.CurrentBaseDir);

            return(EnvironmentContext.FileAbstractLayer.Create(Path.Combine(_increContext.CurrentBaseDir, currentPostProcessorInfo.ContextInfoFile)));
        }
Exemplo n.º 3
0
        private static void PrepareCachedOutput(
            string intermediateFolder,
            BuildInfo lastBuildInfo,
            string appendContent,
            List <ManifestItem> manifestItems,
            string additionalFileExtension,
            params string[] fileNames)
        {
            var baseFolder         = Path.Combine(intermediateFolder, lastBuildInfo.DirectoryName);
            var postProcessOutputs = lastBuildInfo.PostProcessInfo.PostProcessOutputs;

            foreach (var fileName in fileNames)
            {
                var cachedHtmlName = IncrementalUtility.CreateRandomFileName(baseFolder);
                var htmlContent    = $"{fileName}{appendContent}";
                CreateFile($"{cachedHtmlName}", htmlContent, baseFolder);
                postProcessOutputs.Add($"{fileName}.html", cachedHtmlName);

                var cachedMetaName = IncrementalUtility.CreateRandomFileName(baseFolder);
                CreateFile($"{cachedMetaName}", $"{fileName}{MetaAppendContent}", baseFolder);
                postProcessOutputs.Add($"{fileName}.mta.json", cachedMetaName);

                if (!string.IsNullOrEmpty(additionalFileExtension))
                {
                    var relativePath = $"{fileName}{additionalFileExtension}";
                    var cachedManifestItemsFileName = IncrementalUtility.CreateRandomFileName(baseFolder);
                    CreateFile($"{cachedManifestItemsFileName}", htmlContent, baseFolder);
                    postProcessOutputs.Add(relativePath, cachedManifestItemsFileName);

                    var item = manifestItems.FirstOrDefault(i => Path.ChangeExtension(i.SourceRelativePath, null) == fileName);
                    if (item != null)
                    {
                        item.OutputFiles.Add($"{additionalFileExtension}", new OutputFileInfo {
                            RelativePath = relativePath
                        });
                        lastBuildInfo.PostProcessInfo.ManifestItems.Add(item);
                    }
                }
            }
        }