This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch deps/adopt-jline-jansi in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 6fe5410440f1d7bef23dcebd6d209fada92b024b Author: Walter Duque de Estrada <[email protected]> AuthorDate: Sat Aug 1 22:14:04 2026 -0500 Migrate from unmaintained fusesource Jansi to the maintained org.jline fork org.fusesource.jansi is unmaintained and flagged by CVE-2026-8484 with no fixed release. The JLine project maintains the fork and publishes it as org.jline:jansi (repackaged under org.jline.jansi), which Groovy 5 already uses for groovysh. - Manage org.jline:jansi:3.30.9 in dependencies.gradle and bump jline.version to 3.30.9 to match Groovy 5.0.7's transitives - Rename org.fusesource.jansi imports to org.jline.jansi in GrailsConsole, AnsiConsoleUrlMappingsRenderer, forge InteractiveShell, and their specs; CreateAppCommandSpec now uses the Ansi.DISABLE constant - Switch the coordinate in all build files, the base profile, the forge Scaffolding feature, and the user guide so generated apps get the fork - Align jansiVersion in grails-forge (2.4.2) and grails-data-neo4j (2.4.1) - Update the SBOM license mapping to org.jline:[email protected] and note the remaining ossIndexAudit exemption now only covers fusesource jansi pulled transitively by previously published Grails 6/7 artifacts Co-Authored-By: Claude Fable 5 <[email protected]> --- .../org/apache/grails/buildsrc/SbomPlugin.groovy | 22 +++++++++++----------- .../grails/buildsrc/VulnerabilityScanPlugin.groovy | 7 ++++--- dependencies.gradle | 8 +++++--- gradle/docs-dependencies.gradle | 2 +- grails-bootstrap/build.gradle | 4 ++-- .../groovy/grails/build/logging/GrailsConsole.java | 16 ++++++++-------- .../grails/build/logging/GrailsConsoleSpec.groovy | 2 +- grails-console/build.gradle | 2 +- grails-controllers/build.gradle | 2 +- grails-data-hibernate5/docs/build.gradle | 2 +- grails-data-hibernate7/docs/build.gradle | 2 +- grails-data-mongodb/docs/build.gradle | 2 +- grails-data-neo4j/docs/build.gradle | 2 +- grails-data-neo4j/gradle.properties | 2 +- .../gradleBuild/gradleDependencies.adoc | 2 +- grails-forge/gradle.properties | 2 +- grails-forge/grails-forge-cli/build.gradle | 2 +- .../org/grails/forge/cli/InteractiveShell.java | 2 +- .../org/grails/forge/feature/view/Scaffolding.java | 2 +- .../forge/feature/view/ScaffoldingSpec.groovy | 2 +- grails-gradle/gradle/docs-config.gradle | 2 +- grails-gradle/model/build.gradle | 2 +- grails-profiles/base/profile.yml | 2 +- grails-scaffolding/build.gradle | 4 ++-- grails-shell-cli/build.gradle | 2 +- .../profile/commands/CreateAppCommandSpec.groovy | 3 ++- grails-spring-security/oauth2/plugin/build.gradle | 4 ++-- grails-spring-security/plugin/build.gradle | 4 ++-- grails-test-core/build.gradle | 2 +- .../async-events-pubsub-demo/build.gradle | 2 +- grails-test-examples/cache/build.gradle | 2 +- .../external-configuration/build.gradle | 2 +- grails-test-examples/geb-context-path/build.gradle | 2 +- grails-test-examples/geb-gebconfig/build.gradle | 2 +- grails-test-examples/geb/build.gradle | 2 +- grails-test-examples/gsp-layout/build.gradle | 2 +- grails-test-examples/gsp-sitemesh3/build.gradle | 2 +- .../async-events-pubsub-demo/build.gradle | 2 +- grails-test-examples/jetty/build.gradle | 2 +- grails-test-examples/mail/build.gradle | 2 +- grails-test-examples/mongodb/base/build.gradle | 2 +- .../mongodb/database-per-tenant/build.gradle | 2 +- .../mongodb/hibernate5/build.gradle | 2 +- grails-test-examples/redis/build.gradle | 2 +- grails-test-examples/scaffolding/build.gradle | 2 +- .../acl/functional-test-app/build.gradle | 2 +- .../spring-security/cas/test1/build.gradle | 2 +- .../build.gradle | 2 +- .../ldap/functional-test-app/build.gradle | 2 +- .../ldap/retrieve-db-roles/build.gradle | 2 +- .../ldap/retrieve-group-roles/build.gradle | 2 +- .../spring-security/ui/extended/build.gradle | 2 +- .../spring-security/ui/simple/build.gradle | 2 +- grails-test-examples/undertow/build.gradle | 2 +- grails-web-url-mappings/build.gradle | 4 ++-- .../AnsiConsoleUrlMappingsRenderer.groovy | 14 +++++++------- 56 files changed, 92 insertions(+), 88 deletions(-) diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SbomPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SbomPlugin.groovy index 531425fe7d..285b727b22 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SbomPlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SbomPlugin.groovy @@ -107,17 +107,17 @@ class SbomPlugin implements Plugin<Project> { 'pkg:maven/jline/[email protected]?type=jar' : 'BSD-2-Clause', // maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205 'pkg:maven/opensymphony/[email protected]?type=jar' : 'OpenSymphony', // custom license approved by legal LEGAL-707 'pkg:maven/org.antlr/[email protected]?type=jar' : 'BSD-3-Clause', // maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205 - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // direct dependency declared at jline.version in dependencies.gradle - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly - 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // direct dependency declared at jansi.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // direct dependency declared at jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle + 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh, matching jline.version in dependencies.gradle 'pkg:maven/org.jruby/[email protected]?type=jar' : 'BSD-3-Clause', // https://web.archive.org/web/20240822213507/http://www.jcraft.com/jzlib/LICENSE.txt shows it's a 3 clause 'pkg:maven/org.liquibase.ext/[email protected]?type=jar': 'Apache-2.0', // maps incorrectly because of https://github.com/liquibase/liquibase/issues/2445 & the base pom does not define a license 'pkg:maven/org.json/json@20251224?type=jar' : 'Public-Domain', // required due to jedis, https://issues.apache.org/jira/browse/LEGAL-666 approves this usage diff --git a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/VulnerabilityScanPlugin.groovy b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/VulnerabilityScanPlugin.groovy index 4c748622de..835469afab 100644 --- a/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/VulnerabilityScanPlugin.groovy +++ b/build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/VulnerabilityScanPlugin.groovy @@ -68,9 +68,10 @@ class VulnerabilityScanPlugin implements Plugin<Project> { // Remove if H2 ever ships a patched release that OSS Index no longer flags. 'com.h2database:h2:2.4.240', // CVE-2026-8484: org.fusesource.jansi is unmaintained; all versions through 2.4.3 are flagged and no - // fixed release exists upstream. Grails still uses the fusesource coordinate for ANSI console output - // (package org.fusesource.jansi). Remove once consumers migrate off fusesource jansi or a patched - // release ships. + // fixed release exists upstream. Grails itself migrated to the maintained org.jline:jansi fork, but + // previously published Grails 6/7 artifacts (e.g. grails-shell-cli) still pull the fusesource + // coordinate transitively on some scanned classpaths. Remove once no resolved classpath contains + // org.fusesource.jansi. 'org.fusesource.jansi:jansi:1.18', // CVE-2026-14683/14684/14685/14686: pulled transitively via micrometer/actuator (LatencyUtils). // The fix is HdrHistogram 2.2.3, which is not yet published to Maven Central (2.2.2 is the latest diff --git a/dependencies.gradle b/dependencies.gradle index 79ebd4f1f8..10eb48b971 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -31,9 +31,11 @@ ext { 'gradle-groovy.version' : '4.0.32', 'gradle-spock.version' : '2.4-groovy-4.0', 'grails-publish-plugin.version' : '1.0.0-M2', - 'jansi.version' : '2.4.2', + // Security: the org.jline fork replaces unmaintained org.fusesource.jansi (CVE-2026-8484). + // Versioned with JLine releases - keep in lockstep with jline.version below. + 'jansi.version' : '3.30.9', 'javaparser-core.version' : '3.28.2', - 'jline.version' : '3.30.6', + 'jline.version' : '3.30.9', 'jna.version' : '5.19.1', 'jquery.version' : '4.0.0', 'maven-model.version' : '3.9.16', @@ -58,7 +60,7 @@ ext { 'commons-text' : "org.apache.commons:commons-text:${gradleBomDependencyVersions['commons-text.version']}", 'directory-watcher' : "io.methvin:directory-watcher:${gradleBomDependencyVersions['directory-watcher.version']}", 'grails-publish-plugin' : "org.apache.grails.gradle:grails-publish:${gradleBomDependencyVersions['grails-publish-plugin.version']}", - 'jansi' : "org.fusesource.jansi:jansi:${gradleBomDependencyVersions['jansi.version']}", + 'jansi' : "org.jline:jansi:${gradleBomDependencyVersions['jansi.version']}", 'javaparser-core' : "com.github.javaparser:javaparser-core:${gradleBomDependencyVersions['javaparser-core.version']}", 'jline' : "org.jline:jline:${gradleBomDependencyVersions['jline.version']}", 'jna' : "net.java.dev.jna:jna:${gradleBomDependencyVersions['jna.version']}", diff --git a/gradle/docs-dependencies.gradle b/gradle/docs-dependencies.gradle index bb4b9b1835..2466b799d5 100644 --- a/gradle/docs-dependencies.gradle +++ b/gradle/docs-dependencies.gradle @@ -20,7 +20,7 @@ apply plugin: 'org.apache.grails.buildsrc.groovydoc' dependencies { add('documentation', platform(project(':grails-bom'))) - add('documentation', 'org.fusesource.jansi:jansi') + add('documentation', 'org.jline:jansi') add('documentation', 'com.github.javaparser:javaparser-core') add('documentation', 'org.apache.groovy:groovy') add('documentation', 'org.apache.groovy:groovy-groovydoc') diff --git a/grails-bootstrap/build.gradle b/grails-bootstrap/build.gradle index e4f69b8145..b54c7d3237 100644 --- a/grails-bootstrap/build.gradle +++ b/grails-bootstrap/build.gradle @@ -52,7 +52,7 @@ dependencies { compileOnly 'org.apache.groovy:groovy-ant' compileOnly 'io.methvin:directory-watcher' - compileOnly 'org.fusesource.jansi:jansi' + compileOnly 'org.jline:jansi' compileOnly 'org.jline:jline' compileOnly 'net.java.dev.jna:jna' @@ -60,7 +60,7 @@ dependencies { testImplementation 'org.apache.groovy:groovy-xml' testImplementation 'org.apache.groovy:groovy-templates' - testImplementation 'org.fusesource.jansi:jansi' + testImplementation 'org.jline:jansi' testImplementation 'org.jline:jline' testImplementation 'org.apache.groovy:groovy-test-junit5' diff --git a/grails-bootstrap/src/main/groovy/grails/build/logging/GrailsConsole.java b/grails-bootstrap/src/main/groovy/grails/build/logging/GrailsConsole.java index 2641e487ff..90b74389be 100644 --- a/grails-bootstrap/src/main/groovy/grails/build/logging/GrailsConsole.java +++ b/grails-bootstrap/src/main/groovy/grails/build/logging/GrailsConsole.java @@ -32,9 +32,9 @@ import org.codehaus.groovy.runtime.StackTraceUtils; import org.codehaus.groovy.runtime.typehandling.NumberMath; import org.apache.tools.ant.BuildException; -import org.fusesource.jansi.Ansi; -import org.fusesource.jansi.Ansi.Color; -import org.fusesource.jansi.AnsiConsole; +import org.jline.jansi.Ansi; +import org.jline.jansi.Ansi.Color; +import org.jline.jansi.AnsiConsole; import org.jline.reader.Completer; import org.jline.reader.History; import org.jline.reader.LineReader; @@ -49,11 +49,11 @@ import grails.util.Environment; import org.grails.build.logging.GrailsConsoleErrorPrintStream; import org.grails.build.logging.GrailsConsolePrintStream; -import static org.fusesource.jansi.Ansi.Color.DEFAULT; -import static org.fusesource.jansi.Ansi.Color.RED; -import static org.fusesource.jansi.Ansi.Color.YELLOW; -import static org.fusesource.jansi.Ansi.Erase.FORWARD; -import static org.fusesource.jansi.Ansi.ansi; +import static org.jline.jansi.Ansi.Color.DEFAULT; +import static org.jline.jansi.Ansi.Color.RED; +import static org.jline.jansi.Ansi.Color.YELLOW; +import static org.jline.jansi.Ansi.Erase.FORWARD; +import static org.jline.jansi.Ansi.ansi; /** * Utility class for delivering console output in a nicely formatted way. diff --git a/grails-bootstrap/src/test/groovy/grails/build/logging/GrailsConsoleSpec.groovy b/grails-bootstrap/src/test/groovy/grails/build/logging/GrailsConsoleSpec.groovy index 4f99dd9650..a896e452aa 100644 --- a/grails-bootstrap/src/test/groovy/grails/build/logging/GrailsConsoleSpec.groovy +++ b/grails-bootstrap/src/test/groovy/grails/build/logging/GrailsConsoleSpec.groovy @@ -18,11 +18,11 @@ */ package grails.build.logging +import org.jline.jansi.Ansi import org.jline.reader.LineReader import org.jline.reader.LineReaderBuilder import org.jline.terminal.Terminal import org.jline.terminal.TerminalBuilder -import org.fusesource.jansi.Ansi import spock.lang.IgnoreIf import spock.lang.Issue import spock.lang.Specification diff --git a/grails-console/build.gradle b/grails-console/build.gradle index 3d57a651e9..42f419b85a 100644 --- a/grails-console/build.gradle +++ b/grails-console/build.gradle @@ -53,7 +53,7 @@ dependencies { api 'org.apache.groovy:groovy-console' api 'org.apache.groovy:groovy-swing' api 'org.apache.groovy:groovy-groovysh' - implementation 'org.fusesource.jansi:jansi' + implementation 'org.jline:jansi' implementation 'org.jline:jline' implementation 'net.java.dev.jna:jna' diff --git a/grails-controllers/build.gradle b/grails-controllers/build.gradle index 8c34aedd2a..408de31f7e 100644 --- a/grails-controllers/build.gradle +++ b/grails-controllers/build.gradle @@ -55,7 +55,7 @@ dependencies { runtimeOnly project(':grails-i18n') testRuntimeOnly 'org.jline:jline' - testRuntimeOnly 'org.fusesource.jansi:jansi' + testRuntimeOnly 'org.jline:jansi' compileOnly 'jakarta.servlet:jakarta.servlet-api' compileOnly 'org.springframework:spring-test' diff --git a/grails-data-hibernate5/docs/build.gradle b/grails-data-hibernate5/docs/build.gradle index db14debb59..5198e45656 100644 --- a/grails-data-hibernate5/docs/build.gradle +++ b/grails-data-hibernate5/docs/build.gradle @@ -42,7 +42,7 @@ dependencies { documentation 'org.apache.groovy:groovy-ant' documentation 'org.apache.groovy:groovy-groovydoc' documentation 'org.apache.groovy:groovy-templates' - documentation 'org.fusesource.jansi:jansi' + documentation 'org.jline:jansi' documentation project(':grails-bootstrap') documentation project(':grails-core') documentation project(':grails-spring') diff --git a/grails-data-hibernate7/docs/build.gradle b/grails-data-hibernate7/docs/build.gradle index 21f7b24cac..f972347fdf 100644 --- a/grails-data-hibernate7/docs/build.gradle +++ b/grails-data-hibernate7/docs/build.gradle @@ -43,7 +43,7 @@ dependencies { documentation 'org.apache.groovy:groovy-ant' documentation 'org.apache.groovy:groovy-groovydoc' documentation 'org.apache.groovy:groovy-templates' - documentation 'org.fusesource.jansi:jansi' + documentation 'org.jline:jansi' documentation project(':grails-bootstrap') documentation project(':grails-core') documentation project(':grails-spring') diff --git a/grails-data-mongodb/docs/build.gradle b/grails-data-mongodb/docs/build.gradle index 3795057c80..aef152a6c9 100644 --- a/grails-data-mongodb/docs/build.gradle +++ b/grails-data-mongodb/docs/build.gradle @@ -50,7 +50,7 @@ tasks.register('resolveMongodbVersion').configure { Task docTask -> dependencies { documentation platform(project(':grails-bom')) - documentation 'org.fusesource.jansi:jansi' + documentation 'org.jline:jansi' documentation 'org.apache.groovy:groovy' documentation 'org.apache.groovy:groovy-ant' documentation 'org.apache.groovy:groovy-groovydoc' diff --git a/grails-data-neo4j/docs/build.gradle b/grails-data-neo4j/docs/build.gradle index 2cec032f48..a661260999 100644 --- a/grails-data-neo4j/docs/build.gradle +++ b/grails-data-neo4j/docs/build.gradle @@ -49,7 +49,7 @@ configurations { } dependencies { - documentation "org.fusesource.jansi:jansi:$jansiVersion" + documentation "org.jline:jansi:$jansiVersion" documentation "org.apache.groovy:groovy" documentation "org.apache.groovy:groovy-templates" documentation "org.apache.groovy:groovy-dateutil" diff --git a/grails-data-neo4j/gradle.properties b/grails-data-neo4j/gradle.properties index 06643c57f4..26f5627c29 100644 --- a/grails-data-neo4j/gradle.properties +++ b/grails-data-neo4j/gradle.properties @@ -25,7 +25,7 @@ h2Version=1.4.200 hibernateDatastoreVersion=8.0.2 hibernateEhcacheVersion=5.5.7.Final hibernateValidatorVersion=6.2.5.Final -jansiVersion=2.4.1 +jansiVersion=3.30.9 javaParserCoreVersion=3.25.8 javassistVersion=3.30.2-GA jettyVersion=9.4.29.v20200521 diff --git a/grails-doc/src/en/guide/commandLine/gradleBuild/gradleDependencies.adoc b/grails-doc/src/en/guide/commandLine/gradleBuild/gradleDependencies.adoc index d80c80fae4..aa002974e6 100644 --- a/grails-doc/src/en/guide/commandLine/gradleBuild/gradleDependencies.adoc +++ b/grails-doc/src/en/guide/commandLine/gradleBuild/gradleDependencies.adoc @@ -49,7 +49,7 @@ dependencies { runtimeOnly "cloud.wondrify:asset-pipeline-grails" runtimeOnly "com.h2database:h2" runtimeOnly "com.zaxxer:HikariCP" - runtimeOnly "org.fusesource.jansi:jansi" + runtimeOnly "org.jline:jansi" integrationTestImplementation testFixtures("org.apache.grails:grails-geb") testImplementation "org.apache.grails:grails-testing-support-datamapping" testImplementation "org.apache.grails:grails-testing-support-web" diff --git a/grails-forge/gradle.properties b/grails-forge/gradle.properties index b82968e526..c6d3d426c5 100644 --- a/grails-forge/gradle.properties +++ b/grails-forge/gradle.properties @@ -34,7 +34,7 @@ gradleSdkvendorPluginVersion=3.0.0 groovyVersion=4.0.32 jacksonDatabindVersion=2.18.3 # match the jansi version in grails-bom -jansiVersion=2.4.2 +jansiVersion=3.30.9 javaDiffUtils=4.15 jgitVersion=6.10.0.202406032230-r micronautApplicationPluginVersion=4.6.2 diff --git a/grails-forge/grails-forge-cli/build.gradle b/grails-forge/grails-forge-cli/build.gradle index 4f9f4bdab2..a42f6cae2b 100644 --- a/grails-forge/grails-forge-cli/build.gradle +++ b/grails-forge/grails-forge-cli/build.gradle @@ -90,7 +90,7 @@ dependencies { implementation "info.picocli:picocli:$picocliVersion" implementation "info.picocli:picocli-shell-jline3:$picocliVersion" implementation 'jakarta.inject:jakarta.inject-api' - implementation "org.fusesource.jansi:jansi:$jansiVersion" + implementation "org.jline:jansi:$jansiVersion" implementation "org.slf4j:slf4j-nop" implementation "org.yaml:snakeyaml" diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/InteractiveShell.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/InteractiveShell.java index 618b1cecd8..a69d250059 100644 --- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/InteractiveShell.java +++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/InteractiveShell.java @@ -18,7 +18,7 @@ */ package org.grails.forge.cli; -import org.fusesource.jansi.AnsiConsole; +import org.jline.jansi.AnsiConsole; import org.jline.reader.EndOfFileException; import org.jline.reader.LineReader; import org.jline.reader.LineReaderBuilder; diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java index e0ea7078a5..1f7e59ffae 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java @@ -81,7 +81,7 @@ public class Scaffolding implements DefaultFeature { @Override public void apply(GeneratorContext generatorContext) { generatorContext.addDependency(Dependency.builder() - .groupId("org.fusesource.jansi") + .groupId("org.jline") .artifactId("jansi") .runtimeOnly()); diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy index 3160999f0c..da455f634a 100644 --- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy +++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy @@ -42,7 +42,7 @@ class ScaffoldingSpec extends ApplicationContextSpec implements CommandOutputFix then: template.contains('implementation "org.apache.grails:grails-scaffolding"') - template.contains('runtimeOnly "org.fusesource.jansi:jansi"') + template.contains('runtimeOnly "org.jline:jansi"') } } diff --git a/grails-gradle/gradle/docs-config.gradle b/grails-gradle/gradle/docs-config.gradle index 0069bb65d8..b86b70514c 100644 --- a/grails-gradle/gradle/docs-config.gradle +++ b/grails-gradle/gradle/docs-config.gradle @@ -21,7 +21,7 @@ apply plugin: 'org.apache.grails.buildsrc.groovydoc' dependencies { add('documentation', platform(project(':grails-gradle-bom'))) - add('documentation', 'org.fusesource.jansi:jansi') + add('documentation', 'org.jline:jansi') add('documentation', 'com.github.javaparser:javaparser-core') // Use Gradle's embedded Groovy (gradle-groovy.version), not the project's main Groovy version. add('documentation', "org.apache.groovy:groovy:${gradleBomDependencyVersions['gradle-groovy.version']}") diff --git a/grails-gradle/model/build.gradle b/grails-gradle/model/build.gradle index c6bd8cfeea..24363ef49d 100644 --- a/grails-gradle/model/build.gradle +++ b/grails-gradle/model/build.gradle @@ -61,7 +61,7 @@ dependencies { } compileOnly 'org.jline:jline' // for profile compilation - compileOnly 'org.fusesource.jansi:jansi' + compileOnly 'org.jline:jansi' api 'org.yaml:snakeyaml' diff --git a/grails-profiles/base/profile.yml b/grails-profiles/base/profile.yml index 7dce3d7dc4..8a5eb085a7 100644 --- a/grails-profiles/base/profile.yml +++ b/grails-profiles/base/profile.yml @@ -50,6 +50,6 @@ dependencies: - scope: testImplementation coords: "org.apache.grails:grails-testing-support-datamapping" - scope: runtimeOnly - coords: "org.fusesource.jansi:jansi" + coords: "org.jline:jansi" - scope: testImplementation coords: "org.spockframework:spock-core" diff --git a/grails-scaffolding/build.gradle b/grails-scaffolding/build.gradle index 89c7e47fa1..df3a044c27 100644 --- a/grails-scaffolding/build.gradle +++ b/grails-scaffolding/build.gradle @@ -60,14 +60,14 @@ dependencies { } // GrailsConsole (used by the scaffolding commands) needs jline at compile time cliImplementation 'org.jline:jline' - cliImplementation 'org.fusesource.jansi:jansi' + cliImplementation 'org.jline:jansi' api project(':grails-fields') api project(':grails-rest-transforms') implementation project(':grails-gsp') compileOnly 'org.jline:jline' - compileOnly 'org.fusesource.jansi:jansi' + compileOnly 'org.jline:jansi' testImplementation 'org.spockframework:spock-core' testImplementation project(':grails-layout') diff --git a/grails-shell-cli/build.gradle b/grails-shell-cli/build.gradle index 9b45417a15..6b8255f5a3 100644 --- a/grails-shell-cli/build.gradle +++ b/grails-shell-cli/build.gradle @@ -56,7 +56,7 @@ dependencies { api project(':grails-bootstrap') api 'org.apache.grails.gradle:grails-gradle-model' api 'org.apache.ant:ant' - api 'org.fusesource.jansi:jansi' + api 'org.jline:jansi' api 'org.jline:jline' api("org.gradle:gradle-tooling-api:$gradleToolingApiVersion") { exclude group: 'org.slf4j', module: 'slf4j-api' diff --git a/grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/CreateAppCommandSpec.groovy b/grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/CreateAppCommandSpec.groovy index 63f7ace820..7dfaee7d7a 100644 --- a/grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/CreateAppCommandSpec.groovy +++ b/grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/CreateAppCommandSpec.groovy @@ -21,6 +21,7 @@ package org.grails.cli.profile.commands import grails.build.logging.GrailsConsole import org.grails.cli.profile.Feature import org.grails.cli.profile.Profile +import org.jline.jansi.Ansi import org.spockframework.util.StringMessagePrintStream import spock.lang.Shared import spock.lang.Specification @@ -38,7 +39,7 @@ class CreateAppCommandSpec extends Specification { PrintStream originalOut void setup() { - System.setProperty("org.fusesource.jansi.Ansi.disable", "true") + System.setProperty(Ansi.DISABLE, "true") originalOut = GrailsConsole.instance.out sps = new StringPrintStream() GrailsConsole.instance.out = sps diff --git a/grails-spring-security/oauth2/plugin/build.gradle b/grails-spring-security/oauth2/plugin/build.gradle index 96851866ff..54e61c07f3 100644 --- a/grails-spring-security/oauth2/plugin/build.gradle +++ b/grails-spring-security/oauth2/plugin/build.gradle @@ -56,7 +56,7 @@ dependencies { } // GrailsConsole (used by init-o-auth2) needs jline at compile time cliImplementation 'org.jline:jline' - cliImplementation 'org.fusesource.jansi:jansi' + cliImplementation 'org.jline:jansi' api project(':grails-spring-security'), { // api: GrailsUserDetailsService, SpringSecurityService @@ -86,7 +86,7 @@ dependencies { implementation 'org.jline:jline', { // comp: ConsoleReader } - compileOnly 'org.fusesource.jansi:jansi' // required for Groovy static type checking of groovysh (Ansi) references + compileOnly 'org.jline:jansi' // required for Groovy static type checking of groovysh (Ansi) references implementation project(':grails-datamapping-core'), { // impl: @Transactional(runtime) } diff --git a/grails-spring-security/plugin/build.gradle b/grails-spring-security/plugin/build.gradle index 14453792e6..f1c4de2830 100644 --- a/grails-spring-security/plugin/build.gradle +++ b/grails-spring-security/plugin/build.gradle @@ -57,7 +57,7 @@ dependencies { } // GrailsConsole (used by the s2-* commands) needs jline at compile time cliImplementation 'org.jline:jline' - cliImplementation 'org.fusesource.jansi:jansi' + cliImplementation 'org.jline:jansi' api project(':grails-spring-security-compat') api project(':grails-async') // AsyncGrailsWebRequest is used in public API @@ -91,7 +91,7 @@ dependencies { compileOnly 'jakarta.servlet:jakarta.servlet-api' // Provided compileOnly 'org.jline:jline' // for shell commands - compileOnly 'org.fusesource.jansi:jansi' // required for Groovy static type checking of groovysh (Ansi) references + compileOnly 'org.jline:jansi' // required for Groovy static type checking of groovysh (Ansi) references compileOnly project(':grails-core') // Provided as this is a Grails Plugin compileOnly 'org.apache.groovy:groovy' // Compile-time annotations compileOnly 'org.slf4j:slf4j-nop' // Prevents warnings about missing slf4j implementation during compilation diff --git a/grails-test-core/build.gradle b/grails-test-core/build.gradle index dd9cda9c1e..77bc12fae4 100644 --- a/grails-test-core/build.gradle +++ b/grails-test-core/build.gradle @@ -55,7 +55,7 @@ dependencies { // command line requirements api 'org.jline:jline' - api 'org.fusesource.jansi:jansi' + api 'org.jline:jansi' // Ant api 'org.apache.ant:ant' diff --git a/grails-test-examples/async-events-pubsub-demo/build.gradle b/grails-test-examples/async-events-pubsub-demo/build.gradle index 71a43208e8..ad28689df6 100644 --- a/grails-test-examples/async-events-pubsub-demo/build.gradle +++ b/grails-test-examples/async-events-pubsub-demo/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-tomcat' runtimeOnly 'com.h2database:h2' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'com.zaxxer:HikariCP' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/cache/build.gradle b/grails-test-examples/cache/build.gradle index 2d9b22ff2b..19fd6fdddd 100644 --- a/grails-test-examples/cache/build.gradle +++ b/grails-test-examples/cache/build.gradle @@ -60,7 +60,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' testImplementation 'org.apache.grails:grails-testing-support-datamapping' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/external-configuration/build.gradle b/grails-test-examples/external-configuration/build.gradle index 5cec149d12..c2cbc5e719 100644 --- a/grails-test-examples/external-configuration/build.gradle +++ b/grails-test-examples/external-configuration/build.gradle @@ -55,7 +55,7 @@ dependencies { runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' testImplementation 'org.apache.grails:grails-testing-support-datamapping' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/geb-context-path/build.gradle b/grails-test-examples/geb-context-path/build.gradle index 00ae5e70a8..88e659bc65 100644 --- a/grails-test-examples/geb-context-path/build.gradle +++ b/grails-test-examples/geb-context-path/build.gradle @@ -62,7 +62,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' testImplementation 'org.apache.grails:grails-testing-support-datamapping' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/geb-gebconfig/build.gradle b/grails-test-examples/geb-gebconfig/build.gradle index 0f8d0b7505..3f7f484e34 100644 --- a/grails-test-examples/geb-gebconfig/build.gradle +++ b/grails-test-examples/geb-gebconfig/build.gradle @@ -65,7 +65,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' testImplementation 'org.apache.grails:grails-testing-support-datamapping' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/geb/build.gradle b/grails-test-examples/geb/build.gradle index f957537f01..443aa29317 100644 --- a/grails-test-examples/geb/build.gradle +++ b/grails-test-examples/geb/build.gradle @@ -64,7 +64,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' testImplementation 'org.apache.grails:grails-testing-support-datamapping' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/gsp-layout/build.gradle b/grails-test-examples/gsp-layout/build.gradle index 60b1e65dfd..2139c0760f 100644 --- a/grails-test-examples/gsp-layout/build.gradle +++ b/grails-test-examples/gsp-layout/build.gradle @@ -50,7 +50,7 @@ dependencies { runtimeOnly 'org.apache.grails:grails-gsp' implementation 'org.apache.grails:grails-layout' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' diff --git a/grails-test-examples/gsp-sitemesh3/build.gradle b/grails-test-examples/gsp-sitemesh3/build.gradle index 00aac73447..f9f222bec7 100644 --- a/grails-test-examples/gsp-sitemesh3/build.gradle +++ b/grails-test-examples/gsp-sitemesh3/build.gradle @@ -51,7 +51,7 @@ dependencies { runtimeOnly 'org.apache.grails:grails-gsp' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' diff --git a/grails-test-examples/hibernate7/async-events-pubsub-demo/build.gradle b/grails-test-examples/hibernate7/async-events-pubsub-demo/build.gradle index 5159dbcf8f..458b048aec 100644 --- a/grails-test-examples/hibernate7/async-events-pubsub-demo/build.gradle +++ b/grails-test-examples/hibernate7/async-events-pubsub-demo/build.gradle @@ -62,7 +62,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-tomcat' runtimeOnly 'com.h2database:h2' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'com.zaxxer:HikariCP' testImplementation 'org.apache.grails:grails-testing-support-web' diff --git a/grails-test-examples/jetty/build.gradle b/grails-test-examples/jetty/build.gradle index dd36e268aa..713a91fcd9 100644 --- a/grails-test-examples/jetty/build.gradle +++ b/grails-test-examples/jetty/build.gradle @@ -56,7 +56,7 @@ dependencies { testAndDevelopmentOnly 'org.webjars.npm:jquery' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' integrationTestImplementation testFixtures('org.apache.grails:grails-geb') } diff --git a/grails-test-examples/mail/build.gradle b/grails-test-examples/mail/build.gradle index 5f2fe17042..a146286ad9 100644 --- a/grails-test-examples/mail/build.gradle +++ b/grails-test-examples/mail/build.gradle @@ -46,7 +46,7 @@ dependencies { testAndDevelopmentOnly 'org.webjars.npm:jquery' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' diff --git a/grails-test-examples/mongodb/base/build.gradle b/grails-test-examples/mongodb/base/build.gradle index 94b98935f5..ba803e644f 100644 --- a/grails-test-examples/mongodb/base/build.gradle +++ b/grails-test-examples/mongodb/base/build.gradle @@ -48,7 +48,7 @@ dependencies { testAndDevelopmentOnly 'org.webjars.npm:jquery' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.apache.grails:grails-scaffolding' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' diff --git a/grails-test-examples/mongodb/database-per-tenant/build.gradle b/grails-test-examples/mongodb/database-per-tenant/build.gradle index 6c3ceeda58..a2e23afabf 100644 --- a/grails-test-examples/mongodb/database-per-tenant/build.gradle +++ b/grails-test-examples/mongodb/database-per-tenant/build.gradle @@ -48,7 +48,7 @@ dependencies { testAndDevelopmentOnly 'org.webjars.npm:jquery' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' diff --git a/grails-test-examples/mongodb/hibernate5/build.gradle b/grails-test-examples/mongodb/hibernate5/build.gradle index d3b91b69f4..8d0ae39c77 100644 --- a/grails-test-examples/mongodb/hibernate5/build.gradle +++ b/grails-test-examples/mongodb/hibernate5/build.gradle @@ -51,7 +51,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-scaffolding' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.hibernate:hibernate-ehcache', { diff --git a/grails-test-examples/redis/build.gradle b/grails-test-examples/redis/build.gradle index e656b71871..4dd103336a 100644 --- a/grails-test-examples/redis/build.gradle +++ b/grails-test-examples/redis/build.gradle @@ -49,7 +49,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.apache.tomcat:tomcat-jdbc' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' diff --git a/grails-test-examples/scaffolding/build.gradle b/grails-test-examples/scaffolding/build.gradle index a89ba4b6ac..52463a928f 100644 --- a/grails-test-examples/scaffolding/build.gradle +++ b/grails-test-examples/scaffolding/build.gradle @@ -57,7 +57,7 @@ dependencies { implementation "org.apache.grails:grails-gsp" integrationTestImplementation testFixtures("org.apache.grails:grails-geb") profile "org.apache.grails.profiles:web" - runtimeOnly "org.fusesource.jansi:jansi" + runtimeOnly "org.jline:jansi" runtimeOnly "com.h2database:h2" runtimeOnly "com.zaxxer:HikariCP" runtimeOnly "cloud.wondrify:asset-pipeline-grails" diff --git a/grails-test-examples/spring-security/acl/functional-test-app/build.gradle b/grails-test-examples/spring-security/acl/functional-test-app/build.gradle index df891180ac..c6ab01a8f9 100644 --- a/grails-test-examples/spring-security/acl/functional-test-app/build.gradle +++ b/grails-test-examples/spring-security/acl/functional-test-app/build.gradle @@ -39,7 +39,7 @@ dependencies { runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' diff --git a/grails-test-examples/spring-security/cas/test1/build.gradle b/grails-test-examples/spring-security/cas/test1/build.gradle index 7269dc728c..08dcbd6715 100644 --- a/grails-test-examples/spring-security/cas/test1/build.gradle +++ b/grails-test-examples/spring-security/cas/test1/build.gradle @@ -47,7 +47,7 @@ dependencies { runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.apache.grails:grails-data-hibernate5' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' runtimeOnly 'org.springframework.boot:spring-boot-starter-tomcat' diff --git a/grails-test-examples/spring-security/ldap/custom-user-details-context-mapper/build.gradle b/grails-test-examples/spring-security/ldap/custom-user-details-context-mapper/build.gradle index 2faa88f11d..f8620e545b 100644 --- a/grails-test-examples/spring-security/ldap/custom-user-details-context-mapper/build.gradle +++ b/grails-test-examples/spring-security/ldap/custom-user-details-context-mapper/build.gradle @@ -47,7 +47,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.apache.grails:grails-data-hibernate5' diff --git a/grails-test-examples/spring-security/ldap/functional-test-app/build.gradle b/grails-test-examples/spring-security/ldap/functional-test-app/build.gradle index cd84de6070..cff74e2142 100644 --- a/grails-test-examples/spring-security/ldap/functional-test-app/build.gradle +++ b/grails-test-examples/spring-security/ldap/functional-test-app/build.gradle @@ -46,7 +46,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' diff --git a/grails-test-examples/spring-security/ldap/retrieve-db-roles/build.gradle b/grails-test-examples/spring-security/ldap/retrieve-db-roles/build.gradle index 9021327e0c..c9ce53bc9e 100644 --- a/grails-test-examples/spring-security/ldap/retrieve-db-roles/build.gradle +++ b/grails-test-examples/spring-security/ldap/retrieve-db-roles/build.gradle @@ -47,7 +47,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' diff --git a/grails-test-examples/spring-security/ldap/retrieve-group-roles/build.gradle b/grails-test-examples/spring-security/ldap/retrieve-group-roles/build.gradle index de683ed0e1..0ed607c4e4 100644 --- a/grails-test-examples/spring-security/ldap/retrieve-group-roles/build.gradle +++ b/grails-test-examples/spring-security/ldap/retrieve-group-roles/build.gradle @@ -47,7 +47,7 @@ dependencies { runtimeOnly 'cloud.wondrify:asset-pipeline-grails' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.zaxxer:HikariCP' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.apache.grails:grails-databinding' runtimeOnly 'org.apache.grails:grails-url-mappings' runtimeOnly 'org.apache.grails:grails-services' diff --git a/grails-test-examples/spring-security/ui/extended/build.gradle b/grails-test-examples/spring-security/ui/extended/build.gradle index 23de3fbf75..2698abebef 100644 --- a/grails-test-examples/spring-security/ui/extended/build.gradle +++ b/grails-test-examples/spring-security/ui/extended/build.gradle @@ -49,7 +49,7 @@ dependencies { runtimeOnly 'com.zaxxer:HikariCP' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' runtimeOnly 'org.springframework.boot:spring-boot-starter-tomcat' diff --git a/grails-test-examples/spring-security/ui/simple/build.gradle b/grails-test-examples/spring-security/ui/simple/build.gradle index 6b1bf070ff..f6b1d69cd8 100644 --- a/grails-test-examples/spring-security/ui/simple/build.gradle +++ b/grails-test-examples/spring-security/ui/simple/build.gradle @@ -49,7 +49,7 @@ dependencies { runtimeOnly 'com.zaxxer:HikariCP' runtimeOnly 'org.apache.grails:grails-services' runtimeOnly 'org.apache.grails:grails-url-mappings' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' runtimeOnly 'org.springframework.boot:spring-boot-autoconfigure' runtimeOnly 'org.springframework.boot:spring-boot-starter-logging' runtimeOnly 'org.springframework.boot:spring-boot-starter-tomcat' diff --git a/grails-test-examples/undertow/build.gradle b/grails-test-examples/undertow/build.gradle index 5e3ef303ec..de66441b96 100644 --- a/grails-test-examples/undertow/build.gradle +++ b/grails-test-examples/undertow/build.gradle @@ -56,7 +56,7 @@ dependencies { testAndDevelopmentOnly 'org.webjars.npm:jquery' runtimeOnly 'cloud.wondrify:asset-pipeline-grails' - runtimeOnly 'org.fusesource.jansi:jansi' + runtimeOnly 'org.jline:jansi' integrationTestImplementation testFixtures('org.apache.grails:grails-geb') } diff --git a/grails-web-url-mappings/build.gradle b/grails-web-url-mappings/build.gradle index 9e9e27762a..cb447a430a 100644 --- a/grails-web-url-mappings/build.gradle +++ b/grails-web-url-mappings/build.gradle @@ -66,8 +66,8 @@ dependencies { api 'org.apache.groovy:groovy' api project(':grails-datamapping-validation') - compileOnly 'org.fusesource.jansi:jansi' - testRuntimeOnly 'org.fusesource.jansi:jansi' + compileOnly 'org.jline:jansi' + testRuntimeOnly 'org.jline:jansi' compileOnly 'org.jline:jline' implementation 'com.github.ben-manes.caffeine:caffeine' diff --git a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/reporting/AnsiConsoleUrlMappingsRenderer.groovy b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/reporting/AnsiConsoleUrlMappingsRenderer.groovy index 78a8f2f6c8..3afed025bf 100644 --- a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/reporting/AnsiConsoleUrlMappingsRenderer.groovy +++ b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/reporting/AnsiConsoleUrlMappingsRenderer.groovy @@ -20,7 +20,7 @@ package org.grails.web.mapping.reporting import groovy.transform.CompileStatic -import org.fusesource.jansi.Ansi +import org.jline.jansi.Ansi import grails.build.logging.GrailsConsole import grails.gorm.validation.ConstrainedProperty @@ -29,12 +29,12 @@ import grails.web.mapping.reporting.UrlMappingsRenderer import org.grails.web.mapping.ResponseCodeMappingData import org.grails.web.mapping.ResponseCodeUrlMapping -import static org.fusesource.jansi.Ansi.Color.CYAN -import static org.fusesource.jansi.Ansi.Color.DEFAULT -import static org.fusesource.jansi.Ansi.Color.GREEN -import static org.fusesource.jansi.Ansi.Color.RED -import static org.fusesource.jansi.Ansi.Color.YELLOW -import static org.fusesource.jansi.Ansi.ansi +import static org.jline.jansi.Ansi.Color.CYAN +import static org.jline.jansi.Ansi.Color.DEFAULT +import static org.jline.jansi.Ansi.Color.GREEN +import static org.jline.jansi.Ansi.Color.RED +import static org.jline.jansi.Ansi.Color.YELLOW +import static org.jline.jansi.Ansi.ansi /** * Renders URL mappings to the console
