Skip to content

Commit

Permalink
Improve static parts of the README.md documentation
Browse files Browse the repository at this point in the history
[skip ci]
  • Loading branch information
sormuras committed Apr 12, 2019
1 parent c91671a commit 2f60344
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions README_ABOUT.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,37 @@
> * Creating a module with a particular name takes ownership of that package name and everything beneath it.
> * As the owner of that namespace, any sub-packages may be grouped into sub-modules as desired so long as no package is in two modules.
This project applies that strategy to compile a _database_ of unique module names.
This project applies that strategy to compile a _database_ of unique module names derived from artifacts published on Maven Central.

- :cd: is ["an automatic module"](http://branchandbound.net/blog/java/2017/12/automatic-module-name), i.e. it declares a stable module name via an `AUTOMATIC-MODULE-NAME` entry in its `META-INF/MANIFEST.MF` file.
- :dvd: denotes an explicit containing a compiled `module-info.class` module descriptor.


### Unique modules on Maven Central

* [module-maven.properties](module-maven.properties) - Module name to Maven `${group}:${artifact}` ID database
* [module-version.properties](module-version.properties) - Module name to current version database
* [modules.properties](modules.properties) - Module name to source CSV line database
* [modules.properties](modules.properties) - Module name to CSV source line database

The _database_ consists of `.properties` files that are generated by parsing publications made to Maven Central.
@sandermak's [modulescanner](https://github.com/sandermak/modulescanner) scans those publications and store module-related events in CSV files.

This project is a single-file source-code Java program [JEP330](https://openjdk.java.net/jeps/330).
## `Modules.java`

This project contains the single-file source-code Java program ([JEP330](https://openjdk.java.net/jeps/330)): [`Modules.java`](src/Modules.java)

With `{path}` pointing to a directory containing all CSV files to parse, you may create the `.properties` files locally.

```text
java src/Modules.java {path}
```

The program reads [maven-group-alias.properties](maven-group-alias.properties) to cherry-pick some non reverse-DNS aliases for well-known projects.
### Reverse-DNS, with the exception of...

- :cd: is ["an automatic module"](http://branchandbound.net/blog/java/2017/12/automatic-module-name), i.e. it declares a stable module name via an `AUTOMATIC-MODULE-NAME` entry in its `META-INF/MANIFEST.MF` file.
- :dvd: denotes an explicit containing a compile `module-info.class` module descriptor.
Initially, [maven-group-alias.properties](maven-group-alias.properties) is read to cherry-pick some non reverse-DNS aliases for well-known projects.

A Maven group ID with all dashes `-` removed is also considered a match.
For example, `org.f-oo-ba-r.b-az` is transformed to `org.foobar.baz` before checking the start of a module name.

### Suspicious modules found on Maven Central

Expand Down

0 comments on commit 2f60344

Please sign in to comment.