JCLF is a small library of generic utilities written in the Java™ language.
Beware that the code is very old and many of the classes are obsolete.
To build JCLF you need Java 11 or later, you can install Java from your favourite package manager or by downloading from Adoptium.
Open a shell at the distribution directory, then run gradlew build to build:
./gradlew build
A build runs the tests with the JDK that you are using, but you can also run the tests with Java 8:
./gradlew testOn8
This library includes a Jazzer-based
fuzzing test that can be run with
./gradlew fuzzer
as well as within your IDE (in the latter case you have to set the JAZZER_FUZZ
environment variable).
Use:
gradlew build publishToMavenLocal to install in your local Maven repository.gradlew publish to deploy to a (generally remote) Maven repository.Before deploying to a remote Maven repository, please read the publishing.repositories.maven block of io.sf.jclf.java-conventions.gradle (sourceforge.net) to learn which properties you need to set (like mavenReleaseRepoUrlor mavenRepoUsername), either at the command line (-P option) or your GRADLE_USER_HOME/gradle.properties file.
Sometimes, in non-modular projects it is useful to have a single Jar file with all the packages. Execute the alljar task to create it:
gradlew alljar
The file is to be found inside the jclf submodule build, at jclf/build/libs/jclf-<version>-all.jar.
Execute the modularJavadoc task, and you'll have the javadocs in doc/api:
gradlew modularJavadoc
If you prefer a non-modular javadoc, then the task mergedJavadoc shall create it under the jclf submodule build, at jclf/build/docs/javadoc.
Modern IDEs are able to import Gradle projects and let it manage the dependencies. For example, in the Eclipse IDE:
File > Import... > Gradle > Existing Gradle Project
Eclipse shall ask you if you want to use a wrapper or its own instance of Gradle. If you created a wrapper after getting the sources, select the "wrapper" choice.
If your Gradle project depends on JCLF, you can use CSS4J's Maven repository in a repositories section of your build file:
repositories {
maven {
url = "https://css4j.github.io/maven/"
mavenContent {
releasesOnly()
}
content {
includeGroup 'io.sf.jclf'
}
}
}
please use that repository only for the artifact groups that it supplies (basically the io.sf.jclf and io.sf.carte groups).
Then, in your build.gradle file you can list the dependencies, for example:
dependencies {
api "io.sf.jclf:jclf-core:${jclfVersion}"
}
or, if you want all of the modules:
dependencies {
api "io.sf.jclf:jclf:${jclfVersion}"
}
where jclfVersion would be defined in a gradle.properties file (current version is 5.0.3).
This library includes a Jazzer-based
fuzzing test that can be run with
./gradlew fuzzer
as well as within your IDE (in the latter case you have to set the JAZZER_FUZZ
environment variable).
Unless otherwise specified, this software is available under a BSD license, please read the LICENSE.txt file.