| 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') |