Commit 362a1807 authored by John Chilton's avatar John Chilton
Browse files

More cleanup tool_dependencies.xml handling.

parent 5c807f6b
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -667,7 +667,6 @@ class InstallRepositoryManager:
        original_metadata_dict = repository.metadata_
        original_repository_dependencies_dict = original_metadata_dict.get("repository_dependencies", {})
        original_repository_dependencies = original_repository_dependencies_dict.get("repository_dependencies", [])
        original_tool_dependencies_dict = original_metadata_dict.get("tool_dependencies", {})
        shed_tool_conf, tool_path, relative_install_dir = suc.get_tool_panel_config_tool_path_install_dir(
            self.app, repository
        )
@@ -740,7 +739,6 @@ class InstallRepositoryManager:
        if "repository_dependencies" in irmm_metadata_dict or "tool_dependencies" in irmm_metadata_dict:
            new_repository_dependencies_dict = irmm_metadata_dict.get("repository_dependencies", {})
            new_repository_dependencies = new_repository_dependencies_dict.get("repository_dependencies", [])
            new_tool_dependencies_dict = irmm_metadata_dict.get("tool_dependencies", {})
            if new_repository_dependencies:
                # [[http://localhost:9009', package_picard_1_56_0', devteam', 910b0b056666', False', False']]
                if new_repository_dependencies == original_repository_dependencies:
@@ -792,16 +790,6 @@ class InstallRepositoryManager:
                                self.install(
                                    tool_shed_url, new_name, new_owner, new_changeset_revision, install_options
                                )
            # Updates received did not include any newly defined repository dependencies but did include
            # newly defined tool dependencies.  If the newly defined tool dependencies are not the same
            # as the originally defined tool dependencies, we need to install them.
            if not install_new_dependencies:
                for new_key, new_val in new_tool_dependencies_dict.items():
                    if new_key not in original_tool_dependencies_dict:
                        return ("tool", irmm_metadata_dict)
                    original_val = original_tool_dependencies_dict[new_key]
                    if new_val != original_val:
                        return ("tool", irmm_metadata_dict)
        # Updates received did not include any newly defined repository dependencies or newly defined
        # tool dependencies that need to be installed.
        repository = self.app.update_repository_manager.update_repository_record(
+0 −47
Original line number Diff line number Diff line
@@ -856,19 +856,6 @@ class AdminToolshed(AdminGalaxy):
                containers_dicts.append(containers_dict)
            # Merge all containers into a single container.
            containers_dict = dd.merge_containers_dicts_for_new_install(containers_dicts)
        # Handle tool dependencies check box.
        if not trans.app.toolbox.dependency_manager.uses_tool_shed_dependencies:
            if includes_tool_dependencies:
                message = "Tool dependencies defined in this repository can be automatically installed if you set "
                message += "the value of your <b>tool_dependency_dir</b> setting in your Galaxy config file "
                message += "(galaxy.yml) and restart your Galaxy server before installing the repository."
                status = "warning"
            install_tool_dependencies_check_box_checked = False
        else:
            install_tool_dependencies_check_box_checked = True
        install_tool_dependencies_check_box = CheckboxField(
            "install_tool_dependencies", value=install_tool_dependencies_check_box_checked
        )
        # Handle repository dependencies check box.
        install_repository_dependencies_check_box = CheckboxField("install_repository_dependencies", value=True)
        view = views.DependencyResolversView(self.app)
@@ -889,7 +876,6 @@ class AdminToolshed(AdminGalaxy):
            includes_tools=includes_tools,
            includes_tools_for_display_in_tool_panel=includes_tools_for_display_in_tool_panel,
            includes_tool_dependencies=includes_tool_dependencies,
            install_tool_dependencies_check_box=install_tool_dependencies_check_box,
            install_resolver_dependencies_check_box=install_resolver_dependencies_check_box,
            has_repository_dependencies=has_repository_dependencies,
            install_repository_dependencies_check_box=install_repository_dependencies_check_box,
@@ -1252,18 +1238,6 @@ class AdminToolshed(AdminGalaxy):
        containers_dict = dd.merge_missing_repository_dependencies_to_installed_container(containers_dict)
        # Handle repository dependencies check box.
        install_repository_dependencies_check_box = CheckboxField("install_repository_dependencies", value=True)
        # Handle tool dependencies check box.
        if not trans.app.toolbox.dependency_manager.uses_tool_shed_dependencies:
            if includes_tool_dependencies:
                message += "Tool dependencies defined in this repository can be automatically installed if you set the value of your <b>tool_dependency_dir</b> "
                message += "setting in your Galaxy config file (galaxy.yml) and restart your Galaxy server before installing the repository.  "
                status = "warning"
            install_tool_dependencies_check_box_checked = False
        else:
            install_tool_dependencies_check_box_checked = True
        install_tool_dependencies_check_box = CheckboxField(
            "install_tool_dependencies", value=install_tool_dependencies_check_box_checked
        )
        view = views.DependencyResolversView(self.app)
        if view.installable_resolvers:
            install_resolver_dependencies_check_box = CheckboxField("install_resolver_dependencies", value=True)
@@ -1282,7 +1256,6 @@ class AdminToolshed(AdminGalaxy):
            includes_workflows=includes_workflows,
            has_repository_dependencies=has_repository_dependencies,
            install_repository_dependencies_check_box=install_repository_dependencies_check_box,
            install_tool_dependencies_check_box=install_tool_dependencies_check_box,
            install_resolver_dependencies_check_box=install_resolver_dependencies_check_box,
            containers_dict=containers_dict,
            tool_panel_section_select_field=tool_panel_section_select_field,
@@ -1388,26 +1361,6 @@ class AdminToolshed(AdminGalaxy):
                        updating=True,
                    )
                    return self.prepare_for_install(trans, **new_kwd)
                elif install_dependencies == "tool":
                    # Updates received did not include any newly defined repository dependencies but did include
                    # newly defined tool dependencies.  If the newly defined tool dependencies are not the same
                    # as the originally defined tool dependencies, we need to install them.
                    relative_install_dir = suc.get_tool_panel_config_tool_path_install_dir(trans.app, repository)[2]
                    encoded_tool_dependencies_dict = encoding_util.tool_shed_encode(
                        irmm_metadata_dict.get("tool_dependencies", {})
                    )
                    encoded_relative_install_dir = encoding_util.tool_shed_encode(relative_install_dir)
                    new_kwd = dict(
                        updating_repository_id=trans.security.encode_id(repository.id),
                        updating_to_ctx_rev=latest_ctx_rev,
                        updating_to_changeset_revision=latest_changeset_revision,
                        encoded_updated_metadata=encoding_util.tool_shed_encode(irmm_metadata_dict),
                        encoded_relative_install_dir=encoded_relative_install_dir,
                        encoded_tool_dependencies_dict=encoded_tool_dependencies_dict,
                        message=message,
                        status=status,
                    )
                    return self.install_tool_dependencies_with_update(trans, **new_kwd)
                message = f"The installed repository named '{name}' has been updated to change set revision '{latest_changeset_revision}'.  "
        else:
            message = (
+0 −2
Original line number Diff line number Diff line
@@ -136,8 +136,6 @@ class ToolWithToolDependencies(ShedTwillTestCase):
        strings_displayed = [
            "Never installed",
            "install all needed dependencies",
            "install Tool Shed managed",
            "tool dependencies",
        ]
        strings_displayed.extend(["freebayes", "0.9.4_9696d0ce8a9", "samtools", "0.1.18"])
        self.install_repository(
+0 −2
Original line number Diff line number Diff line
@@ -153,7 +153,6 @@ class TestInstallingCircularDependencies(ShedTwillTestCase):
        self.display_installed_repository_manage_page(installed_filtering_repository)
        self.deactivate_repository(installed_filtering_repository)
        self.test_db_util.ga_refresh(installed_filtering_repository)
        self.check_galaxy_repository_tool_panel_section(installed_filtering_repository, "Get Data")
        strings_displayed = [
            "Missing repository",
            "filtering",
@@ -191,7 +190,6 @@ class TestInstallingCircularDependencies(ShedTwillTestCase):
        self.display_installed_repository_manage_page(installed_filtering_repository)
        self.deactivate_repository(installed_freebayes_repository)
        self.test_db_util.ga_refresh(installed_freebayes_repository)
        self.check_galaxy_repository_tool_panel_section(installed_freebayes_repository, "Get Data")
        strings_displayed = [
            "Missing repository",
            "freebayes",
+1 −8
Original line number Diff line number Diff line
@@ -117,14 +117,7 @@ class UninstallingAndReinstallingRepositories(ShedTwillTestCase):
    def test_0010_install_freebayes_repository(self):
        """Install the freebayes repository into the Galaxy instance."""
        self.galaxy_login(email=common.admin_email, username=common.admin_username)
        strings_displayed = [
            "install Tool Shed managed",
            "tool dependencies",
            "freebayes",
            "0.9.4_9696d0ce8a9",
            "samtools",
            "0.1.18",
        ]
        strings_displayed = []
        self.install_repository(
            "freebayes_0010",
            common.test_user_1_name,
Loading