-
-
Notifications
You must be signed in to change notification settings - Fork 652
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
Create an example that forces dealing with multiple promises. #2484
Milestone
Comments
/cc @stuhood |
Thanks John: will be on this by Wednesday. Cleaning up after a release at
|
stuhood
added a commit
that referenced
this issue
Nov 5, 2015
This demonstrates an explosion when multiple Classpath products are produced for a single target, which will likely need to be dealt with via [#2484](#2484). I'll start working on a way to cause the _absence_ of required Configuration for a Planner to explode early during planning, rather than later when there is ambiguity due to too-much Configuration. - Add a semi-realistic BuildPropertiesPlanner, which promises to produce a Classpath entry - Add an `xfail`d test that covers a target with both JavaSources and a BuildProperties config Testing Done: https://travis-ci.org/pantsbuild/pants/builds/89165764 Bugs closed: 2484, 2495 Reviewed at https://rbcommons.com/s/twitter/r/3075/
This was referenced Nov 9, 2015
asherf
added a commit
to asherf/pants
that referenced
this issue
Feb 3, 2021
[setuptools](https://github.com/pypa/setuptools/blob/main/CHANGES.rst) v53.0.0 ------- Breaking Changes ^^^^^^^^^^^^^^^^ * pantsbuild#1527: Removed bootstrap script. Now Setuptools requires pip or another pep517-compliant builder such as 'build' to build. Now Setuptools can be installed from Github main branch. v52.0.0 ------- Breaking Changes ^^^^^^^^^^^^^^^^ * pantsbuild#2537: Remove fallback support for fetch_build_eggs using easy_install. Now pip is required for setup_requires to succeed. * pantsbuild#2544: Removed 'easy_install' top-level model (runpy entry point) and 'easy_install' console script. * pantsbuild#2545: Removed support for eggsecutables. Changes ^^^^^^^ * pantsbuild#2459: Tests now run in parallel via pytest-xdist, completing in about half the time. Special thanks to :user:`webknjaz` for hard work implementing test isolation. To run without parallelization, disable the plugin with ``tox -- -p no:xdist``. v51.3.3 ------- Misc ^^^^ * pantsbuild#2539: Fix AttributeError in Description validation. v51.3.2 ------- Misc ^^^^ * pantsbuild#1390: Validation of Description field now is more lenient, emitting a warning and mangling the value to be valid (replacing newlines with spaces). v51.3.1 ------- Misc ^^^^ * pantsbuild#2536: Reverted tag deduplication handling. v51.3.0 ------- Changes ^^^^^^^ * pantsbuild#1390: Newlines in metadata description/Summary now trigger a ValueError. * pantsbuild#2481: Define ``create_module()`` and ``exec_module()`` methods in ``VendorImporter`` to get rid of ``ImportWarning`` -- by :user:`hroncok` * pantsbuild#2489: ``pkg_resources`` behavior for zipimport now matches the regular behavior, and finds ``.egg-info`` (previoulsy would only find ``.dist-info``) -- by :user:`thatch` * pantsbuild#2529: Fixed an issue where version tags may be added multiple times v51.2.0 ------- Changes ^^^^^^^ * pantsbuild#2493: Use importlib.import_module() rather than the deprectated loader.load_module() in pkg_resources namespace delaration -- by :user:`encukou` Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * pantsbuild#2525: Fix typo in the document page about entry point. -- by :user:`jtr109` Misc ^^^^ * pantsbuild#2534: Avoid hitting network during test_easy_install. v51.1.2 ------- Misc ^^^^ * pantsbuild#2505: Disable inclusion of package data as it causes 'tests' to be included as data. v51.1.1 ------- Misc ^^^^ * pantsbuild#2534: Avoid hitting network during test_virtualenv.test_test_command. v51.1.0 ------- Changes ^^^^^^^ * pantsbuild#2486: Project adopts jaraco/skeleton for shared package maintenance. Misc ^^^^ * pantsbuild#2477: Restore inclusion of rst files in sdist. * pantsbuild#2484: Setuptools has replaced the master branch with the main branch. * pantsbuild#2485: Fixed failing test when pip 20.3+ is present. -- by :user:`yan12125` * pantsbuild#2487: Fix tests with pytest 6.2 -- by :user:`yan12125` v51.0.0 ------- Breaking Changes ^^^^^^^^^^^^^^^^ * pantsbuild#2435: Require Python 3.6 or later. Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * pantsbuild#2430: Fixed inconsistent RST title nesting levels caused by pantsbuild#2399 -- by :user:`webknjaz` * pantsbuild#2430: Fixed a typo in Sphinx docs that made docs dev section disappear as a result of PR pantsbuild#2426 -- by :user:`webknjaz` Misc ^^^^ * pantsbuild#2471: Removed the tests that guarantee that the vendored dependencies can be built by distutils. v50.3.2 ------- Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * pantsbuild#2394: Extended towncrier news template to include change note categories. This allows to see what types of changes a given version introduces -- by :user:`webknjaz` * pantsbuild#2427: Started enforcing strict syntax and reference validation in the Sphinx docs -- by :user:`webknjaz` * pantsbuild#2428: Removed redundant Sphinx ``Makefile`` support -- by :user:`webknjaz` Misc ^^^^ * pantsbuild#2401: Enabled test results reporting in AppVeyor CI -- by :user:`webknjaz` * pantsbuild#2420: Replace Python 3.9.0 beta with 3.9.0 final on GitHub Actions. * pantsbuild#2421: Python 3.9 Trove classifier got added to the dist metadata -- by :user:`webknjaz` v50.3.1 ------- Documentation changes ^^^^^^^^^^^^^^^^^^^^^ * pantsbuild#2093: Finalized doc revamp. * pantsbuild#2097: doc: simplify index and group deprecated files * pantsbuild#2102: doc overhaul step 2: break main doc into multiple sections * pantsbuild#2111: doc overhaul step 3: update userguide * pantsbuild#2395: Added a ``:user:`` role to Sphinx config -- by :user:`webknjaz` * pantsbuild#2395: Added an illustrative explanation about the change notes to fragments dir -- by :user:`webknjaz` Misc ^^^^ * pantsbuild#2379: Travis CI test suite now tests against PPC64. * pantsbuild#2413: Suppress EOF errors (and other exceptions) when importing lib2to3. [Wheel](https://github.com/pypa/wheel/blob/4fb47f98550f3f43fc0b8c73f518592124ae21bd/docs/news.rst) **0.36.2 (2020-12-13)** - Updated vendored ``packaging`` library to v20.8 - Fixed wheel sdist missing ``LICENSE.txt`` - Don't use default ``macos/arm64`` deployment target in calculating the platform tag for fat binaries (PR by Ronald Oussoren) **0.36.1 (2020-12-04)** - Fixed ``AssertionError`` when ``MACOSX_DEPLOYMENT_TARGET`` was set to ``11`` (PR by Grzegorz Bokota and François-Xavier Coudert) - Fixed regression introduced in 0.36.0 on Python 2.7 when a custom generator name was passed as unicode (Scikit-build) (``TypeError: 'unicode' does not have the buffer interface``) **0.36.0 (2020-12-01)** - Added official Python 3.9 support - Updated vendored ``packaging`` library to v20.7 - Switched to always using LF as line separator when generating ``WHEEL`` files (on Windows, CRLF was being used instead) - The ABI tag is taken from the sysconfig SOABI value. On PyPy the SOABI value is ``pypy37-pp73`` which is not compliant with PEP 3149, as it should have both the API tag and the platform tag. This change future-proofs any change in PyPy's SOABI tag to make sure only the ABI tag is used by wheel. - Fixed regression and test for ``bdist_wheel --plat-name``. It was ignored for C extensions in v0.35, but the regression was not detected by tests.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Right now the scheduler disallows multiple promises and blows up, but @stuhood pointed out a case where this is needed, namely for "jvm" targets that define a
ServiceLoader
service. These targets will have 2 natural classpath products, their compiled classfiles and theirMETA-INF/services/...
resource file. It makes sense that seperate planners/tasks should handle each of these: javac and scalac to generate classfiles for the jvm targets and a service-info resource file generator. Add an example that requires handling both of these products and experiment with scheduler/planner/product type adaptations that allow for it while still disallowing multiple products in other cases where it is dangerous and/or confusing; eg having both scrooge and apache thrift generate java stubs for a given set of thrift files.The text was updated successfully, but these errors were encountered: