Ejemplo n.º 1
0
        protected override void OnCopyFrom(ProjectRunConfiguration config, bool isRename)
        {
            base.OnCopyFrom(config, isRename);

            var other = (AspNetCoreRunConfiguration)config;

            CurrentProfile.LaunchBrowser = other.CurrentProfile.LaunchBrowser ?? true;
            CurrentProfile.LaunchUrl     = other.CurrentProfile.LaunchUrl;
            var applicationUrl = other.CurrentProfile.TryGetApplicationUrl();

            if (!string.IsNullOrEmpty(applicationUrl))
            {
                if (CurrentProfile.OtherSettings == null)
                {
                    CurrentProfile.OtherSettings = new Dictionary <string, object> (StringComparer.Ordinal);
                }

                CurrentProfile.OtherSettings ["applicationUrl"] = applicationUrl;
            }

            if (other.PipeTransport == null)
            {
                PipeTransport = null;
            }
            else
            {
                PipeTransport = new PipeTransportSettings(other.PipeTransport);
            }
        }
Ejemplo n.º 2
0
        internal void RemoveConfiguration(ProjectRunConfiguration editedConfig)
        {
            var c = configs.First(ci => ci.EditedConfig == editedConfig);

            configs.Remove(c);
            RemovePanel(c);
        }
Ejemplo n.º 3
0
        internal void ShowConfiguration(ProjectRunConfiguration editedConfig)
        {
            var rc      = configs.First(ci => ci.EditedConfig == editedConfig);
            var section = sections [rc];

            ParentDialog.ShowPage(section);
        }
 protected override ExecutionCommand OnCreateExecutionCommand(
     ConfigurationSelector configSel,
     DotNetProjectConfiguration configuration,
     TargetFrameworkMoniker framework,
     ProjectRunConfiguration runConfiguration)
 {
     return(CreateDotNetCoreExecutionCommand(configSel, configuration, runConfiguration));
 }
Ejemplo n.º 5
0
        internal void AddConfiguration(ProjectRunConfiguration editedConfig)
        {
            var c = new RunConfigInfo {
                EditedConfig = editedConfig
            };

            configs.Add(c);
            AddPanel(c);
        }
Ejemplo n.º 6
0
        internal void ReplaceConfiguration(ProjectRunConfiguration oldConf, ProjectRunConfiguration newConf)
        {
            var i    = configs.FindIndex(ci => ci.EditedConfig == oldConf);
            var oldc = configs [i];
            var newc = new RunConfigInfo {
                EditedConfig = newConf
            };

            configs [i] = newc;
            RemovePanel(oldc);
            AddPanel(newc);
        }
Ejemplo n.º 7
0
        public static RunConfigurationEditor CreateEditorForConfiguration(ProjectRunConfiguration config)
        {
            var name = config.GetType().FullName;
            var node = AddinManager.GetExtensionNodes <RunConfigurationEditorExtensionNode> (EditorsExtension).FirstOrDefault(n => n.RunConfigurationType == name);

            if (node != null)
            {
                return((RunConfigurationEditor)node.CreateInstance(typeof(RunConfigurationEditor)));
            }
            else
            {
                return(null);
            }
        }
        protected override ExecutionCommand OnCreateExecutionCommand(
            ConfigurationSelector configSel,
            DotNetProjectConfiguration configuration,
            TargetFrameworkMoniker framework,
            ProjectRunConfiguration runConfiguration)
        {
            var result = CreateAspNetCoreExecutionCommand(configSel, configuration, runConfiguration);

            if (result != null)
            {
                return(result);
            }

            return(base.OnCreateExecutionCommand(configSel, configuration, framework, runConfiguration));
        }
        protected override void OnCopyFrom(ProjectRunConfiguration config, bool isRename)
        {
            base.OnCopyFrom(config, isRename);

            var other = (DotNetCoreRunConfiguration)config;

            if (other.PipeTransport == null)
            {
                PipeTransport = null;
            }
            else
            {
                PipeTransport = new PipeTransportSettings(other.PipeTransport);
            }
        }
