Skip to content

Commit

Permalink
(maint) Add overriddes for recipe implementation
Browse files Browse the repository at this point in the history
This adds overload replacements for Cake.Recipe for the functionality we
have when uploading or pulling translations/source files from Transifex.
  • Loading branch information
AdmiringWorm committed Aug 16, 2024
1 parent b59fe4e commit 31ff596
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion recipe.cake
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,46 @@ ToolSettings.SetToolPreprocessorDirectives(

BuildParameters.PrintParameters(Context);

//((CakeTask)BuildParameters.Tasks.TransifexSetupTask.Task).Actions.Clear();
// Temporary Overrides needed to work properly with TX.Exe

((CakeTask)BuildParameters.Tasks.TransifexSetupTask.Task).Actions.Clear();
((CakeTask)BuildParameters.Tasks.TransifexPushSourceResource.Task).Actions.Clear();
((CakeTask)BuildParameters.Tasks.TransifexPullTranslations.Task).Actions.Clear();
((CakeTask)BuildParameters.Tasks.TransifexPushTranslations.Task).Actions.Clear();

private static void AddGlobalOptions(TransifexRunnerSettings settings)
{
if (!string.IsNullOrEmpty(BuildParameters.Transifex.ApiToken))
{
settings.ArgumentCustomization = args => args.PrependSwitchQuotedSecret("--token", " ", BuildParameters.Transifex.ApiToken);
};
}

BuildParameters.Tasks.TransifexPushSourceResource.Does(() =>
{
var settings = new TransifexPushSettings
{
UploadSourceFiles = true,
Force = string.Equals(BuildParameters.Target, "Transifex-Push-SourceFiles", StringComparison.OrdinalIgnoreCase),
};

AddGlobalOptions(settings);

TransifexPush(settings);
});

BuildParameters.Tasks.TransifexPullTranslations.Does(() =>
{
var settings = new TransifexPullSettings
{
All = true,
Mode = BuildParameters.TransifexPullMode,
MinimumPercentage = BuildParameters.TransifexPullPercentage
};

AddGlobalOptions(settings);

TransifexPull(settings);
});

Build.RunDotNetCore();

0 comments on commit 31ff596

Please sign in to comment.