• Stars
    star
    144
  • Rank 255,590 (Top 6 %)
  • Language
    Java
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿงฉ Java modules published at Maven Central

sormuras/modules

The main goal of this project is to collect Unique Java Modules. As a side product, it also assembles an overview of "almost all" Java modules published at Maven Central since August 2018.

You're welcome to extend The Watch, because modules are coming... and soon the rhyme goes "Modules, Modules, every where!"

Unique Java Modules

Here's the daily updated ๐Ÿฆ„ modules.properties file of unique modules.

This project considers a Java module to be unique:

  • if it is an explicit module with a compiled module descriptor,
  • and if its module name that starts with its Maven Group ID or a well-known alias.

Well-known aliases are defined as:

static String computeMavenGroupAlias(String group) {
  return switch (group) {
    case "com.fasterxml.jackson.core" -> "com.fasterxml.jackson";
    case "com.github.almasb" -> "com.almasb";
    case "javax.json" -> "java.json";
    case "net.colesico.framework" -> "colesico.framework";
    case "org.jetbrains.kotlin" -> "kotlin";
    case "org.jfxtras" -> "jfxtras";
    case "org.openjfx" -> "javafx";
    case "org.ow2.asm" -> "org.objectweb.asm";
    case "org.projectlombok" -> "lombok";
    case "org.swimos" -> "swim";
    default -> group.replace("-", "");
  };
}

Find module com.github.sormuras.modules also attached as an executable JAR and ToolProvider in the assets of releases/tag/0-ea. Stable versions of it are published to releases; with releases/latest pointing to the latest stable release.

More Modules found at Maven Central

This doc directory hosts lists of Maven Group:Artifact coordinates in text files. They are taken as an input of the scan process. The scanner generates overview tables showing the state of modularization for each Group:Artifact coordinate. All JAR files published to Maven Central that were analyzed and recorded by the modulescanner are evaluated using their latest version. That modulescanner was activated in mid of August 2018 - meaning earlier publications can not be evaluated here.

You'll find the following summary at the start of each overview.

  • ๐Ÿงฉ denotes a Java module that contains a compiled module descriptor. It therefore provides a stable module name and an explicit modular API using exports, provides, opens and other directives.

  • โฌœ denotes an automatic Java module, with its stable module name derived from Automatic-Module-Name manifest entry. Its API is derived from JAR content and therefore may not be stable.

  • โšช denotes an automatic Java module, with its not stable module name derived from the JAR filename. Its API is derived from JAR content and therefore may not be stable.

  • โž– denotes an unrelated artifact, like BOM, POM, and other non-JAR packaging types. It also denotes old JAR files, as the scan process can only evaluate artifacts that were deployed after mid August 2018.

    2019 2020 2021 2022
๐Ÿงฉ  122  140  137  142  // Java modules (module descriptor with stable name and API)
โฌœ  205  259  272  300  // Automatic Java modules (name derived from JAR manifest)

Top1000-2022

๐Ÿ“œ Top1000-2022.txt.md

Top1000-2022.txt contains 1,000 Maven Group:Artifact lines sorted by download popularity as of September 2022.

Top1000-2021

๐Ÿ“œ Top1000-2021.txt.md

Top1000-2021.txt contains 1,000 Maven Group:Artifact lines sorted by download popularity of year 2021.

Top1000-2020

๐Ÿ“œ Top1000-2020.txt.md

Top1000-2020.txt contains 1,000 Maven Group:Artifact lines sorted by download popularity of year 2020.

Top1000-2019

๐Ÿ“œ Top1000-2019.txt.md

Top1000-2019.txt contains 1,000 Maven Group:Artifact lines sorted by download popularity of year 2019.

Suspicious Artifacts

Find lists of suspicious Maven artifacts in the doc/suspicious directory.

For example, a Maven artifact is considered to be suspicious if its JAR file contains an illegal Automatic-Module-Name manifest entry. Illegal? An empty name, a name that contains - characters, a name starting numbers, a name that contains Java keywords, etc., is illegal. Consult chapter Module Declarations of the Java Language Specification for details. TLDR; the name must be usable in requires NAME; directives of other modules.

Another example is a Maven artifact that contains one or more module-info.class files from one or more other Maven artifacts that are already packaged as Java modules. Usually, this is an unwanted side-effect of shad(ow)ing 3rd-party libraries.

More Repositories