Ejemplo n.º 10
0
        protected override void OnCopyFrom(ProjectRunConfiguration config, bool isRename)
        {
            base.OnCopyFrom(config, isRename);

            var other = (DotNetCoreRunConfiguration)config;

            LaunchBrowser  = other.LaunchBrowser;
            LaunchUrl      = other.LaunchUrl;
            ApplicationURL = other.ApplicationURL;
            if (other.PipeTransport == null)
            {
                PipeTransport = null;
            }
            else
            {
                PipeTransport = new PipeTransportSettings(other.PipeTransport);
            }
        }
        protected override void OnCopyFrom(ProjectRunConfiguration config, bool isRename)
        {
            base.OnCopyFrom(config, isRename);

            var other = (DotNetCoreRunConfiguration)config;

#pragma warning disable CS0618 // Type or member is obsolete
            LaunchBrowser  = other.LaunchBrowser;
            LaunchUrl      = other.LaunchUrl;
            ApplicationURL = other.ApplicationURL;
#pragma warning restore CS0618 // Type or member is obsolete
            if (other.PipeTransport == null)
            {
                PipeTransport = null;
            }
            else
            {
                PipeTransport = new PipeTransportSettings(other.PipeTransport);
            }
        }
Ejemplo n.º 12
0
        public RunWithCustomParametersDialog(Project project)
        {
            this.project = project;
            runConfig    = project.CreateRunConfiguration("Custom");

            Title = GettextCatalog.GetString("Custom Parameters");

            Width  = 650;
            Height = 400;

            editor = RunConfigurationService.CreateEditorForConfiguration(runConfig);
            editor.Load(project, runConfig);

            var box = new VBox();

            Content = box;
            var c = editor.CreateControl().GetNativeWidget <Gtk.Widget> ();

            box.PackStart(box.Surface.ToolkitEngine.WrapWidget(c, NativeWidgetSizing.DefaultPreferredSize), true);

            box.PackStart(new HSeparator());

            var hbox = new HBox();

            hbox.PackStart(new Label("Run Action: "));
            hbox.PackStart(modeCombo = new ComboBox());
            box.PackStart(hbox);

            runButton = new DialogButton(new Command("run", GettextCatalog.GetString("Run")));

            Buttons.Add(Command.Cancel);
            Buttons.Add(runButton);

            LoadModes();
            UpdateStatus();

            editor.Changed             += Editor_Changed;
            modeCombo.SelectionChanged += (s, a) => UpdateStatus();
        }
        protected override ExecutionCommand OnCreateExecutionCommand(
            ConfigurationSelector configSel,
            DotNetProjectConfiguration configuration,
            ProjectRunConfiguration runConfiguration)
        {
            // build out a list of all the referenced assemblies with _full_ file paths.
            var references = Project.GetReferencedAssemblies(configSel, true).ContinueWith(t => {
                return(t.Result.Select <AssemblyReference, string>((r) => {
                    if (r.FilePath.IsAbsolute)
                    {
                        return r.FilePath;
                    }
                    return Project.GetAbsoluteChildPath(r.FilePath).FullPath;
                }).ToList());
            });

            return(new MeadowExecutionCommand()
            {
                OutputDirectory = configuration.OutputDirectory,
                ReferencedAssemblies = references
            });
        }
 protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
 {
     if (Project.TargetFramework.IsNetCoreApp ()) {
         var result = CreateAspNetCoreExecutionCommand (configSel, configuration, runConfiguration);
         if (result != null)
             return result;
     }
     return base.OnCreateExecutionCommand (configSel, configuration, runConfiguration);
 }
        DotNetCoreExecutionCommand CreateDotNetCoreExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            FilePath outputFileName             = GetOutputFileName(configuration);
            var      dotnetCoreRunConfiguration = runConfiguration as DotNetCoreRunConfiguration;

            return(new DotNetCoreExecutionCommand(
                       string.IsNullOrEmpty(dotnetCoreRunConfiguration?.StartWorkingDirectory) ? Project.BaseDirectory : dotnetCoreRunConfiguration.StartWorkingDirectory,
                       outputFileName,
                       dotnetCoreRunConfiguration?.StartArguments
                       )
            {
                EnvironmentVariables = dotnetCoreRunConfiguration?.EnvironmentVariables,
                PauseConsoleOutput = dotnetCoreRunConfiguration?.PauseConsoleOutput ?? false,
                ExternalConsole = dotnetCoreRunConfiguration?.ExternalConsole ?? false,
                LaunchBrowser = dotnetCoreRunConfiguration?.LaunchBrowser ?? false,
                LaunchURL = dotnetCoreRunConfiguration?.LaunchUrl,
                ApplicationURL = dotnetCoreRunConfiguration?.ApplicationURL,
                PipeTransport = dotnetCoreRunConfiguration?.PipeTransport
            });
        }
        protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            // Unless we pass a port it will spawn a child host, which won't be followed by the debugger.
            var cfg = (DotNetProjectConfiguration)Project.GetConfiguration(configSel);
            var cmd = new DotNetExecutionCommand(FuncExe)
            {
                Arguments            = "host start -p 7071 --pause-on-error",
                WorkingDirectory     = cfg.OutputDirectory,
                EnvironmentVariables = cfg.GetParsedEnvironmentVariables(),
            };

            // The Mono Mac filesystem watcher immediate fires a change event on the assembly,
            // causing the host to shutdown and restart as a new process.
            // However, it doesn't seem to be possible to disable the host's filesystem watcher.
            // Instead, force Mono to disable file watching.
            cmd.EnvironmentVariables ["MONO_MANAGED_WATCHER"] = "disabled";

            return(cmd);
        }
        DotNetCoreExecutionCommand CreateDotNetCoreExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            FilePath outputFileName;
            var      dotnetCoreRunConfiguration = runConfiguration as DotNetCoreRunConfiguration;

            if (dotnetCoreRunConfiguration?.StartAction == AssemblyRunConfiguration.StartActions.Program)
            {
                outputFileName = dotnetCoreRunConfiguration.StartProgram;
            }
            else
            {
                outputFileName = GetOutputFileName(configuration);
            }

            return(new DotNetCoreExecutionCommand(
                       string.IsNullOrEmpty(dotnetCoreRunConfiguration?.StartWorkingDirectory) ? Project.BaseDirectory : dotnetCoreRunConfiguration.StartWorkingDirectory,
                       outputFileName,
                       dotnetCoreRunConfiguration?.StartArguments
                       )
            {
                EnvironmentVariables = dotnetCoreRunConfiguration?.EnvironmentVariables,
                PauseConsoleOutput = dotnetCoreRunConfiguration?.PauseConsoleOutput ?? false,
                ExternalConsole = dotnetCoreRunConfiguration?.ExternalConsole ?? false,
#pragma warning disable CS0618 // Type or member is obsolete
                LaunchBrowser = dotnetCoreRunConfiguration?.LaunchBrowser ?? false,
                LaunchURL = dotnetCoreRunConfiguration?.LaunchUrl,
                ApplicationURL = dotnetCoreRunConfiguration?.ApplicationURL,
#pragma warning restore CS0618 // Type or member is obsolete
                PipeTransport = dotnetCoreRunConfiguration?.PipeTransport
            });
        }
 protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
 {
     if (Project.TargetFramework.IsNetCoreApp())
     {
         return(CreateDotNetCoreExecutionCommand(configSel, configuration, runConfiguration));
     }
     return(base.OnCreateExecutionCommand(configSel, configuration, runConfiguration));
 }
