From 6a6a2cb4199c73fe0025f6a2e876bc0dcc957f54 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Tue, 26 Mar 2024 16:24:34 +0100 Subject: [PATCH] WIP Signed-off-by: Jose Luis Rivero --- plugins/config/_test_repository.yaml | 3 +++ plugins/repository.py | 13 +++++++++++++ plugins/repository_TEST.py | 13 +++++++++++++ 3 files changed, 29 insertions(+) diff --git a/plugins/config/_test_repository.yaml b/plugins/config/_test_repository.yaml index e168531..0aa2d2c 100644 --- a/plugins/config/_test_repository.yaml +++ b/plugins/config/_test_repository.yaml @@ -27,6 +27,9 @@ projects: - name: osrf type: stable - name: ignition-transport7 + distributions: + ubuntu: + - no-existing-distro repositories: - name: osrf type: stable diff --git a/plugins/repository.py b/plugins/repository.py index fcd93af..5dc40d6 100644 --- a/plugins/repository.py +++ b/plugins/repository.py @@ -216,6 +216,19 @@ def process_project_install(project, config, linux_distro, dry_run=False): project_config = get_project_config(project, config) if not project_config: error('Unknown project: ' + project) + + print(project_config) + try: + if linux_distro in project_config['distributions'][distro.id()]: + print("FOO") + print(project_config['distributions'][distro.id()]) + except KeyError as kerror: + print(kerror) + if kerror == 'distributions': + pass # supported use case, no distributions defined + else: + warn(str(kerror)) + if not dry_run: # useful for tests install_repos(get_repositories_config(project_config), config, diff --git a/plugins/repository_TEST.py b/plugins/repository_TEST.py index bf03adf..33e7fa1 100644 --- a/plugins/repository_TEST.py +++ b/plugins/repository_TEST.py @@ -78,6 +78,19 @@ def test_regexp(self): class TestProjectInstall(TestBase): + def test_no_distributions(self): + repository.process_project_install('ignition-math6', + self.config, + 'jammy', + dry_run=True) + + def test_distributions(self): + repository.process_project_install('ignition-transport7', + self.config, + 'jammy', + dry_run=True) + + def test_non_exist(self): with self.assertRaises(SystemExit): repository.process_project_install('fooooo',