Comments (3)
I may revisit this in the future, but I'm still a bit hesitant about this one. For now, I'm introducing a general purpose env var for debug logging, which covers this case and could be expanded to others:
$ POETRY_DYNAMIC_VERSIONING_DEBUG=1 poetry build
No files found for substitution with glob '*.py' in folder 'C:\git\poetry-dynamic-versioning\tests\dependency-dynamic'
No files found for substitution with glob '*/__version__.py' in folder 'C:\git\poetry-dynamic-versioning\tests\dependency-dynamic'
No files found for substitution with glob '*/_version.py' in folder 'C:\git\poetry-dynamic-versioning\tests\dependency-dynamic'
No changes made during substitution in file 'C:\git\poetry-dynamic-versioning\tests\dependency-dynamic\dependency_dynamic\__init__.py'
from poetry-dynamic-versioning.
I've tried messing around with this a bit, but I'm not entirely satisfied with it.
- Although the current default values do have wildcards, I could imagine having a non-wildcard default in the future.
- Someone might copy/paste the same config in several projects. For example, they may put
docs/conf.py
in the plugin config in advance, even if they don't have that file yet in one of their projects. - On the other hand, something like
*/_versoin.py
does have a wildcard, but deserves a warning.
The best option I could think of is enabling the warning when some environment variable is set. I don't mind adding that, but it's not as convenient as something automatic. Do you have any interest in this option for your use case?
from poetry-dynamic-versioning.
For the non-wildcard case (2nd item), I would say it's a matter of "don't do that then".
It's easy to either touch
the docs/conf.py
or comment out that line in the pyproject.toml
if the warning is somehow breaking their build.
But if not automatic (which I would be fine with, it could be a breaking change for some of your users), instead of an environment variable which is not very discoverable, how about a setting in the pyproject.toml
like on-version-substitution-fail = {"warn-non-wildcard", "warn-all", "error-non-wildcard", "error-all"}
?
from poetry-dynamic-versioning.
Related Issues (20)
- Create a file with the version in it without any "replacement magic" HOT 3
- Keep the apostrophe/quotation marks in pyproject version replacement HOT 2
- Version not substituted for chained package dependencies HOT 2
- SETUPTOOLS_SCM_PRETEND_VERSION vs POETRY_DYNAMIC_VERSIONING_BYPASS HOT 2
- Got an error with 'poetry update' HOT 3
- Whl files generated by poetry build do not contain the static version files specific in substitiution HOT 4
- `poetry install` with editable deps using dynamic versions always reports a downgrade. HOT 1
- Getting PermissionError when using poetry-dynamic-versioning in GitHub CI HOT 3
- poetry publish can't find files built with with dynamic versioning HOT 1
- `AssertionError: would build wheel with unsupported tag ('cp312', 'cp311', 'macosx_11_0_arm64')` HOT 2
- Plugin breaks poetry 1.8.0 HOT 2
- Push to PyPI, even in dirty mode HOT 2
- __version__.py file not included in build HOT 3
- poetry-dynamic-versioning fails to retrieve version with poetry 1.8.1 and 1.8.2 HOT 2
- What would you need to stop monkeypatching `poetry.core`? HOT 2
- Plugin installation crashes HOT 2
- Feature request: optional tag prefix for monorepo support HOT 3
- A duplication of the name field is required in pyproject.toml when using poetry-dynamic-versioning with poetry_pep621 HOT 1
- tool.poetry.version field is not updated HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poetry-dynamic-versioning.