www.bounties.mccue.dev
Open in
urlscan Pro
2600:1f18:2489:8202::c8
Public Scan
URL:
https://www.bounties.mccue.dev/
Submission: On June 27 via api from US — Scanned from DE
Submission: On June 27 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
CODING PROJECTS THAT I WISH WERE DONE BUT I HAVEN'T HAD TIME FOR -------------------------------------------------------------------------------- MAKE ORG.POSTGRESQL:POSTGRESQL A FULL MODULE. WHY The Postgres JDBC driver for Java has an Automatic-Module declaration. This means it has a stable module name, but it is still lacking a full module-info. Without a full module-info the driver cannot be used with jlink. Considering Postgres is both a very popular database and my personal favorite, this stinks. Especially since I think there would be non-trivial benefits if a significant portion of libraries worked fully with the module system tooling. NOTES * The gradle build for the postgres library is fickle and from what I tried, annoying to configure to do this. * Postgres is shading in a few libraries and that feels like it could be annoying... somehow * Its dependency on checker-qual should also be bumped to the newest version. DESIRED RESULTS * The newest version of org.postgresql:postgresql has a full module descriptor and is fully compatible with jlink. REWARD If you can show that your efforts directly led to the desired result you may email me at ethan@mccue.dev and request one of * A pizza or spiritually equivalent food delivered to an address of your choosing. * A Venmo for an equivalent amount. STATUS: NO TAKERS A CLI THAT CAN DO EVERYTHING THE MAVEN SHADE PLUGIN CAN, BUT IS MODULE AWARE. WHY Shading a library - including its contents inside of your own JAR - is a good strategy to eliminate a user-facing dependency. The Maven Shade Plugin is what Maven users use for this. Gradle has similar plugins as well. But to use any of that you also need to be using their respective build tools. There are also CLI tools like Jar Jar Links and Pro Guard which can do similar things. What I feel is missing is something that performs this same task but is aware of the module system. For all of the options above you need to specially configure them to not get a faulty module info in the end. This is part of why there are so many "Imposter Modules" on Maven Central. So what I would want is a CLI tool that can "embed" a module into your own, including fixing up service provider usages. Ideally a Maven + Gradle plugin as well but I am personally less interested in that. NOTES * I think the concept of an "embeddable module" is good, but in an ideal world library authors would need to opt-in to that. Doing such a transform is not, in principle, robust. Especially with reflection of class names in string literals. Maybe requiring a flag that makes a user aware that the library hasn't opted in + a module level annotation they could add to opt-in? Perhaps not important. * I'm not particuarly interested in reducing the amount of code embedded or obfusication a'la ProGuard. DESIRED RESULTS * There is a CLI tool available which can embed a module into another module. Ideally available on a package manager like SDKMan, Homebrew, etc. REWARD If you can show that your efforts directly led to the desired result you may email me at ethan@mccue.dev and request one of * A pizza or spiritually equivalent food delivered to an address of your choosing. * A Venmo for an equivalent amount. STATUS: NO TAKERS