All Versions
34
Latest Version
Avg Release Cycle
53 days
Latest Release
315 days ago

Changelog History
Page 1

  • v5.1.1

    April 26, 2020
    • ๐Ÿ‘Œ Improved build summary: added status and duration for each target
    • 0๏ธโƒฃ When .flubu file is empty Flubu looks for scripts, csprojs at default locations relative to .flubu file path
    • โž• Added build properties type validation
    • ๐Ÿ— Unified BuildVersion build properties
    • ๐Ÿ— predefined build dir and output dir is now combined with root directory
    • ๐Ÿ”„ Changed extension method names for RootDirectory and OutputDirectory
    • ๐Ÿ— Moved full .Net specific build property(BuildProps) constants to seperate class (DotNetBuildProps)
    • ๐Ÿ›  Fixed bug: predefined build property can now be overriden through BuildProperty attribute
    • ๐Ÿ›  Fixed bug: RootDirectory is not set on linux when using .flubu file
    • Interactive mode: command history is not reset anymore on load / reload script bug
  • v5.0.4

    April 11, 2020
  • v4.3.3

    November 27, 2019
  • v4.2.1

    September 26, 2019
  • v4.0.3

    June 29, 2019

    ๐Ÿ†• New major release with some really cool new features. Changelog can be found at: https://github.com/dotnetcore/FlubuCore/blob/master/CHANGELOG.md

  • v4.0.3.0

    • FlubuCore interactive mode which offers target tab completition, options tab completition, toogle targets and options, executed commands history and more.

    FlubuCore interactive mode

    • Targets: Execute another target within target with AddTarget.
        protected override void ConfigureTargets(ITaskContext context)
        {
           var exampleB = context.CreateTarget("TargetB")
                .Do(Something);
    
           context.CreateTarget("TargetA")
               .AddCoreTask(x => x.Build())
               .AddTarget(exampleB)  //Target is executed in the order it was added
               .Do(JustAnExample);
        }
    
        public void JustAnExample(ITaskContext context)
        {
            ...
        }
    
    • Target: Add tasks to target with a foreach loop.

      protected override void ConfigureTargets(ITaskContext context)
      {
           var solution = context.Properties.Get<VSSolution>(BuildProps.Solution);
      
           context.CreateTarget("Pack")
                  .ForEach(solution.Projects, (item, target) =>
                  {
                      target.AddCoreTask(x => x.Pack().Project(item.ProjectName))
                            .Do(JustAnExample, item);
                  });
      }
      

    private void JustAnExample(ITaskContext context, VSProjectInfo vsProjectInfo) { //// Do something. }

    
    - Override existing options or add additional options to tasks through console
    
    <sup>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Let's say you have target</sup>
    ```c#
    context.CreateTarget("Build")`
        .AddCoreTask(x => x.Build("MySolution.sln").Configuration("Release"); 
    

    ๐Ÿ—       and you wan't to build solution in debug configuration.

          You could just write in console

    ๐Ÿ— flubu build /o:configuration=Debug

          or

    ๐Ÿ— flubu build /o:c=Debug

          flubu would execute

    ๐Ÿ— dotnet build MySolution.sln -c Debug

    • ๐ŸŒฒ sequentiall logging in asynchronus executed tasks and targets.
    context.CreateTarget("Test")
            .SetAsDefault()
            .SequentialLogging(true)
            .AddCoreTaskAsync(x => x.Pack())
            .AddCoreTaskAsync(x => x.Pack())
            .DependsOnAsync(test2, test3);
    
    • ๐Ÿ†• New plugins are available: Chocolatey, Gitter and Slack plugin.
    • โž• Added Get solution infromation as task context extension
    • โž• Added support for multiple Musts on target
    • ๐Ÿ”Š Logs have now indentation for better readability.
    • ๐Ÿ”Š Logs have now timemark (actions that takes more than 2sec).
    • ๐Ÿ‘Œ Improved build summary in logs.
    • ๐Ÿ— Loged build finish time and build duration
    • ๐Ÿ›  Fixed GitVersionTask
    • Targets: Must now accepts optional error message parameter.
    • โšก๏ธ UpdateNetCoreTask can now write version quality(version suffix)
    • FetchBuildVersionFromFile can now fetch version quality(version suffix).
    • ๐ŸŒฒ FetchBuildVersionFromFile improved logging.
    • โž• Added options to set versions in dotnet tasks (dotnet build, dotnet pack, dotnet publish)
    • LoadSoluationTask returns solution information
    • โž• Added WithArgument to IRunProgramTask interface
    • ๐Ÿ›  Fixed check of unknown targets.
  • v3.2.1

    June 06, 2019

    ๐Ÿ‘€ See Changelog.md

  • v3.2.1.0

    • ๐Ÿ›  Fixed build status
    • ๐Ÿ‘Œ Improved message when build script is not found.
  • v3.2.0.0

    • โž• Added coverlet task .AddCoreTask(x => x.CoverletTask("assembly.dll")
    • โž• Adds flubu setup where you can set location of the build script and project file. run flubu setup
    • โž• Added When condition to all tasks.

      var compile = context
              .CreateTarget("compile")
              .SetDescription("Compiles the VS solution")
              .AddCoreTask(x => x.Build().Configuration("Release").When(
              () =>
              {
                  return context.BuildSystems().IsLocalBuild;
      
              }, task => { task.Configuration("Debug"); }));
      
    • Fixed bug where nuget and assemlby references were not loaded if csproj didnt have both of them

    • Adds OnBuildFailed event.

      ๐Ÿ— public class BuildScript : DefaultBuildScript
      {
      protected override void OnBuildFailed(ITaskSession session, Exception ex)
      {
      } 
      }
      
    • โž• Adds before and after target execution events.

      protected override void BeforeTargetExecution(ITaskContext context)
      {
      }
      
      protected override void AfterTargetExecution(ITaskContext context)
      {
      }
      
    • โž• Adds before and after build execution events.

      protected override void BeforeBuildExecution(ITaskContext context)
      {
      }
      
      protected override void AfterBuildExecution(ITaskSession session)
      {
      }
      
    • Improved nunit tasks fluent intefaces.

    • Added skipped target dependencies and tasks logging.

    • Publicly exposed task name.

    • fixed one of the default build script csproj locations.

  • v3.1.2

    April 21, 2019