Ejemplo n.º 19
0
        protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            var cmd = (DotNetExecutionCommand)base.OnCreateExecutionCommand(configSel, configuration, runConfiguration);

            cmd.Command   = Assembly.GetEntryAssembly().Location;
            cmd.Arguments = "--no-redirect";
            cmd.EnvironmentVariables["MONODEVELOP_DEV_ADDINS"]         = Project.GetOutputFileName(configSel).ParentDirectory;
            cmd.EnvironmentVariables ["MONODEVELOP_CONSOLE_LOG_LEVEL"] = "All";
            return(cmd);
        }
 protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
 {
     if (IsGodotProject())
     {
         var runConfigurationIndex = runConfigurations.IndexOf(runConfiguration);
         if (runConfigurationIndex == -1)
         {
             LoggingService.LogError($"Unexpected RunConfiguration {runConfiguration.Id} {runConfiguration.GetType().FullName}");
         }
         var executionType = runConfigurations[0] == runConfiguration ? ExecutionType.Launch : ExecutionType.Attach;
         return(new GodotExecutionCommand(
                    GetGodotProjectPath(),
                    executionType,
                    Path.GetDirectoryName(GetGodotProjectPath())));
     }
     return(base.OnCreateExecutionCommand(configSel, configuration, runConfiguration));
 }
        DotNetCoreExecutionCommand CreateDotNetCoreExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            FilePath outputFileName;
            var      dotnetCoreRunConfiguration = runConfiguration as DotNetCoreRunConfiguration;

            if (dotnetCoreRunConfiguration?.StartAction == AssemblyRunConfiguration.StartActions.Program)
            {
                outputFileName = dotnetCoreRunConfiguration.StartProgram;
            }
            else
            {
                outputFileName = GetOutputFileName(configuration);
            }

            var workingDirectory = Project.GetOutputFileName(configSel).ParentDirectory;

            return(new DotNetCoreExecutionCommand(
                       string.IsNullOrEmpty(dotnetCoreRunConfiguration?.StartWorkingDirectory) ? workingDirectory : dotnetCoreRunConfiguration.StartWorkingDirectory,
                       outputFileName,
                       dotnetCoreRunConfiguration?.StartArguments
                       )
            {
                EnvironmentVariables = dotnetCoreRunConfiguration?.EnvironmentVariables,
                PauseConsoleOutput = dotnetCoreRunConfiguration?.PauseConsoleOutput ?? false,
                ExternalConsole = dotnetCoreRunConfiguration?.ExternalConsole ?? false,
                PipeTransport = dotnetCoreRunConfiguration?.PipeTransport
            });
        }
