| plugins { |
| id 'groovy' |
| id 'java-library' |
| } |
| |
| version = projectVersion |
| group = 'org.apache.grails.data' |
| |
| ext { |
| apiDocs = true |
| pomArtifactId = 'grails-data-mongodb-bson' |
| 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: AbstractBsonReader, AbstractBsonWriter, BsonBinary, BsonContextType, BsonDbPointer, BsonReader, |
| // BsonRegularExpression, BsonRenderMark, BsonTimestamp, BsonType, CodecRegistry, Decimal128, Document, |
| // EncoderContext, JsonWriterSettings, ObjectId |
| // impl: JsonParseException |
| } |
| api project(':grails-datastore-core'), { |
| // api: Criterion, Embedded, In, Junction, Like, PersistentEntity, Projection, PropertyCriterion, |
| // PropertyNameCriterion, Query, Session |
| // impl: Custom, CustomTypeMarshaller, EntityReflector, MappingContext, MappingUtils, PersistentProperty, |
| // Property, ProxyHandler, ToOne |
| if (excludeUnusedTransDeps) { |
| // API dependencies in grails-core |
| exclude group: 'jakarta.annotation', module: 'jakarta.annotation-api' |
| exclude group: 'jakarta.inject', module: 'jakarta.inject-api' |
| //exclude group: 'jakarta.persistence', module: 'jakarta.persistence-api' // Entity |
| exclude group: 'org.apache.grails.bootstrap', module: 'grails-bootstrap' |
| exclude group: 'org.apache.grails.data', module: 'grails-datastore-core' |
| exclude group: 'org.apache.grails', module: 'grails-spring' |
| exclude group: 'org.springframework', module: 'spring-beans' |
| exclude group: 'org.springframework', module: 'spring-context' |
| //exclude group: 'org.springframework', module: 'spring-core' // ConversionService |
| exclude group: 'org.springframework', module: 'spring-tx' |
| exclude group: 'org.springframework.boot', module: 'spring-boot' |
| exclude group: 'org.springframework.boot', module: 'spring-boot-autoconfigure' |
| } |
| } |
| api project(':grails-datamapping-core'), { |
| // api: DetachedCriteria |
| 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.data', module: 'grails-datastore-core' |
| exclude group: 'org.apache.grails.data', module: 'grails-datamapping-validation' |
| //exclude group: 'org.springframework', module: 'spring-context' // Validator |
| exclude group: 'org.springframework', module: 'spring-jdbc' |
| exclude group: 'org.springframework', module: 'spring-tx' |
| } |
| } |
| |
| implementation 'org.springframework:spring-tx', { |
| // impl: InvalidDataAccessResourceUsageException |
| } |
| implementation 'org.apache.groovy:groovy', { |
| // impl: GStringImpl, NullObject |
| // comp: @CompileStatic, @CompileDynamic |
| } |
| |
| testImplementation 'org.apache.groovy:groovy-json', { |
| // impl: JsonSlurper |
| } |
| testImplementation 'org.spockframework:spock-core' |
| } |
| |
| 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') |