diff --git a/.vscode/launch.json b/.vscode/launch.json index c49b5453..fa528ab9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "python", "request": "launch", "program": "${workspaceFolder}/bin/jarvis", - "args": ["rg", "show"], + "args": ["bootstrap", "from", "local"], "console": "integratedTerminal", "justMyCode": false, "env": { diff --git a/bin/jarvis b/bin/jarvis index bb9fc7c4..fd8c1263 100755 --- a/bin/jarvis +++ b/bin/jarvis @@ -1127,7 +1127,7 @@ class JarvisArgs(ArgParse): self.jarvis.save() def resource_graph_show(self): - self.jarvis.load().resource_graph_show() + self.jarvis.resource_graph_show() self.jarvis.save() def resource_graph_path(self): diff --git a/builtin/config/ares.yaml b/builtin/config/ares.yaml index 0bede2a9..8d836fe2 100644 --- a/builtin/config/ares.yaml +++ b/builtin/config/ares.yaml @@ -4,5 +4,5 @@ HOSTFILE: null PRIVATE_DIR: /mnt/ssd/${USER}/jarvis-pipelines REPOS: - name: builtin - path: ${HOME}/jarvis-cd/builtin + path: ${HOME}/.jarvis/builtin SHARED_DIR: ${HOME}/jarvis-pipelines \ No newline at end of file diff --git a/builtin/config/deception.yaml b/builtin/config/deception.yaml index 3649dd32..6bdfa5d3 100644 --- a/builtin/config/deception.yaml +++ b/builtin/config/deception.yaml @@ -4,5 +4,5 @@ HOSTFILE: null PRIVATE_DIR: /scratch/${USER}/jarvis-pipelines # local SSD REPOS: - name: builtin - path: ${HOME}/jarvis-cd/builtin + path: ${HOME}/.jarvis/builtin SHARED_DIR: ${HOME}/jarvis-pipelines \ No newline at end of file diff --git a/builtin/config/polaris.yaml b/builtin/config/polaris.yaml index 62cc1191..d0bd05cc 100644 --- a/builtin/config/polaris.yaml +++ b/builtin/config/polaris.yaml @@ -4,5 +4,5 @@ HOSTFILE: null PRIVATE_DIR: /tmp/${USER}/jarvis REPOS: - name: builtin - path: ${HOME}/SCS_lab/jarvis-cd/builtin + path: ${HOME}/.jarvis/builtin SHARED_DIR: /lus/grand/projects/VeloC/${USER}/SCS_lab/ \ No newline at end of file diff --git a/jarvis_cd/basic/jarvis_manager.py b/jarvis_cd/basic/jarvis_manager.py index 50a237b6..bd07eb14 100644 --- a/jarvis_cd/basic/jarvis_manager.py +++ b/jarvis_cd/basic/jarvis_manager.py @@ -49,6 +49,8 @@ def __init__(self): self.cur_pipeline = None # Path to local jarvis configuration directory self.local_config_dir = os.path.join(os.environ['HOME'], '.jarvis') + # Path to local jarvis builtin package directory + self.builtin_dir = os.path.join(self.local_config_dir, 'builtin') # The path to the global jarvis configuration (root user) self.jarvis_conf_path = os.path.join(self.local_config_dir, 'jarvis_config.yaml') @@ -89,7 +91,7 @@ def create(self, config_dir, private_dir, shared_dir=None): 'HOSTFILE': None, 'CUR_PIPELINE': None, } - self.add_repo(f'{self.jarvis_root}/builtin') + self.add_repo(self.builtin_dir) self.resource_graph = ResourceGraph() self.hostfile = Hostfile() os.makedirs(self.local_config_dir, exist_ok=True) @@ -176,13 +178,13 @@ def bootstrap_from(self, machine): self.save() return os.makedirs(self.local_config_dir, exist_ok=True) - config_path = f'{self.jarvis_root}/builtin/config/{machine}.yaml' + config_path = f'{self.builtin_dir}/config/{machine}.yaml' if os.path.exists(config_path): config = expand_env(YamlFile(config_path).load()) new_config_path = f'{self.local_config_dir}/jarvis_config.yaml' YamlFile(new_config_path).save(config) - rg_path = f'{self.jarvis_root}/builtin/resource_graph/{machine}.yaml' + rg_path = f'{self.builtin_dir}/resource_graph/{machine}.yaml' if os.path.exists(rg_path): self.resource_graph = ResourceGraph().load(rg_path) new_rg_path = f'{self.local_config_dir}/resource_graph.yaml' @@ -194,7 +196,7 @@ def bootstrap_list(self): :return: None """ - configs = os.listdir(f'{self.jarvis_root}/builtin/config') + configs = os.listdir(f'{self.builtin_dir}/config') for config in configs: print(config.replace('.yaml', '')) diff --git a/logg.txt b/logg.txt new file mode 100644 index 00000000..5e1c309d --- /dev/null +++ b/logg.txt @@ -0,0 +1 @@ +Hello World \ No newline at end of file diff --git a/setup.py b/setup.py index 8fc05751..3f0cc014 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,11 @@ import setuptools +import os +import sys +import shutil +import sysconfig -setuptools.setup( + +ret = setuptools.setup( name="jarvis_cd", packages=setuptools.find_packages(), scripts=['bin/jarvis'], @@ -21,13 +26,13 @@ "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Application Configuration", - ], - install_requires=[ - # 'pyyaml', - # 'pylint==2.15.0', - # 'coverage==5.5', - # 'coverage-lcov==0.2.4', - # 'pytest==6.2.5', - #'jarvis-util @ git+https://github.com/scs-lab/jarvis-util.git#egg=jarvis-util' ] ) + +# Install the builtin directory to ~/.jarvis +project_dir = os.path.dirname(os.path.realpath(__file__)) +local_builtin_path = os.path.join(project_dir, 'builtin') +install_builtin_path = os.path.join(os.environ['HOME'], '.jarvis', 'builtin') +if not os.path.exists(os.path.dirname(install_builtin_path)): + os.makedirs(os.path.dirname(install_builtin_path)) +shutil.copytree(local_builtin_path, install_builtin_path, dirs_exist_ok=True)