Skip to content

Commit

Permalink
Merge pull request #28 from gnuille/pkgspec-subdir
Browse files Browse the repository at this point in the history
Add subdir to PkgSpec
  • Loading branch information
cjdoris authored Apr 18, 2024
2 parents 891c729 + d56be75 commit 311d106
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pip install juliapkg
- `require_julia(version, target=None)` declares that you require the given version of
Julia. The `version` is a Julia compat specifier, so `1.5` matches any `1.*.*` version at
least `1.5`.
- `add(pkg, uuid, dev=False, version=None, path=None, url=None, rev=None, target=None)`
- `add(pkg, uuid, dev=False, version=None, path=None, subdir=None, url=None, rev=None, target=None)`
adds a required package. Its name and UUID are required.
- `rm(pkg, target=None)` remove a package.

Expand Down
9 changes: 8 additions & 1 deletion src/juliapkg/deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,22 @@ def save_meta(meta):
### RESOLVE

class PkgSpec:
def __init__(self, name, uuid, dev=False, version=None, path=None, url=None, rev=None):
def __init__(self, name, uuid, dev=False, version=None, path=None, subdir=None, url=None, rev=None):
self.name = name
self.uuid = uuid
self.dev = dev
self.version = version
self.path = path
self.subdir = subdir
self.url = url
self.rev = rev

def jlstr(self):
args = ['name="{}"'.format(self.name), 'uuid="{}"'.format(self.uuid)]
if self.path is not None:
args.append('path=raw"{}"'.format(self.path))
if self.subdir is not None:
args.append('subdir="{}"'.format(self.subdir))
if self.url is not None:
args.append('url=raw"{}"'.format(self.url))
if self.rev is not None:
Expand All @@ -62,6 +65,7 @@ def dict(self):
"dev": self.dev,
"version": str(self.version),
"path": self.path,
"subdir": self.subdir,
"url": self.url,
"rev": self.rev,
}
Expand All @@ -76,6 +80,8 @@ def depsdict(self):
ans['version'] = str(self.version)
if self.path is not None:
ans['path'] = self.path
if self.subdir is not None:
ans['subdir'] = self.subdir
if self.url is not None:
ans['url'] = self.url
if self.rev is not None:
Expand Down Expand Up @@ -192,6 +198,7 @@ def merge_any(dep, kfvs, k):
kw = {'name': name}
merge_unique(kw, kfvs, 'uuid')
merge_unique(kw, kfvs, 'path')
merge_unique(kw, kfvs, 'subdir')
merge_unique(kw, kfvs, 'url')
merge_unique(kw, kfvs, 'rev')
merge_compat(kw, kfvs, 'version')
Expand Down

0 comments on commit 311d106

Please sign in to comment.