public void BuildTest()
 {
     var builder = new DBBuilder(new DBConnection
     {
         Account = "gonnatour",
         DBType = DataBaseType.MSSQL,
         Name = "gonnatour",
         Password = "******",
         Server = "localhost"
     });
     DataBase database = builder.Build();
     var parameter = new BuilderParameters { DataBase = database, OutputDirectory = new DirectoryInfo("./../DAO/"), Template = new FileInfo("./testdata/test2.tpl"),Namespace = "xCode.Test.Objects"};
     var daoBuilder = new ClassBuilder(parameter);
     var files = daoBuilder.Build();
     foreach (var file in files)
     {
         Console.WriteLine(file);
     }
     var hbmBuilder = new HBMBuilder (parameter);
     files = hbmBuilder.Build();
     foreach (var file in files)
     {
         Console.WriteLine(file);
     }
 }
        public void Build()
        {
            /*
             * must generate tasks :
             *	- clean
             *	- build
             *	- rebuild
             *	- release
             *  - deploy
             *	- help/default
             *
             *	every task with prefix build/rebuild/release
             *		- platform-target-application
             *		- platform-application
             *		- target-application
             *		- platform-target
             *		- platform
             *		- target
             *		- application
             */

            DirectoryPath rootPath = _context.CakeContext.Directory(_pathContainer.Root);

            if (!_context.CakeContext.DirectoryExists(rootPath))
            {
                _context.CakeContext.LogAndThrow($"Root directory {rootPath.FullPath} does not exists");
            }

            DirectoryPath buildPath     = rootPath.Combine(_pathContainer.Build);
            DirectoryPath artifactsPath = rootPath.Combine(_pathContainer.Artifacts);

            IConfiguration switchConfiguration = MergeSwitches();

            BuilderParameters parameters = new BuilderParameters(rootPath, buildPath, artifactsPath, _context, _rootConfiguration, switchConfiguration, _platforms, _targets, _applications);

            new Builder(parameters).Build();
        }