Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to pex 1.4.x and eliminate workarounds. #5922

Closed
jsirois opened this issue Jun 6, 2018 · 0 comments · Fixed by #6594
Closed

Upgrade to pex 1.4.x and eliminate workarounds. #5922

jsirois opened this issue Jun 6, 2018 · 0 comments · Fixed by #6594
Assignees

Comments

@jsirois jsirois added the python label Jun 6, 2018
jsirois added a commit to jsirois/pants that referenced this issue Jun 6, 2018
This hacks around a few issues with the 1.4.x pex API. We concoct a
minimal local `Platform` to pass to `resolve` where a local interpreter
is passed to work around pex-tool/pex#511.
We also now consolidate `PythonInterpreter` construction in production
code to helper that ensures the interpreters we create are bare
(isolated) except for the specific extras we require to work around
pex-tool/pex#510.

Upgrading pex to take advantage of the worked around issues noted above
is tracked by pantsbuild#5922.

Fixes pantsbuild#5906
jsirois added a commit to jsirois/pants that referenced this issue Jun 6, 2018
This hacks around a few issues with the 1.4.x pex API. We concoct a
minimal local `Platform` to pass to `resolve` where a local interpreter
is passed to work around pex-tool/pex#511.
We also now consolidate `PythonInterpreter` construction in production
code to helper that ensures the interpreters we create are bare
(isolated) except for the specific extras we require to work around
pex-tool/pex#510.

Upgrading pex to take advantage of the worked around issues noted above
is tracked by pantsbuild#5922.

Fixes pantsbuild#5906
jsirois added a commit to jsirois/pants that referenced this issue Jun 6, 2018
This hacks around a few issues with the 1.4.x pex API. We concoct a
minimal local `Platform` to pass to `resolve` where a local interpreter
is passed to work around pex-tool/pex#511.
We also now consolidate `PythonInterpreter` construction in production
code to helper that ensures the interpreters we create are bare
(isolated) except for the specific extras we require to work around
pex-tool/pex#510.

Upgrading pex to take advantage of the worked around issues noted above
is tracked by pantsbuild#5922.

Fixes pantsbuild#5906
jsirois added a commit to jsirois/pants that referenced this issue Jun 7, 2018
This hacks around a few issues with the 1.4.x pex API. We concoct a
minimal local `Platform` to pass to `resolve` where a local interpreter
is passed to work around pex-tool/pex#511.
We also now consolidate `PythonInterpreter` construction in production
code to helper that ensures the interpreters we create are bare
(isolated) except for the specific extras we require to work around
pex-tool/pex#510.

Upgrading pex to take advantage of the worked around issues noted above
is tracked by pantsbuild#5922.

Fixes pantsbuild#5906
jsirois added a commit that referenced this issue Jun 7, 2018
This hacks around a few issues with the 1.4.x pex API. We concoct a
minimal local `Platform` to pass to `resolve` where a local interpreter
is passed to work around pex-tool/pex#511.
We also now consolidate `PythonInterpreter` construction in production
code to helper that ensures the interpreters we create are bare
(isolated) except for the specific extras we require to work around
pex-tool/pex#510.

Upgrading pex to take advantage of the worked around issues noted above
is tracked by #5922.

Fixes #5906
@jsirois jsirois self-assigned this Jun 7, 2018
jsirois added a commit that referenced this issue Jul 13, 2018
Previously the platform passed for 'current' was partial, leading to
ambiguous resolves. Further, partial platforms in user's BUILD files
also would lead to ambiguous resolves. For example, a multi-platform
`python_binary` with something like
`platforms=['current', 'linux-x86_64', 'macosx_10.11_x86_64']`.

Expand and and then fixup platforms as required by replacing
`get_local_platform` with `expand_and_maybe_adjust_platform`.

