protected override void AddProjects(ExtensionContext context) { String projectFile = context.GetTemplateFileName(@"CSharp\ARProject\ARProject.csproj"); String testProjectFile = context.GetTemplateFileName(@"CSharp\ARProjectTest\ARProjectTest.csproj"); String localTestProjectPath = Path.Combine(LocalProjectPath, @"..\" + ProjectName + ".Tests"); localTestProjectPath = new DirectoryInfo(localTestProjectPath).FullName; Utils.EnsureDirExists(LocalProjectPath); Utils.EnsureDirExists(localTestProjectPath); Project project = context.DteInstance.Solution.AddFromTemplate(projectFile, LocalProjectPath, ProjectName + ".csproj", Exclusive); project.Properties.Item("DefaultNamespace").Value = NameSpace; Project testProject = context.DteInstance.Solution.AddFromTemplate(testProjectFile, localTestProjectPath, ProjectName + ".Tests.csproj", false); testProject.Properties.Item("DefaultNamespace").Value = NameSpace + ".Tests"; context.Projects.Add(Constants.ProjectMain, project); context.Projects.Add(Constants.ProjectTest, testProject); base.AddProjects(context); }
protected override void AddProjects(ExtensionContext context) { String projectFile = context.GetTemplateFileName(@"CSharp\MRProject\MRProject.csproj"); Utils.EnsureDirExists(LocalProjectPath); Project project = context.DteInstance.Solution.AddFromTemplate(projectFile, LocalProjectPath, ProjectName + ".csproj", Exclusive); project.Properties.Item("DefaultNamespace").Value = NameSpace; Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\BaseController.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\HomeController.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\LoginController.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Controllers\\ContactController.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Models\\ContactInfo.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "Models\\Country.cs"); Utils.PerformReplacesOn(project, NameSpace, LocalProjectPath, "global.asax"); context.Projects.Add(Constants.ProjectMain, project); AddGlobalApplication(project); AddHomeViews(project); AddLoginViews(project); AddContactViews(project); AddLayout(project); AddRescue(project); CreateXmlDomForConfig(project, MRConfigConstants.Web); UpdateReferences(project); UpdateProjectToUseCassini(project); base.AddProjects(context); }
private void OnAddProjects(object sender, ExtensionContext context) { if (!panel.WantsTestProject) return; String testProjectFile = context.GetTemplateFileName(@"CSharp\MRProjectTest\MRProjectTest.csproj"); testProjectName = context.ProjectName + ".Tests"; string nameSpace = Utils.CreateValidIdentifierFromName(context.ProjectName); localTestProjectPath = new DirectoryInfo(Path.Combine(context.LocalProjectPath, @"..\" + testProjectName)).FullName; Utils.EnsureDirExists(localTestProjectPath); Project testProject = context.DteInstance.Solution .AddFromTemplate(testProjectFile, localTestProjectPath, context.ProjectName + ".Tests.csproj", false); Utils.AddReference(testProject, context.Projects[Constants.ProjectMain]); Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\ContactControllerTestCase.cs"); Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\HomeControllerTestCase.cs"); Utils.PerformReplacesOn(testProject, nameSpace, localTestProjectPath, "Controllers\\LoginControllerTestCase.cs"); context.Projects.Add(Constants.ProjectTest, testProject); }
private void OnPostProcess(object sender, ExtensionContext context) { if (!HasSelected(context)) return; XmlDocument facilitiesDom = (XmlDocument) context.Properties[MRConfigConstants.FacilitiesConfig]; RegisterAndConfigureFacility(facilitiesDom, context); }
protected override void SetupBuildEvents(ExtensionContext context) { Project testProject = context.Projects[Constants.ProjectTest]; Utils.AddCommonPostBuildEvent(testProject); base.SetupBuildEvents(context); }
private void OnAddReferences(object sender, ExtensionContext context) { if (!HasSelected(context)) return; Project project = context.Projects[Constants.ProjectMain]; Utils.AddReference(project, "Castle.Services.Transaction.dll"); Utils.AddReference(project, "Castle.Facilities.AutomaticTransactionManagement.dll"); }
protected override void AddReferences(ExtensionContext context) { Project project = context.Projects[Constants.ProjectMain]; Project testProject = context.Projects[Constants.ProjectTest]; Utils.AddReference(testProject, project); base.AddReferences(context); }
private void OnAddReferences(object sender, ExtensionContext context) { if (!HasSelected(context)) return; Project project = context.Projects[Constants.ProjectMain]; Utils.AddReference(project, "NHibernate.dll"); Utils.AddReference(project, "Nullables.dll"); Utils.AddReference(project, "Nullables.NHibernate.dll"); Utils.AddReference(project, "Iesi.Collections.dll"); Utils.AddReference(project, "log4net.dll"); Utils.AddReference(project, "Castle.Facilities.NHibernateIntegration.dll"); }
private void OnPostProcess(object sender, ExtensionContext context) { if (!HasSelected(context)) return; XmlDocument webConfigDom = (XmlDocument) context.Properties[MRConfigConstants.Web]; RegisterSessionScopeHttpModule(webConfigDom); XmlDocument facilitiesDom = (XmlDocument) context.Properties[MRConfigConstants.FacilitiesConfig]; RegisterAndConfigureFacility(facilitiesDom); XmlDocument propDom = (XmlDocument) context.Properties[MRConfigConstants.PropertiesConfig]; RegisterConnectionStringAsProperty(propDom); }
private void OnAddReferences(object sender, ExtensionContext context) { if (!HasSelected(context)) return; Project project = context.Projects[Constants.ProjectMain]; Utils.AddReference(project, "Castle.Facilities.Logging.dll"); if (panel.LogingApi == "Log4net") { Utils.AddReference(project, "log4net.dll"); Utils.AddReference(project, "Castle.Services.Logging.Log4netIntegration.dll"); } else if (panel.LogingApi == "NLog") { Utils.AddReference(project, "NLog.dll"); Utils.AddReference(project, "NLog.DotNet.dll"); Utils.AddReference(project, "Castle.Services.Logging.NLogIntegration.dll"); } }
private void RegisterAndConfigureFacility(XmlDocument dom, ExtensionContext context) { XmlElement facilitiesElem = (XmlElement) dom.SelectSingleNode("configuration/facilities"); XmlElement logElem = dom.CreateElement("facility"); logElem.SetAttribute("id", "loggingfacility"); logElem.SetAttribute("type", "Castle.Facilities.Logging.LoggingFacility, Castle.Facilities.Logging"); logElem.SetAttribute("loggingApi", panel.LogingApi); if (panel.LogingApi == "Log4net") { logElem.SetAttribute("configFile", "logging.config"); Project project = context.Projects[Constants.ProjectMain]; String projectFile = context.GetTemplateFileName(@"CSharp\MRProject\logging.config"); project.ProjectItems.AddFromTemplate(projectFile, "logging.config"); } facilitiesElem.AppendChild(logElem); }
protected virtual void SetupProjectsProperties(ExtensionContext context) { WizardEventHandler eventHandler = (WizardEventHandler) eventList[SetupProjectsPropertiesEventKey]; if (eventHandler != null) { eventHandler(this, context); } }
protected override void PostProcess(ExtensionContext context) { Project testProject = context.Projects[Constants.ProjectTest]; Utils.PerformReplacesOn(testProject, NameSpace, LocalProjectPath, "AbstractModelTestCase.cs"); base.PostProcess(context); }
private void AddPanels(object sender, WizardDialog dlg, ExtensionContext context) { dlg.AddPanel(panel); }
protected virtual void AddProjects(ExtensionContext context) { WizardEventHandler eventHandler = (WizardEventHandler) eventList[AddProjectsEventKey]; if (eventHandler != null) { eventHandler(this, context); } }
protected virtual void PostProcess(ExtensionContext context) { WizardEventHandler eventHandler = (WizardEventHandler) eventList[PostProcessEventKey]; if (eventHandler != null) { eventHandler(this, context); } }
private bool HasSelected(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]) && context.Properties.Contains("Logging") && ((bool) context.Properties["Logging"]); }
private void OnPostProcess(object sender, ExtensionContext context) { }
private void OnSetupBuildEvent(object sender, ExtensionContext context) { }
private bool HasSelected(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]) == true && context.Properties.Contains("ActiveRecord Integration") && ((bool) context.Properties["ActiveRecord Integration"]) == true; }
public void Execute(object Application, int hwndOwner, ref object[] ContextParams, ref object[] CustomParams, ref EnvDTE.wizardResult retval) { // TODO: Add magic here IWizardExtension[] extensions = LoadExtensions(CustomParams); foreach(IWizardExtension extension in extensions) { extension.Init(this); } try { dteInstance = (DTE) Application; owner = hwndOwner; projectName = (String) ContextParams[1]; localProjectPath = (String) ContextParams[2]; installationDirectory = (String) ContextParams[3]; exclusive = (bool) ContextParams[4]; solutionName = (String) ContextParams[5]; context = new ExtensionContext(dteInstance, projectName, localProjectPath, installationDirectory, solutionName); if (exclusive) { vsPromptResult promptResult = dteInstance.ItemOperations.PromptToSave; if (promptResult == vsPromptResult.vsPromptResultCancelled) { retval = wizardResult.wizardResultCancel; return; } } using(WizardDialog dlg = new WizardDialog(context)) { dlg.WizardTitle = WizardTitle; AddPanels(dlg); WizardUIEventHandler eventHandler = (WizardUIEventHandler) eventList[AddPanelsEventKey]; if (eventHandler != null) { eventHandler(this, dlg, context); } dlg.ShowDialog(this); retval = dlg.WizardResult; if (retval == wizardResult.wizardResultSuccess) { CreateProject(dlg); } else { retval = wizardResult.wizardResultCancel; return; } } } catch(Exception ex) { String message = ex.GetType().Name + "\r\n\r\n" + ex.Message + "\r\n\r\n" + ex.StackTrace; MessageBox.Show(this, "Exception during project creation. \r\n" + message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } finally { foreach(IWizardExtension extension in extensions) { extension.Terminate(this); } } }
public override bool WantsToShow(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]) && context.Properties.Contains("ActiveRecord Integration") && ((bool) context.Properties["ActiveRecord Integration"]); }
protected override void PostProcess(ExtensionContext context) { ProcessWebConfig(); base.PostProcess(context); PersistWebConfig(); }
public void SetContext(ExtensionContext context) { this.context = context; }
private void OnAddReferences(object sender, ExtensionContext context) { }
public override bool WantsToShow(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]) == true && context.Properties.Contains("NHibernate Integration") && ((bool) context.Properties["NHibernate Integration"]) == true; }
private void AddPanels(object sender, WizardDialog dlg, ExtensionContext context) { panel = new MRTestPanel(); dlg.AddPanel(panel); }
public override bool WantsToShow(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]); }
public override bool WantsToShow(ExtensionContext context) { return ((bool) context.Properties["enableWindsorIntegration"]) == true && context.Properties.Contains(DependencyKey) && ((bool) context.Properties[DependencyKey]) == true; }
public virtual bool WantsToShow(ExtensionContext context) { return true; }