blob: 37384c299cf4f7d2d4537bde792f25b54009aa11 [file] [log] [blame]
plugins {
id 'groovy'
id 'java-library'
}
version = projectVersion
group = 'org.apache.grails.data'
ext {
apiDocs = true
pomArtifactId = 'grails-data-mongodb-ext'
pomTitle = 'GORM for MongoDB'
pomDescription = 'Provides a GORM Object Mapping implementations for the MongoDB Document Database'
pomDevelopers = [
'graemerocher': 'Graeme Rocher',
'jeffscottbrown': 'Jeff Brown',
'burtbeckwith': 'Burt Beckwith'
]
}
dependencies {
implementation platform("org.apache.grails:grails-bom:$grailsVersion")
api 'org.mongodb:bson', {
// api: Document, ObjectId
// impl: Bson
}
api 'org.mongodb:mongodb-driver-core', {
// api: DBObject, DeleteResult, ReadPreference, @Nullable(runtime), UpdateResult, WriteConcern
// impl: BasicDBObject
}
implementation project(':mongodb-core'), {
// impl: AbstractMongoObectEntityPersister, AbstractMongoSession, MongoConstants, MongoEntityPersister,
// MongoQuery
if (excludeUnusedTransDeps) {
// API dependencies in grails-datastore-gorm-mongodb
//exclude group: 'org.apache.grails.data', module: 'grails-datastore-core' // NativeEntryEntityPersister
exclude group: 'org.apache.grails.data', module: 'grails-datamapping-core'
exclude group: 'org.apache.grails.data', module: 'grails-data-mongodb-bson'
exclude group: 'org.apache.grails.data', module: 'grails-datamapping-support'
//exclude group: 'org.mongodb', module: 'bson' // Document
exclude group: 'org.mongodb', module: 'mongodb-driver-core'
//exclude group: 'org.mongodb', module: 'mongodb-driver-sync' // FindIterable
exclude group: 'org.springframework', module: 'spring-context'
}
}
implementation project(':grails-datamapping-core'), {
// impl: GormEnhancer
if (excludeUnusedTransDeps) {
// API dependencies in grails-datamapping-core
exclude group: 'jakarta.annotation', module: 'jakarta.annotation-api'
//exclude group: 'jakarta.persistence', module: 'jakarta.persistence-api' // Entity
exclude group: 'org.apache.grails', module: 'grails-core'
exclude group: 'org.apache.grails.data', module: 'grails-datastore-core'
exclude group: 'org.apache.grails.data', module: 'grails-datamapping-validation'
//exclude group: 'org.springframework', module: 'spring-context' // ApplicationEventPublisher
exclude group: 'org.springframework', module: 'spring-jdbc'
//exclude group: 'org.springframework', module: 'spring-tx' // PlatformTransactionManager
}
}
compileOnly 'org.apache.groovy:groovy'
compileOnly 'org.slf4j:slf4j-api', {
// "optional" compile dependency in mongodb-driver-core
}
}
apply from: rootProject.layout.projectDirectory.file('gradle/java-config.gradle')
apply from: rootProject.layout.projectDirectory.file('gradle/publish-config.gradle')