This repository contains the source code and resources of the FAT32Manager application. The repo conforms to the Maven
standard directory layout (ie, the source code is in src/main/java
and the resources are in src/main/resources
).
The Java version of the source code is 17.
The source files in this repo have an expected tab width of 4.
The application requires a platform-specific shared library that is accessed through the Java Native Interface (JNI).
The application expects to find the library in the following directory:
src/main/resources/uk/blankaspect/fat32manager/lib
Binaries of shared libraries are provided for 64-bit Linux and Windows:
- The Linux library,
libdriveio.so
, was built on Ubuntu 20.04.1 with GCC 11. It has been tested only on Ubuntu 20.04.1. - The Windows library,
driveio.dll
, was built on Windows 10 with the C++ compiler from Visual C++ 2015 (v14.0) native build tools. It has been tested only on Windows 10.
The driveIO
directory of this repo contains the source code of the library for Linux and Windows.
The Kotlin-DSL-based Gradle build script extends the compileJava
and jar
tasks of the java
plug-in and defines
the following tasks for launching the application:
runMain
(for use aftercompileJava
)
Runs the main class with Gradle's Java launcher.runMainJre
(for use aftercompileJava
)
Runs the main class with a Java launcher from a JRE that includes JavaFX modules.runJar
(for use afterjar
)
Runs the JAR with Gradle's Java launcher.runJarJre
(for use afterjar
)
Runs the JAR with a Java launcher from a JRE that includes JavaFX modules.
FAT32Manager is a non-modular JavaFX application. The compileJava
, jar
, runMain
and runJar
tasks expect the
JavaFX modules to be provided by a JavaFX SDK; the two run*Jre
tasks expect
the JavaFX modules to be provided by a JRE.
JavaFX modules are included in some third-party JREs, such as the Azul Zulu JRE FX packages. If you prefer to create your own JRE that includes JavaFX modules, the blankaspect/makejre repo contains scripts for Linux and Windows that may be useful.
The contents of this repository are covered by three licences:
- You may use the contents of the
uk.blankaspect.fat32manager
package (including resources) under the terms of the GPL version 3 license. - You may use the Roboto Mono font files under the terms of the Apache version 2.0 license.
- You may use all other contents of this repository under the terms of the MIT license.