1

bach

๐ŸŽผ Bach Builds (on(ly)) Modules
Java
234
star
2

junit-platform-maven-plugin

Maven Plugin launching the JUnit Platform
Java
61
star
3

awesome-java-module-system

๐Ÿ•ถ A curated list of resources related to the Java Module System (JSR 376)
55
star
4

download-jdk

FUP2 https://github.com/oracle-actions/setup-java
Java
27
star
5

testing-in-the-modular-world

Testing Java Modules With JUnit 5 Blueprint
Java
24
star
6

junit5-looming

๐Ÿงต JUnit 5 Test Engine using Virtual Threads
Java
22
star
7

hello-world-java-action

A template to demonstrate how to build a Java action.
Java
12
star
8

idea-junit-webinar

IntelliJ IDEA and JUnit: Writing, Finding, and Running Tests
Java
11
star
9

application-junit5-jdk9-demo

Using JUnit 5 with IDEA on Java 9
Java
11
star
10

brahms

JUnit 5 Extension and TestEngine ideas
Java
10
star
11

poetry

Poetry provides Java 8 and related utilities supporting https://github.com/square/javapoet
Java
9
star
12

bartholdy

Generic tooling support framework
Java
9
star
13

stash

Java interface-driven ByteBuffer-based persistence layer
Java
7
star
14

mainrunner

๐Ÿฆ„ Java Program Running Test Engine
Java
6
star
15

command-line-interface

Arguments Splitter for Java
Java
5
star
16

jdk-tools

๐Ÿ› ๏ธ JDK Tools and Where to Find Them
Java
5
star
17

compayler

Prevayler Decorator Compiler
Java
4
star
18

setup-jdk

Download and set up OracleJDK or OpenJDK built by Oracle
Java
4
star
19

sormuras.github.io

Source of sormuras development
4
star
20

maven-starter-projects

Maven-based Starter Projects
Java
3
star
21

bach-library-template

๐ŸŽต Modular Java Library Template
Java
3
star
22

java-compiler-script-engine

JSR 223 facade for `javac`, the foundation Java compiler
Java
3
star
23

make-java

๐Ÿ’  Build modular Java projects
Java
3
star
24

bach-demo-javafx

โญ Bach + JavaFX
Java
3
star
25

bach-demo-fxgl

๐Ÿ›ธ Bach + FXGL
Java
3
star
26

toccata

๐Ÿ•น Tower Crush Cannon Tavern
Java
2
star
27

sandbox

Various playgrounds
HTML
2
star
28

listing

Java compilation unit listing tool.
Java
2
star
29

bach-application-template

๐Ÿ“‹ Modular Java Application Template
Java
2
star
30

JDK-8234076

https://bugs.openjdk.java.net/browse/JDK-8234076
Batchfile
2
star
31

changelog

Render human-readable changelogs
Java
2
star
32

jdk-junit-migration

Java
2
star
33

bach-build

๐ŸŽถ An action that builds modular Java projects
Shell
2
star
34

sawdust

Java Modules
Java
2
star
35

jdk-java-net-overlay

Additional resources for https://jdk.java.net
Java
2
star
36

bach-external-modules

Bills of Modules
Java
1
star
37

bach-init

๐Ÿ†• Bach's Initialization Program
Java
1
star
38

maven-clashing-modules

https://twitter.com/sormuras/status/1365197340215246848
Java
1
star
39

border

โน๏ธ Print a line of text framed with a border
Java
1
star
40

baron

Build modular Java projects programmatically
Java
1
star
41

junit-platform-isolator

Launch JUnit Platform In Isolation
Java
1
star
42

bach-spring

๐Ÿƒ Bach + Spring
1
star
43

cars

Remote Radio Cars
Java
1
star
44

jdk.tools

๐Ÿงฉ Defines the Java Tooling API.
Java
1
star
45

stratification

Java class loader and module layer support
Java
1
star
46

JDK-8313893

JDK-8313893
Java
1
star
47

bach-info

Bach's default repository for external assets
Java
1
star
48

bach-demo-junit

โœ… Bach + JUnit
Java
1
star
49

run.bach

๐ŸŽถ Sources of run.bach packages
Java
1
star
50

jtreg-engine

A test engine for https://github.com/openjdk/jtreg
Java
1
star
51

duke

๐Ÿ› ๏ธ Java's mascot and mechanic
Java
1
star