{"id":18792396,"url":"https://github.com/prbonn/catkin_tools_fetch","last_synced_at":"2025-04-13T14:31:15.343Z","repository":{"id":100745521,"uuid":"73697760","full_name":"PRBonn/catkin_tools_fetch","owner":"PRBonn","description":":dog2: \"fetch\" and \"update\" dependencies of projects in your catkin workspace with a new verb \"dependencies\" for catkin_tools","archived":false,"fork":false,"pushed_at":"2020-05-09T11:37:31.000Z","size":868,"stargazers_count":16,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-07T20:50:11.555Z","etag":null,"topics":["catkin","catkin-tools","catkin-workspace","dependencies","dependency-manager","git"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PRBonn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-14T11:22:09.000Z","updated_at":"2023-08-04T03:10:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc546b67-8fb2-49b9-9328-51c416a91bc0","html_url":"https://github.com/PRBonn/catkin_tools_fetch","commit_stats":null,"previous_names":["photogrammetry-robotics-bonn/catkin_tools_fetch"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fcatkin_tools_fetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fcatkin_tools_fetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fcatkin_tools_fetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fcatkin_tools_fetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRBonn","download_url":"https://codeload.github.com/PRBonn/catkin_tools_fetch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223589704,"owners_count":17170030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["catkin","catkin-tools","catkin-workspace","dependencies","dependency-manager","git"],"created_at":"2024-11-07T21:19:43.758Z","updated_at":"2024-11-07T21:19:44.518Z","avatar_url":"https://github.com/PRBonn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \"fetch\" and \"update\" your dependencies with catkin_tools\n\n![Cool GIF](fetch_show_off.gif)\n\n[![PyPI][pypi-img]][pypi-link]\n[![PyPI Monthly Downloads][pypi-downloads-img]][pypi-link]\n[![Build Status][travis-img]][travis-link]\n[![Codacy Badge][codacy-img]][codacy-link]\n[![Codacy coverage][codacy-coverage-img]][codacy-coverage-link]\n\nDefines new verb `dependencies` (or in short `deps`)\nand its sub-verbs `fetch` and `update` for\n[catkin_tools](https://github.com/catkin/catkin_tools).\nThis verb is responsible for downloading external dependencies\nof the projects in a `catkin` workspace and keeping them up to date.\nFor now only `git` is supported. The tool is under heavy development.\nPlease use PyPI or download a tag for a stable version.\n\n## How to install ##\nThis package installs a new verb for `catkin_tools`.\nThe easiest way to install this verb is from `PyPI`:\n```\n[sudo] pip install catkin_tools_fetch\n```\n\n## How to use ##\nBoth available subverbs should be used after `dependencies` verb (or its\nshorter version `deps`) from within of a catkin workspace. Below are short\nshowcases on usage of the verbs. Optional arguments are shown in brackets.\n### `fetch` ###\n```bash\n# Longer version:\ncatkin dependencies fetch [--default_urls URL1,URL2,URL3] [TARGET_PKG]\n# Equivalent shorter version:\ncatkin deps fetch [--default_urls URL1,URL2,URL3] [TARGET_PKG]\n```\n\n### `update` ###\n```bash\n# Longer version:\ncatkin dependencies update [TARGET_PKG]\n# Equivalent shorter version:\ncatkin deps update [TARGET_PKG]\n```\n\n## How `fetch` works ##\nThis command will look inside the `src/` folder of the current catkin workspace\nand will analyze the dependencies of each `package.xml` file for each project\nin this workspace (or, if `TARGET_PKG` is provided, only of this package). Then\n`fetch` will try to clone the dependencies looking for them under urls:\n```\n[URL1/DEP_NAME, URL1/DEP_NAME, URL1/DEP_NAME]\n```\n\nThe verb `fetch` is smart enough to recognize `ssh` and `https` access, thus\nthese expansions for a given `DEP_NAME` are valid:\n```\ngit@path     --\u003e git@path/DEP_NAME.git\nhttps://path --\u003e https://path/DEP_NAME\n```\nBeware, though, that for ssh access your machine has to have proper ssh keys\ninstalled.\n\nAdditionaly, one can explicitly define needed urls for dependencies in\n`package.xml` of your `TARGET_PKG` file under `\u003cexport\u003e` tag. For example:\n```xml\n\u003cexport\u003e\n    \u003c!-- Define a url for all packages with no explicit url defined. --\u003e\n    \u003cgit_url target=\"all\" url=\"https://github.com/niosus\" /\u003e\n    \u003c!-- Define ANOTHER url for all packages with no explicit url defined. --\u003e\n    \u003c!-- There can be arbitrarily many of these. --\u003e\n    \u003cgit_url target=\"all\" url=\"https://gitlab.com/niosus\" /\u003e\n    \u003c!-- Define an explicit url for package DEP_NAME. --\u003e\n    \u003cgit_url target=\"DEP_NAME\" url=\"git@some_path/DEP_NAME.git\" branch=\"BRANCH_NAME\" /\u003e\n\u003c/export\u003e\n```\n\nThere are some options here:\n- If the `target` is set to `\"all\"`, then the `url` is treated as one of the\n  default urls to search all packages in. There can be any number of entries\n  with `target` set to `\"all\"`.\n- If the `target` package `\"DEP_NAME\"` matches one of the dependencies,\n  this has precedence over any of the default urls and the package will be\n  searched in the full path to the package defined in the `url` field.\n  Additionaly, branch `\"BRANCH_NAME\"` will be checked out after cloning.\n\nAny of these can be skipped. The default urls will be used instead.\n\n## How `update` works ##\nThe `update` subverb will try to pull any changes from the server to any\npackage in the workspace (or `TARGET_PKG` if specified) if there is no change\nlocally. If there are local uncommited changes `update` will do nothing for\nthose packages. There is no need to provide any urls here as every package\nknows its git remote.\n\n## Misc ##\nYou can always use `--help` flag to find out more about each command and arguments.\n\n[pypi-img]: https://img.shields.io/pypi/v/catkin_tools_fetch.svg?style=for-the-badge\n[pypi-downloads-img]: https://img.shields.io/pypi/dm/catkin-tools-fetch.svg?style=for-the-badge\n[codacy-img]: https://img.shields.io/codacy/grade/9c050cd8852046ae863c940b8409f9ea.svg?style=for-the-badge\n[codacy-coverage-img]: https://img.shields.io/codacy/coverage/9c050cd8852046ae863c940b8409f9ea.svg?style=for-the-badge\n\n[codacy-link]: https://www.codacy.com/app/zabugr/catkin_tools_fetch?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=niosus/catkin_tools_fetch\u0026amp;utm_campaign=Badge_Grade\n[codacy-coverage-link]: https://www.codacy.com/app/zabugr/catkin_tools_fetch?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=niosus/catkin_tools_fetch\u0026amp;utm_campaign=Badge_Coverage\n[travis-img]: https://img.shields.io/travis/PRBonn/catkin_tools_fetch/master.svg?style=for-the-badge\n[travis-link]: https://travis-ci.org/PRBonn/catkin_tools_fetch\n[pypi-link]: https://pypi.python.org/pypi/catkin_tools_fetch\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Fcatkin_tools_fetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprbonn%2Fcatkin_tools_fetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Fcatkin_tools_fetch/lists"}