blob: 78ab26c0298e799105b34d00616f6d0addfb5373 [file] [log] [blame]
plugins {
id 'groovy'
id 'java-library'
}
version = projectVersion
group = 'org.apache.grails.data'
dependencies {
implementation platform("org.apache.grails:grails-bom:$grailsVersion")
api 'jakarta.persistence:jakarta.persistence-api', {
// api: FlushModeType, AccessType, CascadeType, EnumType, FetchType, LockModeType, JoinType
// impl: Entity, Transient
}
api "org.javassist:javassist:$javassistVersion", {
// api: MethodHandler
}
api 'org.springframework:spring-context', {
// api: ApplicationContext, ApplicationEvent, ApplicationEventPublisher, ConfigurableApplicationContext, MessageSource, TransactionDefinition, Validator
// impl: DataBinder
}
api 'org.springframework:spring-core', {
// api: ConcurrentReferenceHashMap (used in deprecated class), ConversionService, Converter, ConverterRegistry, PropertyResolver
// impl: Assert, ClassUtils, ConversionException, ConversionFailedException, MapPropertySource, NamedThreadLocal, PathMatchingResourcePatternResolver, Resource (api?), StringUtils
}
api 'org.springframework:spring-tx', {
// api: DataAccessResourceFailureException, OptimisticLockingFailureException, TransactionDefinition
// impl: DefaultTransactionDefinition, InvalidDataAccessResourceUsageException, NoTransactionException, TransactionSynchronizationManager
}
implementation 'com.github.ben-manes.caffeine:caffeine', {
// impl: Caffeine, RemovalListener
}
implementation 'jakarta.annotation:jakarta.annotation-api', {
// impl: PreDestroy
}
implementation 'org.apache.groovy:groovy', {
// impl: Builder
// comp: CompileStatic
}
implementation 'org.springframework:spring-beans', {
// impl: Autowired, BeanUtils, BeanWrapper, BeanWrapperImpl, MutablePropertyValues
}
compileOnly 'org.slf4j:slf4j-api', {
// provided: Logger, LoggerFactory
}
testImplementation project(':grails-datamapping-core'), {
// we only need the @grails.gorm.annotation.Entity annotation to test GORM syntax mapping
transitive = false
}
testImplementation 'org.junit.jupiter:junit-jupiter-api', {
// There are some tests that use JUnit 5
}
testImplementation 'org.spockframework:spock-core'
testRuntimeOnly 'org.apache.groovy:groovy-test-junit5'
testRuntimeOnly 'org.slf4j:slf4j-nop' // Get rid of warning about missing slf4j implementation during tests
}
apply from: rootProject.layout.projectDirectory.file('gradle/java-config.gradle')
apply from: rootProject.layout.projectDirectory.file('gradle/test-config.gradle')
apply from: rootProject.layout.projectDirectory.file('gradle/publish-config.gradle')