예제 #1
0
        public static Task <int> Do(
            IConsole console,
            CommandLineParser.StartServer startServer = null,
            InvocationContext context = null)
        {
            startServer?.Invoke(new StartupOptions(isJupyter: true), context);

            return(Task.FromResult(0));
        }
예제 #2
0
        public static Task <int> Do(
            StartupOptions startupOptions,
            IConsole console,
            CommandLineParser.StartServer startServer = null,
            InvocationContext context = null)
        {
            startServer?.Invoke(startupOptions, context);

            return(Task.FromResult(0));
        }
예제 #3
0
        public static Task <int> Do(
            DemoOptions options,
            IConsole console,
            CommandLineParser.StartServer startServer = null,
            InvocationContext context = null)
        {
            var extractDemoFiles = true;

            if (!options.Output.Exists)
            {
                options.Output.Create();
            }
            else
            {
                if (options.Output.GetFiles().Any())
                {
                    if (options.Output.GetFiles().All(f => f.Name != "QuickStart.md"))
                    {
                        console.Out.WriteLine($"Directory {options.Output} must be empty. To specify a directory to create the demo sample in, use: dotnet try demo --output <dir>");
                        return(Task.FromResult(-1));
                    }

                    extractDemoFiles = false;
                }
            }

            if (extractDemoFiles)
            {
                using (var disposableDirectory = DisposableDirectory.Create())
                {
                    var assembly = typeof(Program).Assembly;

                    using (var resourceStream = assembly.GetManifestResourceStream("demo.zip"))
                    {
                        var zipPath = Path.Combine(disposableDirectory.Directory.FullName, "demo.zip");

                        using (var fileStream = new FileStream(zipPath, FileMode.Create, FileAccess.Write))
                        {
                            resourceStream.CopyTo(fileStream);
                        }

                        ZipFile.ExtractToDirectory(zipPath, options.Output.FullName);
                    }
                }
            }

            startServer?.Invoke(new StartupOptions(
                                    uri: new Uri("QuickStart.md", UriKind.Relative),
                                    dir: options.Output),
                                context);

            return(Task.FromResult(0));
        }
예제 #4
0
        public static Task <int> Do(
            StartupOptions startupOptions,
            IConsole console,
            CommandLineParser.StartServer startServer = null,
            InvocationContext context = null)
        {
            startupOptions.IsJupyter = true;

            Program.StartToolLogging(startupOptions);

            startServer?.Invoke(startupOptions, context);

            return(Task.FromResult(0));
        }
예제 #5
0
        public static Task <int> Do(
            JupyterOptions options,
            IConsole console,
            CommandLineParser.StartServer startServer = null,
            InvocationContext context = null)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            startServer?.Invoke(new StartupOptions(), context);

            return(Task.FromResult(0));
        }