Release Notes - Version 0.10.x
Version 0.10.63
- Fixed a regression introduced in
0.10.62
where the unit test reports generated by thepython.unittest
plugin would always be empty.
Version 0.10.62
Version 0.10.61
- pycharm plugin: Generate entries for unit and integration test directories (if respective plugins are activated) and mark them as test sources (pull request by arcivanov)
Version 0.10.60
- sphinx plugin: you can now configure sphinx_doc_author, sphinx_doc_builder, sphinx_project_name, sphinx_project_version via project.set_property in your build.py (pull request by @locolupo)
- sphinx plugin: pyb –start-project now asking for a documentation folder (pull request by @locolupo)
- sphinx plugin: new task,
sphinx_quickstart
(pull request by @locolupo) - install dependencies plugin: Setting the property
install_dependencies_local_mapping
to a dictionary allows to specify where the dependencies are to be installed locally. The dictionary should map dependency names to paths where the dependencies should be installed.
Version 0.10.59
- integrationtest plugin: The property
integrationtest_always_verbose
can now be used to always display the integration test output, even when the tests are green. Pull request by @snordhausen
Version 0.10.58
- Fixed python3 incompatibility introduced in 0.10.57
Version 0.10.57
- Using editable URLs in a
requirements.txt
file now works - integrating the requirements into PyBuilder withproject.depends_on_requirements("requirements.txt")
was not generating the correct setup script.
Version 0.10.56
- Resolved problems where the python unittest plugin would cause a crash when a test failed with an exception containing non-ascii text.
Version 0.10.55
- Resolved python3 compatibility issue introduced with
0.10.54
Version 0.10.54
- Improved the cyclic dependency detection algorithm used to resolve task dependencies
- Added possibility for tasks to introspect their dependencies (see #122)
Version 0.10.53
-
Fix autoversioning for older git version like found on RHEL6.
Pull request by @schlomo, thanks!
Version 0.10.52
- Ignore errors while trying to save coverage data
This fixes #119. In cases where there is no coverage data at all, saving
leads to an error, which would crash the build even if
coverage_break_build
was set to False.
Version 0.10.51
- The snakefood plugin will now pull in the snakefood dependency as intended.
Version 0.10.50
- The snakefood plugin will now generate external and internal project reports (external dependencies and internal dependencies, respectively).
Version 0.10.49
- Added API functionality to automatically version the project based on the version control system.
Version 0.10.48
- Sonarqube plugin: Should now correctly report coverage.
Version 0.10.46
- Sonarqube plugin: Fixed source path setting.
Version 0.10.45
- Coverage plugin: now writes a cobertura compatible XML report to the reports directory.
- New plugin: sonarqube plugin, which can be used to run sonar analysis.
Version 0.10.44
- Coverage plugin: Should now work with coveralls without further adjustements since a coverage data file is written.
Version 0.10.43
-
Coverage plugin: Try really hard to work well with coveralls
The coverage configuration is used to tell coverage to avoid covering the python stdlib if possible, and also specifies the source root to cover. Additionally a .coverage file is written in the coverage root, so that it can be consumed by coveralls.
Version 0.10.42
-
detect teamcity environment automatically
If the environment variable TEAMCITY_VERSION is set, teamcity output will be generated automatically. It can still be forced with the project property “teamcity_output”, and setting both the property and the environment variable will also result in teamcity specific output being generated.
Version 0.10.41
- Default project version (when no version is given in the
build.py
is now 1.0.dev0 instead of 1.0-SNAPSHOT, as per PEP 440. Pull request by @zroadhouse-wsm, thanks!
Version 0.10.40
- Improved error messages when the setup commands from
python.distutils
fail. - Naming a script (
src/main/scripts/foo
) like a package (src/main/python/foo/__init__.py
) now works without any specific configuration. Technical detail: the propertydir_dist_scripts
is now set to"scripts"
by default instead ofNone
.
Version 0.10.39
- Resolved problems with the python core plugin on windows. Packages with leading backslashes were leading to problems with the setup script. Thanks to @SzeMengTan for reporting.
Version 0.10.38
- Initial version of a sphinx plugin. Pull request by @tjpnz, thanks!.
Version 0.10.37
- Fix using the
dir_dist_scripts
property in python3 which was breaking the setup script. Thanks to @raphiz for the pull request!
Version 0.10.36
- Coverage plugin: ignored modules will no longer contribute to the
overall coverage calculation (referring to the modules or packages
in
coverage_exceptions
). Thanks to @MirkoRossini for the pull request!
Version 0.10.35
- The generated setup.py is now correct even if the
$dir_source_main_python
contains a trailing slash. See issue 110 for more details. Thanks @MirkoRossini for reporting! - The
pyb -Qt
line format is now$task_name:$task_description
. This allows for better completions by also exposing the task names.
Version 0.10.34
- The jedi linter has been externalized, please use
pypi:pybuilder_jedi_plugin
now. - The task list (-t) in very quiet mode (-Q) will now output space separated task data.
Version 0.10.33
- The
filter_resources
plugin will now warn and skip keys that can not be replaced. This allows the use ofstring.Template
in source files that go through thefilter_resources
plugin.
Version 0.10.32
- implement using requirements files as dependencies
Version 0.10.31
- Improved output of the jedi plugin
Version 0.10.30
- Resolved some problems with the bundled jedi plugin
Version 0.10.29
- Added plugin
jedi_linter
(EXPERIMENTAL)
Version 0.10.28
- Resolved a python 3 compatibility problem with the
exec
plugin.
Version 0.10.27
- Added another pybuilder command
pyb_
. which is a binary (.exe
) on windows installations of PyBuilder. This should be used instead of thepyb
script on windows installations.
Version 0.10.26
- install_dependencies should now work as intended on windows.
Version 0.10.25
- Fixed a problem when the installed pip had no version which is the case of old installations.
Version 0.10.24
- Fixed a problem with the distutils plugin. Using slashes in
distutils_commands
resulted in problems as it was interpreted as a path. This is now resolved.
Version 0.10.23
- It is now possible to use the
distutils_commands
property for an automated upload, since the distutils_plugin will now do the right thing when presented with a command with spaces, like [sdist upload
]
Version 0.10.22
- Unit tests names will now be logged to DEBUG as they run. Thanks @aelgru!
- Introduced a new property for the
install_dependencies
plugin,install_dependencies_insecure_installation
.
Version 0.10.21
- Maintenance release (updated trove classifiers for PyPI)
Version 0.10.20
- The
--start-project
(to get started with a new project) now suggests the default scripts directory and creates it. Files in this folder will automatically be shipped as scripts (as in the setup.pyscripts
kwarg) which might be/usr/bin
or/usr/local/bin
or so, depending on your system.
Version 0.10.19
- The frosted and flake8 linter now consider the property
frosted|flake8_include_scripts
. If this is set to True (default False) then all scripts in$dir_source_main_scripts
will be linted too. - The integrationtest plugin may now pass arbitrary additional command line parts to the integrationtest call. The property
integrationtest_additional_commandline
can be used for that purpose.
Version 0.10.18
- Python files in
$dir_source_main_python
(src/main/python
by default) are now treated as standalone python modules. Previously, it was only possible to package python files by putting them in a package.
Version 0.10.17
- The
frosted_property
now works as intended.
Version 0.10.16
- The pycharm plugin now ignores the
target
directory by default.
Version 0.10.15
- Fixed a minor rendering issue in integrationtest_parallel
Version 0.10.14
- External plugin support : It is now finally possible to use plugins published to PyPI. See the manual for more information.
Version 0.10.13
- Cram support : The
python.cram
plugin can be used to run cram tests. Kudos go to @esc for the implementation.
Version 0.10.12
- Bldsup support : custom tasks and per-project specifics can be stored in a separate directory (default:
bldsup
). Kudos go to @markmevans for implementing this.
Version 0.10.11
- New plugin : python.frosted
- New API to write plugins that wrap a console command that is run on source files
- Flake8 error handling improved
Version 0.10.10
- It should no longer occur that CI servers count unit tests twice when coverage is used.
- TeamCity service messages for unit test failures are now well-formed
Version 0.10.8
- The property “teamcity_output” can be set to True so that teamcity messages are produced by the
python.unittest
andpython.integrationtest
plugin. Please note that the coverage plugin also runs unit tests and might lead to teamcity counting the amount of unit tests twice.
Version 0.10.6
pyb --start-project
now activates the pluginpython.install_dependencies
by default.
Version 0.10.5
pyb --start-project
will now suggest a few plugins.
Version 0.10.4
pyb --start-project
now always generates an initializer so that plugin can be configured more easily.- There is now a workaround for a distutils bug available through the distutils plugin. See the GitHub issue or the documentation.
Version 0.10.3
- The unittest, pyfix and integrationtest plugins now find modules (or files, for the integrationtest plugin) using globs. Kudos to markmevans for this feature!
Version 0.10.2
- Fixed a bug leading to the creation of strange files when dependencies with a version greater than x (
foo>=1.0
) were specified.
Version 0.10.1
- Source and test directories are now correctly handed to the unittest’s PYTHONPATH, thus it is no longer a pain to test a package which is also locally installed.
Version 0.10.0
- Better reporting when unittests fail. Thanks @esc!
- The parallel integration test progress bar now uses backspaces instead of carriage returns. This improves the experience on small width terminals.
- The deprecated module
pythonbuilder
has now been removed. Please replacepythonbuilder
withpybuilder
in your imports if that is not already the case.