def load(self):
        try:
            self.load_settings()
        except FileNotFoundError as e:
            self._raise_invalid_project(
                "Project file not found. Have you run 'init'?", e
            )

        if self.artifact_type == ARTIFACT_TYPE_MODULE:
            LOG.info("Validating your module fragments...")
            template_fragment = TemplateFragment(self.type_name)
            try:
                self._validate_fragments(template_fragment)
            except FragmentValidationError as e:
                msg = "Invalid template fragment: " + str(e)
                self._raise_invalid_project(msg, e)
            self.schema = template_fragment.generate_schema()
            self.fragment_dir = template_fragment.fragment_dir
        else:
            LOG.info("Validating your resource specification...")
            try:
                self.load_schema()
                LOG.warning("Resource schema is valid.")
            except FileNotFoundError as e:
                self._raise_invalid_project("Resource specification not found.", e)
            except SpecValidationError as e:
                msg = "Resource specification is invalid: " + str(e)
                self._raise_invalid_project(msg, e)
Esempio n. 2
0
 def _load_modules_project(self):
     LOG.info("Validating your module fragments...")
     template_fragment = TemplateFragment(self.type_name, self.root)
     try:
         self._validate_fragments(template_fragment)
     except FragmentValidationError as e:
         msg = "Invalid template fragment: " + str(e)
         self._raise_invalid_project(msg, e)
     self.schema = template_fragment.generate_schema()
     self.fragment_dir = template_fragment.fragment_dir