Ejemplo n.º 22
0
        protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            if (!IsSupportedProject)
            {
                return(base.OnCreateExecutionCommand(configSel, configuration, runConfiguration));
            }

            return(CreateRhinoExecutionCommand(configSel, configuration, runConfiguration));
        }
Ejemplo n.º 23
0
        RhinoExecutionCommand CreateRhinoExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            FilePath outputFileName;
            var      rhinoRunConfiguration = runConfiguration as RhinoRunConfiguration;

            if (rhinoRunConfiguration?.StartAction == AssemblyRunConfiguration.StartActions.Program)
            {
                outputFileName = rhinoRunConfiguration.StartProgram;
            }
            else
            {
                outputFileName = Project.GetOutputFileName(configuration.Selector);
            }

            // find the rhino to use!
            var cmd = new RhinoExecutionCommand(
                Project,
                RhinoPluginType.Value,
                string.IsNullOrEmpty(rhinoRunConfiguration?.StartWorkingDirectory) ? Project.BaseDirectory : rhinoRunConfiguration.StartWorkingDirectory,
                outputFileName,
                rhinoRunConfiguration?.StartArguments,
                rhinoRunConfiguration?.EnvironmentVariables
                );

            cmd.ExternalConsole    = rhinoRunConfiguration?.ExternalConsole ?? false;
            cmd.PauseConsoleOutput = rhinoRunConfiguration?.PauseConsoleOutput ?? false;
            return(cmd);
        }
Ejemplo n.º 24
0
        private ExecutionCommand CreateAspNetCoreExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            FilePath outputFileName;
            var      aspnetCoreRunConfiguration = runConfiguration as AspNetCoreRunConfiguration;

            if (aspnetCoreRunConfiguration == null)
            {
                return(null);
            }
            if (aspnetCoreRunConfiguration.StartAction == AssemblyRunConfiguration.StartActions.Program)
            {
                outputFileName = aspnetCoreRunConfiguration.StartProgram;
            }
            else
            {
                outputFileName = GetOutputFileName(configuration);
            }

            return(new AspNetCoreExecutionCommand(
                       string.IsNullOrWhiteSpace(aspnetCoreRunConfiguration.StartWorkingDirectory) ? Project.BaseDirectory : aspnetCoreRunConfiguration.StartWorkingDirectory,
                       outputFileName,
                       aspnetCoreRunConfiguration.StartArguments
                       )
            {
                EnvironmentVariables = aspnetCoreRunConfiguration.EnvironmentVariables,
                PauseConsoleOutput = aspnetCoreRunConfiguration.PauseConsoleOutput,
                ExternalConsole = aspnetCoreRunConfiguration.ExternalConsole,
                LaunchBrowser = aspnetCoreRunConfiguration.LaunchBrowser,
                LaunchURL = aspnetCoreRunConfiguration.LaunchUrl,
                ApplicationURL = aspnetCoreRunConfiguration.ApplicationURL,
                PipeTransport = aspnetCoreRunConfiguration.PipeTransport
            });
        }
        protected override ExecutionCommand OnCreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration, ProjectRunConfiguration runConfiguration)
        {
            if (IsGodotProject())
            {
                var runConfigurationIndex = RunConfigurations.IndexOf(runConfiguration);

                if (runConfigurationIndex == -1)
                {
                    LoggingService.LogError($"Unexpected RunConfiguration {runConfiguration.Id} {runConfiguration.GetType().FullName}");
                }

                var executionType = ExecutionTypes[runConfigurationIndex];

                if (executionType == ExecutionType.PlayInEditor && !GodotMessagingClient.IsConnected)
                {
                    LoggingService.LogError($"Cannot launch editor player because the Godot Ide Client is not connected");
                }

                string godotProjectPath = GetGodotProjectPath();

                return(new GodotExecutionCommand(
                           godotProjectPath,
                           executionType,
                           Path.GetDirectoryName(godotProjectPath),
                           GodotMessagingClient
                           ));
            }

            return(base.OnCreateExecutionCommand(configSel, configuration, runConfiguration));
        }