blob: 4d6b76648bd97120b465b5642f9daebaec22c116 [file] [log] [blame]
plugins {
id 'groovy'
id 'java-library'
}
version = projectVersion
group = 'org.apache.grails'
ext {
apiDocs = true
pomArtifactId = 'grails-data-mongodb-spring-boot'
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 project(':mongodb-core'), {
// api: MongoDatastore
if (excludeUnusedTransDeps) {
// API dependencies in grails-datastore-gorm-mongodb
exclude group: 'org.mongodb', module: 'mongodb-driver-sync'
exclude group: 'org.apache.grails.data', module: 'grails-datamapping-validation'
//exclude group: 'org.apache.grails.data', module: 'grails-datastore-gorm' // GormEntity needed downstream
//exclude group: 'org.apache.grails.data', module: 'grails-data-mongodb-bson' // Needed at runtime downstream (BsonPersistentEntityCodec)
}
}
api 'org.mongodb:mongodb-driver-core', {
// api: MongoClientSettings
}
api 'org.mongodb:mongodb-driver-sync', {
// api: MongoClient
// impl: MongoClients
}
api 'org.springframework:spring-beans', {
// api: BeansException
// impl: @Autowired(runtime), ConfigurableListableBeanFactory
}
api 'org.springframework:spring-context', {
// api: ApplicationContext, ApplicationContextAware, ConfigurableApplicationContext
// impl: @Bean(runtime), @Configuration(runtime)
}
api 'org.springframework:spring-tx', {
// api: PlatformTransactionManager
}
implementation 'org.apache.groovy:groovy', {
// impl: Needed for Java Spring Boot apps
// comp: @CompileStatic(source)
}
// Provided by grails-datamapping-core
// implementation project(':grails-datastore-core'), {
// // impl: Service
// }
implementation project(':grails-datamapping-core'), {
// impl: ConfigurableApplicationContextEventPublisher
}
implementation 'org.springframework:spring-core', {
// impl: ConfigurableEnvironment
}
implementation 'org.springframework.boot:spring-boot-autoconfigure', {
// impl: AutoConfigurationPackages, @AutoConfigureAfter(runtime), @ConditionalOnMissingBean(runtime),
// MongoAutoConfiguration, MongoProperties
}
compileOnlyApi 'jakarta.persistence:jakarta.persistence-api', {
// compApi: Entity needed for GlobalJpaEntityTransform downstream
}
compileOnly 'org.slf4j:slf4j-api', {
// "optional" compile dependency in mongodb-driver-core
}
testImplementation 'org.spockframework:spock-core'
testRuntimeOnly 'org.slf4j:slf4j-nop'
}
apply from: rootProject.layout.projectDirectory.file('gradle/java-config.gradle')
apply from: rootProject.layout.projectDirectory.file('gradle/mongodb-test-config.gradle')
apply from: rootProject.layout.projectDirectory.file('gradle/publish-config.gradle')