Ejemplo n.º 1
0
        protected override string GetCommand()
        {
            var autorestCmd = PathProvider.GetAutoRestPath();

            if (!File.Exists(autorestCmd))
            {
                DependencyDownloader.InstallAutoRest();
            }

            return(autorestCmd);
        }
Ejemplo n.º 2
0
        public string GenerateCode(IProgressReporter pGenerateProgress)
        {
            try
            {
                pGenerateProgress.Progress(10);

                var jarFile = options.OpenApiGeneratorPath;
                if (!File.Exists(jarFile))
                {
                    Trace.WriteLine(jarFile + " does not exist");
                    jarFile = DependencyDownloader.InstallOpenApiGenerator();
                }

                pGenerateProgress.Progress(30);

                var output = Path.Combine(
                    Path.GetDirectoryName(swaggerFile) ?? throw new InvalidOperationException(),
                    Guid.NewGuid().ToString("N"),
                    "TempApiClient");

                Directory.CreateDirectory(output);
                pGenerateProgress.Progress(40);

                var arguments =
                    $"-jar \"{jarFile}\" generate " +
                    "--generator-name csharp-netcore " +
                    $"--input-spec \"{Path.GetFileName(swaggerFile)}\" " +
                    $"--output \"{output}\" " +
                    $"--package-name \"{defaultNamespace}\" " +
                    "--global-property apiTests=false,modelTests=false " +
                    "--skip-overwrite ";

                processLauncher.Start(javaPathProvider.GetJavaExePath(), arguments, Path.GetDirectoryName(swaggerFile));
                pGenerateProgress.Progress(80);

                return(CSharpFileMerger.MergeFilesAndDeleteSource(output));
            }
            finally
            {
                pGenerateProgress.Progress(90);
            }
        }
Ejemplo n.º 3
0
        public string GenerateCode(IVsGeneratorProgress pGenerateProgress)
        {
            try
            {
                pGenerateProgress.Progress(10);

                var jarFile = options.OpenApiGeneratorPath;
                if (!File.Exists(jarFile))
                {
                    Trace.WriteLine(jarFile + " does not exist");
                    jarFile = DependencyDownloader.InstallOpenApiGenerator();
                }

                pGenerateProgress.Progress(30);

                var output = Path.Combine(
                    Path.GetDirectoryName(swaggerFile) ?? throw new InvalidOperationException(),
                    "TempApiClient");

                Directory.CreateDirectory(output);
                pGenerateProgress.Progress(40);

                var arguments =
                    $"-jar \"{jarFile}\" generate " +
                    "-g csharp " +
                    $"--input-spec \"{swaggerFile}\" " +
                    $"--output \"{output}\" " +
                    "-DapiTests=false -DmodelTests=false " +
                    $"-DpackageName={defaultNamespace} " +
                    "--skip-overwrite ";

                ProcessHelper.StartProcess(javaPathProvider.GetJavaExePath(), arguments);
                pGenerateProgress.Progress(80);

                return(CSharpFileMerger.MergeFilesAndDeleteSource(output));
            }
            finally
            {
                pGenerateProgress.Progress(90);
            }
        }
Ejemplo n.º 4
0
        public string GetNSwagPath()
        {
            var command = options.NSwagPath;

            if (!string.IsNullOrWhiteSpace(command) && File.Exists(command) && !forceDownload)
            {
                return(command);
            }

            Trace.WriteLine(
                forceDownload
                    ? "Downloading NSwag using NPM"
                    : $"{command} could not be found in specified path! Retrying with default NSwag.exe path");

            command = PathProvider.GetNSwagPath();
            if (!File.Exists(command) || forceDownload)
            {
                DependencyDownloader.InstallNSwag();
            }

            return(command);
        }
 public void InstallSwaggerCodegenCli_Force_Returns_Path()
 => DependencyDownloader
 .InstallSwaggerCodegenCli(forceDownload: true)
 .Should()
 .NotBeNullOrWhiteSpace();
 public void InstallOpenApiGenerator_Force_Returns_Path()
 => DependencyDownloader
 .InstallOpenApiGenerator(forceDownload: true)
 .Should()
 .NotBeNullOrWhiteSpace();
 public void InstallSwaggerCodegenCli_With_Path_Returns_Path()
 => DependencyDownloader
 .InstallSwaggerCodegenCli(Path.GetTempPath())
 .Should()
 .NotBeNullOrWhiteSpace();
 public void InstallOpenApiGenerator_With_Path_Returns_Path()
 => DependencyDownloader
 .InstallOpenApiGenerator(Path.GetTempPath())
 .Should()
 .NotBeNullOrWhiteSpace();
Ejemplo n.º 9
0
 protected override string GetCommand()
 {
     DependencyDownloader.InstallAutoRest();
     return(PathProvider.GetAutoRestPath());
 }