Improvements to the pyinterfacegen tool#50
Conversation
|
@steve-s The deploy-local-repo script has been tested but I don't know how best to simulate a full release. That might be the best I can do - if there are bugs the release team may need to study the issue further. How does it look? |
|
I can confirm that the deployment script also works for me locally without any issues. I skimmed over the artifacts and I think there are some missing bits:
(note: signing is the only bit that we don't do ourselves and the release team takes care of that) |
|
Also the artifacts are deployed in a new |
|
@steve-s How does it look now? |
|
Now the |
|
Oops, sorry about that. I'm not sure either but I think it didn't have those originally either, good catch. |
|
Thanks @mikehearn, LGTM. Do you want to rebase before merge? |
…e stubs. This is useful to sanity check the resulting files.
- Use single quoting for docstrings unless necessary to switch. - Avoid emitting Python reserved words as parameter names. - Switch to the older PEP 484 generics for more compatibility. - Stop emitting references to JDK types as we don't have .pyi stubs for those. - Collapse overloads as mypy has issues with Java style overloads. - Fix enum syntax. - Track co/contravariance properly for generic type vars.
- Move to correct namespace packages. - Generalize the JDK package -> object mapping so other packages can be excluded, and add a few more. - Handle broken Java where a type exposes a private inner type. - Improve the generics variance inference. - Improve the handling of varargs methods when computing overload dominance. - Delete some dead code.
Prefer for loops to top level .forEach calls; they are the same but the former is clearer to my eye.
…ween top level and gradle-plugin subprojects.
Misc improvements including:
pom.xml.pyigeneration accuracy is much improved with many bug fixes, especially in the area of generics and overloads.mypyover it, which can detect internal inconsistencies and mistypings.