Ejemplo n.º 1
0
        private IProject CreateSubmissionProject(ISolution solution)
        {
            var name      = "Submission#" + _documentNumber++;
            var projectId = ProjectId.CreateNewId(solution.Id, name);

            var version            = VersionStamp.Create();
            var compilationOptions = _compilationOptions.WithScriptClassName(name);

            var projectInfo = new ProjectInfo(
                projectId,
                version,
                name,
                name,
                LanguageNames.CSharp,
                compilationOptions: compilationOptions,
                parseOptions: _parseOptions,
                metadataReferences: _references,
                isSubmission: true);

            solution = solution.AddProject(projectInfo);

            if (_previousProjectId != null)
            {
                solution = solution.AddProjectReference(projectId, _previousProjectId);
            }

            return(solution.GetProject(projectId));
        }
Ejemplo n.º 2
0
        private IProject CreateSubmissionProject(ISolution solution)
        {
            string    name = "Submission#" + _documentNumber++;
            ProjectId id   = ProjectId.CreateNewId(solution.Id, name);

            solution =
                solution.AddProject(new ProjectInfo(id, VersionStamp.Create(), name, name, LanguageNames.CSharp, null,
                                                    _compilationOptions.WithScriptClassName(name), _parseOptions, null,
                                                    null, _references, null, true));
            if (_previousProjectId != null)
            {
                solution = solution.AddProjectReference(id, _previousProjectId);
            }
            return(solution.GetProject(id));
        }
        public virtual async Task <IProject> Generate(ISolution solution, string name)
        {
            var location = Path.Combine(solution.CurrentDirectory, name);

            Directory.CreateDirectory(location);

            IProject project = TypeScriptProject.Create(solution, location);

            project = solution.AddProject(project);

            if (solution.StartupProject == null)
            {
                solution.StartupProject = project;
            }

            return(project);
        }
        public override async Task <IProject> Generate(ISolution solution, string name)
        {
            var shell   = IoC.Get <IShell>();
            var project = await base.Generate(solution, name);

            var catchProjectDir  = Path.Combine(solution.CurrentDirectory, "AvalonStudio.Testing.Catch");
            var catchProjectFile = Path.Combine(catchProjectDir, "CatchTestFramework.acproj");

            if (!Directory.Exists(catchProjectDir))
            {
                await
                Git.ClonePublicHttpSubmodule(this, "https://github.com/VitalElement/AvalonStudio.Testing.Catch.git",
                                             catchProjectDir);
            }

            // Add project
            var catchProject = Solution.LoadProjectFile(solution, catchProjectFile);

            catchProject.Hidden = true;

            solution.AddProject(catchProject);

            // Reference catch.
            project.AddReference(catchProject);

            await SourceFile.Create(project, "UnitTest1.cpp", Template.Engine.Parse("CatchUnitTest.template", new { }));

            project.ToolChain     = shell.ToolChains.FirstOrDefault(tc => tc is LocalGCCToolchain);
            project.Debugger      = shell.Debuggers.FirstOrDefault(d => d is LocalDebugAdaptor);
            project.TestFramework = shell.TestFrameworks.FirstOrDefault(d => d is CatchTestFramework);
            project.ToolChain.ProvisionSettings(project);

            var settings = LocalGCCToolchain.GetSettings(project);

            settings.CompileSettings.Exceptions   = true;
            settings.CompileSettings.Rtti         = true;
            settings.CompileSettings.Optimization = OptimizationLevel.Debug;
            settings.CompileSettings.CustomFlags += " -Wno-unknown-pragmas ";

            project.Save();
            solution.Save();

            return(project);
        }
		public virtual async Task<IProject> Generate(ISolution solution, string name)
		{
			var location = Path.Combine(solution.CurrentDirectory, name);

			if (!Directory.Exists(location))
			{
				Directory.CreateDirectory(location);
			}

			IProject project = CPlusPlusProject.Create(solution, location, name);

			project = solution.AddProject(project);

			if (solution.StartupProject == null)
			{
				solution.StartupProject = project;
			}

			return project;
		}
		public override async Task<IProject> Generate(ISolution solution, string name)
		{
			var shell = IoC.Get<IShell>();
			var project = await base.Generate(solution, name);
			var catchProjectDir = Path.Combine(solution.CurrentDirectory, "AvalonStudio.Testing.Catch");
			var catchProjectFile = Path.Combine(catchProjectDir, "CatchTestFramework.acproj");
			if (!Directory.Exists(catchProjectDir))
			{
				await
					Git.ClonePublicHttpSubmodule(this, "https://github.com/VitalElement/AvalonStudio.Testing.Catch.git",
						catchProjectDir);
			}

			// Add project
			var catchProject = Solution.LoadProjectFile(solution, catchProjectFile);
			catchProject.Hidden = true;

			solution.AddProject(catchProject);

			// Reference catch.
			project.AddReference(catchProject);

			await SourceFile.Create(project, "UnitTest1.cpp", new UnitTestTemplate().TransformText());

			project.ToolChain = shell.ToolChains.FirstOrDefault(tc => tc is LocalGCCToolchain);
			project.Debugger = shell.Debuggers.FirstOrDefault(d => d is LocalDebugAdaptor);
			project.TestFramework = shell.TestFrameworks.FirstOrDefault(d => d is CatchTestFramework);
            project.ToolChain.ProvisionSettings(project);

            var settings = LocalGCCToolchain.GetSettings(project);
			settings.CompileSettings.Exceptions = true;
			settings.CompileSettings.Rtti = true;
			settings.CompileSettings.Optimization = OptimizationLevel.Debug;
			settings.CompileSettings.CustomFlags += " -Wno-unknown-pragmas ";

			project.Save();
			solution.Save();

			return project;
		}
Ejemplo n.º 7
0
        private IProject CreateSubmissionProject(ISolution solution)
        {
            var name = "Submission#" + _documentNumber++;
            var projectId = ProjectId.CreateNewId(solution.Id, name);

            var version = VersionStamp.Create();
            var compilationOptions = _compilationOptions.WithScriptClassName(name);

            var projectInfo = new ProjectInfo(
                projectId,
                version,
                name,
                name,
                LanguageNames.CSharp,
                compilationOptions: compilationOptions,
                parseOptions: _parseOptions,
                metadataReferences: _references,
                isSubmission: true);

            solution = solution.AddProject(projectInfo);

            if (_previousProjectId != null)
            {
                solution = solution.AddProjectReference(projectId, _previousProjectId);
            }

            return solution.GetProject(projectId);
        }