Exemple #1
0
    def from_module_package(
            package: HBShedPackageHandler) -> HBShedPackageHandler:
        if not package.config().has_parent():
            return package

        else:
            current_path: Path = package.cwd
            parent_package: HBShedPackageHandler = package

            while parent_package.config().has_parent(
            ) and not parent_package.config().is_parent_external():
                current_path = parent_package.cwd.parent
                parent_package = HBShedPackageHandler(current_path)

            return parent_package
 def __get_package(self, name: str) -> Optional[HBShedPackageHandler]:
     target_path: Path = self.__node_modules.joinpath(name)
     if not target_path.is_dir():
         raise FileNotFoundError('Package : ' + name + ' not found at : ' +
                                 self.__node_modules.as_posix())
     return HBShedPackageHandler.from_package_handler(
         PackageHandler(target_path))
Exemple #3
0
class Module:
    name: str
    path: Path
    package: HBShedPackageHandler

    def __init__(self, path: Path) -> None:
        self.path = path
        self.__load_package()
        self.__ensure_name()

    def __load_package(self):
        self.package = HBShedPackageHandler(self.path)
        self.package.config()

    def __ensure_name(self):
        self.name = self.package.name()
    def process(self, package: PackageHandler):
        hb_package: Optional[
            HBShedPackageHandler] = HBShedPackageHandler.from_package_handler(
                package)

        if hb_package is not None:

            if hb_package.config().has_parent_external():

                if self.parents.get(hb_package.config().parent_name()):

                    if hb_package.config().has_parent_version(
                    ) and self.parents.get(hb_package.config().parent_name(
                    )) is not None and self.parents.get(hb_package.config(
                    ).parent_name()) != hb_package.config().parent_version():
                        raise ImportError(
                            'Version conflict with parent package : ' +
                            package.name() + ' parent: ' +
                            hb_package.config().parent_name() + ' version:' +
                            hb_package.config().parent_version() +
                            ' because version : ' + self.parents.get(
                                hb_package.config().parent_name()) +
                            ' already registered')

                self.parents[hb_package.config().parent_name(
                )] = hb_package.config().parent_version()
 def __init__(self, root_package: HBShedPackageHandler,
              package: HBShedPackageHandler, dependencies: Set[str],
              options: Options) -> None:
     self.__root_package: HBShedPackageHandler = root_package
     self.__package: HBShedPackageHandler = package
     self.__node_modules: Path = root_package.modules_path()
     self.__dependencies: Set[str] = dependencies
     self.__options: Options = options
Exemple #6
0
    def add_all(self, package: PackageHandler):
        hb_package: Optional[HBShedPackageHandler] = HBShedPackageHandler.from_package_handler(package)

        if hb_package is not None:

            if hb_package.config().has_dependencies():
                dependendency: str
                for dependendency in hb_package.config().dependencies():
                    self.dependencies.add(dependendency)
Exemple #7
0
    def process(self, package: PackageHandler):
        hb_package: Optional[HBShedPackageHandler] = HBShedPackageHandler.from_package_handler(package)

        if hb_package is not None:

            if hb_package.config().has_parent_external() and hb_package.config().has_dependencies():
                dependendency: str
                for dependendency in hb_package.config().dependencies():
                    self.dependencies.add(dependendency)
Exemple #8
0
    def process(self):
        task: Tasks
        for task in self.__tasks:
            if task == Tasks.TEST:
                self.__ensure_load_hb_package()
                Test(self.__options, self.__package, self.__cwd).process()

            elif task == Tasks.SELF_INSTALL:
                p: Path = Path(
                    os.path.dirname(os.path.realpath(__file__)) + '/../../..')
                p.resolve()
                SelfInstall(self.__options, HBShedPackageHandler(p),
                            p).process()

            elif task == Tasks.INSTALL:
                self.__ensure_load_hb_package()
                Install(self.__options, self.__package, self.__cwd).process()

            elif task == Tasks.CLEAN:
                self.__ensure_load_hb_package()
                Clean(self.__options, self.__package, self.__cwd).process()

            elif task == Tasks.CLEAN_DEPENDENCIES_DIR:
                self.__ensure_load_hb_package()
                CleanDependenciesDir(self.__options, self.__package,
                                     self.__cwd).process()

            elif task == Tasks.CLEAN_SOURCES:
                self.__ensure_load_hb_package()
                CleanSources(self.__options, self.__package,
                             self.__cwd).process()

            elif task == Tasks.CLEAN_BUILD:
                self.__ensure_load_hb_package()
                CleanBuild(self.__options, self.__package,
                           self.__cwd).process()

            elif task == Tasks.DEV:
                self.__ensure_load_hb_package()
                Dev(self.__options, self.__package, self.__cwd).process()

            elif task == Tasks.BROWSER_TEST:
                self.__ensure_load_hb_package()
                BrowserTest(self.__options, self.__package,
                            self.__cwd).process()

            elif task == Tasks.EXTRACT_PACKAGE:
                self.__ensure_load_hb_package()
                ExtractPackage(self.__options, self.__package,
                               self.__cwd).process()

            elif task == Tasks.BUILD:
                self.__ensure_load_hb_package()
                Build(self.__options, self.__package, self.__cwd).process()

            elif task == Tasks.GENERATE_SOURCES:
                self.__ensure_load_hb_package()
                GenerateSources(self.__options, self.__package,
                                self.__cwd).process()

            elif task == Tasks.SET_FLEXIO_REGISTRY:
                SetFlexioRegistry(self.__options, self.__package,
                                  self.__cwd).process()

            elif task == Tasks.PUBLISH:
                self.__ensure_load_package()
                Publish(self.__options, self.__package, self.__cwd).process()

            else:
                raise ValueError('no tasks for this command')
Exemple #9
0
 def __ensure_load_hb_package(self):
     self.__package = HBShedPackageHandler(self.__cwd)
     self.__package.config()
Exemple #10
0
 def __set_package(self):
     self.target_package = HBShedPackageHandler(self.target_path)
Exemple #11
0
 def __load_package(self):
     self.package = HBShedPackageHandler(self.path)
     self.package.config()