Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ jobs:
ref: badges
path: badges

- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'

- name: Build with Maven
run: mvn -B package -Pcoverage
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
ref: gh-pages
path: gh-pages

- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'

- name: Build docs with Maven
run: mvn compile javadoc:javadoc
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-deploy-github-only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
steps:
- uses: actions/checkout@v3

- name: Set up JDK 11 for deploy to github packages
- name: Set up JDK 17 for deploy to github packages
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'
server-id: github

- name: Build with Maven
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/manual-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'
server-id: github

- name: Build with Maven
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/maven-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ jobs:
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}

- name: Set up JDK 11 for deploy to OSSRH
- name: Set up JDK 17 for deploy to OSSRH
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
Expand All @@ -43,11 +43,11 @@ jobs:
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}

- name: Set up JDK 11 for deploy to github packages
- name: Set up JDK 17 for deploy to github packages
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
java-version: '17'
server-id: github

- name: Publish to GitHub Packages Apache Maven
Expand Down
2 changes: 1 addition & 1 deletion .lift.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
jdkVersion = "11"
jdkVersion = "17"

# don't run eslint... it is for js and will detect false positives
# in javadoc directories.
Expand Down
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased] - 2022-06-01
## [Unreleased] - 2022-06-02

**BREAKING CHANGES:** The next release is a major release that includes breaking changes. See
details below.

### Added

### Changed
* Minimum supported Java version is now Java 17 (breaking change).

### Deprecated

Expand Down
34 changes: 18 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,19 @@ computation on permutations and sequences. It includes implementations of a vari
of permutation distance metrics as well as distance metrics on sequences (i.e., Strings,
arrays, and other ordered data types).

## Java 11+
## Java 17+

Beginning with version 3.0.0, the library supports Java 11+. Our development process
utilizes OpenJDK 11, and all jar files released via Maven Central, GitHub Packages,
and GitHub Releases are built with a Java 11 target.
We currently support Java 17+. See the following table for mapping between library version
and minimum supported Java version.

Versions prior to 3.0.0 previously required Java 8+.
| version | Java requirements |
| --- | --- |
| 4.x.y | Java 17+ |
| 3.x.y | Java 11+ |
| 1.x.y to 2.x.y | Java 8+ |

The jar files of the library are released via Maven Central, GitHub Packages,
and GitHub Releases.

## Versioning Scheme

Expand Down Expand Up @@ -86,7 +92,7 @@ module your.module.name.here {

This module includes the `org.cicirello.permutations` and `org.cicirello.sequences`
packages as well as their subpackages. See the [API documentation](https://jpt.cicirello.org/api)
for details.
for details of all packages included in this module.

Beginning with version 3.0.0, randomization and other math utilities, and some
generic utilities, have been
Expand All @@ -95,12 +101,8 @@ and [org.cicirello.core](https://github.com/cicirello/core), which are
now dependencies of JavaPermutationTools. Your dependency manager (see next section)
will handle downloading these for you.

To ease the transition of users of the library who may have been relying on those
utilities, we have configured the `module-info.java` for the `org.cicirello.jpt` module to
require these transitively so that your application should only need to
require `org.cicirello.jpt` to access the functionality of those new modules.
However, it is possible that you __may__ actually need the following to access
some of that functionality, such as the RandomIndexer class, or other math or utility classes:
If you are directly utilizing the functionality of the dependencies, then you may instead
need the following:

```Java
module your.module.name.here {
Expand All @@ -119,7 +121,7 @@ with the version you want to use.
<dependency>
<groupId>org.cicirello</groupId>
<artifactId>jpt</artifactId>
<version>3.0.0</version>
<version>4.0.0</version>
</dependency>
```

Expand All @@ -146,9 +148,9 @@ or if you simply prefer to download manually, prebuilt jars are also attached to
each [GitHub Release](https://github.com/cicirello/JavaPermutationTools).

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

## License

Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>org.cicirello</groupId>
<artifactId>jpt</artifactId>
<version>3.0.0</version>
<version>4.0.0</version>
<packaging>jar</packaging>

<name>JavaPermutationTools</name>
Expand Down Expand Up @@ -184,7 +184,7 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.release>17</maven.compiler.release>
</properties>

<build>
Expand Down