description = "Basic MongoDB services for Tapestry, useable outside of a Tapestry web application"

dependencies {
    implementation project(':tapestry-ioc')
    testImplementation project(':tapestry-test')

    implementation group: 'org.mongodb', name: 'mongo-java-driver', version: '2.10.1'

    testImplementation group: 'org.jongo', name: 'jongo', version: '0.3'
    testImplementation "org.junit.jupiter:junit-jupiter:${versions.junitJupiter}"
    testImplementation "de.flapdoodle.embed:de.flapdoodle.embed.mongo:1.28"
}

test {
    useJUnit()
}

jar {
    manifest {
        attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.mongodb.modules.MongodbModule'
    }
}
