Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Add fallback for missing resource files

AuthorDaveJarvis <email>
Date2022-11-05 11:32:17 GMT-0700
Commitdd6f162d4b3700784642c24b11918b0247502285
Parent94d6a57
Delta21 lines added, 98 lines removed, 77-line decrease
src/test/java/com/keenwrite/richtext/StyleClassedTextAreaTest.java
}
- private final static String TEXT = """
+ private static final String TEXT = """
In my younger and more vulnerable years my father gave me some advice
that I’ve been turning over in my mind ever since.
src/main/java/com/keenwrite/Launcher.java
final var properties = loadProperties( "app.properties" );
return properties.getProperty( "application.version" );
- } catch( final Exception ex ) {
+ } catch( final IOException ex ) {
throw new RuntimeException( ex );
}
build.gradle
mavenCentral()
- maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
+ maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
maven { url 'https://nexus.bedatadriven.com/content/groups/public' }
maven {
- url "https://css4j.github.io/maven/"
+ url "https://css4j.github.io/maven"
mavenContent {
releasesOnly()
def v_jackson = '2.13.4'
def v_echosvg = '0.2.1'
+ def v_picocli = '4.7.0'
// JavaFX
- implementation 'org.controlsfx:controlsfx:11.1.1'
+ implementation 'org.controlsfx:controlsfx:11.1.2'
implementation 'org.fxmisc.richtext:richtextfx:0.10.9'
implementation 'org.fxmisc.flowless:flowless:0.6.10'
// Command-line parsing
- implementation 'info.picocli:picocli:4.6.3'
+ implementation "info.picocli:picocli:${v_picocli}"
+ annotationProcessor "info.picocli:picocli-codegen:${v_picocli}"
// Spelling, TeX, Docking, KeenQuotes
testImplementation "org.junit.jupiter:junit-jupiter-params:${v_junit}"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
-}
-
-compileJava {
- options.compilerArgs << '-Xlint:unchecked' << '-Xlint:deprecation'
}
-
-def resourceDir = sourceSets.main.resources.srcDirs[0]
+final resourceDir = sourceSets.main.resources.srcDirs[0]
final Properties config = new Properties()
final File configFile = file( "${resourceDir}/bootstrap.properties" )
final FileInputStream configStream = new FileInputStream( configFile )
config.load( configStream )
configStream.close()
final String applicationName = config.get( 'application.title' ).toString().toLowerCase()
-final String applicationClass = "com.${applicationName}.Launcher"
+final String applicationPackage = "com.${applicationName}"
+final String applicationClass = "${applicationPackage}.Launcher"
+
+compileJava {
+ sourceCompatibility = 17
+ targetCompatibility = 17
+
+ options.compilerArgs
+ << '-Xlint:unchecked'
+ << '-Xlint:deprecation'
+ << "-Aproject=${applicationPackage}/${applicationName}"
+}
application {
context-container.sh
-#!/usr/bin/env bash
-
-if [ -z ${IMAGES_DIR} ]; then
- echo "Set IMAGES_DIR"
- exit 10
-fi
-
-readonly CONTAINER_NAME=typesetter
-
-# Force clean
-podman rmi --all --force
-
-# Build from Containerfile
-podman build --tag ${CONTAINER_NAME} .
-
-# Connect and mount images
-podman run \
- --rm \
- -i \
- -v ${IMAGES_DIR}:/root/images:ro \
- -t ${CONTAINER_NAME} \
- /bin/sh --login -c 'context --version'
-
-# Create a persistent container
-# podman create typesetter typesetter
-
-# Create a long-running task
-# podman create -ti typesetter /bin/sh
-
-# Connect
-
-# Export
-# podman image save context -o typesetter.tar
-# zip -9 -r typesetter.zip typesetter.tar
-
module-info.txt
-module keenwrite.main {
- requires java.desktop;
- requires java.prefs;
- requires java.scripting;
- requires java.xml;
- requires javafx.graphics;
- requires javafx.controls;
- requires javafx.swing;
-
- requires annotations;
-
- requires batik.anim;
- requires batik.bridge;
- requires batik.css;
- requires batik.gvt;
- requires batik.transcoder;
- requires batik.util;
-
- requires com.dlsc.formsfx;
- requires transitive com.dlsc.preferencesfx;
- requires com.fasterxml.jackson.databind;
- requires transitive com.fasterxml.jackson.dataformat.yaml;
-
- requires flexmark;
- requires flexmark.util.data;
- requires flexmark.util.sequence;
-
- requires keenquotes;
- requires keentex;
- requires tokenize;
-
- requires org.apache.commons.lang3;
- requires org.jsoup;
- requires org.controlsfx.controls;
- requires org.fxmisc.flowless;
- requires org.fxmisc.richtext;
- requires org.fxmisc.undo;
-
- requires commons.io;
- requires eventbus.java;
- requires flying.saucer.core;
- requires info.picocli;
- requires jsymspell;
- requires plexus.utils;
- requires tiwulfx.dock;
- requires wellbehavedfx;
- requires xml.apis.ext;
- requires java.logging;
-}
-