Use Gradle !
This commit is contained in:
parent
e64352f54c
commit
4fb85a52e4
92
.gitignore
vendored
92
.gitignore
vendored
@ -7,18 +7,9 @@
|
||||
*.nar
|
||||
hs_err_pid*
|
||||
|
||||
# Maven
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
pom.xml.next
|
||||
pom.xml.bak
|
||||
release.properties
|
||||
dependency-reduced-pom.xml
|
||||
buildNumber.properties
|
||||
.mvn/timing.properties
|
||||
.mvn/wrapper/maven-wrapper.jar
|
||||
# Gradle
|
||||
build/
|
||||
.gradle
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
@ -28,11 +19,8 @@ out/
|
||||
*.ipr
|
||||
*.iws
|
||||
|
||||
# Vue
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# Local env files
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
@ -49,85 +37,13 @@ pids
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# Nuxt generate
|
||||
dist
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# IDE / Editor
|
||||
.idea
|
||||
|
||||
# Service worker
|
||||
sw.*
|
||||
*.private.env.json
|
||||
|
||||
# Certificates
|
||||
data/
|
||||
letsencrypt/
|
||||
|
||||
# generated resources
|
||||
simplenotes-app/src/main/resources/css-manifest.json
|
||||
simplenotes-app/src/main/resources/static/styles*
|
||||
|
||||
# h2 db
|
||||
*.db
|
||||
|
||||
|
||||
28
Dockerfile
28
Dockerfile
@ -1,29 +1,3 @@
|
||||
FROM maven:3.6.3-jdk-14 as builder
|
||||
|
||||
WORKDIR /tmp
|
||||
|
||||
# Cache dependencies
|
||||
COPY pom.xml .
|
||||
COPY simplenotes-test-resources/pom.xml simplenotes-test-resources/pom.xml
|
||||
COPY simplenotes-types/pom.xml simplenotes-types/pom.xml
|
||||
COPY simplenotes-config/pom.xml simplenotes-config/pom.xml
|
||||
COPY simplenotes-persistance/pom.xml simplenotes-persistance/pom.xml
|
||||
COPY simplenotes-search/pom.xml simplenotes-search/pom.xml
|
||||
COPY simplenotes-domain/pom.xml simplenotes-domain/pom.xml
|
||||
COPY simplenotes-app/pom.xml simplenotes-app/pom.xml
|
||||
|
||||
RUN mvn verify clean --fail-never
|
||||
|
||||
COPY simplenotes-test-resources/src simplenotes-test-resources/src
|
||||
COPY simplenotes-types/src simplenotes-types/src
|
||||
COPY simplenotes-config/src simplenotes-config/src
|
||||
COPY simplenotes-persistance/src simplenotes-persistance/src
|
||||
COPY simplenotes-search/src simplenotes-search/src
|
||||
COPY simplenotes-domain/src simplenotes-domain/src
|
||||
COPY simplenotes-app/src simplenotes-app/src
|
||||
|
||||
RUN mvn -Dstyle.color=always package
|
||||
|
||||
FROM openjdk:14-alpine as jdkbuilder
|
||||
|
||||
RUN apk add --no-cache binutils
|
||||
@ -46,8 +20,8 @@ RUN chown -R $APPLICATION_USER /app
|
||||
|
||||
USER $APPLICATION_USER
|
||||
|
||||
COPY --from=builder /tmp/simplenotes-app/target/simplenotes-app-*.jar /app/simplenotes.jar
|
||||
COPY --from=jdkbuilder /myjdk /myjdk
|
||||
COPY simplenotes-app/build/libs/app-*-all.jar /app/simplenotes.jar
|
||||
WORKDIR /app
|
||||
|
||||
CMD ["/myjdk/bin/java", "-server", "-XX:+UnlockExperimentalVMOptions", "-Xms64m", "-Xmx256m", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "simplenotes.jar"]
|
||||
|
||||
1
build.gradle.properties
Normal file
1
build.gradle.properties
Normal file
@ -0,0 +1 @@
|
||||
org.gradle.caching=true
|
||||
15
buildSrc/build.gradle.kts
Normal file
15
buildSrc/build.gradle.kts
Normal file
@ -0,0 +1,15 @@
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
kotlin("jvm") version "1.4.10"
|
||||
id("com.github.johnrengelman.shadow") version "6.1.0"
|
||||
}
|
||||
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
maven { setUrl("https://kotlin.bintray.com/kotlinx") }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10")
|
||||
implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0")
|
||||
}
|
||||
52
buildSrc/src/main/kotlin/be/simplenotes/CssTask.kt
Normal file
52
buildSrc/src/main/kotlin/be/simplenotes/CssTask.kt
Normal file
@ -0,0 +1,52 @@
|
||||
package be.simplenotes
|
||||
|
||||
import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.GradleException
|
||||
import org.gradle.api.tasks.InputDirectory
|
||||
import org.gradle.api.tasks.OutputDirectory
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import java.io.File
|
||||
import java.lang.ProcessBuilder.Redirect.PIPE
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.concurrent.thread
|
||||
|
||||
open class CssTask : DefaultTask() {
|
||||
|
||||
private val root = project.file(".").parent
|
||||
|
||||
@get:InputDirectory
|
||||
val templatesDir = File(root, "simplenotes-views/src/main/kotlin/be/simplenotes/views")
|
||||
|
||||
@get:InputDirectory
|
||||
val postCssDir = File(project.rootDir, "css/src")
|
||||
|
||||
@get:OutputDirectory
|
||||
val outputRootDir = File(project.buildDir, "generated-resources/css")
|
||||
|
||||
private val yarnRoot = File(project.rootDir, "css")
|
||||
private val cssIndex = File(postCssDir, "styles.pcss")
|
||||
|
||||
private val cssOutput = File(outputRootDir, "static/styles.css")
|
||||
private val manifestOutput = File(outputRootDir, "css-manifest.json")
|
||||
|
||||
@TaskAction
|
||||
fun generateCss() {
|
||||
// TODO: auto yarn install ?
|
||||
|
||||
outputRootDir.listFiles()?.let { it.forEach { it.delete() } }
|
||||
|
||||
ProcessBuilder("yarn", "run", "postcss", "build", "$cssIndex", "--output", "$cssOutput")
|
||||
.apply { environment()["MANIFEST"] = "$manifestOutput" }
|
||||
.redirectOutput(PIPE)
|
||||
.redirectError(PIPE)
|
||||
.directory(yarnRoot)
|
||||
.start()
|
||||
.apply {
|
||||
thread { inputStream.use { it.copyTo(System.out) } }
|
||||
thread { errorStream.use { it.copyTo(System.out) } }
|
||||
waitFor(30, TimeUnit.SECONDS)
|
||||
if (exitValue() != 0) throw GradleException(":/")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
42
buildSrc/src/main/kotlin/be/simplenotes/Libs.kt
Normal file
42
buildSrc/src/main/kotlin/be/simplenotes/Libs.kt
Normal file
@ -0,0 +1,42 @@
|
||||
@file:Suppress("SpellCheckingInspection")
|
||||
|
||||
package be.simplenotes
|
||||
|
||||
object Libs {
|
||||
const val arrowCore = "io.arrow-kt:arrow-core:0.11.0"
|
||||
const val commonsCompress = "org.apache.commons:commons-compress:1.20"
|
||||
const val flexmark = "com.vladsch.flexmark:flexmark:0.62.2"
|
||||
const val flexmarkGfmTasklist = "com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.62.2"
|
||||
const val flywayCore = "org.flywaydb:flyway-core:6.5.4"
|
||||
const val h2 = "com.h2database:h2:1.4.200"
|
||||
const val hikariCP = "com.zaxxer:HikariCP:3.4.3"
|
||||
const val http4kCore = "org.http4k:http4k-core:3.268.0"
|
||||
const val javaJwt = "com.auth0:java-jwt:3.10.3"
|
||||
const val javaxServlet = "javax.servlet:javax.servlet-api:4.0.1"
|
||||
const val jbcrypt = "org.mindrot:jbcrypt:0.4"
|
||||
const val jettyServer = "org.eclipse.jetty:jetty-server:9.4.32.v20200930"
|
||||
const val jettyServlet = "org.eclipse.jetty:jetty-servlet:9.4.32.v20200930"
|
||||
const val koinCore = "org.koin:koin-core:2.1.6"
|
||||
const val konform = "io.konform:konform-jvm:0.2.0"
|
||||
const val kotlinxHtml = "org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.1"
|
||||
const val kotlinxSerializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.0.0"
|
||||
const val ktormCore = "me.liuwj.ktorm:ktorm-core:3.0.0"
|
||||
const val ktormMysql = "me.liuwj.ktorm:ktorm-support-mysql:3.0.0"
|
||||
const val logbackClassic = "ch.qos.logback:logback-classic:1.2.3"
|
||||
const val luceneAnalyzersCommon = "org.apache.lucene:lucene-analyzers-common:8.6.1"
|
||||
const val luceneCore = "org.apache.lucene:lucene-core:8.6.1"
|
||||
const val luceneQueryParser = "org.apache.lucene:lucene-queryparser:8.6.1"
|
||||
const val mapstruct = "org.mapstruct:mapstruct:1.4.1.Final"
|
||||
const val mapstructProcessor = "org.mapstruct:mapstruct-processor:1.4.1.Final"
|
||||
const val mariadbClient = "org.mariadb.jdbc:mariadb-java-client:2.6.2"
|
||||
const val owaspHtmlSanitizer = "com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20200713.1"
|
||||
const val prettytime ="org.ocpsoft.prettytime:prettytime:4.0.5.Final"
|
||||
const val slf4jApi = "org.slf4j:slf4j-api:1.7.25"
|
||||
const val snakeyaml = "org.yaml:snakeyaml:1.26"
|
||||
|
||||
const val assertJ = "org.assertj:assertj-core:3.16.1"
|
||||
const val hamkrest = "com.natpryce:hamkrest:1.7.0.3"
|
||||
const val http4kTestingHamkrest = "org.http4k:http4k-testing-hamkrest:3.268.0"
|
||||
const val junit = "org.junit.jupiter:junit-jupiter:5.6.2"
|
||||
const val mockk = "io.mockk:mockk:1.10.0"
|
||||
}
|
||||
15
buildSrc/src/main/kotlin/be/simplenotes/app-css.gradle.kts
Normal file
15
buildSrc/src/main/kotlin/be/simplenotes/app-css.gradle.kts
Normal file
@ -0,0 +1,15 @@
|
||||
package be.simplenotes
|
||||
|
||||
import org.gradle.kotlin.dsl.register
|
||||
|
||||
plugins {
|
||||
java apply false
|
||||
}
|
||||
|
||||
tasks.register<CssTask>("css")
|
||||
|
||||
sourceSets {
|
||||
val main by getting
|
||||
val root = file("$buildDir/generated-resources/css")
|
||||
main.resources.srcDir(root)
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package be.simplenotes
|
||||
|
||||
import java.util.concurrent.TimeUnit.MINUTES
|
||||
import kotlin.concurrent.thread
|
||||
|
||||
fun runCommand(vararg args: String, onError: () -> Unit) {
|
||||
logging.captureStandardOutput(LogLevel.INFO)
|
||||
ProcessBuilder(*args)
|
||||
.redirectOutput(ProcessBuilder.Redirect.PIPE)
|
||||
.redirectError(ProcessBuilder.Redirect.PIPE)
|
||||
.directory(rootProject.projectDir)
|
||||
.start()
|
||||
.apply {
|
||||
thread { inputStream.use { it.copyTo(System.out) } }
|
||||
thread { errorStream.use { it.copyTo(System.out) } }
|
||||
waitFor(2, MINUTES)
|
||||
if (exitValue() != 0) onError()
|
||||
}
|
||||
}
|
||||
|
||||
tasks.create("dockerBuild") {
|
||||
dependsOn("package")
|
||||
|
||||
doLast {
|
||||
runCommand("docker", "build", "-t", "hubv/simplenotes:latest", ".") {
|
||||
throw GradleException("Docker build failed")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.create("dockerPush") {
|
||||
dependsOn("dockerBuild")
|
||||
|
||||
doLast {
|
||||
runCommand("docker", "push", "hubv/simplenotes:latest") {
|
||||
throw GradleException("Docker Push failed")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
package be.simplenotes
|
||||
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
|
||||
plugins {
|
||||
id("com.github.johnrengelman.shadow")
|
||||
}
|
||||
|
||||
tasks.withType<ShadowJar> {
|
||||
|
||||
archiveBaseName.set("app")
|
||||
manifest.attributes["Main-Class"] = "be.simplenotes.app.SimpleNotesKt"
|
||||
|
||||
mergeServiceFiles()
|
||||
|
||||
// minimize()
|
||||
|
||||
// include("org.mariadb.jdbc:mariadb-java-client")
|
||||
// include("com.h2database:h2")
|
||||
// include("org.jetbrains.kotlin:kotlin-reflect")
|
||||
// include("org.eclipse.jetty:*")
|
||||
// include("org.apache.lucene:*")
|
||||
// include("org.ocpsoft.prettytime:prettytime")
|
||||
|
||||
File(rootProject.projectDir, "buildSrc/src/main/resources/exclusions")
|
||||
.listFiles()!!
|
||||
.flatMap {
|
||||
it.readLines()
|
||||
.asSequence()
|
||||
.map { it.trim() }
|
||||
.filterNot { it.isBlank() }
|
||||
.filterNot { it.startsWith("#") }
|
||||
.asIterable()
|
||||
}.forEach { exclude(it) }
|
||||
|
||||
}
|
||||
|
||||
tasks.create("package") {
|
||||
rootProject.subprojects.forEach { dependsOn(":${it.name}:test") }
|
||||
|
||||
dependsOn("shadowJar")
|
||||
dependsOn("css")
|
||||
|
||||
doLast {
|
||||
println("SimpleNotes Packaged !")
|
||||
}
|
||||
}
|
||||
55
buildSrc/src/main/kotlin/be/simplenotes/base.gradle.kts
Normal file
55
buildSrc/src/main/kotlin/be/simplenotes/base.gradle.kts
Normal file
@ -0,0 +1,55 @@
|
||||
package be.simplenotes
|
||||
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
java
|
||||
kotlin("jvm")
|
||||
`java-library`
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven { url = uri("https://dl.bintray.com/arrow-kt/arrow-kt/") }
|
||||
maven { url = uri("https://kotlin.bintray.com/kotlinx") }
|
||||
}
|
||||
|
||||
group = "be.simplenotes"
|
||||
version = "1.0-SNAPSHOT"
|
||||
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
|
||||
tasks.withType<Test> {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_14
|
||||
targetCompatibility = JavaVersion.VERSION_14
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
val test by getting
|
||||
test.resources.srcDir("${rootProject.projectDir}/simplenotes-test-resources/src/test/resources")
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions {
|
||||
jvmTarget = "14"
|
||||
javaParameters = true
|
||||
freeCompilerArgs = listOf(
|
||||
"-Xinline-classes",
|
||||
"-Xno-param-assertions",
|
||||
"-Xno-call-assertions",
|
||||
"-Xno-receiver-assertions"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<JavaCompile> {
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
META-INF/maven/**
|
||||
META-INF/proguard/**
|
||||
META-INF/*.kotlin_module
|
||||
META-INF/DEPENDENCIES*
|
||||
META-INF/NOTICE*
|
||||
META-INF/LICENSE*
|
||||
LICENSE*
|
||||
META-INF/README*
|
||||
META-INF/native-image/**
|
||||
|
||||
# Jetty
|
||||
about.html
|
||||
jetty-dir.css
|
||||
server-ssl-cert.pem
|
||||
261
buildSrc/src/main/resources/exclusions/guava.txt
Normal file
261
buildSrc/src/main/resources/exclusions/guava.txt
Normal file
@ -0,0 +1,261 @@
|
||||
com/google/common/util/**
|
||||
com/google/common/eventbus/**
|
||||
com/google/common/reflect/**
|
||||
com/google/common/escape/**
|
||||
com/google/common/graph/**
|
||||
com/google/common/html/**
|
||||
com/google/common/hash/**
|
||||
com/google/common/xml/**
|
||||
com/google/common/io/**
|
||||
com/google/common/cache/**
|
||||
com/google/common/net/**
|
||||
|
||||
# Collections
|
||||
com/google/common/collect/AbstractBiMap$1.class
|
||||
com/google/common/collect/AbstractBiMap$BiMapEntry.class
|
||||
com/google/common/collect/AbstractBiMap$EntrySet.class
|
||||
com/google/common/collect/AbstractBiMap$Inverse.class
|
||||
com/google/common/collect/AbstractBiMap$KeySet.class
|
||||
com/google/common/collect/AbstractBiMap$ValueSet.class
|
||||
com/google/common/collect/AbstractBiMap.class
|
||||
com/google/common/collect/AbstractSortedKeySortedSetMultimap.class
|
||||
com/google/common/collect/AbstractSortedMultiset$1DescendingMultisetImpl.class
|
||||
com/google/common/collect/AbstractSortedMultiset.class
|
||||
com/google/common/collect/AbstractTable$1.class
|
||||
com/google/common/collect/AbstractTable$CellSet.class
|
||||
com/google/common/collect/AbstractTable$Values.class
|
||||
com/google/common/collect/AbstractTable.class
|
||||
com/google/common/collect/ArrayListMultimap.class
|
||||
com/google/common/collect/ArrayListMultimapGwtSerializationDependencies.class
|
||||
com/google/common/collect/ArrayTable$1.class
|
||||
com/google/common/collect/ArrayTable$2.class
|
||||
com/google/common/collect/ArrayTable$3.class
|
||||
com/google/common/collect/ArrayTable$ArrayMap$1.class
|
||||
com/google/common/collect/ArrayTable$ArrayMap$2.class
|
||||
com/google/common/collect/ArrayTable$ArrayMap.class
|
||||
com/google/common/collect/ArrayTable$Column.class
|
||||
com/google/common/collect/ArrayTable$ColumnMap.class
|
||||
com/google/common/collect/ArrayTable$Row.class
|
||||
com/google/common/collect/ArrayTable$RowMap.class
|
||||
com/google/common/collect/ArrayTable.class
|
||||
com/google/common/collect/ClassToInstanceMap.class
|
||||
com/google/common/collect/CompactHashMap$1.class
|
||||
com/google/common/collect/CompactHashMap$2.class
|
||||
com/google/common/collect/CompactHashMap$3.class
|
||||
com/google/common/collect/CompactHashMap$EntrySetView.class
|
||||
com/google/common/collect/CompactHashMap$Itr.class
|
||||
com/google/common/collect/CompactHashMap$KeySetView.class
|
||||
com/google/common/collect/CompactHashMap$MapEntry.class
|
||||
com/google/common/collect/CompactHashMap$ValuesView.class
|
||||
com/google/common/collect/CompactHashMap.class
|
||||
com/google/common/collect/CompactHashSet$1.class
|
||||
com/google/common/collect/CompactHashSet.class
|
||||
com/google/common/collect/CompactLinkedHashMap$1EntrySetImpl.class
|
||||
com/google/common/collect/CompactLinkedHashMap$1KeySetImpl.class
|
||||
com/google/common/collect/CompactLinkedHashMap$1ValuesImpl.class
|
||||
com/google/common/collect/CompactLinkedHashMap.class
|
||||
com/google/common/collect/CompactLinkedHashSet.class
|
||||
com/google/common/collect/Comparators.class
|
||||
com/google/common/collect/ComputationException.class
|
||||
com/google/common/collect/ConcurrentHashMultiset$1.class
|
||||
com/google/common/collect/ConcurrentHashMultiset$2.class
|
||||
com/google/common/collect/ConcurrentHashMultiset$3.class
|
||||
com/google/common/collect/ConcurrentHashMultiset$EntrySet.class
|
||||
com/google/common/collect/ConcurrentHashMultiset$FieldSettersHolder.class
|
||||
com/google/common/collect/ConcurrentHashMultiset.class
|
||||
com/google/common/collect/DenseImmutableTable$1.class
|
||||
com/google/common/collect/DenseImmutableTable$Column.class
|
||||
com/google/common/collect/DenseImmutableTable$ColumnMap.class
|
||||
com/google/common/collect/DenseImmutableTable$ImmutableArrayMap$1.class
|
||||
com/google/common/collect/DenseImmutableTable$ImmutableArrayMap.class
|
||||
com/google/common/collect/DenseImmutableTable$Row.class
|
||||
com/google/common/collect/DenseImmutableTable$RowMap.class
|
||||
com/google/common/collect/DenseImmutableTable.class
|
||||
com/google/common/collect/DescendingImmutableSortedMultiset.class
|
||||
com/google/common/collect/DescendingMultiset$1EntrySetImpl.class
|
||||
com/google/common/collect/DescendingMultiset.class
|
||||
com/google/common/collect/EnumBiMap.class
|
||||
com/google/common/collect/EnumHashBiMap.class
|
||||
com/google/common/collect/EnumMultiset$1.class
|
||||
com/google/common/collect/EnumMultiset$2$1.class
|
||||
com/google/common/collect/EnumMultiset$2.class
|
||||
com/google/common/collect/EnumMultiset$Itr.class
|
||||
com/google/common/collect/EnumMultiset.class
|
||||
com/google/common/collect/EvictingQueue.class
|
||||
com/google/common/collect/ForwardingBlockingDeque.class
|
||||
com/google/common/collect/ForwardingDeque.class
|
||||
com/google/common/collect/ForwardingImmutableCollection.class
|
||||
com/google/common/collect/ForwardingImmutableList.class
|
||||
com/google/common/collect/ForwardingImmutableMap.class
|
||||
com/google/common/collect/ForwardingImmutableSet.class
|
||||
com/google/common/collect/ForwardingIterator.class
|
||||
com/google/common/collect/ForwardingListIterator.class
|
||||
com/google/common/collect/ForwardingListMultimap.class
|
||||
com/google/common/collect/ForwardingNavigableMap$StandardDescendingMap$1.class
|
||||
com/google/common/collect/ForwardingNavigableMap$StandardDescendingMap.class
|
||||
com/google/common/collect/ForwardingNavigableMap$StandardNavigableKeySet.class
|
||||
com/google/common/collect/ForwardingNavigableMap.class
|
||||
com/google/common/collect/ForwardingQueue.class
|
||||
com/google/common/collect/ForwardingSetMultimap.class
|
||||
com/google/common/collect/ForwardingSortedMultiset$StandardDescendingMultiset.class
|
||||
com/google/common/collect/ForwardingSortedMultiset$StandardElementSet.class
|
||||
com/google/common/collect/ForwardingSortedMultiset.class
|
||||
com/google/common/collect/ForwardingSortedSetMultimap.class
|
||||
com/google/common/collect/ForwardingTable.class
|
||||
com/google/common/collect/GeneralRange.class
|
||||
com/google/common/collect/GwtTransient.class
|
||||
com/google/common/collect/HashBasedTable$Factory.class
|
||||
com/google/common/collect/HashBasedTable.class
|
||||
com/google/common/collect/HashBiMap$1$MapEntry.class
|
||||
com/google/common/collect/HashBiMap$1.class
|
||||
com/google/common/collect/HashBiMap$BiEntry.class
|
||||
com/google/common/collect/HashBiMap$Inverse$1$InverseEntry.class
|
||||
com/google/common/collect/HashBiMap$Inverse$1.class
|
||||
com/google/common/collect/HashBiMap$Inverse$InverseKeySet$1.class
|
||||
com/google/common/collect/HashBiMap$Inverse$InverseKeySet.class
|
||||
com/google/common/collect/HashBiMap$Inverse.class
|
||||
com/google/common/collect/HashBiMap$InverseSerializedForm.class
|
||||
com/google/common/collect/HashBiMap$Itr.class
|
||||
com/google/common/collect/HashBiMap$KeySet$1.class
|
||||
com/google/common/collect/HashBiMap$KeySet.class
|
||||
com/google/common/collect/HashBiMap.class
|
||||
com/google/common/collect/HashMultimap.class
|
||||
com/google/common/collect/HashMultimapGwtSerializationDependencies.class
|
||||
com/google/common/collect/ImmutableClassToInstanceMap$1.class
|
||||
com/google/common/collect/ImmutableClassToInstanceMap$Builder.class
|
||||
com/google/common/collect/ImmutableClassToInstanceMap.class
|
||||
com/google/common/collect/ImmutableSortedMultiset$Builder.class
|
||||
com/google/common/collect/ImmutableSortedMultiset$SerializedForm.class
|
||||
com/google/common/collect/ImmutableSortedMultiset.class
|
||||
com/google/common/collect/ImmutableSortedMultisetFauxverideShim.class
|
||||
com/google/common/collect/ImmutableTable$1.class
|
||||
com/google/common/collect/ImmutableTable$Builder.class
|
||||
com/google/common/collect/ImmutableTable$CollectorState.class
|
||||
com/google/common/collect/ImmutableTable$MutableCell.class
|
||||
com/google/common/collect/ImmutableTable$SerializedForm.class
|
||||
com/google/common/collect/ImmutableTable.class
|
||||
com/google/common/collect/Interner.class
|
||||
com/google/common/collect/Interners$1.class
|
||||
com/google/common/collect/Interners$InternerBuilder.class
|
||||
com/google/common/collect/Interners$InternerFunction.class
|
||||
com/google/common/collect/Interners$InternerImpl.class
|
||||
com/google/common/collect/Interners.class
|
||||
com/google/common/collect/LinkedHashMultimap$1.class
|
||||
com/google/common/collect/LinkedHashMultimap$ValueEntry.class
|
||||
com/google/common/collect/LinkedHashMultimap$ValueSet$1.class
|
||||
com/google/common/collect/LinkedHashMultimap$ValueSet.class
|
||||
com/google/common/collect/LinkedHashMultimap$ValueSetLink.class
|
||||
com/google/common/collect/LinkedHashMultimap.class
|
||||
com/google/common/collect/LinkedHashMultimapGwtSerializationDependencies.class
|
||||
com/google/common/collect/LinkedListMultimap$1.class
|
||||
com/google/common/collect/LinkedListMultimap$1EntriesImpl.class
|
||||
com/google/common/collect/LinkedListMultimap$1KeySetImpl.class
|
||||
com/google/common/collect/LinkedListMultimap$1ValuesImpl$1.class
|
||||
com/google/common/collect/LinkedListMultimap$1ValuesImpl.class
|
||||
com/google/common/collect/LinkedListMultimap$DistinctKeyIterator.class
|
||||
com/google/common/collect/LinkedListMultimap$KeyList.class
|
||||
com/google/common/collect/LinkedListMultimap$Node.class
|
||||
com/google/common/collect/LinkedListMultimap$NodeIterator.class
|
||||
com/google/common/collect/LinkedListMultimap$ValueForKeyIterator.class
|
||||
com/google/common/collect/LinkedListMultimap.class
|
||||
com/google/common/collect/MinMaxPriorityQueue$1.class
|
||||
com/google/common/collect/MinMaxPriorityQueue$Builder.class
|
||||
com/google/common/collect/MinMaxPriorityQueue$Heap.class
|
||||
com/google/common/collect/MinMaxPriorityQueue$MoveDesc.class
|
||||
com/google/common/collect/MinMaxPriorityQueue$QueueIterator.class
|
||||
com/google/common/collect/MinMaxPriorityQueue.class
|
||||
com/google/common/collect/MoreCollectors$ToOptionalState.class
|
||||
com/google/common/collect/MoreCollectors.class
|
||||
com/google/common/collect/MutableClassToInstanceMap$1.class
|
||||
com/google/common/collect/MutableClassToInstanceMap$2$1.class
|
||||
com/google/common/collect/MutableClassToInstanceMap$2.class
|
||||
com/google/common/collect/MutableClassToInstanceMap$SerializedForm.class
|
||||
com/google/common/collect/MutableClassToInstanceMap.class
|
||||
com/google/common/collect/Queues.class
|
||||
com/google/common/collect/RegularImmutableSortedMultiset.class
|
||||
com/google/common/collect/RegularImmutableTable$1.class
|
||||
com/google/common/collect/RegularImmutableTable$CellSet.class
|
||||
com/google/common/collect/RegularImmutableTable$Values.class
|
||||
com/google/common/collect/RegularImmutableTable.class
|
||||
com/google/common/collect/RowSortedTable.class
|
||||
com/google/common/collect/SingletonImmutableTable.class
|
||||
com/google/common/collect/SortedMultisets$ElementSet.class
|
||||
com/google/common/collect/SortedMultisets$NavigableElementSet.class
|
||||
com/google/common/collect/SortedMultisets.class
|
||||
com/google/common/collect/SparseImmutableTable.class
|
||||
com/google/common/collect/StandardRowSortedTable$1.class
|
||||
com/google/common/collect/StandardRowSortedTable$RowSortedMap.class
|
||||
com/google/common/collect/StandardRowSortedTable.class
|
||||
com/google/common/collect/StandardTable$1.class
|
||||
com/google/common/collect/StandardTable$CellIterator.class
|
||||
com/google/common/collect/StandardTable$Column$EntrySet.class
|
||||
com/google/common/collect/StandardTable$Column$EntrySetIterator$1EntryImpl.class
|
||||
com/google/common/collect/StandardTable$Column$EntrySetIterator.class
|
||||
com/google/common/collect/StandardTable$Column$KeySet.class
|
||||
com/google/common/collect/StandardTable$Column$Values.class
|
||||
com/google/common/collect/StandardTable$Column.class
|
||||
com/google/common/collect/StandardTable$ColumnKeyIterator.class
|
||||
com/google/common/collect/StandardTable$ColumnKeySet.class
|
||||
com/google/common/collect/StandardTable$ColumnMap$ColumnMapEntrySet$1.class
|
||||
com/google/common/collect/StandardTable$ColumnMap$ColumnMapEntrySet.class
|
||||
com/google/common/collect/StandardTable$ColumnMap$ColumnMapValues.class
|
||||
com/google/common/collect/StandardTable$ColumnMap.class
|
||||
com/google/common/collect/StandardTable$Row$1.class
|
||||
com/google/common/collect/StandardTable$Row$2.class
|
||||
com/google/common/collect/StandardTable$Row.class
|
||||
com/google/common/collect/StandardTable$RowMap$EntrySet$1.class
|
||||
com/google/common/collect/StandardTable$RowMap$EntrySet.class
|
||||
com/google/common/collect/StandardTable$RowMap.class
|
||||
com/google/common/collect/StandardTable$TableSet.class
|
||||
com/google/common/collect/StandardTable.class
|
||||
com/google/common/collect/Tables$1.class
|
||||
com/google/common/collect/Tables$AbstractCell.class
|
||||
com/google/common/collect/Tables$ImmutableCell.class
|
||||
com/google/common/collect/Tables$TransformedTable$1.class
|
||||
com/google/common/collect/Tables$TransformedTable$2.class
|
||||
com/google/common/collect/Tables$TransformedTable$3.class
|
||||
com/google/common/collect/Tables$TransformedTable.class
|
||||
com/google/common/collect/Tables$TransposeTable$1.class
|
||||
com/google/common/collect/Tables$TransposeTable.class
|
||||
com/google/common/collect/Tables$UnmodifiableRowSortedMap.class
|
||||
com/google/common/collect/Tables$UnmodifiableTable.class
|
||||
com/google/common/collect/Tables.class
|
||||
com/google/common/collect/TreeBasedTable$1.class
|
||||
com/google/common/collect/TreeBasedTable$2.class
|
||||
com/google/common/collect/TreeBasedTable$Factory.class
|
||||
com/google/common/collect/TreeBasedTable$TreeRow.class
|
||||
com/google/common/collect/TreeBasedTable.class
|
||||
com/google/common/collect/TreeMultimap.class
|
||||
com/google/common/collect/TreeMultiset$1.class
|
||||
com/google/common/collect/TreeMultiset$2.class
|
||||
com/google/common/collect/TreeMultiset$3.class
|
||||
com/google/common/collect/TreeMultiset$4.class
|
||||
com/google/common/collect/TreeMultiset$Aggregate$1.class
|
||||
com/google/common/collect/TreeMultiset$Aggregate$2.class
|
||||
com/google/common/collect/TreeMultiset$Aggregate.class
|
||||
com/google/common/collect/TreeMultiset$AvlNode.class
|
||||
com/google/common/collect/TreeMultiset$Reference.class
|
||||
com/google/common/collect/TreeMultiset.class
|
||||
com/google/common/collect/TreeRangeMap$1.class
|
||||
com/google/common/collect/TreeRangeMap$AsMapOfRanges.class
|
||||
com/google/common/collect/TreeRangeMap$RangeMapEntry.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$1$1.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$1.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$SubRangeMapAsMap$1.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$SubRangeMapAsMap$2.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$SubRangeMapAsMap$3.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$SubRangeMapAsMap$4.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap$SubRangeMapAsMap.class
|
||||
com/google/common/collect/TreeRangeMap$SubRangeMap.class
|
||||
com/google/common/collect/TreeRangeMap.class
|
||||
com/google/common/collect/TreeTraverser$1.class
|
||||
com/google/common/collect/TreeTraverser$2$1.class
|
||||
com/google/common/collect/TreeTraverser$2.class
|
||||
com/google/common/collect/TreeTraverser$3$1.class
|
||||
com/google/common/collect/TreeTraverser$3.class
|
||||
com/google/common/collect/TreeTraverser$4.class
|
||||
com/google/common/collect/TreeTraverser$BreadthFirstIterator.class
|
||||
com/google/common/collect/TreeTraverser$PostOrderIterator.class
|
||||
com/google/common/collect/TreeTraverser$PostOrderNode.class
|
||||
com/google/common/collect/TreeTraverser$PreOrderIterator.class
|
||||
com/google/common/collect/TreeTraverser.class
|
||||
2
buildSrc/src/main/resources/exclusions/logback.txt
Normal file
2
buildSrc/src/main/resources/exclusions/logback.txt
Normal file
@ -0,0 +1,2 @@
|
||||
ch/qos/logback/core/db/**
|
||||
ch/qos/logback/classic/db/**
|
||||
6
buildSrc/src/main/resources/exclusions/others.txt
Normal file
6
buildSrc/src/main/resources/exclusions/others.txt
Normal file
@ -0,0 +1,6 @@
|
||||
arrow/core/extensions/**
|
||||
org/checkerframework/**
|
||||
org/intellij/**
|
||||
com/google/errorprone/**
|
||||
com/google/thirdparty/**
|
||||
com/google/j2objc/**
|
||||
@ -2,8 +2,7 @@
|
||||
"name": "css",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"css": "NODE_ENV=dev MANIFEST=../simplenotes-app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../simplenotes-app/src/main/resources/static/styles.css",
|
||||
"css-purge": "NODE_ENV=production MANIFEST=../simplenotes-app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../simplenotes-app/src/main/resources/static/styles.css"
|
||||
"//": "`gradle css`"
|
||||
},
|
||||
"dependencies": {
|
||||
"autoprefixer": "^9.8.6",
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm simplenotes-app/src/main/resources/css-manifest.json
|
||||
rm simplenotes-app/src/main/resources/static/styles*
|
||||
|
||||
yarn --cwd css run css-purge \
|
||||
&& docker build -t hubv/simplenotes:latest . \
|
||||
&& docker push hubv/simplenotes:latest
|
||||
250
pom.xml
250
pom.xml
@ -1,250 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<modules>
|
||||
<module>simplenotes-persistance</module>
|
||||
<module>simplenotes-app</module>
|
||||
<module>simplenotes-domain</module>
|
||||
<module>simplenotes-search</module>
|
||||
<module>simplenotes-types</module>
|
||||
<module>simplenotes-config</module>
|
||||
<module>simplenotes-test-resources</module>
|
||||
<module>simplenotes-views</module>
|
||||
</modules>
|
||||
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<java.version>14</java.version>
|
||||
<kotlin.version>1.4.10</kotlin.version>
|
||||
<junit.version>5.6.2</junit.version>
|
||||
|
||||
<kotlin.code.style>official</kotlin.code.style>
|
||||
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<kotlin.compiler.jvmTarget>${java.version}</kotlin.compiler.jvmTarget>
|
||||
|
||||
<org.mapstruct.version>1.4.1.Final</org.mapstruct.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
|
||||
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
|
||||
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.2.4</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.0.0-M5</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.surefire</groupId>
|
||||
<artifactId>surefire-junit-platform</artifactId>
|
||||
<version>3.0.0-M5</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<version>3.0.0-M3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>enforce</id>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<banDuplicatePomDependencyVersions/>
|
||||
<requireMavenVersion>
|
||||
<version>3.6</version>
|
||||
</requireMavenVersion>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>kotlin-maven-plugin</artifactId>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<version>${kotlin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>kapt</id>
|
||||
<goals>
|
||||
<goal>kapt</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<annotationProcessorPaths>
|
||||
<annotationProcessorPath>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</annotationProcessorPath>
|
||||
</annotationProcessorPaths>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>compile</id>
|
||||
<phase>process-sources</phase>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>test-compile</id>
|
||||
<goals>
|
||||
<goal>test-compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<args>
|
||||
<arg>-Xno-param-assertions</arg>
|
||||
<arg>-Xno-call-assertions</arg>
|
||||
<arg>-Xno-receiver-assertions</arg>
|
||||
</args>
|
||||
<compilerPlugins>
|
||||
<plugin>kotlinx-serialization</plugin>
|
||||
</compilerPlugins>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-maven-serialization</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-bom</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlinx</groupId>
|
||||
<artifactId>kotlinx-serialization-json-jvm</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
<version>2.1.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.2.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.arrow-kt</groupId>
|
||||
<artifactId>arrow-core</artifactId>
|
||||
<version>0.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.25</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>me.liuwj.ktorm</groupId>
|
||||
<artifactId>ktorm-core</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.liuwj.ktorm</groupId>
|
||||
<artifactId>ktorm-support-mysql</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- region tests -->
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.mockk</groupId>
|
||||
<artifactId>mockk</artifactId>
|
||||
<version>1.10.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.natpryce</groupId>
|
||||
<artifactId>hamkrest</artifactId>
|
||||
<version>1.7.0.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<version>3.16.1</version>
|
||||
</dependency>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jcenter</id>
|
||||
<url>https://jcenter.bintray.com</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>arrow</id>
|
||||
<url>https://dl.bintray.com/arrow-kt/arrow-kt/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>kotlinx</id>
|
||||
<url>https://kotlin.bintray.com/kotlinx</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
</project>
|
||||
8
settings.gradle.kts
Normal file
8
settings.gradle.kts
Normal file
@ -0,0 +1,8 @@
|
||||
rootProject.name = "simplenotes"
|
||||
include(":simplenotes-config")
|
||||
include(":simplenotes-views")
|
||||
include(":simplenotes-app")
|
||||
include(":simplenotes-domain")
|
||||
include(":simplenotes-search")
|
||||
include(":simplenotes-types")
|
||||
include(":simplenotes-persistance")
|
||||
32
simplenotes-app/build.gradle.kts
Normal file
32
simplenotes-app/build.gradle.kts
Normal file
@ -0,0 +1,32 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
id("be.simplenotes.app-shadow")
|
||||
id("be.simplenotes.app-css")
|
||||
id("be.simplenotes.app-docker")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":simplenotes-persistance"))
|
||||
implementation(project(":simplenotes-search"))
|
||||
implementation(project(":simplenotes-domain"))
|
||||
implementation(project(":simplenotes-types"))
|
||||
implementation(project(":simplenotes-config"))
|
||||
implementation(project(":simplenotes-views"))
|
||||
|
||||
implementation(Libs.koinCore)
|
||||
implementation(Libs.arrowCore)
|
||||
implementation(Libs.konform)
|
||||
implementation(Libs.http4kCore)
|
||||
implementation(Libs.jettyServer)
|
||||
implementation(Libs.jettyServlet)
|
||||
implementation(Libs.javaxServlet)
|
||||
implementation(Libs.kotlinxSerializationJson)
|
||||
implementation(Libs.logbackClassic)
|
||||
implementation(Libs.ktormCore)
|
||||
|
||||
testImplementation(Libs.junit)
|
||||
testImplementation(Libs.assertJ)
|
||||
testImplementation(Libs.http4kTestingHamkrest)
|
||||
}
|
||||
@ -1,203 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-app</artifactId>
|
||||
|
||||
<properties>
|
||||
<http4k.version>3.268.0</http4k.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-persistance</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-search</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-domain</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-config</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.http4k</groupId>
|
||||
<artifactId>http4k-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>org.http4k</groupId>
|
||||
<artifactId>http4k-server-jetty</artifactId>
|
||||
</dependency>
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-server</artifactId>
|
||||
<version>9.4.32.v20200930</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-servlet</artifactId>
|
||||
<version>9.4.32.v20200930</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<version>4.0.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlinx</groupId>
|
||||
<artifactId>kotlinx-serialization-json-jvm</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-test-resources</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.http4k</groupId>
|
||||
<artifactId>http4k-testing-hamkrest</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>me.liuwj.ktorm</groupId>
|
||||
<artifactId>ktorm-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-views</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.http4k</groupId>
|
||||
<artifactId>http4k-bom</artifactId>
|
||||
<version>${http4k.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<minimizeJar>true</minimizeJar>
|
||||
<transformers>
|
||||
<transformer
|
||||
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>be.simplenotes.app.SimpleNotesKt</mainClass>
|
||||
</transformer>
|
||||
</transformers>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>com.h2database:h2</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.mariadb.jdbc:mariadb-java-client</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.jetbrains.kotlin:kotlin-reflect</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.eclipse.jetty:*</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.apache.lucene:*</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.ocpsoft.prettytime:prettytime</artifact>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/maven/**</exclude>
|
||||
<exclude>META-INF/proguard/**</exclude>
|
||||
<exclude>META-INF/*.kotlin_module</exclude>
|
||||
<exclude>META-INF/DEPENDENCIES*</exclude>
|
||||
<exclude>META-INF/NOTICE*</exclude>
|
||||
<exclude>META-INF/LICENSE*</exclude>
|
||||
<exclude>LICENSE*</exclude>
|
||||
<exclude>META-INF/README*</exclude>
|
||||
<exclude>META-INF/native-image/**</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
9
simplenotes-config/build.gradle.kts
Normal file
9
simplenotes-config/build.gradle.kts
Normal file
@ -0,0 +1,9 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(Libs.koinCore)
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-config</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
29
simplenotes-domain/build.gradle.kts
Normal file
29
simplenotes-domain/build.gradle.kts
Normal file
@ -0,0 +1,29 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
kotlin("plugin.serialization") version "1.4.10"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":simplenotes-config"))
|
||||
implementation(project(":simplenotes-types"))
|
||||
implementation(project(":simplenotes-persistance"))
|
||||
implementation(project(":simplenotes-search"))
|
||||
|
||||
implementation(Libs.kotlinxSerializationJson)
|
||||
implementation(Libs.koinCore)
|
||||
implementation(Libs.arrowCore)
|
||||
implementation(Libs.konform)
|
||||
implementation(Libs.jbcrypt)
|
||||
implementation(Libs.javaJwt)
|
||||
implementation(Libs.flexmark)
|
||||
implementation(Libs.flexmarkGfmTasklist)
|
||||
implementation(Libs.snakeyaml)
|
||||
implementation(Libs.owaspHtmlSanitizer)
|
||||
implementation(Libs.commonsCompress)
|
||||
|
||||
testImplementation(Libs.hamkrest)
|
||||
testImplementation(Libs.junit)
|
||||
testImplementation(Libs.mockk)
|
||||
}
|
||||
@ -1,113 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-domain</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-config</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-test-resources</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.arrow-kt</groupId>
|
||||
<artifactId>arrow-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.natpryce</groupId>
|
||||
<artifactId>hamkrest</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.mockk</groupId>
|
||||
<artifactId>mockk</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.konform</groupId>
|
||||
<artifactId>konform-jvm</artifactId>
|
||||
<version>0.2.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mindrot</groupId>
|
||||
<artifactId>jbcrypt</artifactId>
|
||||
<version>0.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.auth0</groupId>
|
||||
<artifactId>java-jwt</artifactId>
|
||||
<version>3.10.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.vladsch.flexmark</groupId>
|
||||
<artifactId>flexmark</artifactId>
|
||||
<version>0.62.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.vladsch.flexmark</groupId>
|
||||
<artifactId>flexmark-ext-gfm-tasklist</artifactId>
|
||||
<version>0.62.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
<version>1.26</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.googlecode.owasp-java-html-sanitizer</groupId>
|
||||
<artifactId>owasp-java-html-sanitizer</artifactId>
|
||||
<version>20200713.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-compress</artifactId>
|
||||
<version>1.20</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-types</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-persistance</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-search</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
25
simplenotes-persistance/build.gradle.kts
Normal file
25
simplenotes-persistance/build.gradle.kts
Normal file
@ -0,0 +1,25 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
kotlin("kapt")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":simplenotes-types"))
|
||||
implementation(project(":simplenotes-config"))
|
||||
|
||||
implementation(Libs.mapstruct)
|
||||
implementation(Libs.koinCore)
|
||||
implementation(Libs.mariadbClient)
|
||||
implementation(Libs.h2)
|
||||
implementation(Libs.flywayCore)
|
||||
implementation(Libs.hikariCP)
|
||||
implementation(Libs.ktormCore)
|
||||
implementation(Libs.ktormMysql)
|
||||
|
||||
kapt(Libs.mapstructProcessor)
|
||||
|
||||
testImplementation(Libs.junit)
|
||||
testImplementation(Libs.assertJ)
|
||||
}
|
||||
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-persistance</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-types</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-config</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-test-resources</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mariadb.jdbc</groupId>
|
||||
<artifactId>mariadb-java-client</artifactId>
|
||||
<version>2.6.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
<version>1.4.200</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.flywaydb</groupId>
|
||||
<artifactId>flyway-core</artifactId>
|
||||
<version>6.5.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.zaxxer</groupId>
|
||||
<artifactId>HikariCP</artifactId>
|
||||
<version>3.4.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>me.liuwj.ktorm</groupId>
|
||||
<artifactId>ktorm-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.liuwj.ktorm</groupId>
|
||||
<artifactId>ktorm-support-mysql</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@ -5,6 +5,7 @@ import be.simplenotes.persistance.utils.type
|
||||
import be.simplenotes.config.DataSourceConfig
|
||||
import me.liuwj.ktorm.database.Database
|
||||
import me.liuwj.ktorm.database.asIterable
|
||||
import me.liuwj.ktorm.database.use
|
||||
import java.sql.SQLTransientException
|
||||
|
||||
interface DbHealthCheck {
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
package be.simplenotes.persistance.converters
|
||||
|
||||
import be.simplenotes.types.*
|
||||
import be.simplenotes.persistance.notes.NoteEntity
|
||||
import be.simplenotes.types.*
|
||||
import me.liuwj.ktorm.entity.Entity
|
||||
import org.mapstruct.Mapper
|
||||
import org.mapstruct.Mapping
|
||||
import org.mapstruct.Mappings
|
||||
import org.mapstruct.ReportingPolicy
|
||||
import java.time.LocalDateTime
|
||||
import java.util.*
|
||||
|
||||
@ -14,7 +15,7 @@ import java.util.*
|
||||
* This is an abstract class because kotlin default methods in interface are not seen as default in kapt
|
||||
* @see [KT-25960](https://youtrack.jetbrains.com/issue/KT-25960)
|
||||
*/
|
||||
@Mapper(uses = [NoteEntityFactory::class, UserEntityFactory::class])
|
||||
@Mapper(uses = [NoteEntityFactory::class, UserEntityFactory::class], unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
internal abstract class NoteConverter {
|
||||
|
||||
fun toNote(entity: NoteEntity, tags: Tags) =
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
package be.simplenotes.persistance.converters
|
||||
|
||||
import be.simplenotes.persistance.users.UserEntity
|
||||
import be.simplenotes.types.PersistedUser
|
||||
import be.simplenotes.types.User
|
||||
import be.simplenotes.persistance.users.UserEntity
|
||||
import me.liuwj.ktorm.entity.Entity
|
||||
import org.mapstruct.Mapper
|
||||
import org.mapstruct.ReportingPolicy
|
||||
|
||||
@Mapper(uses = [UserEntityFactory::class])
|
||||
@Mapper(uses = [UserEntityFactory::class], unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
internal interface UserConverter {
|
||||
fun toUser(userEntity: UserEntity): User
|
||||
fun toPersistedUser(userEntity: UserEntity): PersistedUser
|
||||
|
||||
18
simplenotes-search/build.gradle.kts
Normal file
18
simplenotes-search/build.gradle.kts
Normal file
@ -0,0 +1,18 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":simplenotes-types"))
|
||||
|
||||
implementation(Libs.luceneCore)
|
||||
implementation(Libs.luceneQueryParser)
|
||||
implementation(Libs.luceneAnalyzersCommon)
|
||||
implementation(Libs.slf4jApi)
|
||||
implementation(Libs.koinCore)
|
||||
|
||||
testImplementation(Libs.junit)
|
||||
testImplementation(Libs.assertJ)
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-search</artifactId>
|
||||
|
||||
<properties>
|
||||
<lucene.version>8.6.1</lucene.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-types</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-core</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-analyzers-common</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-queryparser</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-test-resources</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
</project>
|
||||
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-test-resources</artifactId>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
10
simplenotes-types/build.gradle.kts
Normal file
10
simplenotes-types/build.gradle.kts
Normal file
@ -0,0 +1,10 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
kotlin("plugin.serialization") version "1.4.10"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(Libs.kotlinxSerializationJson)
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-types</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlinx</groupId>
|
||||
<artifactId>kotlinx-serialization-json-jvm</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
14
simplenotes-views/build.gradle.kts
Normal file
14
simplenotes-views/build.gradle.kts
Normal file
@ -0,0 +1,14 @@
|
||||
import be.simplenotes.Libs
|
||||
|
||||
plugins {
|
||||
id("be.simplenotes.base")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":simplenotes-types"))
|
||||
|
||||
implementation(Libs.koinCore)
|
||||
implementation(Libs.konform)
|
||||
implementation(Libs.kotlinxHtml)
|
||||
implementation(Libs.prettytime)
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>simplenotes-parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>simplenotes-views</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.koin</groupId>
|
||||
<artifactId>koin-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.konform</groupId>
|
||||
<artifactId>konform-jvm</artifactId>
|
||||
<version>0.2.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlinx</groupId>
|
||||
<artifactId>kotlinx-html-jvm</artifactId>
|
||||
<version>0.7.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ocpsoft.prettytime</groupId>
|
||||
<artifactId>prettytime</artifactId>
|
||||
<version>4.0.5.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<artifactId>simplenotes-types</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
Loading…
x
Reference in New Issue
Block a user