From 1e90cfc9757fc106f3d0aadc626bdc8f2bc0c92b Mon Sep 17 00:00:00 2001 From: Casey Brooks Date: Fri, 4 Jan 2019 11:04:00 -0600 Subject: [PATCH] Updates dependency versions --- OrchidCore/build.gradle | 6 +- .../compilers/markdown/MarkdownCompiler.java | 2 +- .../src/orchid/resources/changelog/0_15_2.md | 5 + .../testhelpers/TestHomepageModule.java | 14 +++ build.gradle | 2 +- gradle/actions/kotlin.gradle | 5 + gradle/dependencies.gradle | 8 +- .../OrchidAsciidoc/build.gradle | 2 +- .../languages/asciidoc/AsciiDoctorCompiler.kt | 25 ++++- .../orchid/languages/asciidoc/AsciidocTest.kt | 92 +++++++++++++++++++ .../OrchidDiagrams/build.gradle | 2 +- .../orchid/languages/diagrams/DiagramsTest.kt | 78 ++++++++++++++++ 12 files changed, 228 insertions(+), 13 deletions(-) create mode 100644 OrchidCore/src/orchid/resources/changelog/0_15_2.md create mode 100644 OrchidCore/src/test/java/com/eden/orchid/testhelpers/TestHomepageModule.java create mode 100644 languageExtensions/OrchidAsciidoc/src/test/kotlin/com/eden/orchid/languages/asciidoc/AsciidocTest.kt create mode 100644 languageExtensions/OrchidDiagrams/src/test/kotlin/com/eden/orchid/languages/diagrams/DiagramsTest.kt diff --git a/OrchidCore/build.gradle b/OrchidCore/build.gradle index 9dcaafd5ad..16a7e1b50e 100644 --- a/OrchidCore/build.gradle +++ b/OrchidCore/build.gradle @@ -8,13 +8,13 @@ dependencies { // Dynamic Component Registration api 'com.google.inject:guice:4.2.2' - api 'io.github.classgraph:classgraph:4.4.12' + api 'io.github.classgraph:classgraph:4.6.10' // core utilities api "com.eden:Common:${JavaEden.Common}" api "com.eden:Clog4j:${JavaEden.Clog}" api "com.eden:krow:${JavaEden.Krow}" - api "com.squareup.okhttp3:okhttp:3.12.0" + api "com.squareup.okhttp3:okhttp:3.12.1" api "commons-io:commons-io:2.6" api 'org.apache.commons:commons-lang3:3.8.1' api 'net.coobird:thumbnailator:0.4.8' @@ -26,7 +26,7 @@ dependencies { // validation api "javax.validation:validation-api:2.0.1.Final" implementation "org.hibernate.validator:hibernate-validator:6.0.13.Final" - api "org.glassfish:javax.el:3.0.1-b10" + implementation "org.glassfish:javax.el:3.0.1-b11" // Included parsers: JSON, YAML, TOML, CSV, Pebble, Markdown, Sass api 'org.json:json:20180130' diff --git a/OrchidCore/src/main/java/com/eden/orchid/impl/compilers/markdown/MarkdownCompiler.java b/OrchidCore/src/main/java/com/eden/orchid/impl/compilers/markdown/MarkdownCompiler.java index 27086e3bfc..69839dbb5c 100644 --- a/OrchidCore/src/main/java/com/eden/orchid/impl/compilers/markdown/MarkdownCompiler.java +++ b/OrchidCore/src/main/java/com/eden/orchid/impl/compilers/markdown/MarkdownCompiler.java @@ -2,9 +2,9 @@ import com.eden.orchid.api.compilers.OrchidCompiler; import com.vladsch.flexmark.Extension; -import com.vladsch.flexmark.IRender; import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.parser.Parser; +import com.vladsch.flexmark.util.IRender; import com.vladsch.flexmark.util.options.MutableDataSet; import javax.inject.Inject; diff --git a/OrchidCore/src/orchid/resources/changelog/0_15_2.md b/OrchidCore/src/orchid/resources/changelog/0_15_2.md new file mode 100644 index 0000000000..42947d611d --- /dev/null +++ b/OrchidCore/src/orchid/resources/changelog/0_15_2.md @@ -0,0 +1,5 @@ +--- +version: '0.15.2' +--- + +- Updates dependency versions diff --git a/OrchidCore/src/test/java/com/eden/orchid/testhelpers/TestHomepageModule.java b/OrchidCore/src/test/java/com/eden/orchid/testhelpers/TestHomepageModule.java new file mode 100644 index 0000000000..09f76f0742 --- /dev/null +++ b/OrchidCore/src/test/java/com/eden/orchid/testhelpers/TestHomepageModule.java @@ -0,0 +1,14 @@ +package com.eden.orchid.testhelpers; + +import com.eden.orchid.api.generators.OrchidGenerator; +import com.eden.orchid.api.registration.OrchidModule; +import com.eden.orchid.impl.generators.HomepageGenerator; + +public class TestHomepageModule extends OrchidModule { + + @Override + protected void configure() { + addToSet(OrchidGenerator.class, HomepageGenerator.class); + } + +} diff --git a/build.gradle b/build.gradle index 50148f8a6b..228b01412b 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply from: 'gradle/dependencies.gradle' apply from: 'gradle/utils.gradle' buildscript { - def kotlin_version = '1.3.10' + def kotlin_version = '1.3.11' repositories { maven { url "https://plugins.gradle.org/m2/" } jcenter() diff --git a/gradle/actions/kotlin.gradle b/gradle/actions/kotlin.gradle index c63a31d444..92e8084a05 100644 --- a/gradle/actions/kotlin.gradle +++ b/gradle/actions/kotlin.gradle @@ -4,4 +4,9 @@ compileKotlin { kotlinOptions { jvmTarget = '1.8' } +} +compileTestKotlin { + kotlinOptions { + jvmTarget = '1.8' + } } \ No newline at end of file diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index d67d00a8db..befeca59c1 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -8,10 +8,10 @@ ext { ] junitVersion = '5.3.1' jsoupVersion = '1.11.3' - flexmarkVersion = '0.34.56' - hamcrestVersion = '1.3' + flexmarkVersion = '0.40.0' + hamcrestVersion = '2.1' mockitoVersion = '2.+' - striktVersion = '0.17.0' - kotlin_version = '1.3.10' + striktVersion = '0.17.1' + kotlin_version = '1.3.11' open_html_version = '0.0.1-RC17' } \ No newline at end of file diff --git a/languageExtensions/OrchidAsciidoc/build.gradle b/languageExtensions/OrchidAsciidoc/build.gradle index 99347238a3..6ba3200af1 100644 --- a/languageExtensions/OrchidAsciidoc/build.gradle +++ b/languageExtensions/OrchidAsciidoc/build.gradle @@ -1,4 +1,4 @@ dependencies { - implementation 'org.asciidoctor:asciidoctorj:1.5.7' + implementation 'org.asciidoctor:asciidoctorj:1.6.0' } diff --git a/languageExtensions/OrchidAsciidoc/src/main/kotlin/com/eden/orchid/languages/asciidoc/AsciiDoctorCompiler.kt b/languageExtensions/OrchidAsciidoc/src/main/kotlin/com/eden/orchid/languages/asciidoc/AsciiDoctorCompiler.kt index 583242b3e2..e584643602 100644 --- a/languageExtensions/OrchidAsciidoc/src/main/kotlin/com/eden/orchid/languages/asciidoc/AsciiDoctorCompiler.kt +++ b/languageExtensions/OrchidAsciidoc/src/main/kotlin/com/eden/orchid/languages/asciidoc/AsciiDoctorCompiler.kt @@ -1,20 +1,27 @@ package com.eden.orchid.languages.asciidoc +import com.caseyjbrooks.clog.Clog import com.eden.orchid.api.compilers.OrchidCompiler import org.asciidoctor.Asciidoctor import org.asciidoctor.Options - +import org.asciidoctor.log.LogHandler +import org.asciidoctor.log.LogRecord +import org.asciidoctor.log.Severity import javax.inject.Inject import javax.inject.Singleton @Singleton class AsciiDoctorCompiler @Inject -constructor() : OrchidCompiler(800) { +constructor() : OrchidCompiler(800), LogHandler { private val asciidoctor: Asciidoctor = Asciidoctor.Factory.create() private val options: Options = Options() + init { + asciidoctor.registerLogHandler(this) + } + override fun compile(extension: String, source: String, data: Map): String { return asciidoctor.convert(source, options) } @@ -26,4 +33,18 @@ constructor() : OrchidCompiler(800) { override fun getSourceExtensions(): Array { return arrayOf("ad", "adoc", "asciidoc", "asciidoctor") } + + override fun log(logRecord: LogRecord?) { + if (logRecord == null) return + + when (logRecord.severity) { + Severity.DEBUG -> Clog.d(logRecord.message) + Severity.INFO -> Clog.i(logRecord.message) + Severity.WARN -> Clog.w(logRecord.message) + Severity.ERROR -> Clog.e(logRecord.message) + Severity.FATAL -> Clog.e(logRecord.message) + Severity.UNKNOWN -> Clog.d(logRecord.message) + else -> Clog.d(logRecord.message) + } + } } diff --git a/languageExtensions/OrchidAsciidoc/src/test/kotlin/com/eden/orchid/languages/asciidoc/AsciidocTest.kt b/languageExtensions/OrchidAsciidoc/src/test/kotlin/com/eden/orchid/languages/asciidoc/AsciidocTest.kt new file mode 100644 index 0000000000..175c5d209f --- /dev/null +++ b/languageExtensions/OrchidAsciidoc/src/test/kotlin/com/eden/orchid/languages/asciidoc/AsciidocTest.kt @@ -0,0 +1,92 @@ +package com.eden.orchid.languages.asciidoc + +import com.eden.orchid.testhelpers.OrchidIntegrationTest +import com.eden.orchid.testhelpers.TestHomepageModule +import com.eden.orchid.testhelpers.asHtml +import com.eden.orchid.testhelpers.innerHtml +import com.eden.orchid.testhelpers.matches +import com.eden.orchid.testhelpers.pageWasRendered +import com.eden.orchid.testhelpers.select +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import strikt.api.expectThat +import strikt.assertions.isEqualTo + +@DisplayName("Tests behavior of using Asciidoc for the homepage") +class AsciidocTest : OrchidIntegrationTest(TestHomepageModule()) { + + @Test + @DisplayName("Test that Markdown works normally") + fun test01() { + resource("homepage.md", + """ + |**Markdown Page** + """.trimMargin() + ) + + val testResults = execute() + expectThat(testResults) + .pageWasRendered("//index.html") + .get { content } + .asHtml(true) + .select("body") + .matches() + .innerHtml() + .isEqualTo( + """ + |

+ | Markdown Page + |

+ """.trimMargin() + ) + } + + @Test + @DisplayName("Test that Asciidoc syntax is not supported when the module is not included. Homepage file will not be found at all.") + fun test02() { + resource("homepage.ad", + """ + |**Unknown Asciidoc Page** + """.trimMargin() + ) + + val testResults = execute() + expectThat(testResults) + .pageWasRendered("//index.html") + .get { content } + .asHtml(true) + .select("body") + .matches() + .innerHtml() + .isEqualTo("") + } + + @Test + @DisplayName("Test that Asciidoc syntax works when the file ends with .ad when the module is included") + fun test03() { + resource("homepage.ad", + """ + |**Asciidoc Page** + """.trimMargin() + ) + + val testResults = execute(AsciidocModule()) + expectThat(testResults) + .pageWasRendered("//index.html") + .get { content } + .asHtml(true) + .select("body") + .matches() + .innerHtml() + .isEqualTo( + """ + |
+ |

+ | Asciidoc Page + |

+ |
+ """.trimMargin() + ) + } + +} \ No newline at end of file diff --git a/languageExtensions/OrchidDiagrams/build.gradle b/languageExtensions/OrchidDiagrams/build.gradle index f943573c2c..293176e39e 100644 --- a/languageExtensions/OrchidDiagrams/build.gradle +++ b/languageExtensions/OrchidDiagrams/build.gradle @@ -1,4 +1,4 @@ dependencies { - implementation 'net.sourceforge.plantuml:plantuml:1.2018.11' + implementation 'net.sourceforge.plantuml:plantuml:1.2018.14' } diff --git a/languageExtensions/OrchidDiagrams/src/test/kotlin/com/eden/orchid/languages/diagrams/DiagramsTest.kt b/languageExtensions/OrchidDiagrams/src/test/kotlin/com/eden/orchid/languages/diagrams/DiagramsTest.kt new file mode 100644 index 0000000000..6dff943dc8 --- /dev/null +++ b/languageExtensions/OrchidDiagrams/src/test/kotlin/com/eden/orchid/languages/diagrams/DiagramsTest.kt @@ -0,0 +1,78 @@ +package com.eden.orchid.languages.diagrams + +import com.eden.orchid.testhelpers.OrchidIntegrationTest +import com.eden.orchid.testhelpers.TestHomepageModule +import com.eden.orchid.testhelpers.asHtml +import com.eden.orchid.testhelpers.innerHtml +import com.eden.orchid.testhelpers.matches +import com.eden.orchid.testhelpers.pageWasRendered +import com.eden.orchid.testhelpers.select +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import strikt.api.expectThat +import strikt.assertions.isEqualTo + +@DisplayName("Tests behavior of using Asciidoc for the homepage") +class DiagramsTest : OrchidIntegrationTest(TestHomepageModule()) { + + @Test + @DisplayName("Test that Markdown works normally") + fun test01() { + resource("homepage.md", + """ + |Bob->Alice : hello + """.trimMargin() + ) + + val testResults = execute() + expectThat(testResults) + .pageWasRendered("//index.html") + .get { content } + .asHtml(true) + .select("body") + .matches() + .innerHtml() + .isEqualTo("

Bob->Alice : hello

") + } + + @Test + @DisplayName("Test that PlantUml syntax is not supported when the module is not included. Homepage file will not be found at all.") + fun test02() { + resource("homepage.uml", + """ + |Bob->Alice : hello + """.trimMargin() + ) + + val testResults = execute() + expectThat(testResults) + .pageWasRendered("//index.html") + .get { content } + .asHtml(true) + .select("body") + .matches() + .innerHtml() + .isEqualTo("") + } + + @Test + @DisplayName("Test that Asciidoc syntax works when the file ends with .uml when the module is included") + fun test03() { + enableLogging() + resource("homepage.uml", + """ + |Bob->Alice : hello + """.trimMargin() + ) + + val testResults = execute(DiagramsModule()) + testResults.printResults() + expectThat(testResults) + .pageWasRendered("//index.svg") + .get { content } + .asHtml(true) + .select("body > svg") + .matches() + } + +} \ No newline at end of file