Add ShardRequirement

Add ShardRequirement as shards is a common way to manage Crystal
dependencies.

Closes coala/package_manager#200
7 jobs for shards-pkg in 11 minutes and 35 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Test
passed #113517970
check_code

00:01:34

failed #113517968
test:arch

00:08:57

failed #113517965
test:fedora_25_py35

00:10:59

failed #113517966
test:fedora_28_py37

00:09:33

failed #113517969
freebsd
test:freebsd_release

failed #113517967
test:opensuse_leap

00:11:35

failed #113517964
test:ubuntu_rolling

00:00:53

 
Name Stage Failure
failed
test:arch Test
    return self.resolve()
File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 226, in load_module
py.builtin.exec_(co, mod.__dict__)
File "/usr/lib/python3.7/site-packages/pytest_reqs.py", line 10, in <module>
from pip import get_installed_distributions
ImportError: cannot import name 'get_installed_distributions' from 'pip' (/usr/lib/python3.7/site-packages/pip/__init__.py)
ERROR: Job failed: exit code 1
failed
test:ubuntu_rolling Test
                                 Dload  Upload   Total   Spent    Left  Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
$ tar -xf Julia.tar.gz
tar: This does not look like a tar archive

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
ERROR: Job failed: exit code 1
failed
test:fedora_28_py37 Test
    return self.resolve()
File "/usr/local/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 226, in load_module
py.builtin.exec_(co, mod.__dict__)
File "/usr/local/lib/python3.7/site-packages/pytest_reqs.py", line 10, in <module>
from pip import get_installed_distributions
ImportError: cannot import name 'get_installed_distributions' from 'pip' (/usr/local/lib/python3.7/site-packages/pip/__init__.py)
ERROR: Job failed: exit code 1
failed
test:fedora_25_py35 Test
    return self.resolve()
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.5/site-packages/_pytest/assertion/rewrite.py", line 226, in load_module
py.builtin.exec_(co, mod.__dict__)
File "/usr/lib/python3.5/site-packages/pytest_reqs.py", line 10, in <module>
from pip import get_installed_distributions
ImportError: cannot import name 'get_installed_distributions'
ERROR: Job failed: exit code 1
failed
test:opensuse_leap Test
    return self.resolve()
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.4/site-packages/_pytest/assertion/rewrite.py", line 226, in load_module
py.builtin.exec_(co, mod.__dict__)
File "/usr/lib/python3.4/site-packages/pytest_reqs.py", line 10, in <module>
from pip import get_installed_distributions
ImportError: cannot import name 'get_installed_distributions'
ERROR: Job failed: exit code 1
failed
test:freebsd_release Test There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log