当前位置: 首页>>代码示例>>C#>>正文


C# IBuildContext类代码示例

本文整理汇总了C#中IBuildContext的典型用法代码示例。如果您正苦于以下问题:C# IBuildContext类的具体用法?C# IBuildContext怎么用?C# IBuildContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IBuildContext类属于命名空间,在下文中一共展示了IBuildContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddToContext

        /// <summary>
        /// Adds the builders (<see cref="IBuilder"/>) to the given build context which process
        /// the given set of projects (<see cref="Project"/>)
        /// </summary>
        /// <param name="context">Current build context</param>
        /// <param name="projects">Projects to be built</param>
        public IBuilder AddToContext(IBuildContext context, IEnumerable<Project> projects)
        {
            Contract.Requires(context != null);
            Contract.Requires(projects != null);

            return null; // dummy value
        }
开发者ID:zvrana,项目名称:bari,代码行数:13,代码来源:IProjectBuilderFactory.cs

示例2: Build

	public override Result Build (IBuildContext ctxt) 
	{
	    // A more orthodox subclass might call Rule.CreateResultObject
	    // and do some value.CopyValueTo (result), but this is simpler.

	    return (Result) value.Clone ();
	}
开发者ID:emtees,项目名称:old-code,代码行数:7,代码来源:CloneRule.cs

