diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8dabc3f..09d8896 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,8 +1,4 @@
-version: 2.1
-
-orbs:
- sdkman: joshdholtz/sdkman@0.2.0
-
+version: 2
defaults: &defaults
working_directory: ~/repo
environment:
@@ -10,31 +6,18 @@ defaults: &defaults
TERM: dumb
CI_NAME: "CircleCI"
-commands:
- build_and_test:
- parameters:
- reports-dir:
- type: string
- default: "build/reports/test_results"
- steps:
- - checkout
- - sdkman/setup-sdkman
- - sdkman/sdkman-install:
- candidate: kotlin
- version: 2.0.20
- - run:
- name: Download dependencies
- command: ./bld download
- - run:
- name: Compile source
- command: ./bld compile
- - run:
- name: Run tests
- command: ./bld jacoco -reports-dir=<< parameters.reports-dir >>
- - store_test_results:
- path: << parameters.reports-dir >>
- - store_artifacts:
- path: build/reports/jacoco/test/html
+defaults_bld: &defaults_bld
+ steps:
+ - checkout
+ - run:
+ name: Download the bld dependencies
+ command: ./bld download
+ - run:
+ name: Compile source with bld
+ command: ./bld compile
+ - run:
+ name: Run tests with bld
+ command: ./bld test
jobs:
bld_jdk17:
@@ -43,8 +26,7 @@ jobs:
docker:
- image: cimg/openjdk:17.0
- steps:
- - build_and_test
+ <<: *defaults_bld
bld_jdk20:
<<: *defaults
@@ -52,10 +34,10 @@ jobs:
docker:
- image: cimg/openjdk:20.0
- steps:
- - build_and_test
+ <<: *defaults_bld
workflows:
+ version: 2
bld:
jobs:
- bld_jdk17
diff --git a/.github/workflows/bld.yml b/.github/workflows/bld.yml
index 297568a..19a51fd 100644
--- a/.github/workflows/bld.yml
+++ b/.github/workflows/bld.yml
@@ -2,19 +2,16 @@ name: bld-ci
on: [push, pull_request, workflow_dispatch]
-env:
- COVERAGE_JDK: "21"
- COVERAGE_KOTLIN: "2.0.0"
- KOTLIN_HOME: /usr/share/kotlinc
-
jobs:
build-bld-project:
runs-on: ubuntu-latest
+ env:
+ COVERAGE_SDK: "17"
+
strategy:
matrix:
java-version: [17, 21, 22]
- kotlin-version: [1.19.24, 2.0.20]
steps:
- name: Checkout source repository
@@ -22,28 +19,31 @@ jobs:
with:
fetch-depth: 0
- - name: Set up JDK ${{ matrix.java-version }} with Kotlin ${{ matrix.kotlin-version }}
+ - name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: ${{ matrix.java-version }}
- - name: Download dependencies
+ - name: Grant bld execute permission
+ run: chmod +x bld
+
+ - name: Download the bld dependencies
run: ./bld download
- - name: Compile source
+ - name: Compile source with bld
run: ./bld compile
- - name: Run tests
+ - name: Run tests with bld
run: ./bld jacoco
- name: Remove pom.xml
- if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
+ if: success() && matrix.java-version == env.COVERAGE_SDK
run: rm -rf pom.xml
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
- if: success() && matrix.java-version == env.COVERAGE_JDK && matrix.kotlin-version == env.COVERAGE_KOTLIN
+ if: success() && matrix.java-version == env.COVERAGE_SDK
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 10b9b0f..052df48 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,24 +1,11 @@
-image: fedora:latest
-
-variables:
- CI_NAME: "GitLab CI"
+image: openjdk:17
stages:
- test
-before_script:
- - dnf -qy update && dnf -y install zip
- - curl -s "https://get.sdkman.io" | bash
- - echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
- - echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
- - source "$HOME/.sdkman/bin/sdkman-init.sh"
- - sdk install java
- - sdk install kotlin
- - source "$HOME/.sdkman/bin/sdkman-init.sh"
-
test:
stage: test
script:
- - ./bld download
- - ./bld compile
- - ./bld test
+ - ./bld download
+ - ./bld compile
+ - ./bld test
diff --git a/.idea/bld.xml b/.idea/bld.xml
deleted file mode 100644
index 6600cee..0000000
--- a/.idea/bld.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/bld.xml b/.idea/libraries/bld.xml
index 5c4010c..a2969be 100644
--- a/.idea/libraries/bld.xml
+++ b/.idea/libraries/bld.xml
@@ -2,12 +2,12 @@
-
+
-
+
diff --git a/.idea/libraries/compile.xml b/.idea/libraries/compile.xml
index 99cc0c0..9bd86aa 100644
--- a/.idea/libraries/compile.xml
+++ b/.idea/libraries/compile.xml
@@ -7,7 +7,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/.idea/libraries/runtime.xml b/.idea/libraries/runtime.xml
index d4069f2..2ae5c4b 100644
--- a/.idea/libraries/runtime.xml
+++ b/.idea/libraries/runtime.xml
@@ -8,7 +8,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/.idea/libraries/test.xml b/.idea/libraries/test.xml
index 57ed5ef..b80486a 100644
--- a/.idea/libraries/test.xml
+++ b/.idea/libraries/test.xml
@@ -8,7 +8,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 4c33beb..d136e4d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -9,7 +9,7 @@
],
"java.configuration.updateBuildConfiguration": "automatic",
"java.project.referencedLibraries": [
- "${HOME}/.bld/dist/bld-2.1.0.jar",
+ "${HOME}/.bld/dist/bld-1.9.1.jar",
"lib/**/*.jar"
]
}
diff --git a/README.md b/README.md
index 78f74fe..b886f67 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
[](https://opensource.org/licenses/BSD-3-Clause)
-[](https://kotlinlang.org/)
-[](https://rife2.com/bld)
+[](https://kotlinlang.org/)
+[](https://rife2.com/bld)
[](https://github.com/ethauvin/readingtime/releases/latest)
[](https://search.maven.org/search?q=g:%22net.thauvin.erik%22%20AND%20a:%22readingtime%22)
[](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/readingtime/)
@@ -76,15 +76,15 @@ ReadingTime(
```
-| Property | Description |
-|:----------------|:------------------------------------------------------------------------------------------------------------------------|
-| `text` | The text to be evaluated. (Required) |
-| `wpm` | The words per minute reading average. |
-| `postfix` | The value to be appended to the reading time. |
-| `plural` | The value to be appended if the reading time is more than 1 minute. |
-| `excludeImages` | Images are excluded from the reading time when set. |
-| `extra` | Additional seconds to be added to the total reading time. |
-| `roundingMode` | The [rounding mode](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/RoundingMode.html) to apply. |
+Property | Description
+:-------------------------- |:-----------------------------------------------------------------------------------------------------------------------
+`text` | The text to be evaluated. (Required)
+`wpm` | The words per minute reading average.
+`postfix` | The value to be appended to the reading time.
+`plural` | The value to be appended if the reading time is more than 1 minute.
+`excludeImages` | Images are excluded from the reading time when set.
+`extra` | Additional seconds to be added to the total reading time.
+`roundingMode` | The [rounding mode](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/RoundingMode.html) to apply.
## Functions
diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml
index ace99d2..7c85194 100644
--- a/bitbucket-pipelines.yml
+++ b/bitbucket-pipelines.yml
@@ -1,20 +1,10 @@
-image: ubuntu:latest
+image: openjdk:17
pipelines:
default:
- step:
name: Test with bld
script:
- # Install latest Java & Kotlin via SDKMAN!
- - apt-get update -qq && apt-get install -y curl zip
- - curl -s "https://get.sdkman.io" | bash
- - echo sdkman_auto_answer=true > $HOME/.sdkman/etc/config
- - echo sdkman_auto_selfupdate=true >> $HOME/.sdkman/etc/config
- - source "$HOME/.sdkman/bin/sdkman-init.sh"
- - sdk install java
- - sdk install kotlin
- - source "$HOME/.sdkman/bin/sdkman-init.sh"
- # Download, compile and test with bld
- ./bld download
- ./bld compile
- ./bld test
diff --git a/examples/bld/.idea/libraries/bld.xml b/examples/bld/.idea/libraries/bld.xml
index ffb935c..cb3eddb 100644
--- a/examples/bld/.idea/libraries/bld.xml
+++ b/examples/bld/.idea/libraries/bld.xml
@@ -2,11 +2,11 @@
-
+
-
+
diff --git a/examples/bld/.idea/libraries/compile.xml b/examples/bld/.idea/libraries/compile.xml
index 99cc0c0..9bd86aa 100644
--- a/examples/bld/.idea/libraries/compile.xml
+++ b/examples/bld/.idea/libraries/compile.xml
@@ -7,7 +7,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/examples/bld/.idea/libraries/runtime.xml b/examples/bld/.idea/libraries/runtime.xml
index d4069f2..2ae5c4b 100644
--- a/examples/bld/.idea/libraries/runtime.xml
+++ b/examples/bld/.idea/libraries/runtime.xml
@@ -8,7 +8,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/examples/bld/.idea/libraries/test.xml b/examples/bld/.idea/libraries/test.xml
index 57ed5ef..b80486a 100644
--- a/examples/bld/.idea/libraries/test.xml
+++ b/examples/bld/.idea/libraries/test.xml
@@ -8,7 +8,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/examples/bld/.vscode/settings.json b/examples/bld/.vscode/settings.json
index 4c33beb..d136e4d 100644
--- a/examples/bld/.vscode/settings.json
+++ b/examples/bld/.vscode/settings.json
@@ -9,7 +9,7 @@
],
"java.configuration.updateBuildConfiguration": "automatic",
"java.project.referencedLibraries": [
- "${HOME}/.bld/dist/bld-2.1.0.jar",
+ "${HOME}/.bld/dist/bld-1.9.1.jar",
"lib/**/*.jar"
]
}
diff --git a/examples/bld/lib/bld/bld-wrapper.jar b/examples/bld/lib/bld/bld-wrapper.jar
index c782d53..4e3c280 100644
Binary files a/examples/bld/lib/bld/bld-wrapper.jar and b/examples/bld/lib/bld/bld-wrapper.jar differ
diff --git a/examples/bld/lib/bld/bld-wrapper.properties b/examples/bld/lib/bld/bld-wrapper.properties
index 28c5833..113b890 100644
--- a/examples/bld/lib/bld/bld-wrapper.properties
+++ b/examples/bld/lib/bld/bld-wrapper.properties
@@ -1,7 +1,7 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
-bld.downloadLocation=
-bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
+bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.4
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
+bld.downloadLocation=
bld.sourceDirectories=
-bld.version=2.1.0
+bld.version=1.9.1
diff --git a/examples/gradle/.idea/gradle.iml b/examples/gradle/.idea/gradle.iml
deleted file mode 100644
index d6ebd48..0000000
--- a/examples/gradle/.idea/gradle.iml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/examples/gradle/.idea/modules.xml b/examples/gradle/.idea/modules.xml
deleted file mode 100644
index be92c07..0000000
--- a/examples/gradle/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts
index 603ddf0..1dab54c 100644
--- a/examples/gradle/build.gradle.kts
+++ b/examples/gradle/build.gradle.kts
@@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.51.0"
- kotlin("jvm") version "2.0.20"
+ kotlin("jvm") version "1.9.24"
}
repositories {
@@ -24,11 +24,11 @@ application {
mainClass.set("com.example.ReadingTimeExampleKt")
}
-kotlin {
- compilerOptions.jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11)
-}
-
tasks {
+ withType().configureEach {
+ kotlinOptions.jvmTarget = java.targetCompatibility.toString()
+ }
+
register("runJava") {
group = "application"
mainClass.set("com.example.ReadingTimeSample")
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/gradle/wrapper/gradle-wrapper.jar
index a4b76b9..e644113 100644
Binary files a/examples/gradle/gradle/wrapper/gradle-wrapper.jar and b/examples/gradle/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/examples/gradle/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
index 0aaefbc..b82aa23 100644
--- a/examples/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/examples/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/examples/gradle/gradlew b/examples/gradle/gradlew
index f5feea6..1aa94a4 100755
--- a/examples/gradle/gradlew
+++ b/examples/gradle/gradlew
@@ -15,8 +15,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-# SPDX-License-Identifier: Apache-2.0
-#
##############################################################################
#
@@ -57,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -86,8 +84,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
diff --git a/examples/gradle/gradlew.bat b/examples/gradle/gradlew.bat
index 9d21a21..25da30d 100644
--- a/examples/gradle/gradlew.bat
+++ b/examples/gradle/gradlew.bat
@@ -13,8 +13,6 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
diff --git a/lib/bld/bld-wrapper.jar b/lib/bld/bld-wrapper.jar
index ebf908a..ddd6351 100644
Binary files a/lib/bld/bld-wrapper.jar and b/lib/bld/bld-wrapper.jar differ
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index ee5e7de..7561627 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -1,10 +1,9 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
-bld.downloadLocation=
-bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.7
-bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.1
-bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8
-bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
+bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5
+bld.extensions=com.uwyn.rife2:bld-kotlin:0.9.4
+bld.extension-detekt=com.uwyn.rife2:bld-detekt:0.9.4
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
+bld.downloadLocation=
bld.sourceDirectories=
-bld.version=2.1.0
+bld.version=1.9.1
diff --git a/pom.xml b/pom.xml
index 3710f13..812df01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,13 +18,13 @@
org.jetbrains.kotlin
kotlin-stdlib
- 2.0.20
+ 1.9.24
compile
org.jsoup
jsoup
- 1.18.1
+ 1.17.2
compile
diff --git a/src/bld/java/net/thauvin/erik/ReadingTimeBuild.java b/src/bld/java/net/thauvin/erik/ReadingTimeBuild.java
index f41d054..a91fc6c 100644
--- a/src/bld/java/net/thauvin/erik/ReadingTimeBuild.java
+++ b/src/bld/java/net/thauvin/erik/ReadingTimeBuild.java
@@ -34,8 +34,8 @@ import rife.bld.BuildCommand;
import rife.bld.Project;
import rife.bld.extension.CompileKotlinOperation;
import rife.bld.extension.DetektOperation;
-import rife.bld.extension.DokkaOperation;
import rife.bld.extension.JacocoReportOperation;
+import rife.bld.extension.dokka.DokkaOperation;
import rife.bld.extension.dokka.LoggingLevel;
import rife.bld.extension.dokka.OutputFormat;
import rife.bld.operations.exceptions.ExitStatusException;
@@ -67,40 +67,42 @@ public class ReadingTimeBuild extends Project {
autoDownloadPurge = true;
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL);
- final var kotlin = version(2, 0, 20);
+ final var kotlin = version(1, 9, 24);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin))
- .include(dependency("org.jsoup", "jsoup", version(1, 18, 1)));
+ .include(dependency("org.jsoup", "jsoup", version(1, 17, 2)));
scope(test)
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
- .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
- .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)));
+ .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2)))
+ .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2)));
publishOperation()
.repository(version.isSnapshot() ? repository(SONATYPE_SNAPSHOTS_LEGACY.location())
.withCredentials(property("sonatype.user"), property("sonatype.password"))
: repository(SONATYPE_RELEASES_LEGACY.location())
.withCredentials(property("sonatype.user"), property("sonatype.password")))
- .repository(repository("github"))
.info()
.groupId(pkg)
.artifactId(name)
.description("Estimated Reading Time for Blog Posts, Articles, etc.")
.url("https://github.com/ethauvin/" + name)
- .developer(new PublishDeveloper()
- .id("ethauvin")
- .name("Erik C. Thauvin")
- .email("erik@thauvin.net")
- .url("https://erik.thauvin.net/")
+ .developer(
+ new PublishDeveloper()
+ .id("ethauvin")
+ .name("Erik C. Thauvin")
+ .email("erik@thauvin.net")
+ .url("https://erik.thauvin.net/")
)
- .license(new PublishLicense()
- .name("BSD 3-Clause")
- .url("https://opensource.org/licenses/BSD-3-Clause")
+ .license(
+ new PublishLicense()
+ .name("BSD 3-Clause")
+ .url("https://opensource.org/licenses/BSD-3-Clause")
)
- .scm(new PublishScm()
- .connection("scm:git:https://github.com/ethauvin/" + name + ".git")
- .developerConnection("scm:git:git@github.com:ethauvin/" + name + ".git")
- .url("https://github.com/ethauvin/" + name)
+ .scm(
+ new PublishScm()
+ .connection("scm:git:https://github.com/ethauvin/" + name + ".git")
+ .developerConnection("scm:git:git@github.com:ethauvin/" + name + ".git")
+ .url("https://github.com/ethauvin/" + name)
)
.signKey(property("sign.key"))
.signPassphrase(property("sign.passphrase"));
@@ -114,7 +116,7 @@ public class ReadingTimeBuild extends Project {
@BuildCommand(summary = "Compiles the Kotlin project")
@Override
- public void compile() throws Exception {
+ public void compile() throws IOException {
new CompileKotlinOperation()
.fromProject(this)
.execute();
@@ -138,7 +140,7 @@ public class ReadingTimeBuild extends Project {
}
@BuildCommand(summary = "Generates JaCoCo Reports")
- public void jacoco() throws Exception {
+ public void jacoco() throws IOException {
new JacocoReportOperation()
.fromProject(this)
.sourceFiles(srcMainKotlin)
@@ -163,12 +165,6 @@ public class ReadingTimeBuild extends Project {
pomRoot();
}
- @Override
- public void publishLocal() throws Exception {
- super.publishLocal();
- pomRoot();
- }
-
@BuildCommand(value = "pom-root", summary = "Generates the POM file in the root directory")
public void pomRoot() throws FileUtilsErrorException {
PomBuilder.generateInto(publishOperation().fromProject(this).info(), dependencies(),
diff --git a/src/main/kotlin/net/thauvin/erik/readingtime/Config.kt b/src/main/kotlin/net/thauvin/erik/readingtime/Config.kt
index 139d4eb..d994592 100644
--- a/src/main/kotlin/net/thauvin/erik/readingtime/Config.kt
+++ b/src/main/kotlin/net/thauvin/erik/readingtime/Config.kt
@@ -36,13 +36,23 @@ import java.math.RoundingMode
* Provides a configuration builder.
*/
class Config private constructor(builder: Builder) {
- val text = builder.text
- val wpm = builder.wpm
- val postfix = builder.postfix
- val plural = builder.plural
- val excludeImages = builder.excludeImages
- val extra = builder.extra
- val roundingMode = builder.roundingMode
+ val text: String
+ val wpm: Int
+ val postfix: String
+ val plural: String
+ val excludeImages: Boolean
+ val extra: Int
+ val roundingMode: RoundingMode
+
+ init {
+ text = builder.text
+ wpm = builder.wpm
+ postfix = builder.postfix
+ plural = builder.plural
+ excludeImages = builder.excludeImages
+ extra = builder.extra
+ roundingMode = builder.roundingMode
+ }
/**
* Configures the parameters.
@@ -95,6 +105,6 @@ class Config private constructor(builder: Builder) {
/**
* Builds the configuration.
*/
- fun build(): Config = Config(this)
+ fun build() = Config(this)
}
}
diff --git a/src/main/resources/META-INF/tags/readingtime.tag b/src/main/resources/META-INF/tags/readingtime.tag
index a8bd99f..d0c0980 100644
--- a/src/main/resources/META-INF/tags/readingtime.tag
+++ b/src/main/resources/META-INF/tags/readingtime.tag
@@ -4,20 +4,20 @@
See: https://erik.thauvin.net/licenses/bsd.shtml
--%>
-<%@tag body-content="scriptless" import="net.thauvin.erik.readingtime.ReadingTime" trimDirectiveWhitespaces="true" %>
-<%@attribute name="debug" type="java.lang.Boolean" %>
-<%@attribute name="excludeImages" type="java.lang.Boolean" %>
-<%@attribute name="extra" type="java.lang.Integer" %>
-<%@attribute name="plural" %>
-<%@attribute name="postfix" %>
-<%@attribute name="wpm" type="java.lang.Integer" %>
+<%@tag body-content="scriptless" import="net.thauvin.erik.readingtime.ReadingTime" trimDirectiveWhitespaces="true"%>
+<%@attribute name="debug" type="java.lang.Boolean"%>
+<%@attribute name="excludeImages" type="java.lang.Boolean"%>
+<%@attribute name="extra" type="java.lang.Integer"%>
+<%@attribute name="plural"%>
+<%@attribute name="postfix"%>
+<%@attribute name="wpm" type="java.lang.Integer"%>
<%
final Boolean debug = (Boolean) getJspContext().getAttribute("debug");
final Boolean excludeImages = (Boolean) getJspContext().getAttribute("excludeImages");
final Integer extra = (Integer) getJspContext().getAttribute("extra");
final Integer wpm = (Integer) getJspContext().getAttribute("wpm");
- final String body = (String) getJspContext().getAttribute("body");
+ final String body = (String) getJspContext().getAttribute("body");;
final String plural = (String) getJspContext().getAttribute("plural");
final String postfix = (String) getJspContext().getAttribute("postfix");