Example #1
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            AddNuGet(services.Services);
        }
Example #2
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddSingleton <IBinaryAnalysisExecutor, ApiChecker>();
        }
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <WCFUpdateStep>();
        }
 private static void AddUpgradeSteps(IExtensionServiceCollection services)
 {
     services.AddBackupStep();
     services.AddConfigUpdaterStep();
     services.AddPackageUpdaterStep();
     services.AddSolutionSteps();
     services.AddSourceUpdaterStep();
     services.AddTemplateInserterStep();
 }
Example #5
0
        public static void AddBackupStep(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <BackupStep>();
            services.AddExtensionOption <BackupOptions>("Backup");
        }
Example #6
0
        public static void AddConfigUpdaterStep(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <ConfigUpdaterStep>();
            services.AddExtensionOption <ConfigUpdaterOptions>(ConfigUpdaterOptionsSectionName);
            services.Services.AddDefaultConfigUpdaters();
        }
Example #7
0
 private static void AddUpgradeSteps(IExtensionServiceCollection services)
 {
     services.AddBackupStep();
     services.AddConfigUpdaterStep();
     services.AddPackageUpdaterStep();
     services.AddProjectFormatSteps()
     .Bind(services.Configuration.GetSection(TryConvertProjectConverterStepOptionsSection));
     services.AddSolutionSteps();
     services.AddSourceUpdaterStep();
     services.AddTemplateInserterStep();
 }
Example #8
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            AddUpgradeSteps(services);
            AddAnalyzersAndCodeFixProviders(services.Services);
            AddPackageReferenceAnalyzers(services.Services);
        }
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <VisualBasicProjectUpdaterStep>();
            services.Services.AddTransient <IDependencyAnalyzer, MyDotAnalyzer>();
            services.Services.AddTransient <ITargetFrameworkSelectorFilter, MyTypeTargetFrameworkSelectorFilter>();
            services.Services.AddTransient <IUpgradeReadyCheck, VisualBasicRazorTemplateCheck>();
        }
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddTransient <IDependencyAnalyzer, LooseDependencyAnalyzer>();
            services.Services.AddScoped <NuGetPackageLookup>();

            services.AddExtensionOption <LooseDependencyOptions>("LooseDependencies");
        }
Example #11
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddTransient <ITargetFrameworkSelectorFilter, WindowsSdkTargetFrameworkSelectorFilter>();
            services.Services.AddTransient <IComponentIdentifier, WindowsComponentIdentifier>();
            services.Services.AddTransient <IAnalyzeResultProvider, WinformsResultProvider>();
            services.Services.AddWinformsUpdaterStep();
        }
Example #12
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddTransient <IDependencyAnalyzer, NewtonsoftReferenceAnalyzer>();
            services.Services.AddScoped <IUpdater <ConfigFile>, WebNamespaceConfigUpdater>();
            services.Services.AddTransient <ITargetFrameworkSelectorFilter, WebProjectTargetFrameworkSelectorFilter>();
            services.Services.AddTransient <IComponentIdentifier, WebComponentIdentifier>();
            services.Services.AddRazorUpdaterStep();
        }
Example #13
0
        /// <summary>
        /// Registers services (the analyzer and code fix provider) comprising the
        /// SourceUpdaterSample extension into Upgrade Assistant's dependency injection container.
        /// </summary>
        /// <param name="services">A configuration object containing the service collection
        /// to register services in, the extension's configuration file, and a file provider
        /// for retrieving extension files.</param>
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            // Register the analyzer and code fix provider for this extension.
            // Even though this extension doesn't register any new upgrade steps,
            // these services will be picked up by existing upgrade steps that use
            // analzyers and code fix providers (like the SourceUpdaterStep and
            // RazorUpdaterStep).
            services.Services.AddTransient <DiagnosticAnalyzer, MakeConstAnalyzer>();
            services.Services.AddTransient <CodeFixProvider, MakeConstCodeFixProvider>();
        }