Also perform a few `build_local_python_distributions` fixes.
+ Fix an unused `interpreter` parameter - forward to `SetupPyRunner`.
+ Kill declaring `--universal` on behalf of the package author. There
  is not enough info to make the decision if the code being dist'd, if
  pure python, is 2/3 compatible.

To compensate for the removal of `--universal`, give an example of how
to declare your python_dist as `--universal` when you know it is as the
BUILD `python_dist` target author.

Finally two subsidary workarounds:
+ hack around PEX not forwarding custom interpreters to PEXEnvironment.
+ Avoid the troublesome Apple 2.7.10 python for now.

Hacks are tracked by umbrella #5922, but for this PR they are:
+ pex-tool/pex#511
+ pex-tool/pex#522
+ pex-tool/pex#523
jsirois added a commit to jsirois/pants that referenced this issue Jul 29, 2018
Eliminate a few workarounds that are no longer needed and
switch to using the released pex.pex in the release script.

Work towards pantsbuild#5922
jsirois added a commit that referenced this issue Jul 30, 2018
Eliminate a few workarounds that are no longer needed and
switch to using the released pex.pex in the release script.

Work towards #5922
CMLivingston pushed a commit to CMLivingston/pants that referenced this issue Aug 27, 2018
Eliminate a few workarounds that are no longer needed and
switch to using the released pex.pex in the release script.

Work towards pantsbuild#5922
jsirois added a commit to jsirois/pants that referenced this issue Oct 4, 2018
Pex now allows us to float setuptools high and run on python 3.7 and
it supports sane platform expansion as well as graceful handling of
non-standard `setuptools` platform reporting for Apple system
interpreters allowing us to eliminate several workarounds.

We also pickup a fix for concurrent pex extraction which is particularly
useful when running pants from a pex using `PEX_FORCE_LOCAL`.

Fixes pantsbuild#5922
Fixes pantsbuild#6363
jsirois added a commit to jsirois/pants that referenced this issue Oct 5, 2018
Pex now allows us to float setuptools high and run on python 3.7 and
it supports sane platform expansion as well as graceful handling of
non-standard `setuptools` platform reporting for Apple system
interpreters allowing us to eliminate several workarounds.

We also pickup a fix for concurrent pex extraction which is particularly
useful when running pants from a pex using `PEX_FORCE_LOCAL`.

Fixes pantsbuild#5922
Fixes pantsbuild#6363
jsirois added a commit to jsirois/pants that referenced this issue Oct 7, 2018
Pex now allows us to float setuptools high and run on python 3.7 and
it supports sane platform expansion as well as graceful handling of
non-standard `setuptools` platform reporting for Apple system
interpreters allowing us to eliminate several workarounds.

We also pickup a fix for concurrent pex extraction which is particularly
useful when running pants from a pex using `PEX_FORCE_LOCAL`.

Fixes pantsbuild#5922
Fixes pantsbuild#6363
jsirois added a commit that referenced this issue Oct 8, 2018
Pex now allows us to float setuptools high and run on python 3.7 and
it supports sane platform expansion as well as graceful handling of
non-standard `setuptools` platform reporting for Apple system
interpreters allowing us to eliminate several workarounds.

We also pickup a fix for concurrent pex extraction which is particularly
useful when running pants from a pex using `PEX_FORCE_LOCAL`.

Fixes #5922
Fixes #6363
jsirois added a commit to jsirois/pants that referenced this issue Oct 11, 2018
This lets the full entry-point live in less places. The `pants` console
script will be much more stable and it's easy to remember / ~obviously
right.

I forgot to leverage the work in
pex-tool/pex#545 when upgrading from
pex 1.4.5 to 1.4.8 as part of pantsbuild#5922.
jsirois added a commit that referenced this issue Oct 11, 2018
This lets the full entry-point live in less places. The `pants` console
script will be much more stable and it's easy to remember / ~obviously
right.

I forgot to leverage the work in
pex-tool/pex#545 when upgrading from
pex 1.4.5 to 1.4.8 as part of #5922.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant