Skip to content

Commit e9b3530

Browse files
committed
Update README.md
#156
1 parent 01317dc commit e9b3530

File tree

1 file changed

+57
-15
lines changed

1 file changed

+57
-15
lines changed

README.md

Lines changed: 57 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Copyright (C) 2018-2021 [Vincent A. Cicirello](https://www.cicirello.org/).
77

88
Website: https://jpt.cicirello.org/
99

10+
API documentation: https://jpt.cicirello.org/api
11+
1012
| __Publications About the Library__ | [![DOI](http://joss.theoj.org/papers/10.21105/joss.00950/status.svg)](https://doi.org/10.21105/joss.00950) |
1113
| :--- | :--- |
1214
| __Packages and Releases__ | [![Maven Central](https://img.shields.io/maven-central/v/org.cicirello/jpt.svg?label=Maven%20Central&logo=apachemaven)](https://search.maven.org/artifact/org.cicirello/jpt) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/cicirello/JavaPermutationTools?logo=GitHub)](https://github.com/cicirello/JavaPermutationTools/releases) |
@@ -29,16 +31,13 @@ computation on permutations and sequences. It includes implementations of a vari
2931
of permutation distance metrics as well as distance metrics on sequences (i.e., Strings,
3032
arrays, and other ordered data types).
3133

32-
## Repository Organization
33-
34-
The GitHub repository is organized as follows:
35-
* The [/src](src) directory contains all of the source code for JavaPermutationTools.
36-
* The [/tests](tests) directory contains JUnit test cases for all functionality of the library.
37-
* The [/docs](docs) directory contains the javadoc documentation in a sub-directory /docs/api. The /docs directory is also the location of the website for the project hosted via GitHub pages at https://jpt.cicirello.org/.
34+
## Java 11+
3835

39-
## Java 8
36+
Beginning with version 3.0.0, the library supports Java 11+. Our development process
37+
utilizes OpenJDK 11, and all jar files released via Maven Central, GitHub Packages,
38+
and GitHub Releases are built with a Java 11 target.
4039

41-
The library supports Java 8 or higher, including both Oracle JDK 8 and OpenJDK 8.
40+
Versions prior to 3.0.0 previously required Java 8+.
4241

4342
## Versioning Scheme
4443

@@ -73,17 +72,53 @@ comments is not advised. Some of the example in the examples repository are
7372
based on the experiments from published papers that have either used the library
7473
directly, or which led to some of the code in the library.
7574

75+
## Java Modules
76+
77+
This library provides a Java module, `org.cicirello.jpt`. To use in your project,
78+
add the following to your `module-info.java`:
79+
80+
```Java
81+
module your.module.name.here {
82+
requires org.cicirello.jpt;
83+
}
84+
```
85+
86+
This module includes the `org.cicirello.permutations` and `org.cicirello.sequences`
87+
packages as well as their subpackages. See the [API documentation](https://jpt.cicirello.org/api)
88+
for details.
89+
90+
Beginning with version 3.0.0, randomization and other math utilities, and some
91+
generic utilities, have been
92+
moved to a pair of new libraries [ρμ](https://github.com/cicirello/rho-mu)
93+
and [org.cicirello.core](https://github.com/cicirello/core), which are
94+
now dependencies of JavaPermutationTools. Your dependency manager (see next section)
95+
will handle downloading these for you.
96+
97+
To ease the transition of users of the library who may have been relying on those
98+
utilities, we have configured the `module-info.java` for the `org.cicirello.jpt` module to
99+
require these transitively so that your application should only need to
100+
require `org.cicirello.jpt` to access the functionality of those new modules.
101+
However, it is possible that you __may__ actually need the following to access
102+
some of that functionality, such as the RandomIndexer class, or other math or utility classes:
103+
104+
```Java
105+
module your.module.name.here {
106+
requires org.cicirello.jpt;
107+
requires org.cicirello.rho_mu;
108+
requires org.cicirello.core;
109+
}
110+
```
111+
76112
## Importing the Library from Maven Central
77113

78114
Add this to the dependencies section of your pom.xml, replacing the version number
79-
with the version you want to use (note that the library has been available in Maven
80-
Central since version 2.1.2).
115+
with the version you want to use.
81116

82117
```XML
83118
<dependency>
84119
<groupId>org.cicirello</groupId>
85120
<artifactId>jpt</artifactId>
86-
<version>2.6.0</version>
121+
<version>3.0.0</version>
87122
</dependency>
88123
```
89124

@@ -109,13 +144,20 @@ If you don't use a dependency manager that supports importing from Maven Central
109144
or if you simply prefer to download manually, prebuilt jars are also attached to
110145
each [GitHub Release](https://github.com/cicirello/JavaPermutationTools).
111146

147+
In addition to the regular jar of the library, we also regularly publish a
148+
`jar-with-dependencies`. The `jar-with-dependencies` is built for a Java 11 target,
149+
but does not contain any module declarations (unlike the regular jar file which does).
150+
Therefore, the `jar-with-dependencies` should be used on the classpath.
151+
112152
## License
113153

114154
The JPT library is licensed under the [GNU General Public License 3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).
115155

116-
117156
## Contribute
118157

119-
Report bugs, suggestions, feature requests, etc via the [issues tracker](https://github.com/cicirello/JavaPermutationTools/issues). If you would
120-
like to directly contribute new code, you may also fork the repository,
121-
and create pull requests.
158+
If you would like to contribute in any way, such
159+
as reporting bugs, suggesting new functionality, or code contributions
160+
such as bug fixes or implementations of new functionality, then start
161+
by reading the [contribution guidelines](https://github.com/cicirello/.github/blob/main/CONTRIBUTING.md).
162+
This project has adopted
163+
the [Contributor Covenant Code of Conduct](https://github.com/cicirello/.github/blob/main/CODE_OF_CONDUCT.md).

0 commit comments

Comments
 (0)