Compare commits

...

10 commits

20 changed files with 86 additions and 147 deletions

View file

@ -14,7 +14,8 @@ in migrating library data to Unicode, and UTF-8, respectively.
## Version history ## Version history
| Version | Release date | | Version | Release date |
| ------- | ------------ | |---------|--------------|
| 3.0.0 | May 22, 2023 |
| 1.0.2 | Aug 30, 2016 | | 1.0.2 | Aug 30, 2016 |
| 1.0.1 | Aug 20, 2016 | | 1.0.1 | Aug 20, 2016 |
| 1.0.0 | Aug 18, 2016 | | 1.0.0 | Aug 18, 2016 |
@ -26,7 +27,7 @@ With Maven
<dependency> <dependency>
<groupId>org.xbib</groupId> <groupId>org.xbib</groupId>
<artifactId>bibliographic-character-sets</artifactId> <artifactId>bibliographic-character-sets</artifactId>
<version>1.0.2</version> <version>3.0.0</version>
</dependency> </dependency>
With Gradle With Gradle
@ -35,7 +36,7 @@ With Gradle
provided provided
} }
dependencies { dependencies {
provided 'org.xbib:bibliographic-character-sets:1.0.2' provided 'org.xbib:bibliographic-character-sets:3.0.0'
} }
You can also include this jar in the classpath, the Java CharsetProvider and You can also include this jar in the classpath, the Java CharsetProvider and
@ -49,7 +50,7 @@ of your project to the public if you make modifications to this program.
All contributions and pull requests are welcome. All contributions and pull requests are welcome.
If you have questions or find issues, pleas post them at If you have questions or find issues, pleas post them at
https://github.com/xbib/bibliographic-character-sets/issues https://xbib.org/xbib/bibliographic-character-sets/issues
## List of character sets included ## List of character sets included

View file

