def compile(self, dry=False): linker = Linker() all_models = self.model_sources(this_project=self.project) for project in dependency_projects(self.project): all_models.extend( self.model_sources(this_project=self.project, own_project=project)) enabled_models = [model for model in all_models if model.is_enabled] compiled_models, written_models = self.compile_models( linker, enabled_models) # TODO : only compile schema tests for enabled models written_schema_tests = self.compile_schema_tests(linker) self.validate_models_unique(compiled_models) self.validate_models_unique(written_schema_tests) self.write_graph_file(linker) if self.create_template.label != 'test': written_analyses = self.compile_analyses(linker, compiled_models) else: written_analyses = [] return len(written_models), len(written_schema_tests), len( written_analyses)
def get_models(self): all_models = self.model_sources(this_project=self.project) for project in dependency_projects(self.project): all_models.extend( self.model_sources(this_project=self.project, own_project=project)) return all_models
def compile(self, limit_to=None): linker = Linker() all_models = self.get_models() all_macros = self.get_macros(this_project=self.project) for project in dependency_projects(self.project): all_macros.extend( self.get_macros(this_project=self.project, own_project=project)) self.macro_generator = self.generate_macros(all_macros) if limit_to is not None and 'models' in limit_to: enabled_models = [ model for model in all_models if model.is_enabled and not model.is_empty ] else: enabled_models = [] compiled_models, written_models = self.compile_models( linker, enabled_models) # TODO : only compile schema tests for enabled models if limit_to is not None and 'tests' in limit_to: written_schema_tests = self.compile_schema_tests(linker) written_data_tests = self.compile_data_tests(linker) else: written_schema_tests = [] written_data_tests = [] self.validate_models_unique(compiled_models) self.validate_models_unique(written_schema_tests) self.write_graph_file(linker, self.create_template.label) if limit_to is not None and 'analyses' in limit_to and \ self.create_template.label not in ['test', 'archive']: written_analyses = self.compile_analyses(linker, compiled_models) else: written_analyses = [] if limit_to is not None and 'archives' in limit_to: compiled_archives = self.compile_archives() else: compiled_archives = [] return { "models": len(written_models), "schema tests": len(written_schema_tests), "data tests": len(written_data_tests), "archives": len(compiled_archives), "analyses": len(written_analyses) }
def compile(self, dry=False): linker = Linker() all_models = self.get_models() all_macros = self.get_macros(this_project=self.project) for project in dependency_projects(self.project): all_macros.extend(self.get_macros(this_project=self.project, own_project=project)) self.macro_generator = self.generate_macros(all_macros) enabled_models = [model for model in all_models if model.is_enabled] compiled_models, written_models = self.compile_models(linker, enabled_models) # TODO : only compile schema tests for enabled models written_schema_tests = self.compile_schema_tests(linker) written_data_tests = self.compile_data_tests(linker) self.validate_models_unique(compiled_models) self.validate_models_unique(written_schema_tests) self.write_graph_file(linker, self.create_template.label) if self.create_template.label not in ['test', 'archive']: written_analyses = self.compile_analyses(linker, compiled_models) else: written_analyses = [] compiled_archives = self.compile_archives() return { "models": len(written_models), "schema tests" : len(written_schema_tests), "data tests" : len(written_data_tests), "archives": len(compiled_archives), "analyses" : len(written_analyses) }