Exit Full View

Brentwood / build.gradle

// tilda (top-level)

buildscript {
    ext.kotlin_version = '1.9.0'
    ext.ktor_version = '1.6.2'
    ext.exposed_version = '0.31.1'
    ext.lucene_version = '8.1.1'
    ext.sqlite_version = '3.27.2.1'
}


plugins {
    id 'org.jetbrains.kotlin.jvm' version "$kotlin_version"
}

repositories {
    mavenCentral()
}

defaultTasks 'installDist'
version = 0.4
group = 'uk.co.nickthecoder'

subprojects {
/*
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }
*/
    repositories {
        mavenCentral()
        // Required for kotlinx-html-jvm (a dependency of ktor-html-builder)
        maven { url "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven" }
    }

}

project(':brentwood-core') {

    apply plugin: 'kotlin'

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

        implementation "org.slf4j:slf4j-simple:1.7.26"

        implementation 'org.apache.commons:commons-text:1.9'

        implementation "io.ktor:ktor-server-core:$ktor_version" // Web framework
        implementation "io.ktor:ktor-server-netty:$ktor_version" // Using the lightweight netty http server
        implementation "io.ktor:ktor-html-builder:$ktor_version"
        implementation "io.ktor:ktor-auth:$ktor_version"

        // For Search
        implementation 'org.apache.httpcomponents:httpclient:4.5.1'
        implementation "org.apache.lucene:lucene-core:$lucene_version"
        implementation "org.apache.lucene:lucene-analyzers-common:$lucene_version"
        implementation "org.apache.lucene:lucene-queries:$lucene_version"
        implementation 'net.sourceforge.htmlcleaner:htmlcleaner:2.15'

        // Database access in Images.
        implementation("org.jetbrains.exposed:exposed-core:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-dao:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")

        // Markdown to html (for the Software component)
        implementation("org.jetbrains:markdown:0.6.0")

        implementation "org.xerial:sqlite-jdbc:$sqlite_version"

        testImplementation 'junit:junit:4.11'
    }
}

project(':brentwood-familyalbum') {

    apply plugin: 'kotlin'

    dependencies {
        implementation project(':brentwood-core')

        implementation "io.ktor:ktor-html-builder:$ktor_version"
        implementation "io.ktor:ktor-auth:$ktor_version"

        implementation("org.jetbrains.exposed:exposed-core:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-dao:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")

        // To migrate from the old database
        implementation 'org.mariadb.jdbc:mariadb-java-client:2.1.2'
    }
}

project(':brentwood-player') {

    apply plugin: 'kotlin'

    dependencies {
        implementation project(':brentwood-core')

        implementation "io.ktor:ktor-html-builder:$ktor_version"

        implementation "org.xerial:sqlite-jdbc:$sqlite_version"

        implementation "org.slf4j:slf4j-simple:1.7.26" // Required by exposed

        implementation("org.jetbrains.exposed:exposed-core:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-dao:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-java-time:$exposed_version")

        // For Search
        implementation "org.apache.lucene:lucene-core:$lucene_version"
        implementation "org.apache.lucene:lucene-analyzers-common:$lucene_version"
        implementation "org.apache.lucene:lucene-queries:$lucene_version"
        implementation "org.apache.lucene:lucene-queryparser:$lucene_version"

        implementation "org:jaudiotagger:2.0.3" // Read music meta-data.
    }
}

project(':brentwood-home') {

    apply plugin: 'kotlin'
    apply plugin: 'application'

    defaultTasks 'run'
    mainClassName = "uk.co.nickthecoder.brentwood.home.NickTheCoder"

    dependencies {

        implementation project(':brentwood-core')
        implementation project(':brentwood-familyalbum')
        implementation project(':brentwood-player')

        implementation "io.ktor:ktor-server-core:$ktor_version"
        implementation "io.ktor:ktor-server-netty:$ktor_version"
        implementation "io.ktor:ktor-html-builder:$ktor_version"
        implementation( "io.ktor:ktor-auth:$ktor_version" )

        implementation("org.xerial:sqlite-jdbc:$sqlite_version")

        implementation("org.jetbrains.exposed:exposed-core:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-dao:$exposed_version")
        implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")

        implementation 'org.apache.httpcomponents:httpclient:4.5.1'
        implementation "org.apache.lucene:lucene-core:$lucene_version"
        implementation "org.apache.lucene:lucene-analyzers-common:$lucene_version"
        implementation "org.apache.lucene:lucene-queries:$lucene_version"
        implementation 'net.sourceforge.htmlcleaner:htmlcleaner:2.15'

        // Markdown to html (for the 3D component)
        implementation("org.jetbrains:markdown:0.6.0")

        // Allows access to setUID and setGID system calls.
        implementation group: 'net.java.dev.jna', name: 'jna', version: '5.8.0'
    }

}