All Versions
32
Latest Version
Avg Release Cycle
43 days
Latest Release
85 days ago

Changelog History
Page 1

  • 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
  • v3.1.2.0

    • 🛠 Fixes Must on target fluent interface.
    • 🛠 Fixes script when using partial classes. Script failed in some scenarios.
    • script allows includes of other cs files in partial classes.
    • 🌲 System.Drawing.Primitives assembly reference doesn't need to be referenced exlicitly anymore in script uses collored logging (issue was only present when target .net core framework)
    • 👌 Improved some script error messages.
  • v3.1.1.0

    • 🛠 Fixes loading of nuget packages that don't have target framework specified.
    • FetchBuildVersionFromFileTask: Improves fetching of version from file by allowing version to be in any line not just first.
    • 0️⃣ FetchBuildVersionFromFileTask: Adds default project version file locations.
    • 🚚 FetchBuildVersionFromFileTask: Adds option to remove prefix from version.
    • FetchBuildVersionFromFileTask: Adds option to allow any suffix.
    • 👌 Improves error messages when cs files that are used in script are not included.
    • 👌 Improves error messages when script assembly references are not loaded.
    • ➕ Added Null and empty target name validation.