From sormuras at gmail.com Tue Jan 7 10:04:58 2020 From: sormuras at gmail.com (Christian Stein) Date: Tue, 7 Jan 2020 11:04:58 +0100 Subject: Workshop proposal: Modules, modules, everywhere! Message-ID: Java modules are here to stay. Like Generics, their adoption started slowly. But one day in the future, they'll be ubiquitous. ___ (a) Let's crawl some data gathered from Maven Central [1] and examine the current adoption of Java modules since August 2018. Stuart mentioned this census at Devoxx BE 2019 [2]: "Maven artifacts that are module-ready are in the thousands." As of today, they are 5850. With 1,585 of them being explicit. ___ (b) I'd like to see a "Java Module Repository" hosted at https://modules.java.net ... that "one day in the future". Similar to what Maven Central provides today, but for compiled Java modules only. Goal: make "requires org.junit.jupiter.api[@VERSION];" work like "requires java.logging;" out of the box. Supersede the "database" generated by [1] and crawled in (a). ___ (c) What are the plans for "module-info.java" DSL? - Requires with versions? Needed by (b) anyway... - Default main-class annotation? - Other tweaks or features the Jigsaw team wants to add? Length: Long Bio/Blog: [3] Cheers, Christian [1]: https://github.com/sormuras/modules [2]: https://youtu.be/qKeMB7OoGJk?t=2562 [3]: https://sormuras.github.io From sormuras at gmail.com Tue Jan 7 12:11:03 2020 From: sormuras at gmail.com (Christian Stein) Date: Tue, 7 Jan 2020 13:11:03 +0100 Subject: Workshop proposal: Standard for testing on the JVM Message-ID: Title: Standard for testing on the JVM Length: Short Bio/Blog: https://sormuras.github.io Abstract: > There is no standard for testing on the JVM: the only common > building block we have is java.lang.AssertionError. Copied from https://github.com/ota4j-team/op entest4j -- which expounds on the history, motivation, goal and benefits of such a standard for testing on the JVM. Here's another quote: > The primary goal of the project is to enable testing frameworks > like JUnit, TestNG, Spock, etc. and third-party assertion libraries > like Hamcrest, AssertJ, etc. to use a common set of exceptions > that IDEs and build tools can support in a consistent manner > across all testing scenarios -- for example, for consistent handling > of failed assertions and failed assumptions as well as > visualization of test execution in IDEs and reports. I propose to supersede that project by integrating the few error and exception classes into the core of the JDK for the benefit of the greater Java community. Perhaps by creating a package in module "java.base", e.g. "java.lang.assertion" as the container of those errors and exceptions. Or introduce a dedicated "java.test" module? Which, later, might also host the platform for testing on the JVM. More on that idea can be found here: https://junit.org/junit5/docs/current/user-guide/#advanced-topics Cheers, Christian