-
-
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
Run checkstyle as a standalone step #2427
Comments
Noting that historically the issue is some checks actually require a classpath. Certainly could let users deal with the fallout of those checks though if they have them installed and run checkstyle on sources with no classpath. |
Or we could let users specify published artifacts on the tool classpath. |
In the Twitter case the classpath elements of interest included local source compiled. They had a custom exception check that failed for ...redundant throws IIRC. That check needed to be able to see if an exception was a supertype of another exception in the throws of a method. Of course for a purse local source check - this could be done with the checkstyle AST, but the check was more general and made sure no declared thrown exception was the supertype of another in the same throws list. So this needed to include exceptions that cam from the JRE lib and 3rdparty deps in addition to local source. .... which as I type this addendum strikes me as doable with just an ivy resolve and not a full compile. But still, more than local sources are needed. |
This has moved to |
[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.
Currently, when we run checkstyle it depends on the compile step running.
I think this makes sense in that we don't want to run checkstyle on code that doesn't compile, but sometimes we want to run a quick check of code before we submit a change request. I'm thinking that we could so something like
./pants checkstyle-only $(./pants what-changed <sha>)
and have it just check to make sure that files that have changed still pass checkstyle, say in a git pre-commit hook.The text was updated successfully, but these errors were encountered: