FlubuCore v2.14.0 Release Notes

Release Date: 2019-01-07 // over 5 years ago
    • โž• Add support for interactive task members.

    Example:

        protected override void ConfigureTargets(ITaskContext context)
        {
             context.CreateTarget("Example")
                    .AddTask(x => x.CompileSolutionTask()
                        .Interactive(m => m.BuildConfiguration("default value if interactive mode disabled or value is 
                         passed as argument."), consoleText: "Enter build configuration:"));
    
            context.CreateTarget("Example2")
                .SetAsDefault()
                .Do(Example2, 
                     "default value if interactive mode disabled or value is passed as argument", 
                      options => { options.Interactive(m => m.Param, "-test", consoleText: "Enter example value to print to console:"); });
        }
    
        private static void Example2(ITaskContext context, string value)
        {
            context.LogInfo($"Entered: {value}");
        }
    

    ๐Ÿ–จ If u run target Example2 from console u will be prompted by Flubu to enter value which will be then printed to console.

    • ๐Ÿ‘ Flubu now supports cleanup actions when hitting control + c.. If u want that cleanup actions are performed You have to explicitly set parameter in task Finally method or in group parameter.

    Bellow is example in which FlubuCore performs specified cleanup actions when hitting control + c or control + break (two optional parameters with true value are added)

     context.CreateTarget("run.postgres")
            .SetAsDefault()
            .Group(
                target =>
                {
                    target
                        .AddTaskAsync(task =>
                            task
                                .DockerTasks()
                                .Run("postgres:10.5", string.Empty)
                                .Finally(innerContext => innerContext.LogInfo("Testing1"), true));
                }, innerContext => { innerContext.LogInfo("Testing2"); },
                cleanUpOnCancel: true);  
    
    • ๐Ÿ‘Œ Improves logging on web api client tasks.
    • ๐Ÿšš (Possible breaking change)Removed obsolete methods from some tasks
    • โž• Adds option to set destination package folder in CreateZipPackageFromProjcet tasks. Currently only default destination folder could be used.