Exemplo n.º 1
0
        protected override void Apply(string buildPath, string cachePath, string depsPath, int index)
        {
            LogHeader(".NET Config Transform Buildpack execution started");

            using (var configManager =
                       new ConfigReaderWriterBuilder(options =>
            {
                options.BuildPath = buildPath;
                options.ConfigurationFactory = _configurationFactory;
                options.EnvironmentWrapper = _environmentWrapper;
                options.FileWrapper = _fileWrapper;
                options.Logger = _logger;
                options.XmlDocumentWrapper = _xmlDocumentWrapper;
            })
                       .Build())
            {
                _tracer.FlushEnvironmentVariables();

                var transformer =
                    new ConfigTransformHandler(
                        configManager.ConfigSettings.SourceConfigRoot, configManager as IConfigReader, configManager as IConfigWriter);
                transformer.ApplyXmlTransformation(configManager.ConfigSettings.TransformConfigPath);
                transformer.CopyExternalAppSettings();
                transformer.CopyExternalConnectionStrings();
                transformer.CopyExternalTokens();
            }

            LogHeader(".NET Config Transform Buildpack execution completed");
        }
        private void ApplyTransformations(string buildPath, string webConfig)
        {
            using (var webConfigManager = new WebConfigManager(_fileWrapper, _xmlDocumentWrapper, _logger, webConfig))
            {
                var environment = _environmentWrapper.GetEnvironmentVariable(Constants.ASPNETCORE_ENVIRONMENT_NM) ?? "Release";
                _logger.WriteLog($"-----> Using Environment: {environment}");

                var config = _configurationFactory.GetConfiguration(environment);

                _tracer.FlushEnvironmentVariables();

                var transform = new WebConfigTransformHandler(config, webConfigManager);

                transform.ApplyXmlTransformation(buildPath, _environmentWrapper, webConfigManager);
                transform.CopyExternalAppSettings(webConfigManager);
                transform.CopyExternalConnectionStrings(webConfigManager);
                transform.CopyExternalTokens(webConfigManager);
            }
        }