internal override void ExecuteInternal(IBuildConfiguration config)
        {
            if (!string.IsNullOrEmpty(JsonSecretsFilePath) && File.Exists(JsonSecretsFilePath) && File.GetAttributes(JsonSecretsFilePath).HasFlag(FileAttributes.Normal))
            {
                return;
            }

            if (config.GetSecretsConfig().Disable || config.BuildingInsideVisualStudio)
            {
                return;
            }

            var secretsFile = Path.Combine(ProjectDirectory, "secrets.json");

            if (File.Exists(secretsFile))
            {
                Log.LogMessage("A secrets file already exists. Please delete the file to regenerate the secrets");
                return;
            }

            Log.LogMessage($"Output Path: {secretsFile}");
            IGenerator generator = new BuildHostSecretsGenerator(this)
            {
                SecretsJsonFilePath = secretsFile,
            };

            generator.Execute();
        }
        internal override void ExecuteInternal(IBuildConfiguration config)
        {
            Log.LogMessage($"Output Path: {SecretsJsonFilePath}");
            if (string.IsNullOrWhiteSpace(SecretsJsonFilePath))
            {
                Log.LogMessage($"No Secrets file specified for '{TargetFrameworkIdentifier}'");
            }
            else if (File.Exists(SecretsJsonFilePath))
            {
                Log.LogMessage("A secrets file already exists. Pleaes delete the file to regenerate the secrets");
            }
            else
            {
                IGenerator generator = new BuildHostSecretsGenerator(this)
                {
                    SecretsJsonFilePath = SecretsJsonFilePath,
                };

                generator.Execute();
            }
        }
        public override bool Execute()
        {
            try
            {
                Log.LogMessage($"Output Path: {SecretsJsonFilePath}");
                if (string.IsNullOrWhiteSpace(SecretsJsonFilePath))
                {
                    Log.LogMessage($"No Secrets file specified for '{SdkShortFrameworkIdentifier}'");
                }
                else if (File.Exists(SecretsJsonFilePath))
                {
                    Log.LogMessage("A secrets file already exists. Pleaes delete the file to regenerate the secrets");
                }
                else
                {
                    ValidateSecretsPrefix();
                    bool.TryParse(DebugOutput, out var debug);
                    var generator = new BuildHostSecretsGenerator()
                    {
                        SdkShortFrameworkIdentifier = SdkShortFrameworkIdentifier,
                        SecretsPrefix       = SecretsPrefix,
                        SecretsJsonFilePath = SecretsJsonFilePath,
                        DebugOutput         = debug,
                        Log = (BuildHostLoggingHelper)Log
                    };

                    generator.Execute();
                }
            }
            catch (Exception e)
            {
                Log.LogErrorFromException(e);
                return(false);
            }

            return(true);
        }