@ -1,18 +1,17 @@
plugins { plugins {
id "checkstyle" id "checkstyle"
id "pmd" id "pmd"
id 'maven-publish' id 'maven-publish'
id 'signing' id 'signing'
id "io.github.gradle-nexus.publish-plugin" version "1.3.0" id "io.github.gradle-nexus.publish-plugin" version "2.0.0-rc-1"
id "com.github.spotbugs" version "5.0.14" //id "com.github.spotbugs" version "6.0.0-beta.3"
id "org.cyclonedx.bom" version "1.7.2" id "org.cyclonedx.bom" version "1.7.4"
id "org.xbib.gradle.plugin.asciidoctor" version "2.5.2.2" id "org.xbib.gradle.plugin.asciidoctor" version "3.0.0"
} }
wrapper { wrapper {
gradleVersion = libs.versions.gradle.get() gradleVersion = libs.versions.gradle.get()
distributionType = Wrapper.DistributionType.ALL distributionType = Wrapper.DistributionType.BIN
} }
ext { ext {
@ -20,23 +19,24 @@ ext {
name = 'bibliographic-character-sets' name = 'bibliographic-character-sets'
description = 'Bibliographic character sets for Java' description = 'Bibliographic character sets for Java'
inceptionYear = '2016' inceptionYear = '2016'
url = 'https://github.com/' + user + '/' + name url = 'https://xbib.org/' + user + '/' + name
scmUrl = 'https://github.com/' + user + '/' + name scmUrl = 'https://xbib.org/' + user + '/' + name
scmConnection = 'scm:git:git://github.com/' + user + '/' + name + '.git' scmConnection = 'scm:git::ssh://xbib.org/' + user + '/' + name + '.git'
scmDeveloperConnection = 'scm:git:ssh://git@github.com:' + user + '/' + name + '.git' scmDeveloperConnection = 'scm:git:ssh://forgejo@xbib.org:' + user + '/' + name + '.git'
issueManagementSystem = 'Github' issueManagementSystem = 'Forgejo'
issueManagementUrl = ext.scmUrl + '/issues' issueManagementUrl = ext.scmUrl + '/issues'
licenseName = 'Affero GNU Public License Version 3' licenseName = 'Affero GNU Public License Version 3'
licenseUrl = 'http://www.gnu.org/licenses/agpl-3.0.html' licenseUrl = 'http://www.gnu.org/licenses/agpl-3.0.html'
} }
apply plugin: 'java-library' apply plugin: 'java-library'
apply from: rootProject.file('gradle/ide/idea.gradle') //apply from: rootProject.file('gradle/ide/idea.gradle')
apply from: rootProject.file('gradle/repositories/maven.gradle') apply from: rootProject.file('gradle/repositories/maven.gradle')
apply from: rootProject.file('gradle/compile/java.gradle') apply from: rootProject.file('gradle/compile/java.gradle')
apply from: rootProject.file('gradle/test/junit5.gradle') apply from: rootProject.file('gradle/test/junit5.gradle')
apply from: rootProject.file('gradle/quality/checkstyle.gradle') apply from: rootProject.file('gradle/quality/checkstyle.gradle')
apply from: rootProject.file('gradle/quality/pmd.gradle') apply from: rootProject.file('gradle/quality/pmd.gradle')
apply from: rootProject.file('gradle/quality/spotbugs.gradle') //apply from: rootProject.file('gradle/quality/spotbugs.gradle')
apply from: rootProject.file('gradle/publish/maven.gradle') apply from: rootProject.file('gradle/publish/maven.gradle')
apply from: rootProject.file('gradle/publish/forgejo.gradle')
apply from: rootProject.file('gradle/publish/sonatype.gradle') apply from: rootProject.file('gradle/publish/sonatype.gradle')

View file

@ -1,5 +1,5 @@
group = org.xbib group = org.xbib
name = bibliographic-character-sets name = bibliographic-character-sets
version = 3.0.0 version = 4.0.0
org.gradle.warning.mode = ALL org.gradle.warning.mode = ALL

View file

@ -2,21 +2,14 @@
apply plugin: 'java-library' apply plugin: 'java-library'
java { java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
modularity.inferModulePath.set(true) modularity.inferModulePath.set(true)
withSourcesJar() withSourcesJar()
withJavadocJar() withJavadocJar()
} }
compileJava {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
compileTestJava {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
jar { jar {
manifest { manifest {
attributes('Implementation-Version': project.version) attributes('Implementation-Version': project.version)
@ -24,7 +17,9 @@ jar {
} }
tasks.withType(JavaCompile) { tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xlint:all,-exports') options.fork = true
options.forkOptions.jvmArgs += ['-Duser.language=en','-Duser.country=US']
options.compilerArgs.add('-Xlint:all')
options.encoding = 'UTF-8' options.encoding = 'UTF-8'
} }

View file

@ -0,0 +1,16 @@
if (project.hasProperty('forgeJoToken')) {
publishing {
repositories {
maven {
url 'https://xbib.org/api/packages/xbib/maven'
credentials(HttpHeaderCredentials) {
name = "Authorization"
value = "token ${project.property('forgeJoToken')}"
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
}
}

View file

@ -16,7 +16,7 @@ publishing {
} }
author { author {
name = 'Jörg Prante' name = 'Jörg Prante'
url = 'http://example.com/users/jane' url = 'https://xbib.org/joerg'
} }
descriptor.description { descriptor.description {
text = rootProject.ext.description text = rootProject.ext.description

View file

@ -16,10 +16,10 @@ publishing {
} }
developers { developers {
developer { developer {
id = 'jprante' id = 'joerg'
name = 'Jörg Prante' name = 'Jörg Prante'
email = 'joergprante@gmail.com' email = 'joergprante@gmail.com'
url = 'https://github.com/jprante' url = 'https://xbib.org/joerg'
} }
} }
scm { scm {

View file

@ -1,66 +0,0 @@
apply plugin: "de.marcphilipp.nexus-publish"
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
pom {
name = project.name
description = rootProject.ext.description
url = rootProject.ext.url
inceptionYear = rootProject.ext.inceptionYear
packaging = 'jar'
organization {
name = 'xbib'
url = 'https://xbib.org'
}
developers {
developer {
id = 'jprante'
name = 'Jörg Prante'
email = 'joergprante@gmail.com'
url = 'https://github.com/jprante'
}
}
scm {
url = rootProject.ext.scmUrl
connection = rootProject.ext.scmConnection
developerConnection = rootProject.ext.scmDeveloperConnection
}
issueManagement {
system = rootProject.ext.issueManagementSystem
url = rootProject.ext.issueManagementUrl
}
licenses {
license {
name = rootProject.ext.licenseName
url = rootProject.ext.licenseUrl
distribution = 'repo'
}
}
}
}
}
}
if (project.hasProperty("signing.keyId")) {
apply plugin: 'signing'
signing {
sign publishing.publications.mavenJava
}
}
if (project.hasProperty("ossrhUsername")) {
nexusPublishing {
repositories {
sonatype {
username = project.property('ossrhUsername')
password = project.property('ossrhPassword')
packageGroup = "org.xbib"
}
}
}
}

View file

@ -1,11 +0,0 @@
if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
apply plugin: 'io.codearte.nexus-staging'
nexusStaging {
username = project.property('ossrhUsername')
password = project.property('ossrhPassword')
packageGroup = "org.xbib"
}
}

View file

@ -2,7 +2,7 @@ cyclonedxBom {
includeConfigs = [ 'runtimeClasspath' ] includeConfigs = [ 'runtimeClasspath' ]
skipConfigs = [ 'compileClasspath', 'testCompileClasspath' ] skipConfigs = [ 'compileClasspath', 'testCompileClasspath' ]
projectType = "library" projectType = "library"
schemaVersion = "1.4" schemaVersion = "1.5"
destination = file("build/reports") destination = file("build/reports")
outputName = "bom" outputName = "bom"
outputFormat = "json" outputFormat = "json"

View file

@ -1,4 +1,4 @@
/*
apply plugin: 'com.github.spotbugs' apply plugin: 'com.github.spotbugs'
spotbugs { spotbugs {
@ -13,3 +13,4 @@ spotbugsMain {
html.getRequired().set(true) html.getRequired().set(true)
} }
} }
*/

View file

@ -1,8 +1,9 @@
dependencies { dependencies {
testImplementation libs.junit.jupiter.api testImplementation testLibs.junit.jupiter.api
testImplementation libs.junit.jupiter.params testImplementation testLibs.junit.jupiter.params
testImplementation libs.hamcrest testImplementation testLibs.hamcrest
testRuntimeOnly libs.junit.jupiter.engine testRuntimeOnly testLibs.junit.jupiter.engine
testRuntimeOnly testLibs.junit.jupiter.platform.launcher
} }
test { test {

Binary file not shown.

View file

@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

22
gradlew vendored
View file

@ -83,7 +83,8 @@ done
# This is normally unused # This is normally unused
# shellcheck disable=SC2034 # shellcheck disable=SC2034
APP_BASE_NAME=${0##*/} APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum MAX_FD=maximum
@ -130,18 +131,21 @@ location of your Java installation."
fi fi
else else
JAVACMD=java JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the Please set the JAVA_HOME variable in your environment to match the
location of your Java installation." location of your Java installation."
fi fi
fi
# Increase the maximum file descriptors if we can. # Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #( case $MAX_FD in #(
max*) max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045 # shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) || MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit" warn "Could not query maximum file descriptor limit"
esac esac
@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #( '' | soft) :;; #(
*) *)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045 # shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" || ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD" warn "Could not set maximum file descriptor limit to $MAX_FD"
esac esac
@ -198,11 +202,11 @@ fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command; # Collect all arguments for the java command:
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# shell script including quotes and variable substitutions, so put them in # and any embedded shellness will be escaped.
# double quotes to make sure that they get re-expanded; and # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# * put everything else in single quotes, so that it's not re-expanded. # treated as '${Hostname}' itself on the command line.
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \

20
gradlew.bat vendored
View file

@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1 %JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute if %ERRORLEVEL% equ 0 goto execute
echo. echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. echo location of your Java installation. 1>&2
goto fail goto fail
@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute if exist "%JAVA_EXE%" goto execute
echo. echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. echo location of your Java installation. 1>&2
goto fail goto fail

View file

@ -1,11 +1,14 @@
dependencyResolutionManagement { dependencyResolutionManagement {
versionCatalogs { versionCatalogs {
libs { libs {
version('gradle', '8.1.1') version('gradle', '8.7')
version('junit', '5.9.2') }
testLibs {
version('junit', '5.10.3')
library('junit-jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junit') library('junit-jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junit')
library('junit-jupiter-params', 'org.junit.jupiter', 'junit-jupiter-params').versionRef('junit') library('junit-jupiter-params', 'org.junit.jupiter', 'junit-jupiter-params').versionRef('junit')
library('junit-jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junit') library('junit-jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junit')
library('junit-jupiter-platform-launcher', 'org.junit.platform', 'junit-platform-launcher').version('1.10.1')
library('junit4', 'junit', 'junit').version('4.13.2') library('junit4', 'junit', 'junit').version('4.13.2')
library('hamcrest', 'org.hamcrest', 'hamcrest-library').version('2.2') library('hamcrest', 'org.hamcrest', 'hamcrest-library').version('2.2')
} }

View file

@ -1,6 +1,6 @@
module org.xbib.charset { module org.xbib.charset {
exports org.xbib.charset; exports org.xbib.charset;
requires java.xml; requires java.xml; // for reading ansel mappings
provides java.nio.charset.spi.CharsetProvider with provides java.nio.charset.spi.CharsetProvider with
org.xbib.charset.BibliographicCharsetProvider; org.xbib.charset.BibliographicCharsetProvider;
} }

View file

@ -44,9 +44,6 @@ import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
/**
*
*/
public class AnselCharset extends Charset { public class AnselCharset extends Charset {
private final Map<String, AnselCodeTableParser.CharacterSet> characterSetMap; private final Map<String, AnselCodeTableParser.CharacterSet> characterSetMap;

View file

@ -33,9 +33,6 @@ package org.xbib.charset;
import java.nio.charset.Charset; import java.nio.charset.Charset;
/**
*
*/
public final class BibliographicCharsets { public final class BibliographicCharsets {
private BibliographicCharsets() { private BibliographicCharsets() {