Skip to content

Minor improvements for release process

Clément Jonglez requested to merge jar-and-stubs-rework into master

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 and pyhelpers.py and orekit_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