plone / plone.recipe.codeanalysis

provides static code analysis for Buildout-based Python projects, including flake8, JSHint, CSS Lint, and other code checks
https://pypi.org/project/plone.recipe.codeanalysis/
11 stars 8 forks source link

Full python3 support #217

Closed gyst closed 6 years ago

gyst commented 6 years ago

Also: Work around pip namespacing issue breaking Travis. The pip namespacing bug is biting hard. I've fixed Travis bootstrapping but had to remove coverage since this is broken, as is a Tox build which I did not add.

This now has all tests green on all builds. I've tightened the Travis compatibility matrix by making all tests critical. There's a bit of a kludge involved in running buildout twice to get the scss-lint gem properly installed.

TODO:

gyst commented 6 years ago

Aw I now see there's also a new ChameleonLint included. Will add tests for that.

gyst commented 6 years ago

I'm about done with this and would appreciate review comments so I can finish this up. @tisto @gforcada ?

gforcada commented 6 years ago

@gyst first of all... hats off! :clap: thanks for this tremendous effort!

My laptop broke last week, I could do a last minute backup so not big losses, mostly my ability to contribute these days, so unfortunately I will have to delay my review a few days/weeks if that's not so much of a problem for you. TIA!

jensens commented 6 years ago

What's the state here? I would like to see it merged!

gyst commented 6 years ago

This is green. We've been using it "in production" (obviously just within our development/commit workflow) without a hitch.

I do have a plan to add some extra features, specifically an option to choose a pre-push hook instead of a pre-commit hook. But that's no reason to hold this PR.

jensens commented 6 years ago

Thanks @gyst It's a good bunch of changes and I am not able to review them all. I would go for a merge and going an agile path of fixing in case something breaks. If there are any problems occurring after merge, are you able (time-wise) to help fixing them?

gyst commented 6 years ago

Sure I'm happy to fix forward. I do need a reproduction though if somebody has breakage, i.e. a package with a buildout that enables me to reproduce a reported error. Note that while all the tests pass on py2 I'm using this myself on py3, so py2 is a bit less heavily stress tested. But again, I'll fix.