summaryrefslogtreecommitdiff
path: root/setup.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove dependency on pytest-runnerBenjamin Schubert2018-11-011-1/+40
| | | | | | | | This includes a new command mimicking pytest-runner so that we can drop this dependency This was the only setup_requires dependency that we had and will make like easier for people behind proxies
* setup.py: use correct link for documentation websiteTiago Gomes2018-10-171-1/+1
|
* setup.py: Change bwrap assertion to a warningDaniel Silverstone2018-10-041-9/+11
| | | | | | | | | | Since there are use-cases where BuildStream could be installed onto systems which do not have BubbleWrap (e.g. for remote-build-only scenarios) it is not correct to assert a dependency on bwrap during installation. This patch makes the assertion a warning, and also clarifies the message somewhat. This should fix #644 Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* setup.py: Make website the primary homepageChandan Singh2018-09-211-1/+2
|
* _frontend/status.py: Completely remove the blessings dependency from BuildStreamTristan Van Berkom2018-09-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | This actually improves reliability of the status bar because we now disable it completely in the case that not all of the terminal escape sequences are supported on the given terminal. This replaces the few functions we were using, to move the cursor up one line, move it to the beginning of the line, and to clear a line, with low level functions provided by the curses module in the standard library. This change makes it easier for downstream distro package maintainers to package BuildStream, particularly on Fedora. Asides from changing _frontend/status.py, this commit includes the following changes: * _frontend/app.py: Use python isatty() function to determine if we are connected to a tty, instead of relying on blessings. * setup.py: Remove the dependency on blessings.
* setup.py: Add more metadata useful for PyPIChandan Singh2018-08-291-1/+25
| | | | | | | | | | | | | | | | | | | - setup.py: List useful links using `project_urls` - setup.py: Specify minumum python vresion using `python_requires` `python_requires` is the new way of specifying requirements for python version, as documented @ https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires. This will also make this requirement appear nicely on the PyPI project page. - setup.py: Add project classifiers PyPI will use these classifiers to categorize projects while searching or browsing. Full list of classifiers can be found at https://pypi.org/classifiers.
* deps: Specify the minimum version required for blessingstristan/blessingsMathieu Bridon2018-08-231-1/+1
| | | | | | | | | | | | | Buildstream uses the Terminal.does_styling attribute, which was only added in blessings 1.6. Blessings helpfully returns an empty string when calling an nonexistent attribute on the Terminal object, instead of failing. Because Fedora has blessings 1.5, Buildstream thought that my terminal couldn't handle styling, and just didn't print the status bar, silently. Specifying the minimum version avoids this silent failure.
* setup.py: Add fields required for publishing on PyPichandan/pypi-prepChandan Singh2018-08-221-0/+12
| | | | | | | Fill out those fields in `setup.py` that are required for publishing a package on PyPi. Part of https://gitlab.com/BuildStream/buildstream/issues/587.
* Set version of ruaml.yaml to strictly less than 0.15.52.Valentin David2018-08-131-1/+1
| | | | | | | This allows to use version 0.15.51 rather than 0.15.0 which is required for Python 3. Fixes #571.
* dev-requirements.txt: Remove obsolete commentsJavier Jardón2018-08-121-5/+3
| | | | | This also fixes an error with pylint in setup.py: setup.py:226:19: R1718: Consider using a set comprehension (consider-using-set-comprehension)
* Move development reqirements to dev-requirements.txtChandan Singh2018-08-111-13/+11
| | | | | | | | | | | | | | | | | | In some cases, such as when working inside a virtual environment, it can be desirable to install all dependencies for running tests using `pip`. This is currently not possible since setuptools does not support installing these dependencies in a virtual environment (by design). (See https://stackoverflow.com/a/21003259.) To circumvent this issue, move such requirements to `dev-requirements.txt` file that can be used easily with `pip install -r`. This also enables tests to be run directly using `pytest`, which can be more convenient than `-addopts` approach when one needs to add multiple options. This will also be useful in creating better testuite images, and fix some of the issues noticed in https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/56.
* setup.py: Pin ruamel.yaml version to <= 0.15Jim MacArthur2018-08-091-1/+1
|
* Revert "Restrict version of pylint"Jürg Billeter2018-08-071-2/+1
| | | | | | | | | This reverts commit 4f168b9b6a02216e2fae24d758ae6b778e545869. The latest version of pytest_pylint works fine with pylint 2, which means there is no longer a reason to restrict the pylint version. pylint 2 is required for Python 3.7.
* setup.py: Specify minimum required version of pytest-cov pluginTristan Van Berkom2018-07-201-1/+1
| | | | | | This causes the new artifact tests to pass (unless you happened to already have a recent enough version of pytest-cov, in which case you didn't notice the breakage).
* Bump required python version to 3.5Tristan Maat2018-07-181-2/+2
|
* Remove OSTree artifact cacheJürg Billeter2018-07-171-43/+0
| | | | | | No longer used. Fixes #134, #138, #148, #217, #268, #276, #443, #460.
* _artifactcache: Add CAS artifact serverJürg Billeter2018-07-171-1/+2
|
* setup.py: Add grpcio dependency and support for code generationJürg Billeter2018-07-171-2/+59
| | | | This allows code generation with ./setup.py build_grpc
* Restrict version of pylint138-aborting-bst-push-command-causes-stack-trace-2Daniel Playle2018-06-201-1/+2
| | | | | | | | | | | | pylint >2 is not compatible with pytest_pylint in its current form. As such, allowing any version of pylint for testing results in a failure. This commit restricts down the allowable versions of pylint to those that are both compatible with pytest_pylint, and also offer the feature set that we require. See https://gitlab.com/BuildStream/buildstream/issues/427 for further details.
* setup.py: Stop installing test cases.Tristan Van Berkom2018-04-261-1/+1
| | | | As recommended by Valentin David in issue #332.
* Use versioneer instead of setuptools_scmTristan Van Berkom2018-04-261-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using setuptools_scm had a couple of bad problems: o Unexpected versioning semantics, setuptools_scm would increment the micro version by itself in the case that we derive a version number from something that is not a tag, making the assumption that we are "leading up to" the next micro version. People mostly dont expect this. o When installing in developer mode, i.e. with `pip3 install --user -e .`, then we were always picking the generated version at install time and never again dynamically resolving it. Many of our users install this way and update through git, so it's important that we report more precise versions all the time. This commit needs to make a series of changes at the same time: o Adds versioneer.py to the toplevel, this is used by setup.py for various activities. This is modified only to inform the linter to skip o Adds buildstream/_version.py, which is generated by versioneer and gives us the machinery to automatically derive the correct version This is modified only to inform the linter to skip o Adds a .gitattributes file which informs git to substitute the buildstream/_version.py file, this is just to ensure that the versioning output would work if ever we used `git archive` to release a tarball. o Modifies setup.py and setup.cfg for versioneer o Modifies utils.py and _frontend/cli.py such as to avoid importing the derived version when running bash completion mode, we dont derive the version at completion time because this can result in running a subprocess (when running in developer install mode) and is an undesirable overhead. o Updates tests/frontend/version.py to expect changed version output
* setup.py: Assert Bubblewrap versionmilloni2018-04-201-4/+35
| | | | | The required version is 0.1.2 based on the fact that we're using --hostname and --remount-ro.
* pylint - disabled no-member, bad-exception-context and ↵James Ennis2018-03-141-0/+4
| | | | catching-non-exception warnings
* pylint - dealt with broad-except and bare-except warningsJames Ennis2018-03-141-1/+1
|
* Add pylint to setup.cfg and setup.pyJames Ennis2018-03-141-0/+1
|
* setup.py: Require jinja >= 2.10Javier Jardón2018-02-051-1/+1
| | | | | | jinja2 2.10 import time has been divided by two compared to Jinja 2.9.6 Fixes #194
* Get version number w/o pkg_resourcesGökçen Nurlu2018-01-311-1/+10
| | | | | | | | | | | | This removes most of the usages of pkg_resources from the codebase, helping the goal of getting rid of that completely. With this change, version number is generated during install and embedded into `__version__` which is then imported by root level `__init__`. From there, it is used by other parts of the codebase when needed. Generated `__version__` file is ignored and not tracked by git to prevent unnecessary 'changes' messages and accidental commits of that file.
* Modify the generated CLI script by monkey patchingGökçen Nurlu2018-01-311-0/+37
| | | | | | | This change monkey patches setuptools' code generation functionality, so that pkg_resources won't be imported in the generated file. Fixes #172
* setup.py: Removing explicitly set version, we use setuptools_scm for this.Tristan Van Berkom2018-01-031-1/+0
|
* Remove unused importsGökçen Nurlu2017-12-071-2/+0
|
* setup.py: Pinning coverage at 4.4.0 instead of 4.2Tristan Van Berkom2017-11-251-1/+1
| | | | | | Our problem is with 4.4.2; and 4.2 lacks some features and fails to collect all of the coverage from sub processes, causing our reports to drop by 10%.
* setup.py: Add pytest-xdist dependencyJürg Billeter2017-11-221-0/+2
| | | | | | This allows running tests in parallel: ./setup.py test --addopts "-n auto"
* setup.py: Pinning coverage down to version 4.2Tristan Van Berkom2017-11-211-1/+3
| | | | | | | Seeing random crashes with 4.4.2, these are solved by simply using version 4.2. Need to investigate and report proper bug to upstream for this.
* setup.py: Added jinja2 dependencyTristan Van Berkom2017-10-081-1/+2
|
* setup.py: Use env var instead of --install-option for the receiver installTristan Van Berkom2017-10-011-27/+11
| | | | | Fixes the previous commits which attempt to allow optionally only installing bst-artifact-receive, which doesnt work, because pip.
* setup.py: Added --artifact-receiver-only install optionTristan Van Berkom2017-09-291-37/+83
| | | | | | A convenience to install `bst-artifact-receive` on an artifact server that does not have the ostree and bubblewrap requirements to install the main `bst` program.
* setup.py: Make setup.py work on non-linuxcross_platformTristan Maat2017-09-281-25/+29
|
* Implement tarcacheTristan Maat2017-09-281-1/+1
|
* Fork and embed fusepySam Thursfield2017-09-271-2/+1
| | | | | | | | | | | | | | | The upstream of fuse.py is <https://github.com/terencehonles/fusepy>. It looks pretty abandoned -- there have been no commits there since 5th April 2016 and there are 17 pull requests dating from 2013 onwards that are still waiting for responses from the maintainer. There's no support in fuse.py for ppc64 platforms which means BuildStream is unusable on that architecture at present. My pull request to fix that upstream is being ignored; since the module is a single .py file provided under the ISC license it is simplest to pull the whole thing into buildstream.git instead. The version of fuse.py that's been embedded is the one from pull request #72, from upstream release v2.0.4 (commit 0eafeb5).
* Specify the minimum required version of pytestMathieu Bridon2017-09-201-1/+1
| | | | | | | | A previous change introduced the usage of pytest.param to our test suite in commit 7aba0bfc906409073c4d246ec009a8622551726a. This was only added to pytest 3.1.0, and the tests can't work with older versions.
* setup.{cfg,py}: Bring back BST_TEST_SUITE env variableTristan Van Berkom2017-09-051-0/+1
| | | | Turns out we do need this in some corner cases
* plugin.py: Removed special case for test casesTristan Van Berkom2017-09-031-1/+0
| | | | | | | Turns out this doesnt work once you try to actually run the full buildstream in a test case (in foreground it screws with other parsing, in background it fails in the test context with a strange error).
* buildstream/data/bst: Adding a bash completion scriptlet.Tristan Van Berkom2017-08-281-1/+17
| | | | | Currently this gets installed at ${prefix}/share/bash-completion/completions but this is not exactly correct.
* setup.py: Catch exception with OSTree < 2017.4Jürg Billeter2017-08-101-5/+8
| | | | Fixes #58
* setup.py: Hard require OSTree >= 2017.8Tristan Van Berkom2017-08-011-15/+13
|
* _artifactcache/pushreceive.py: Our local copy of ostree-pushTristan Van Berkom2017-07-101-0/+1
| | | | Added entry point for running `bst-artifact-receive`
* Removing ostree-pull-ssh and ostree-pushTristan Van Berkom2017-07-091-2/+1
| | | | Including changes in _site.py and setup.py
* Add script templatesTristan Maat2017-06-281-1/+2
|
* _ostree.py: Add SSH artifact fetch supportJürg Billeter2017-06-271-1/+1
|
* _ostree.py: Add SSH artifact push supportJürg Billeter2017-06-271-1/+2
|