nirum
nirum copied to clipboard
Package dependency resolution
We need package metadata format to describe its dependencies e.g.
# countries/package.toml
[targets.python]
name = "countries"
[docs]
url = "https://spoqa.github.io/countries.nrm/"
# languages/package.toml
[targets.java]
name = "languages"
[docs]
url = "https://hongminhee.org/languages/docs/"
# currency/package.toml
[dependencies]
"https://github.com/spoqa/countries.nrm" = ">= 1.0.0, < 1.1.0"
"https://hongminhee.org/languages/" = ">= 1.0.0, < 1.1.0"
[targets.python]
name = "currencies"
vendors = ["https://hongminhee.org/languages/"]
Package dependencies should go to dependencies of the target package’s metadata e.g.:
# setup.py
setup(
name='currencies',
packages=['currencies', 'languages'],
install_requires=[
'countries >= 1.0.0, < 1.1.0',
# 'languages' # error on install
]
)
Or it should be possible to vendor some of its dependencies if these do not have the same target.