Minor improvements for release process
This MR contains several small quality-of-life improvements to the release process. I think after that we could release orekit_jpype to PyPi?
- Download JARs using maven. The Orekit&Hipparchus&Rugged versions can be specified in
pom.xml
- the
render_stubs.py
script was extended (and renamed) to delete the old JARs (to avoid mixing multiple versions of Java artifacts), download the new JARs, delete the old stubs, re-generate the stubs - the Javadoc JARs are also downloaded using maven, but now gitignored, because they are only needed to generate stubs and not for using orekit_jpype. This reduces the wheel size by more than half, now it's only 7.1 MB.
- update README.md, especially the dev instructions how to prepare, build and upload a new release
- Bump package version to
12.0.2.0
- Add unit tests to increase test coverage of
orekit_converters.py
andpyhelpers.py
andorekit_jpype.py
- The tests that start the JVM are split into several files meant to be run separately because the JVM cannot be restarted (known jpype/JNI limitation)
- To make the tests pass, I had to do some changes in the three Python files mentioned above, for instance:
- pyhelpers: big overhaul of JArray (1D&2D) and elevation mask conversions
- add jvmpath arg to initVM (passed directly to jpype) to use custom JVM. This allows to use
jdk4py
without having to use a JAVA_HOME environment variable - many small syntax fixes to please the flake8 linter
- Big changes to the CI pipeline:
- the CI pipeline now uses official Python debian docker images, with jdk4py via pip to provide a JDK
- A matrix of several Python versions (3.9 to 3.12) is used for testing
- a new step was introduced in the CI pipeline to try building the wheel
- the CI pipeline will keep the built sdist and wheel as artifacts for one day, just in case. And also the test coverage and code quality reports for one month.
Edited by Clément Jonglez
Merge request reports
Activity
changed milestone to %Publishing to PyPi
assigned to @Petrush
added 2 commits
added 1 commit
- d7916d83 - try flake8 with code quality report for gitlab
added 8 commits
- a150d439 - add badges to PyPi README.md too
- 5b75a80f - add stuff to README.md
- 9786bbf4 - fix minor style warnings from flake8
- edeb01c8 - do not run flake8 on unit tests anymore, only code..
- 8038aee5 - orekit_converters.py/_JAbsoluteDate: just use absolutedate_to_datetime
- 9317b742 - minor fixes to Jarray->numpy converters, add unit test
- ad345b27 - add unit test to test orekit_jpype.py, and a custom JAR
- e168a592 - pyhelpers: fix numpy-> Jarray conversion, elevationMask, add unit test
Toggle commit listadded 1 commit
- 16b98d17 - gitlab CI: remove pip install steps, now done once in docker image
added 1 commit
- ba095d3f - PyHelpersTest: re-setup orekit data after clearing factories for next tests..
added 4 commits
Toggle commit listadded 1 commit
- ef22a88a - merge pypi-README.md and README.md, restructure it
added 1 commit
- c3170677 - gitlab CI: try using a py docker image without JDK, use jdk4py instead
added 1 commit
- c21e3383 - big rework of gitlab CI: use cache for pip , venv, move lint to test stage
Please register or sign in to reply