示例3: Run

        public override void Run(IBuildContext context)
        {
            if (context.Project.HasErrors)
            {
                context.Trace.TraceInformation(Msg.D1004, Texts.Package_contains_errors_and_will_not_be_deployed);
                context.IsAborted = true;
                return;
            }

            context.Trace.TraceInformation(Msg.D1005, Texts.Copying_package_to_website___);

            foreach (var pair in context.Configuration.GetSubKeys("copy-package"))
            {
                var key = "copy-package:" + pair.Key;

                var destinationDirectory = context.Configuration.GetString(key + ":copy-to-directory");
                if (string.IsNullOrEmpty(destinationDirectory))
                {
                    context.Trace.TraceError(Msg.D1006, Texts.Destination_directory_not_found, key + ":copy-to-directory");
                    continue;
                }

                destinationDirectory = PathHelper.NormalizeFilePath(destinationDirectory).TrimStart('\\');
                destinationDirectory = PathHelper.Combine(context.Configuration.Get(Constants.Configuration.DataFolderDirectory), destinationDirectory);

                context.FileSystem.CreateDirectory(destinationDirectory);

                foreach (var fileName in context.OutputFiles)
                {
                    var destinationFileName = PathHelper.Combine(destinationDirectory, Path.GetFileName(fileName));
                    context.FileSystem.Copy(fileName, destinationFileName);
                }
            }
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:34,代码来源:CopyPackage.cs

示例4: Run

        public override void Run(IBuildContext context)
        {
            context.IsAborted = true;
            context.Trace.TraceInformation(Msg.M1012, Texts.Writing_website_exports___);

            var url = MakeWebApiUrl(context, "WriteWebsiteExports");
            var targetFileName = Path.GetTempFileName();

            if (!DownloadFile(context, url, targetFileName))
            {
                return;
            }

            using (var zip = ZipFile.OpenRead(targetFileName))
            {
                foreach (var entry in zip.Entries)
                {
                    context.Trace.TraceInformation(Msg.M1013, entry.FullName);

                    var fileName = Path.Combine(context.ProjectDirectory, entry.FullName);
                    context.FileSystem.CreateDirectory(Path.GetDirectoryName(fileName) ?? string.Empty);

                    entry.ExtractToFile(fileName, true);
                }
            }

            context.FileSystem.DeleteFile(targetFileName);
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:28,代码来源:WriteWebsiteExports.cs

示例5: OnPerpare

        /// <summary>
        ///     The on perpare.
        /// </summary>
        /// <param name="context">
        ///     The context.
        /// </param>
        public override void OnPerpare(IBuildContext context)
        {
            if (context.Target != null) return;

            context.ErrorTracer.Phase = "Reciving Construtor Informations for " + context.Metadata;

            IImportInterceptor interceptor;

            context.Policys.Add(
                new ConstructorPolicy
                {
                    Constructor =
                        context.UseInternalInstantiation()
                            ? Helper.WriteDefaultCreation(context)
                            : context.Metadata.Export.ExternalInfo.Create,
                    Generator =
                        _service.Generate(context.Metadata, context.Metadata.Export.ImportMetadata.ToArray(),
                                          out interceptor)
                });

            if (interceptor == null) return;

            var pol = context.Policys.Get<ExternalImportInterceptorPolicy>();

            if (pol != null) pol.Interceptors.Add(interceptor);
            else
            {
                pol = new ExternalImportInterceptorPolicy();
                pol.Interceptors.Add(interceptor);

                context.Policys.Add(pol);
            }
        }
开发者ID:Tauron1990,项目名称:Tauron-Application-Common,代码行数:39,代码来源:InstantiationStrategy.cs

示例6: Run

        public override void Run(IBuildContext context)
        {
            Context = context;
            Context.IsAborted = true;

            var include = context.Configuration.GetString(Constants.Configuration.WatchProjectInclude, "**");
            var exclude = context.Configuration.GetString(Constants.Configuration.WatchProjectExclude, "**");
            _pathMatcher = new PathMatcher(include, exclude);

            _publishDatabase = context.Configuration.GetBool(Constants.Configuration.WatchProjectPublishDatabase, true);

            _fileWatcher = new FileSystemWatcher(context.ProjectDirectory)
            {
                IncludeSubdirectories = true,
                NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName
            };

            _fileWatcher.Changed += FileChanged;
            _fileWatcher.Deleted += FileChanged;
            _fileWatcher.Renamed += FileChanged;
            _fileWatcher.Created += FileChanged;
            _fileWatcher.Created += FileChanged;

            _fileWatcher.EnableRaisingEvents = true;

            Console.WriteLine(Texts.Type__q__to_quit___);

            string input;
            do
            {
                input = Console.ReadLine();
            }
            while (!string.Equals(input, "q", StringComparison.OrdinalIgnoreCase));
        }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:34,代码来源:WatchProject.cs

示例7: GetPath

		public string GetPath (IBuildContext ctxt) {
			if (dir == null)
				return null;

			string p = ctxt.PathTo (dir);
			return Path.Combine (p, name);
		}
开发者ID:emtees,项目名称:old-code,代码行数:7,代码来源:MBFile.cs

示例8: Run

        public override void Run(IBuildContext context)
        {
            context.Trace.TraceInformation(Msg.D1000, Texts.Copying_dependencies___);

            var sourceDirectory = context.Configuration.Get(Constants.Configuration.CopyDependenciesSourceDirectory);
            sourceDirectory = Path.Combine(context.ProjectDirectory, sourceDirectory);
            if (!context.FileSystem.DirectoryExists(sourceDirectory))
            {
                context.Trace.TraceInformation(Msg.D1003, Texts.Dependencies_directory_not_found__Skipping, sourceDirectory);
                return;
            }

            foreach (var pair in context.Configuration.GetSubKeys("copy-package"))
            {
                var key = "copy-package:" + pair.Key;

                var destinationDirectory = context.Configuration.GetString(key + ":copy-to-directory");
                if (string.IsNullOrEmpty(destinationDirectory))
                {
                    context.Trace.TraceError(Msg.D1001, Texts.Destination_directory_not_found, key + ":copy-to-directory");
                    continue;
                }

                destinationDirectory = PathHelper.NormalizeFilePath(destinationDirectory).TrimStart('\\');
                destinationDirectory = PathHelper.Combine(context.Configuration.Get(Constants.Configuration.DataFolderDirectory), destinationDirectory);

                context.FileSystem.CreateDirectory(destinationDirectory);

                CopyNuGetPackages(context, sourceDirectory, destinationDirectory);
            }
        }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:31,代码来源:CopyDependencies.cs

示例9: EnumerableImpl

 public EnumerableImpl(object key, Type type, Type resultType, IBuildContext firstBuildCtx, ICRegILGen firstReg)
 {
     _key = key;
     _type = type;
     _resultType = resultType;
     _list.Add(new KeyValuePair<IBuildContext, ICRegILGen>(firstBuildCtx, firstReg));
 }
开发者ID:mano-cz,项目名称:BTDB,代码行数:7,代码来源:EnumerableImpl.cs

示例10: Run

        public override void Run(IBuildContext context)
        {
            if (context.Project.HasErrors)
            {
                return;
            }

            context.Trace.TraceInformation(Msg.D1015, Texts.Writing_package_exports___);

            var fileName = PathHelper.Combine(context.ProjectDirectory, context.Configuration.GetString(Constants.Configuration.WriteExportsFileName));

            var fieldToWrite = context.Configuration.GetString(Constants.Configuration.WriteExportsFieldsToWrite).Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries).Select(f => f.Trim()).ToList();

            using (var writer = new StreamWriter(fileName))
            {
                using (var output = new XmlTextWriter(writer))
                {
                    output.Formatting = Formatting.Indented;

                    output.WriteStartElement("Exports");

                    foreach (var template in context.Project.ProjectItems.OfType<Template>().Where(template => !template.IsImport))
                    {
                        template.WriteAsExportXml(output);
                    }

                    foreach (var item in context.Project.ProjectItems.OfType<Item>().Where(item => !item.IsImport))
                    {
                        item.WriteAsExportXml(output, fieldToWrite);
                    }

                    output.WriteEndElement();
                }
            }
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:35,代码来源:WriteExports.cs

示例11: Run

        public override void Run(IBuildContext context)
        {
            context.Trace.TraceInformation(Msg.S1000, Texts.SynchronizingWebsite);

            var url = MakeWebApiUrl(context, "SynchronizeWebsite");
            var targetFileName = Path.GetTempFileName();

            if (!DownloadFile(context, url, targetFileName))
            {
                return;
            }

            context.Trace.TraceInformation(Msg.S1001, Texts.Updating_resources___);

            using (var zip = ZipFile.OpenRead(targetFileName))
            {
                foreach (var entry in zip.Entries)
                {
                    context.Trace.TraceInformation(Msg.S1002, entry.FullName);
                    entry.ExtractToFile(Path.Combine(context.ProjectDirectory, entry.FullName), true);
                }
            }

            context.FileSystem.DeleteFile(targetFileName);
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:25,代码来源:SynchronizeWebsite.cs

示例12: Run

        public override void Run(IBuildContext context)
        {
            if (context.Project.HasErrors)
            {
                context.Trace.TraceInformation(Msg.D1017, Texts.Package_contains_errors_and_will_not_be_deployed);
                context.IsAborted = true;
                return;
            }

            context.Trace.TraceInformation(Msg.D1023, Texts.Creating_npm_module___);

            var npmFileName = Path.Combine(context.ProjectDirectory, "package.json");
            if (!context.FileSystem.FileExists(npmFileName))
            {
                context.Trace.TraceInformation(Msg.D1024, Texts._package_json__file_not_found__Skipping_);
                return;
            }

            var process = new Process();
            process.StartInfo.FileName = "npm";
            process.StartInfo.Arguments = "pack";
            process.StartInfo.WorkingDirectory = context.ProjectDirectory;
            process.StartInfo.UseShellExecute = true;
            process.StartInfo.CreateNoWindow = true;
            process.Start();
            process.WaitForExit();

            var outputFileName = GetOutputFileName(context, npmFileName);
            if (!string.IsNullOrEmpty(outputFileName) && context.FileSystem.FileExists(outputFileName))
            {
                context.OutputFiles.Add(outputFileName);
            }
        }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:33,代码来源:PackNpmPackage.cs

示例13: Run

        public override void Run(IBuildContext context)
        {
            if (context.Project.HasErrors)
            {

                context.Trace.TraceInformation(Msg.D1012, Texts.Package_contains_errors_and_will_not_be_deployed);
                context.IsAborted = true;
                return;
            }

            context.Trace.TraceInformation(Msg.D1016, Texts.Publishing___);

            if (string.Equals(context.Project.Options.DatabaseName, "core", StringComparison.OrdinalIgnoreCase))
            {
                context.Trace.TraceInformation(Msg.D1013, Texts.Database_is__core___Skipping_);
                return;
            }

            context.Trace.TraceInformation(Msg.D1014, Texts.Database, context.Project.Options.DatabaseName);

            var queryStringParameters = new Dictionary<string, string>
            {
                ["m"] = "i",
                ["db"] = context.Project.Options.DatabaseName
            };

            var url = MakeUrl(context, context.Configuration.GetString(Constants.Configuration.PublishUrl), queryStringParameters);
            Request(context, url);
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:29,代码来源:PublishDatabase.cs

示例14: Run

        public ISet<TargetRelativePath> Run(IBuildContext context)
        {
            var targetDir = targetRoot.CreateDirectory(project.RelativeTargetPath);
            if (targetDir == null)
                targetDir = targetRoot.CreateDirectory(project.RelativeTargetPath);

            var sourceSet = project.GetSourceSet("scr");
            var result = new HashSet<TargetRelativePath>();
            foreach (var file in sourceSet.Files)
            {
                log.DebugFormat("Processing {0}", file);

                using (var reader = suiteRoot.ReadTextFile(file))
                {
                    var contents = reader.ReadToEnd();
                    var msg = String.Format("Hello {0}!!!", contents);
                    var fileName = Path.GetFileName(file);

                    using (var writer = targetDir.CreateTextFile(fileName + ".txt"))
                        writer.WriteLine(msg);

                    result.Add(new TargetRelativePath(project.RelativeTargetPath, fileName + ".txt"));
                }
            }

            return result;
        }
开发者ID:vigoo,项目名称:bari,代码行数:27,代码来源:TestBuilder.cs

示例15: Generate

        public override void Generate(IBuildContext context, IProject project)
        {
            var host = GetHost(context, project);

            foreach (var fileName in context.FileSystem.GetFiles(context.ProjectDirectory, "*.project.tt", SearchOption.AllDirectories))
            {
                if (Ignore(fileName))
                {
                    continue;
                }

                context.Trace.TraceInformation(Msg.G1008, Texts.Generating_code, PathHelper.UnmapPath(context.ProjectDirectory, fileName));

                try
                {
                    if (!host.ProcessTemplate(fileName, fileName.Left(fileName.Length - 11)))
                    {
                        TraceErrors(context, host, fileName);
                    }
                }
                catch (Exception ex)
                {
                    context.Trace.TraceError(Msg.G1007, ex.Message, fileName, TextSpan.Empty);
                }
            }
        }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:26,代码来源:T4ProjectCodeGenerator.cs


注:本文中的IBuildContext类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。