private void ValidateDefinitionHostRunnerSupport <T1>(ProvisionRunnerBase runner) { var attrs = typeof(T1).GetCustomAttributes() .OfType <SPObjectTypeAttribute>(); if (CurrentProvisionRunner.Name == "SSOM") { var att = attrs.FirstOrDefault(a => a.ObjectModelType == SPObjectModelType.SSOM); if (att == null) { throw new SPMeta2UnsupportedCSOMRunnerException(); } } if (CurrentProvisionRunner.Name == "CSOM") { var att = attrs.FirstOrDefault(a => a.ObjectModelType == SPObjectModelType.CSOM); if (att == null) { throw new SPMeta2UnsupportedCSOMRunnerException(); } } if (CurrentProvisionRunner.Name == "O365") { var att = attrs.FirstOrDefault(a => a.ObjectModelType == SPObjectModelType.CSOM); if (att == null) { throw new SPMeta2UnsupportedO365RunnerException(); } } }
private SPObjectModelType GetRunnerType(ProvisionRunnerBase runner) { if (runner.Name == "SSOM") { return(SPObjectModelType.SSOM); } if (runner.Name == "O365" || runner.Name == "CSOM") { return(SPObjectModelType.CSOM); } throw new SPMeta2NotSupportedException(string.Format("Cannot find SPObjectModelType type for runer of type:[{0}]", runner.Name)); }
protected void WithProvisionRunnerContext(Action <ProvisionRunnerContext> action) { foreach (var provisionRunner in ProvisionRunners) { var type = provisionRunner.GetType().FullName; provisionRunner.ProvisionGenerationCount = ProvisionGenerationCount; provisionRunner.EnableDefinitionValidation = EnableDefinitionValidation; CurrentProvisionRunner = provisionRunner; Trace.WriteLine(string.Format("[INF] Testing with runner impl: [{0}]", type)); Trace.WriteLine(string.Format("[INF] - ProvisionGenerationCount: [{0}]", ProvisionGenerationCount)); Trace.WriteLine(string.Format("[INF] - EnableDefinitionValidation: [{0}]", EnableDefinitionValidation)); action(new ProvisionRunnerContext { Runner = provisionRunner }); } }