本文整理汇总了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;未经允许,请勿转载。 |
请发表评论