Example #14
0
        public static void AddPackageUpdaterStep(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new System.ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <PackageUpdaterPreTFMStep>();
            services.Services.AddUpgradeStep <PackageUpdaterStep>();
            services.Services.AddTransient <IDependencyAnalyzerRunner, DependencyAnalyzerRunner>();
            services.Services.AddTransient <IAnalyzeResultProvider, PackageAnalyzerResultProvider>();

            services.AddExtensionOption <PackageUpdaterOptions>(PackageUpdaterOptionsSectionName)
            .MapFiles <NuGetPackageMap[]>(t => Path.Combine(t.PackageMapPath, PackageMapExtension));
        }
        public static void AddSolutionSteps(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddSingleton <IEntrypointResolver, EntrypointResolver>();

            services.Services.AddUpgradeStep <CurrentProjectSelectionStep>();
            services.Services.AddUpgradeStep <NextProjectStep>();
            services.Services.AddUpgradeStep <FinalizeSolutionStep>();
            services.Services.AddUpgradeStep <EntrypointSelectionStep>();

            services.AddExtensionOption <SolutionOptions>("Solution");
        }
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddTransient <IUpgradeReadyCheck, XamarinFormsVersionCheck>();
            services.Services.AddTransient <ITargetFrameworkSelectorFilter, MauiTargetFrameworkSelectorFilter>();
            services.Services.AddTransient <IComponentIdentifier, MauiComponentIdentifier>();
            services.Services.AddUpgradeStep <MauiPlatformTargetFrameworkUpgradeStep>();
            services.Services.AddUpgradeStep <MauiAddProjectPropertiesStep>();
            services.Services.AddTransient <DiagnosticAnalyzer, UsingXamarinFormsAnalyzerAnalyzer>();
            services.Services.AddTransient <DiagnosticAnalyzer, UsingXamarinEssentialsAnalyzer>();
            services.Services.AddTransient <CodeFixProvider, UsingXamarinFormsAnalyzerCodeFixProvider>();
            services.Services.AddTransient <CodeFixProvider, UsingXamarinEssentialsAnalyzerCodeFixProvider>();
        }
Example #17
0
        public static IServiceCollection AddTemplateInserterStep(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new System.ArgumentNullException(nameof(services));
            }

            services.Services.AddSingleton <TemplateProvider>();
            services.Services.AddUpgradeStep <TemplateInserterStep>();

            services.Services.AddOptions <JsonSerializerOptions>()
            .Configure(o => o.Converters.Add(new JsonStringProjectItemTypeConverter()));
            services.AddExtensionOption <TemplateInserterOptions>(TemplateInserterOptionsSectionName)
            .MapFiles <TemplateConfiguration>(t => t.TemplateConfigFiles);

            return(services.Services);
        }
Example #18
0
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <SetTFMStep>();

            if (FeatureFlags.IsSolutionWideSdkConversionEnabled)
            {
                services.Services.AddUpgradeStep <SdkStyleConversionSolutionWideStep>();
            }
            else
            {
                services.Services.AddUpgradeStep <TryConvertProjectConverterStep>();
            }

            services.Services.AddTransient <ITryConvertTool, TryConvertInProcessTool>();
            services.Services.AddTransient <TryConvertRunner>();

            services.Services.AddOptions <TryConvertOptions>()
            .Bind(services.Configuration.GetSection(TryConvertProjectConverterStepOptionsSection))
            .PostConfigure(options =>
            {
                var path = Environment.ExpandEnvironmentVariables(options.ToolPath);

                if (!Path.IsPathRooted(path))
                {
                    var fileInfo = services.Files.GetFileInfo(options.ToolPath);

                    if (fileInfo.Exists && fileInfo.PhysicalPath is string physicalPath)
                    {
                        path = physicalPath;
                    }
                }

                options.ToolPath = path;
            })
            .ValidateDataAnnotations();
        }
        public static void AddSourceUpdaterStep(this IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            services.Services.AddUpgradeStep <SourceUpdaterStep>();
            services.Services.AddTransient <IAnalyzeResultProvider, DiagnosticAnalyzerResultProvider>();
            services.Services.AddTransient <IRoslynDiagnosticProvider, RoslynDiagnosticProvider>();
            services.AddExtensionOption <SourceUpdaterOptions>(SourceUpdaterOptionsSection);

            // TODO - In the future, this should map the options to IEnumerable<AdditionalText> using
            //        extension mapping APIs. Currently, though, extension option mapping only works
            //        with json serialized files.
            services.Services.AddTransient <IEnumerable <AdditionalText> >(sp =>
            {
                var options = sp.GetRequiredService <IOptions <ICollection <SourceUpdaterOptions> > >();

                return(ExpandAdditionalTexts(options.Value));
            });
        }
        /// <summary>
        /// Registers services needed for the FindReplaceStep sample extension in
        /// Upgrade Assistant's dependency injection container.
        /// </summary>
        /// <param name="services">A  configuration object containing the service collection
        /// to register services in, the extension's configuration file, and a file provider
        /// for retrieving extension files.</param>
        public void AddServices(IExtensionServiceCollection services)
        {
            if (services is null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            // Add the upgrade step to Upgrade Assistant's DI container so that it
            // will be used by the tool.
            services.Services.AddUpgradeStep <FindReplaceUpgradeStep>();

            // This registers a type read from extension configuration. Using
            // AddExtensionOption (instead of registering an option using the
            // IExtensionServiceCollection's Configuration property) allows the
            // extension system to load the specified option from *all* extension,
            // not just the one registering it.
            //
            // Extensions can get the configured option from DI by requesting
            // IOptions<AuthorsPropertyOptions> (to get only the value of the option
            // specified by the most recently registered extension that includes the
            // option) or IOptions<ICollection<AuthorsPropertyOptions>> to get a collection
            // of all options of this type registered by any extensions.
            services.AddExtensionOption <FindReplaceOptions>(FindReplaceOptionsSectionName);
        }