config = \File::getRequire('Modules/Platform/CodeGenerator/Config/generator.php'); $this->info('Checking configration files...'); try { //Check config $this->info('Validating module configuration.'); ; $moduleValidator = new ModuleConfigValidator(); $moduleValidator->validate($this->config); $this->info('Validating entity configuration.'); ; $entityValidator = new EntityConfigValidator(); $entityValidator->validate($this->config); FileHelper::recurseRmdir(FileHelper::newModuleFilePath($this->config)); $this->info('Generating module files..'); $moduleName = $this->config['setup']['module_name']; \Artisan::call('module:make', ['name' => [$moduleName]]); while (true) { $module = \Module::find($moduleName); if ($module != null) { $configFile = new ConfigFile(); if ($configFile->generate($this->config)) { $this->info('Config file generated.'); } $routeFile = new RouteFile(); if ($routeFile->generate($this->config)) { $this->info('Route file generated.'); } $requestFile = new RequestFile(); if ($requestFile->generate($this->config)) { $this->info('Request file generated.'); } $langFile = new LangFile(); if ($langFile->generate($this->config)) { $this->info('Lang file generated.'); } $controllerFiles = new ControllerFile(); if ($controllerFiles->generate($this->config)) { $this->info('Controllers files generated.'); } $entityFile = new EntityFile(); if ($entityFile->generate($this->config)) { $this->info('Entities files genareted.'); } $formFile = new FormFile(); if ($formFile->generate($this->config)) { $this->info('Form file generated'); } $migrationFiles = new MigrationFile(); if ($migrationFiles->generate($this->config)) { $this->info('Migration files generated'); } $datatableFiles = new DatatableFile(); if ($datatableFiles->generate($this->config)) { $this->info('Datatables files genareted'); } // Datatables/ContactsDatatable.php // Datatables/Settings/... // Entities/... // Http/Forms/... // Database/Migrations/.. $this->info('Done!'); $this->info('fixing code style'); return true; } } } catch (\Exception $e) { $this->error($e->getMessage()); $this->error($e); } } }