internal override void ExecuteInternal(IBuildConfiguration config) { if (!EnvironmentAnalyzer.IsInGitRepo(config.ProjectDirectory)) { Log.LogMessage($"The project {config.ProjectName} is not inside of an initialized git repository"); return; } IGenerator generator = new ReleaseNotesGenerator(config, OutputPath); generator.Execute(); }
public override bool Execute() { //#if DEBUG // if (!System.Diagnostics.Debugger.IsAttached) // System.Diagnostics.Debugger.Launch(); //#endif LocateSolution(); BuildToolsConfigFilePath = ConfigHelper.GetConfigurationPath(ProjectDir); MigrateSecretsToSettings(); //ValidateConfigSchema(); var crossTargetingProject = IsCrossTargeting(); var platform = TargetFrameworkIdentifier.GetTargetPlatform(); var isPlatformHead = platform != Platform.Unsupported; var configuration = ConfigHelper.GetConfig(BuildToolsConfigFilePath); // Only run these tasks for Android and iOS projects if they're not explicitly disabled EnableArtifactCopy = !crossTargetingProject && IsEnabled(configuration?.ArtifactCopy) && isPlatformHead; EnableAutomaticVersioning = !crossTargetingProject && configuration.AutomaticVersioning is not null && configuration.AutomaticVersioning.Behavior != VersionBehavior.Off && isPlatformHead; EnableImageProcessing = !crossTargetingProject && IsEnabled(configuration?.Images) && (platform == Platform.iOS || platform == Platform.Android); EnableTemplateManifests = !crossTargetingProject && IsEnabled(configuration?.Manifests) && isPlatformHead; EnableReleaseNotes = IsEnabled(configuration?.ReleaseNotes) && isPlatformHead && EnvironmentAnalyzer.IsInGitRepo(ProjectDir); // Only run this if it's not disabled and there are SCSS files EnableScssToCss = IsEnabled(configuration?.Css) && Directory.EnumerateFiles(ProjectDir, "*.scss", SearchOption.AllDirectories).Any(); // Only run this if it is there is a configuration that enables it... or there is are secrets with no config EnableSecrets = ShouldEnableSecrets(configuration); return(true); }