fedora-java / javapackages

Macros and scripts for Java packaging support
Other
7 stars 15 forks source link

Remove direct dependency on Python #111

Open mizdebsk opened 3 weeks ago

mizdebsk commented 3 weeks ago

Python served us well for the past years, but it's time to move away from it. We, Java package mainainers, are not proficient with Python programming and the Python code in Javapackages has become a technical debt for us. Moreover, Python is no longer installed by default in Fedora/RHEL as DNF is no longer implemented in Python. Therefore Javapackages should no longer directly use Python by default.

Depends on:

fridrich commented 1 week ago

I am a tad uneasy about the dependency generators. Are they such a bother?

mizdebsk commented 6 days ago

Keeping the generators and other scripts written in Python wouldn't be a big issue, if they were kept in maintenance-only mode. But doing major changes or adding new features is not easy as I'm not proficient in Python programming and I'm not familiar with currently-used Python frameworks and other practices.

There are 3 new generators that needed to be added:

Moreover, Maven 4 is soon to be released. It is coming with a new model version that will require changes to maven generators. I don't want to reimplement the Maven model parser in Python, but I'd rather start reusing existing Maven code, which will be easy for generators written in Java.

I'm fine to keep javapackages generators and let someone else maintain them. I am also fine to extract the generators as a separate project where they could be maintained by someone else. In any case I'm not planning to do any non-trivial changes to the Python code in the javapackages project (except for code removal).