• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IBuildContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: Run

        /// <summary>
        /// Runs this builder
        /// </summary>
        /// <param name="context"> </param>
        /// <returns>Returns a set of generated files, in suite relative paths</returns>
        public ISet<TargetRelativePath> Run(IBuildContext context)
        {
            var currentFingerprint = wrappedBuilder.Dependencies.CreateFingerprint();
            var buildKey = new BuildKey(wrappedBuilder.GetType(), wrappedBuilder.Uid);

            cache.LockForBuilder(buildKey);
            try
            {
                if (cache.Contains(buildKey, currentFingerprint))
                {
                    log.DebugFormat("Restoring cached build outputs for {0}", buildKey);
                    return cache.Restore(buildKey, targetDir);
                }
                else
                {
                    log.DebugFormat("Running builder {0}", buildKey);
                    var files = wrappedBuilder.Run(context);

                    log.DebugFormat("Storing build outputs of {0}", buildKey);
                    cache.Store(buildKey, currentFingerprint, files, targetDir);
                    return files;
                }
            }
            finally
            {
                cache.UnlockForBuilder(buildKey);
            }
        }
开发者ID:zvrana,项目名称:bari,代码行数:33,代码来源:CachedBuilder.cs


示例17: BuildSkip

        static void BuildSkip(ExpressionBuilder builder, IBuildContext sequence, ISqlExpression prevSkipValue, ISqlExpression expr)
        {
            var sql = sequence.SqlQuery;

            builder.SqlProvider.SqlQuery = sql;

            sql.Select.Skip(expr);

            builder.SqlProvider.SqlQuery = sql;

            if (sql.Select.TakeValue != null)
            {
                if (builder.DataContextInfo.SqlProviderFlags.GetIsSkipSupportedFlag(sql) ||
                    !builder.DataContextInfo.SqlProviderFlags.IsTakeSupported)
                    sql.Select.Take(builder.Convert(
                        sequence,
                        new SqlBinaryExpression(typeof(int), sql.Select.TakeValue, "-", sql.Select.SkipValue, Precedence.Additive)));

                if (prevSkipValue != null)
                    sql.Select.Skip(builder.Convert(
                        sequence,
                        new SqlBinaryExpression(typeof(int), prevSkipValue, "+", sql.Select.SkipValue, Precedence.Additive)));
            }

            if (!builder.DataContextInfo.SqlProviderFlags.GetAcceptsTakeAsParameterFlag(sql))
            {
                var p = sql.Select.SkipValue as SqlParameter;

                if (p != null)
                    p.IsQueryParameter = false;
            }
        }
开发者ID:henleygao,项目名称:linq2db,代码行数:32,代码来源:TakeSkipBuilder.cs


示例18: Run

        public override void Run(IBuildContext context)
        {
            context.DisplayDoneMessage = false;

            var qualifiedName = context.Configuration.GetCommandLineArg(1).Trim();
            if (string.IsNullOrEmpty(qualifiedName))
            {
                qualifiedName = context.Configuration.GetString("name").Trim();
            }

            if (string.IsNullOrEmpty(qualifiedName))
            {
                context.Trace.WriteLine(Texts.You_must_specific_the___name_argument);
                return;
            }

            var newShortName = context.Configuration.GetCommandLineArg(2).Trim();
            if (string.IsNullOrEmpty(newShortName))
            {
                newShortName = context.Configuration.GetString("to").Trim();
            }

            if (string.IsNullOrEmpty(newShortName))
            {
                context.Trace.WriteLine(Texts.You_must_specific_the___to_argument);
                return;
            }

            var projectItem = context.Project.FindQualifiedItem(qualifiedName);
            if (projectItem == null)
            {
                context.Trace.WriteLine(Texts.Item_not_found, qualifiedName);
                return;
            }

            var value = projectItem.QualifiedName;
            var n = value.LastIndexOf('/');
            value = n < 0 ? newShortName : value.Left(n + 1) + newShortName;

            var queryService = context.CompositionService.Resolve<IQueryService>();
            var references = queryService.FindUsages(context.Project, qualifiedName).ToList();

            foreach (var reference in references)
            {
                reference.SourceProperty.SetValue(value);
            }

            var changedFileNames = context.Project.ProjectItems.SelectMany(i => i.Snapshots).Where(s => s.IsModified).Select(s => s.SourceFile.AbsoluteFileName).ToList();

            projectItem.Rename(newShortName);
            context.Project.SaveChanges();

            foreach (var fileName in changedFileNames)
            {
                context.Trace.TraceInformation(Msg.M1017, PathHelper.UnmapPath(context.ProjectDirectory, fileName));
            }

            context.Trace.TraceInformation(Msg.M1018, $"Changed files: {changedFileNames.Count}");
        }
开发者ID:Hafeok,项目名称:Sitecore.Pathfinder,代码行数:59,代码来源:Rename.cs


示例19: Run

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

            var url = MakeWebApiUrl(context, "ResetWebsite");

            Request(context, url);
        }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:8,代码来源:ResetWebsite.cs


示例20: RemoveWebsiteFiles

 public override void RemoveWebsiteFiles(IBuildContext context)
 {
     RemoveWebsiteAssembly(context, "Sitecore.Pathfinder.Unicorn.dll");
     RemoveWebsiteAssembly(context, "Unicorn.dll");
     RemoveWebsiteAssembly(context, "Rainbow.Storage.Sc.dll");
     RemoveWebsiteAssembly(context, "Rainbow.Storage.Yaml.dll");
     RemoveWebsiteAssembly(context, "Rainbow.dll");
 }
开发者ID:pveller,项目名称:Sitecore.Pathfinder,代码行数:8,代码来源:UnicornExtension.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IBuildEngine类代码示例发布时间:2022-05-24
下一篇:
C# IBufferPool类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap