Beispiel #1
0
        public void BasicProjectTest()
        {
            var sln = Generator.Project(
                "HelloWorld",
                ProjectGenerator.Compile("server", "")
                ).Generate();

            using (var vs = sln.ToMockVs()) {
                Assert.IsNotNull(vs.WaitForItem("HelloWorld", "Python Environments"));
                Assert.IsNotNull(vs.WaitForItem("HelloWorld", "References"));
                Assert.IsNotNull(vs.WaitForItem("HelloWorld", "Search Paths"));
                Assert.IsNotNull(vs.WaitForItem("HelloWorld", "server.py"));
                var view = vs.OpenItem("HelloWorld", "server.py");

                var bi = PythonTextBufferInfo.TryGetForBuffer(view.TextView.TextBuffer);
                for (int retries = 20; retries > 0 && bi.AnalysisEntry == null; --retries)
                {
                    Thread.Sleep(500);
                }

                view.Invoke(() => view.Type("import"));
                view.Invoke(() => view.Type(" "));

                using (var sh = view.WaitForSession <ICompletionSession>()) {
                    AssertUtil.Contains(sh.Session.Completions(), "sys");
                }
            }
        }
Beispiel #2
0
        public void CutRenamePaste()
        {
            var testDef = Generator.Project("DragDropCopyCutPaste",
                                            ProjectGenerator.ItemGroup(
                                                ProjectGenerator.Folder("CutRenamePaste"),
                                                ProjectGenerator.Compile("CutRenamePaste\\CutRenamePaste")
                                                )
                                            );

            using (var solution = testDef.Generate().ToMockVs()) {
                var project = solution.WaitForItem("DragDropCopyCutPaste");
                var file    = solution.WaitForItem("DragDropCopyCutPaste", "CutRenamePaste", $"CutRenamePaste{testDef.ProjectType.CodeExtension}");

                file.Select();
                solution.ControlX();

                file.Select();
                solution.Type(Key.F2);
                solution.Type("CutRenamePasteNewName");
                solution.Type(Key.Enter);

                solution.Sleep(1000);
                project.Select();
                solution.ControlV();

                solution.CheckMessageBox($"The source URL 'CutRenamePaste{testDef.ProjectType.CodeExtension}' could not be found.");
            }
        }
Beispiel #3
0
        public void MoveLinkedNodeOpen(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                using (var solution = LinkedFiles(projectType).Generate().ToVs(app)) {
                    var openWindow = solution.GetProject("LinkedFiles").ProjectItems.Item("MovedLinkedFileOpen" + projectType.CodeExtension).Open();
                    Assert.IsNotNull(openWindow, "openWindow");

                    var projectNode = solution.FindItem("LinkedFiles", "MovedLinkedFileOpen" + projectType.CodeExtension);

                    Assert.IsNotNull(projectNode, "projectNode");
                    AutomationWrapper.Select(projectNode);

                    solution.ExecuteCommand("Edit.Cut");

                    var folderNode = solution.FindItem("LinkedFiles", "MoveToFolder");
                    AutomationWrapper.Select(folderNode);

                    solution.ExecuteCommand("Edit.Paste");

                    var movedLinkedFileOpen = solution.WaitForItem("LinkedFiles", "MoveToFolder", "MovedLinkedFileOpen" + projectType.CodeExtension);
                    Assert.IsNotNull(movedLinkedFileOpen, "movedLinkedFileOpen");

                    Assert.IsTrue(File.Exists(Path.Combine(solution.SolutionDirectory, Path.Combine(solution.SolutionDirectory, "MovedLinkedFileOpen" + projectType.CodeExtension))));
                    Assert.IsFalse(File.Exists(Path.Combine(solution.SolutionDirectory, "MoveToFolder\\MovedLinkedFileOpen" + projectType.CodeExtension)));

                    // window sholudn't have changed.
                    Assert.AreEqual(app.Dte.Windows.Item("MovedLinkedFileOpen" + projectType.CodeExtension), openWindow);
                }
            }
        }
Beispiel #4
0
        public void MoveLinkedNodeFileExistsButNotInProject(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                using (var solution = LinkedFiles(projectType).Generate().ToVs(app)) {
                    var fileNode = solution.FindItem("LinkedFiles", "FileNotInProject" + projectType.CodeExtension);
                    Assert.IsNotNull(fileNode, "projectNode");
                    AutomationWrapper.Select(fileNode);

                    solution.ExecuteCommand("Edit.Cut");

                    var folderNode = solution.FindItem("LinkedFiles", "FolderWithAFile");
                    AutomationWrapper.Select(folderNode);

                    solution.ExecuteCommand("Edit.Paste");

                    // item should have moved
                    var fileNotInProject = solution.WaitForItem("LinkedFiles", "FolderWithAFile", "FileNotInProject" + projectType.CodeExtension);
                    Assert.IsNotNull(fileNotInProject, "fileNotInProject");

                    // but it should be the linked file on disk outside of our project, not the file that exists on disk at the same location.
                    var autoItem = solution.GetProject("LinkedFiles").ProjectItems.Item("FolderWithAFile").ProjectItems.Item("FileNotInProject" + projectType.CodeExtension);
                    Assert.AreEqual(Path.Combine(solution.SolutionDirectory, "FileNotInProject" + projectType.CodeExtension), autoItem.Properties.Item("FullPath").Value);
                }
            }
        }
Beispiel #5
0
    public override void Generate(MetabuildProject metabuild)
    {
        generatePath = metabuild.MakeGeneratePath(".VisualStudio2008");
        Console.WriteLine("[DEBUG] generatePath '{0}'", generatePath);
        if (!Directory.Exists(generatePath))
        {
            Directory.CreateDirectory(generatePath);
        }

        Boolean generateForWince = false;

        for (;;)
        {
            ProjectGenerator generator = new ProjectGenerator(this, generateForWince);
            foreach (MetabuildUnit unit in metabuild.units)
            {
                unit.Visit(generator);
            }
            GenerateSolution(metabuild, generateForWince);

            if (generateForWince || !Options.Instance.wince.set)
            {
                break;
            }
            generateForWince = true;
        }
    }
Beispiel #6
0
        public void MultiProjectMove(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                using (var solution = MultiProjectLinkedFiles(projectType).ToVs(app)) {
                    var fileNode = solution.FindItem("LinkedFiles1", "FileNotInProject1" + projectType.CodeExtension);
                    Assert.IsNotNull(fileNode, "projectNode");
                    AutomationWrapper.Select(fileNode);

                    solution.ExecuteCommand("Edit.Copy");

                    var folderNode = solution.FindItem("LinkedFiles2");
                    AutomationWrapper.Select(folderNode);

                    solution.ExecuteCommand("Edit.Paste");

                    // item should have moved
                    var copiedFile = solution.WaitForItem("LinkedFiles2", "FileNotInProject1" + projectType.CodeExtension);
                    Assert.IsNotNull(copiedFile, "movedLinkedFile");

                    Assert.AreEqual(
                        true,
                        solution.GetProject("LinkedFiles2").ProjectItems.Item("FileNotInProject1" + projectType.CodeExtension).Properties.Item("IsLinkFile").Value
                        );
                }
            }
        }
Beispiel #7
0
        public void RenameStartupFile(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = new ProjectDefinition(
                    "RenameStartupFileFolder",
                    projectType,
                    ProjectGenerator.Folder("Folder"),
                    ProjectGenerator.Compile("Folder\\server"),
                    ProjectGenerator.Property("StartupFile", "Folder\\server" + projectType.CodeExtension)
                    );

                using (var solution = testDef.Generate().ToVs(app)) {
                    var file = solution.GetProject("RenameStartupFileFolder").ProjectItems.Item("Folder").ProjectItems.Item("server" + projectType.CodeExtension);
                    file.Name = "server2" + projectType.CodeExtension;

                    Assert.AreEqual(
                        "server2" + projectType.CodeExtension,
                        Path.GetFileName(
                            (string)solution.GetProject("RenameStartupFileFolder").Properties.Item("StartupFile").Value
                            )
                        );
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Renaming the folder containing the startup script should update the startup script
        /// https://nodejstools.codeplex.com/workitem/476
        /// </summary>
        public void RenameStartupFileFolder(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = new ProjectDefinition(
                    "RenameStartupFileFolder",
                    projectType,
                    ProjectGenerator.Folder("Folder"),
                    ProjectGenerator.Compile("Folder\\server"),
                    ProjectGenerator.Property("StartupFile", "Folder\\server" + projectType.CodeExtension)
                    );

                using (var solution = testDef.Generate().ToVs(app)) {
                    var folder = solution.GetProject("RenameStartupFileFolder").ProjectItems.Item("Folder");
                    folder.Name = "FolderNew";

                    string startupFile = (string)solution.GetProject("RenameStartupFileFolder").Properties.Item("StartupFile").Value;
                    Assert.IsTrue(
                        startupFile.EndsWith(projectType.Code("FolderNew\\server")),
                        "Expected FolderNew in path, got {0}",
                        startupFile
                        );
                }
            }
        }
Beispiel #9
0
        public IEnumerable <ContractProjectGenerator> FromAbiFilesInProject(string projectFileName, string assemblyName, CodeGenLanguage language)
        {
            var projectFolder = Path.GetDirectoryName(projectFileName);
            var abiFiles      = Directory.GetFiles(projectFolder, "*.abi", SearchOption.AllDirectories);
            var contracts     = new List <ContractDefinition>(abiFiles.Length);

            foreach (var file in abiFiles)
            {
                var contractName = Path.GetFileNameWithoutExtension(file);
                var binFileName  = Path.Combine(Path.GetDirectoryName(file), contractName + ".bin");
                var byteCode     = File.Exists(binFileName) ? File.ReadAllText(binFileName) : string.Empty;

                contracts.Add(new ContractDefinition(File.ReadAllText(file))
                {
                    ContractName = contractName,
                    Bytecode     = byteCode
                });
            }

            var generator = new ProjectGenerator
            {
                Language     = language,
                Contracts    = contracts,
                OutputFolder = projectFolder,
                Namespace    = GeneratorConfigurationUtils.CreateNamespaceFromAssemblyName(assemblyName)
            };

            return(generator.GetProjectGenerators());
        }
Beispiel #10
0
        public static ProjectGenerator sort(this ProjectGenerator projectGenerator)

        {
            projectGenerator.Generators = projectGenerator.Generators.ApplySequenceSorting();
            projectGenerator.Generators.ForEach(g => g.Generator.States.ApplyStateSequenceSorting());
            return(projectGenerator);
        }
        /// <summary>
        /// Move item within the project from one location to where it already exists, skipping the move.
        /// </summary>
        private void MoveDuplicateFileNameSkipMove(VisualStudioApp app, ProjectGenerator pg, MoveDelegate mover)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = new ProjectDefinition("MoveDuplicateFileName",
                                                    projectType,
                                                    ProjectGenerator.ItemGroup(
                                                        ProjectGenerator.Folder("Folder"),
                                                        ProjectGenerator.Content("textfile.txt", "root"),
                                                        ProjectGenerator.Content("Folder\\textfile.txt", "Folder")
                                                        )
                                                    );

                using (var solution = testDef.Generate().ToVs(app)) {
                    mover(
                        solution,
                        solution.FindItem("MoveDuplicateFileName", "Folder"),
                        solution.FindItem("MoveDuplicateFileName", "textfile.txt")
                        );

                    using (var dialog = solution.WaitForOverwriteFileDialog()) {
                        dialog.No();
                    }

                    solution.WaitForDialogDismissed();

                    solution.AssertFileExistsWithContent("root", "MoveDuplicateFileName", "textfile.txt");
                    solution.AssertFileExistsWithContent("Folder", "MoveDuplicateFileName", "Folder", "textfile.txt");
                }
            }
        }
Beispiel #12
0
        /// <summary>
        /// Verify we get called w/ a project which does have source control enabled.
        /// </summary>
        public void SourceControlRenameFolder(VisualStudioApp app, ProjectGenerator pg)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                // close any projects before switching source control...
                app.Dte.Solution.Close();

                app.SelectSourceControlProvider("Test Source Provider");

                TestSccProvider.DocumentEvents.Clear();

                using (var solution = SourceControlProject(projectType).Generate()) {
                    try {
                        var project = app.OpenProject(solution.Filename, onDialog: OnNoSccDialog);

                        project.ProjectItems.Item("TestFolder").Name = "Renamed";

                        AssertDocumentEvents(Path.GetDirectoryName(project.FullName),
                                             OnQueryRenameFiles("TestFolder\\", "Renamed\\", VSQUERYRENAMEFILEFLAGS_Directory),
                                             OnAfterRenameFiles("TestFolder\\", "Renamed\\", VSRENAMEFILEFLAGS_Directory)
                                             );
                        app.Dte.Solution.Close();
                    } finally {
                        app.SelectSourceControlProvider("None");
                    }
                }
            }
        }
Beispiel #13
0
 public ProjectSteps(InputProjectDriver inputProjectDriver, ProjectGenerator projectGenerator, ProjectCompiler projectCompiler, HooksDriver hooksDriver)
 {
     this.inputProjectDriver = inputProjectDriver;
     this.projectCompiler    = projectCompiler;
     _hooksDriver            = hooksDriver;
     this.projectGenerator   = projectGenerator;
 }
Beispiel #14
0
        public void AddExistingItem(VisualStudioApp app, ProjectGenerator pg)
        {
            // close any projects before switching source control...
            app.Dte.Solution.Close();

            app.SelectSourceControlProvider("Test Source Provider");
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = SourceControlProject(projectType);

                using (var solution = testDef.Generate()) {
                    TestSccProvider.DocumentEvents.Clear();

                    var project  = app.OpenProject(solution.Filename, onDialog: OnNoSccDialog);
                    var fileName = projectType.Code(@"ExcludedFile");

                    using (var newItem = AddExistingItemDialog.FromDte(app)) {
                        newItem.FileName = fileName;
                        newItem.OK();
                    }

                    System.Threading.Thread.Sleep(250);

                    Assert.IsNotNull(project.ProjectItems.Item(fileName));
                    AssertDocumentEvents(Path.GetDirectoryName(project.FullName),
                                         OnQueryAddFiles(fileName),
#if DEV16_OR_LATER      // We get queried twice now, it seems
                                         OnQueryAddFiles(fileName),
#endif
                                         OnAfterAddFilesEx(fileName)
                                         );
                }
            }
        }
Beispiel #15
0
        /// <summary>
        /// Verify we don't get called for a project which doesn't have source control enabled.
        /// </summary>
        public void SourceControlNoControl(VisualStudioApp app, ProjectGenerator pg)
        {
            // close any projects before switching source control...
            app.Dte.Solution.Close();

            app.SelectSourceControlProvider("Test Source Provider");
            DontExpectSourceControl();

            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = NoSourceControlProject(projectType);
                using (var solution = testDef.Generate()) {
                    var project = app.OpenProject(solution.Filename, onDialog: OnNoSccDialog);

                    Assert.AreEqual(0, TestSccProvider.LoadedProjects.Count);

                    app.Dte.Solution.Close();

                    Assert.AreEqual(0, TestSccProvider.LoadedProjects.Count);
                    if (TestSccProvider.Failures.Count != 0)
                    {
                        Assert.Fail(String.Join(Environment.NewLine, TestSccProvider.Failures));
                    }

                    app.SelectSourceControlProvider("None");
                }
            }
        }
        private void MoveExcludedFolder(VisualStudioApp app, ProjectGenerator pg, MoveDelegate mover)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = new ProjectDefinition("MoveExcludedFolder",
                                                    projectType,
                                                    ProjectGenerator.PropertyGroup(
                                                        ProjectGenerator.Property("ProjectView", "ShowAllFiles")
                                                        ),
                                                    ProjectGenerator.ItemGroup(
                                                        ProjectGenerator.Folder("Fob", isExcluded: true),
                                                        ProjectGenerator.Folder("Fob\\Oar", isExcluded: true),
                                                        ProjectGenerator.Folder("Baz", isExcluded: true)
                                                        )
                                                    );

                using (var solution = testDef.Generate().ToVs(app)) {
                    mover(
                        solution,
                        solution.FindItem("MoveExcludedFolder", "Baz"),
                        solution.FindItem("MoveExcludedFolder", "Fob")
                        );

                    solution.AssertFolderDoesntExist("MoveExcludedFolder", "Fob");
                    solution.AssertFolderExists("MoveExcludedFolder", "Baz", "Fob");
                }
            }
        }
        private void MoveToMissingFolder(VisualStudioApp app, ProjectGenerator pg, MoveDelegate mover)
        {
            foreach (var projectType in pg.ProjectTypes)
            {
                var testDef = new ProjectDefinition("MoveToMissingFolder",
                                                    projectType,
                                                    ProjectGenerator.PropertyGroup(
                                                        ProjectGenerator.Property("ProjectView", "ShowAllFiles")
                                                        ),
                                                    ProjectGenerator.ItemGroup(
                                                        ProjectGenerator.Folder("Fob", isExcluded: false, isMissing: true),
                                                        ProjectGenerator.Compile("codefile", isExcluded: false)
                                                        )
                                                    );

                using (var solution = testDef.Generate().ToVs(app)) {
                    mover(
                        solution,
                        solution.FindItem("MoveToMissingFolder", "Fob"),
                        solution.FindItem("MoveToMissingFolder", "codefile" + projectType.CodeExtension)
                        );

                    solution.AssertFileDoesntExist("MoveToMissingFolder", "codefile" + projectType.CodeExtension);
                    solution.AssertFileExists("MoveToMissingFolder", "Fob", "codefile" + projectType.CodeExtension);
                }
            }
        }
Beispiel #18
0
        public void Start(string fPath)
        {
            //  Configs
            //  --------------------------------------------------------------------

            List <ConManConfigRow>       coms  = GetConfigListConMans();
            List <ProjectParamConfigRow> pars  = GetConfigListParameters();
            List <PackageConfigRow>      packs = GetConfigListPackages();

            //  --------------------------------------------------------------------

            IProjectGenerator pg = new ProjectGenerator();

            pg.LoadProjectTemplate();

            //  --------------------------------------------------------------------

            pg.AddProjectParams(pars);
            pg.AddConManagers(coms);
            pg.AddPackages(packs.Where(p => p.Name.StartsWith("Dim")).ToList(), FullOrMerge);
            pg.AddPackages(packs.Where(p => p.Name.StartsWith("Fact")).ToList(), FullOrIncremental);

            pg.AddMasterPackages(packs);

            //  --------------------------------------------------------------------

            pg.SaveAsNewProject(fPath);
        }
        public static ProjectGenerator createProjectGenerator(string name)
        {
            var PG = new ProjectGenerator();

            PG.Name = name;
            return(PG);
        }
Beispiel #20
0
        static void Main(string[] args)
        {
            try
            {
                if (!File.Exists(FileName))
                {
                    var newRegistry = ProjectGenerator.GenRegistry(3, 10);
                    newRegistry.Save(FileName);
                }

                var registry = XmlRegistry.Load(FileName);

                // Валидация реестра - урлы в проектах и словах
                XmlRegistry.ValidateRegistry(registry);

                //------

                var apiKey = ConfigurationManager.AppSettings["apikey"];
                if (string.IsNullOrEmpty(apiKey))
                {
                    throw new InvalidOperationException(
                              "Invalid 'apikey' setting in application config.");
                }

                var config = new ClientConfig(apiKey);
                var client = new ApiClient(config);

                var syncClient = new SyncClient(client);

                Console.Write("Project's data loading...");
                syncClient.LoadSyncObjects();

                Console.WriteLine();
                Console.Write("Project's synchronization...");
                syncClient.SyncProjects(registry.Projects);

                Console.WriteLine();
                Console.Write("Groups's synchronization...");
                syncClient.SyncGroups(registry.Projects);

                Console.WriteLine();
                Console.Write("Keywords's synchronization...");
                syncClient.SyncKeywords(registry.Projects);

                Console.WriteLine();
                Console.Write("Synchronization completed, press any key...");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine();
                Console.WriteLine("Error:");
                Console.WriteLine(ex.ToString());
                Console.ResetColor();

                Console.Write("Press any key...");
                Console.ReadKey();
            }
        }
Beispiel #21
0
        private void extractToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (currentArchive == null || !currentArchive.ArchivedFiles.Any())
            {
                return;
            }

            FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();

            var result = folderBrowserDialog.ShowDialog();

            if (result == DialogResult.Abort || result == DialogResult.Cancel)
            {
                return;
            }

            string outputDirectoryPath = folderBrowserDialog.SelectedPath;

            try
            {
                currentArchive.ExtractAllFiles(outputDirectoryPath, true);
            }
            catch (Exception)
            {
                Console.WriteLine("Something went wrong with extraction. Archive is likely invalid or corrupted.");
                return;
            }

            if (generateProjectCheckBox.Checked)
            {
                ProjectGenerator.GenerateProject(currentArchiveVersion, outputDirectoryPath);
            }

            statusLabel.Text = "Archive extracted succesfully.";
        }
Beispiel #22
0
 private static ProjectDefinition NoSourceControlProject(ProjectType projectType)
 {
     return(new ProjectDefinition("NoSourceControl", projectType,
                                  ProjectGenerator.ItemGroup(
                                      ProjectGenerator.Compile("Program")
                                      )
                                  ));
 }
Beispiel #23
0
        public void EmptyProjectSiteIsInvalid()
        {
            var reg = ProjectGenerator.GenRegistry(1, 0);

            reg.Projects[0].Site = "";

            XmlRegistry.ValidateRegistry(reg);
        }
Beispiel #24
0
 /// <summary>
 /// A rooted link path is ignored.
 /// </summary>
 public void RootedIncludeIgnored(VisualStudioApp app, ProjectGenerator pg) {
     foreach (var projectType in pg.ProjectTypes) {
         using (var solution = LinkedFiles(projectType).Generate().ToVs(app)) {
             var rootedIncludeIgnored = solution.FindItem("LinkedFiles", "RootedIncludeIgnored" + projectType.CodeExtension);
             Assert.IsNotNull(rootedIncludeIgnored, "rootedIncludeIgnored");
         }
     }
 }
Beispiel #25
0
        public void Setup()
        {
            fs = new FakeFileSystem();

            this.generator = new ProjectGenerator(
                fileio: fs.FileOperation,
                fileGenerator: new FileGenerator(new TemplateProcessor(fs.FileOperation), new MarkdownProcessor()),
                templateService: new TemplateService());
        }
Beispiel #26
0
        public void LinkedFileInProjectIgnored(VisualStudioApp app, ProjectGenerator pg) {
            foreach (var projectType in pg.ProjectTypes) {
                using (var solution = LinkedFiles(projectType).Generate().ToVs(app)) {
                    var projectNode = solution.FindItem("LinkedFiles", "Fob", "LinkedInModule" + projectType.CodeExtension);

                    Assert.IsNull(projectNode);
                }
            }
        }
Beispiel #27
0
        public void Test1aaa()
        {
            var attributes = new List <string> {
                "key"
            };
            var sut = new ProjectGenerator(attributes);

            //Console.WriteLine(sut.GetPackageCommon());
            Console.WriteLine(sut.GetProjectCode());
        }
Beispiel #28
0
        public void IncorrectKeywordTargetUrlIsInvalid()
        {
            var reg   = ProjectGenerator.GenRegistry(1, 0);
            var group = reg.Projects[0].KeywordGroups.First();

            group.Keywords.Clear();
            group.Keywords.Add(new XmlKeyword("test", "nourl"));

            XmlRegistry.ValidateRegistry(reg);
        }
Beispiel #29
0
        /// <summary>
        /// A link path outside of our project dir will result in the link being ignored.
        /// </summary>
        public void BadLinkPath(VisualStudioApp app, ProjectGenerator pg) {
            foreach (var projectType in pg.ProjectTypes) {
                using (var solution = LinkedFiles(projectType).Generate().ToVs(app)) {
                    var projectNode = solution.FindItem("LinkedFiles", "..");
                    Assert.IsNull(projectNode);

                    projectNode = solution.FindItem("LinkedFiles", "BadLinkPathFolder");
                    Assert.IsNull(projectNode);
                }
            }
        }
Beispiel #30
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Ve" +
                       "rsion 16\r\nVisualStudioVersion = 16.0.30611.23\r\nMinimumVisualStudioVersion = 10.0" +
                       ".40219.1\r\n");

            #line 12 "E:\CS\sep_crup_design_pattern\SEP_CRUD_DesignPattern\SEP_CRUD_DesignPattern\Templates\Project\SolutionTemplate.tt"

            //Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormatFormToGenerate", "FormatFormToGenerate\FormatFormToGenerate.csproj", "{D381F227-62FD-4455-B79A-3D914C95342C}"
            List <ProjectGenerator> projects = generator.GetProjects();
            for (int i = 0; i < projects.Count; i++)
            {
                ProjectGenerator p = projects[i];
                WriteLine("Project(\"{" + p.TypeGuid + "}\") = \"" + p.Name + "\", \"" + p.Name + "\\" + p.GetFileName() + "\", \"{ " + p.Guid + "}\"");
            }



            #line default
            #line hidden
            this.Write("EndProject\r\nGlobal\r\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\r" +
                       "\n\t\tDebug|Any CPU = Debug|Any CPU\r\n\t\tRelease|Any CPU = Release|Any CPU\r\n\tEndGloba" +
                       "lSection\r\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\r\n\t");

            #line 29 "E:\CS\sep_crup_design_pattern\SEP_CRUD_DesignPattern\SEP_CRUD_DesignPattern\Templates\Project\SolutionTemplate.tt"

            //{D381F227-62FD-4455-B79A-3D914C95342C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
            //{D381F227-62FD-4455-B79A-3D914C95342C}.Debug|Any CPU.Build.0 = Debug|Any CPU
            //{D381F227-62FD-4455-B79A-3D914C95342C}.Release|Any CPU.ActiveCfg = Release|Any CPU
            //{D381F227-62FD-4455-B79A-3D914C95342C}.Release|Any CPU.Build.0 = Release|Any CPU
            for (int i = 0; i < projects.Count; i++)
            {
                ProjectGenerator p = projects[i];
                WriteLine("{" + p.Guid + "}.Debug|Any CPU.ActiveCfg = Debug|Any CPU");
                WriteLine("{" + p.Guid + "}.Debug|Any CPU.Build.0 = Debug|Any CPU");
                WriteLine("{" + p.Guid + "}.Release|Any CPU.ActiveCfg = Release|Any CPU");
                WriteLine("{" + p.Guid + "}.Release|Any CPU.Build.0 = Release|Any CPU");
            }


            #line default
            #line hidden
            this.Write("\tEndGlobalSection\r\n\tGlobalSection(SolutionProperties) = preSolution\r\n\t\tHideSoluti" +
                       "onNode = FALSE\r\n\tEndGlobalSection\r\n\tGlobalSection(ExtensibilityGlobals) = postSo" +
                       "lution\r\n\t\tSolutionGuid = {");

            #line 48 "E:\CS\sep_crup_design_pattern\SEP_CRUD_DesignPattern\SEP_CRUD_DesignPattern\Templates\Project\SolutionTemplate.tt"
            Write(generator.Guid);

            #line default
            #line hidden
            this.Write("}\r\n\tEndGlobalSection\r\nEndGlobal\r\n");
            return(this.GenerationEnvironment.ToString());
        }
 public SqlContentSupport(ProjectGenerator generator)
 {
     FilePath = generator.ProjectFilePath;
     DestinationFolder = generator.ProjectDestinationFolder;
 }
Beispiel #32
0
        public ProjectGeneratorWrap Prepare(string testDir1, string TestProject1, string output)
        {
            this.OutputDir = output;
            Paths.SolutionDestinationFolder = this.OutputDir;

            var gen = new ProjectGenerator(testDir1, output);
            ProjectGenerator = gen;

            gen.SetProjectFilePath(TestProject1);
            gen.SetSolutionGenerator(new SolutionGenerator(TestProject1, output));
            Assert.IsTrue(File.Exists(gen.ProjectFilePath));
            Assert.IsTrue(File.Exists(gen.SolutionGenerator.ProjectFilePath));

            Projects.Add(TestProject1);

            // the latest set of environment variables.
            var projectCollection = new ProjectCollection();
            this.msbuildProject = new Project(
                gen.ProjectFilePath,
                null,
                null,
                projectCollection,
                ProjectLoadSettings.IgnoreMissingImports);

            this.msbuildSupport = new MSBuildSupport(gen);

            Title = Path.GetFileNameWithoutExtension(gen.ProjectFilePath);
            DestinationFileName = Path.Combine(gen.ProjectDestinationFolder, Title) + ".html";
            return this;
        }