Git Product home page Git Product logo

jpms's People

Contributors

dependabot[bot] avatar sgammon avatar step-security-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

jpms's Issues

Tracking: JPMS Ecosystem

Integration Testing: Candidate Projects

In order to get some solid confidence going in the JPMS forks of these libraries, there is a spot in this repo for smoke tests and another for integration tests.

Right now, these roots are empty, but the intent is to fill them with:

  • Smoke tests: jar --validate, and other obvious-failure tests; assertions about JAR structure, including valid MRJAR structure, illegal class layout, and so on. Loading libraries with a range of supported JDKs.

  • Integration tests: Entire projects which depend on the libraries provided by this repo. Each is forked and overridden to depend on these libraries, or is instructed from outside the build to depend on these libraries based on configuration.


The question then moves naturally to a strong representative set of use of Guava, Reactive Streams, Protocol Buffers, and so on, from JVM languages.

Screenshot 2024-03-14 at 11 18 04 PM

Example of results

Browsing and manually cross-referencing these lists, roughly ordered by stars and compatibility, yields (in vendor order):

Comparison and reasoning below:

Repository Build system + Language Libraries used Outcome
dubbo Maven, Java Protobuf, Guava, Reactive ✅ Included
pkl Gradle, Java, Kotlin Guava ✅ Included
bazel Bazel, Java Protobuf, Guava, Reactive ✅ Included
checkstyle Maven, Java Guava ✅ Included
gson Maven, Java Protobuf, Guava 🆙 Promoted
armeria Gradle, Java Guava, Protobuf, Reactive ✅ Included
ghidra Gradle, Java Guava, Protobuf ⚠️ Complex build
pmd Maven, Java Guava ✅ Included
Signal-Server Maven, Java Guava, Protobuf, Reactive ✅ Included

✅ = Included in integration tests
🆙 = Promoted to repository library
⚠️ = Problems or other blockers

Can't build with `jlink` yet

> Task :jvm:jlink FAILED
Error: automatic module cannot be used with jlink: com.google.common.util.concurrent.internal from .../com.google.guava/failureaccess/1.0.2/.../failureaccess-1.0.2.jar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.