Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Javax to Jakarta transition + mongoDB driver #13599

Merged
merged 1 commit into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ buildscript {
classpath "io.github.gradle-nexus:publish-plugin:1.3.0"
classpath "com.netflix.nebula:gradle-extra-configurations-plugin:10.0.0"
classpath "com.bmuschko:gradle-nexus-plugin:$gradleNexusPluginVersion"
classpath "javax.xml.bind:jaxb-api:$jaxbApiVersion"
classpath "jakarta.xml.bind:jakarta.xml.bind-api:$jakartaXmlBindVersion"
classpath "com.sun.xml.bind:jaxb-impl:$jaxbImplVersion"
classpath("gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:0.16.1")
}
Expand All @@ -33,11 +33,6 @@ ext {
names : ['fields'],
modules: ['']
],
'javax.annotation-api' : [version: javaxAnnotationApiVersion,
group : 'javax.annotation',
names : ['javax.annotation'],
modules: ['api']
],
'jakarta-annotation' : [version: jakartaAnnotationApiVersion,
group : 'jakarta.annotation',
names : ['jakarta.annotation-api'],
Expand Down
12 changes: 6 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ gradleNexusPluginVersion=2.3.1
gradleNexusStagingPluginVersion=0.12.0
groovyVersion=4.0.22
gspVersion=7.0.0-SNAPSHOT
h2.version=2.2.224
h2Version=2.2.224
jacksonVersion=2.17.2
hibernateDatastoreVersion=9.0.0-SNAPSHOT
jakartaAnnotationApiVersion=2.0.0
jakartaAnnotationApiVersion=3.0.0
jakartaXmlBindVersion=4.0.2
jaxbImplVersion=4.0.5
jakartaInjectVersion=2.0.1
jakartaPersistenceVersion=3.1.0
jansiVersion=1.18
javaParserCoreVersion=3.25.10
javaxAnnotationApiVersion=1.3.2
jaxbApiVersion=2.3.1
jaxbImplVersion=4.0.5
jlineVersion=2.14.6
jnaVersion=5.14.0
junitVersion=4.13.2
Expand All @@ -33,7 +33,7 @@ micronautCacheVersion=4.3.0
micronautRuntimeGroovyVersion=4.3.0
micronautSpringVersion=5.7.0
micronautVersion=4.5.3
mongodbJavaDriverVersion=4.11.0
mongodbJavaDriverVersion=5.1.4
objenesisVersion=3.3
scaffoldingCoreVersion=2.1.0
servletApiVersion=6.0.0
Expand Down
2 changes: 0 additions & 2 deletions gradle/docs.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,6 @@ tasks.register('groovydoc', Groovydoc) {
source subProjects.sourceSets.main.groovy.srcDirs
// Can't make these link methods to work
// link("http://static.springsource.org/spring/docs/3.0.x/javadoc-api", "org.springframework.")
// link("http://download.oracle.com/javase/1.5.0/docs/api", "java." , "javax.")
// link("http://download.oracle.com/javaee/5/api", "javax.")
doLast {
delete("${buildDir}/tmp")
}
Expand Down
6 changes: 3 additions & 3 deletions grails-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ dependencies {
annotationProcessor "io.micronaut.spring:micronaut-spring-annotation:$micronautSpringVersion"
annotationProcessor "io.micronaut.cache:micronaut-cache-core:$micronautCacheVersion"
api "io.micronaut:micronaut-inject:$micronautVersion"
api "javax.inject:javax.inject:1"
api "jakarta.inject:jakarta.inject-api:$jakartaInjectVersion"
api "io.micronaut.spring:micronaut-spring-context:$micronautSpringVersion", {
exclude group:"org.slf4j", module: "slf4j-simple"
}
api "io.micronaut.cache:micronaut-cache-core:$micronautCacheVersion", {
exclude group:"org.slf4j", module: "slf4j-simple"
}
api "io.micronaut:micronaut-runtime:$micronautVersion"
api 'javax.persistence:javax.persistence-api:2.2'
api "javax.annotation:javax.annotation-api:$javaxAnnotationApiVersion"
api "jakarta.persistence:jakarta.persistence-api:$jakartaPersistenceVersion"
api "jakarta.annotation:jakarta.annotation-api:$jakartaAnnotationApiVersion"

implementation "com.github.ben-manes.caffeine:caffeine:$caffeineVersion"
api("org.springframework.boot:spring-boot:$springBootVersion")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import java.lang.annotation.Annotation
@Slf4j
@CompileStatic
class ClassPathScanner {
private static final List DEFAULT_IGNORED_ROOT_PACKAGES = ['com', 'org', 'net', 'co', 'java', 'javax', 'groovy']
private static final List DEFAULT_IGNORED_ROOT_PACKAGES = ['com', 'org', 'net', 'co', 'java', 'javax', 'jakarta', 'groovy']


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ public static boolean isDomainClass(final ClassNode classNode, final SourceUnit
@SuppressWarnings("unchecked")
boolean isDomainClass = GrailsASTUtils.hasAnyAnnotations(classNode,
grails.persistence.Entity.class,
javax.persistence.Entity.class);
jakarta.persistence.Entity.class);

if (!isDomainClass && sourceNode != null) {
final String sourcePath = sourceNode.getName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Entity;
import jakarta.persistence.Entity;

/**
* Detects annotated domain classes for EJB3 style mappings.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import grails.core.GrailsClass;
import grails.core.GrailsDomainClass;
import grails.core.support.GrailsApplicationAware;
import grails.util.Environment;
import groovy.lang.Closure;
import org.codehaus.groovy.ast.ClassNode;
import org.codehaus.groovy.ast.InnerClassNode;
Expand All @@ -48,7 +47,7 @@ public class DomainClassArtefactHandler extends ArtefactHandlerAdapter implement
public static final String PLUGIN_NAME = "domainClass";
private static final String ENTITY_ANN_NAME = "Entity";
private static final String GRAILS_PACKAGE_PREFIX = "grails.";
private static final String JAVAX_PERSISTENCE = "javax.persistence";
private static final String JAKARTA_PERSISTENCE = "jakarta.persistence";

public DomainClassArtefactHandler() {
super(TYPE, GrailsDomainClass.class, DefaultGrailsDomainClass.class, null, true);
Expand Down Expand Up @@ -149,7 +148,7 @@ private static boolean doIsDomainClassCheck(Class<?> clazz) {
String annName = annType.getSimpleName();

String pkgName = annType.getPackage().getName();
if(ENTITY_ANN_NAME.equals(annName) && pkgName.startsWith(GRAILS_PACKAGE_PREFIX) || pkgName.startsWith(JAVAX_PERSISTENCE)) {
if(ENTITY_ANN_NAME.equals(annName) && pkgName.startsWith(GRAILS_PACKAGE_PREFIX) || pkgName.startsWith(JAKARTA_PERSISTENCE)) {
return true;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,9 @@
import io.micronaut.context.annotation.Factory;
import io.micronaut.context.event.ApplicationEventListener;
import io.micronaut.context.event.ShutdownEvent;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;

import javax.inject.Named;
import javax.inject.Singleton;

/**
* Core beans.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import spock.lang.Ignore
import spock.lang.Issue
import spock.lang.Specification

import javax.persistence.FlushModeType
import jakarta.persistence.FlushModeType

/*
* Copyright 2014 original authors
Expand Down
2 changes: 1 addition & 1 deletion grails-docs/src/test/resources/docs/guide/async.html
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,7 @@ <h2 id="consuming">11.3.1 Consuming Events</h2>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">import</span> <span class="include">grails.events.*</span>
<span class="keyword">import</span> <span class="include">javax.annotation.*</span>
<span class="keyword">import</span> <span class="include">jakarta.annotation.*</span>

<span class="type">class</span> <span class="class">MyClass</span> <span class="directive">implements</span> Events {

Expand Down
6 changes: 3 additions & 3 deletions grails-docs/src/test/resources/docs/guide/hibernate.html
Original file line number Diff line number Diff line change
Expand Up @@ -236,9 +236,9 @@ <h2 id="mappingWithHibernateAnnotations">20.2 Mapping with Hibernate Annotations
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">package</span> com.books;

<span class="keyword">import</span> <span class="include">javax.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.Id</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Id</span>;

<span class="annotation">@Entity</span>
<span class="directive">public</span> <span class="type">class</span> <span class="class">Book</span> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ <h2 id="consuming">11.3.1 Consuming Events</h2>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">import</span> <span class="include">grails.events.*</span>
<span class="keyword">import</span> <span class="include">javax.annotation.*</span>
<span class="keyword">import</span> <span class="include">jakarta.annotation.*</span>

<span class="type">class</span> <span class="class">MyClass</span> <span class="directive">implements</span> Events {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ <h2 id="consuming">11.3.1 Consuming Events</h2>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">import</span> <span class="include">grails.events.*</span>
<span class="keyword">import</span> <span class="include">javax.annotation.*</span>
<span class="keyword">import</span> <span class="include">jakarta.annotation.*</span>

<span class="type">class</span> <span class="class">MyClass</span> <span class="directive">implements</span> Events {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,9 @@ <h2 id="mappingWithHibernateAnnotations">20.2 Mapping with Hibernate Annotations
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">package</span> com.books;

<span class="keyword">import</span> <span class="include">javax.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.Id</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Id</span>;

<span class="annotation">@Entity</span>
<span class="directive">public</span> <span class="type">class</span> <span class="class">Book</span> {
Expand Down
8 changes: 4 additions & 4 deletions grails-docs/src/test/resources/docs/guide/single.backup.html
Original file line number Diff line number Diff line change
Expand Up @@ -16642,7 +16642,7 @@ <h2 id="consuming">11.3.1 Consuming Events</h2>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">import</span> <span class="include">grails.events.*</span>
<span class="keyword">import</span> <span class="include">javax.annotation.*</span>
<span class="keyword">import</span> <span class="include">jakarta.annotation.*</span>

<span class="type">class</span> <span class="class">MyClass</span> <span class="directive">implements</span> Events {

Expand Down Expand Up @@ -24959,9 +24959,9 @@ <h2 id="mappingWithHibernateAnnotations">20.2 Mapping with Hibernate Annotations
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">package</span> com.books;

<span class="keyword">import</span> <span class="include">javax.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.Id</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Id</span>;

<span class="annotation">@Entity</span>
<span class="directive">public</span> <span class="type">class</span> <span class="class">Book</span> {
Expand Down
8 changes: 4 additions & 4 deletions grails-docs/src/test/resources/docs/guide/single.html
Original file line number Diff line number Diff line change
Expand Up @@ -16642,7 +16642,7 @@ <h2 id="consuming">11.3.1 Consuming Events</h2>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">import</span> <span class="include">grails.events.*</span>
<span class="keyword">import</span> <span class="include">javax.annotation.*</span>
<span class="keyword">import</span> <span class="include">jakarta.annotation.*</span>

<span class="type">class</span> <span class="class">MyClass</span> <span class="directive">implements</span> Events {

Expand Down Expand Up @@ -24959,9 +24959,9 @@ <h2 id="mappingWithHibernateAnnotations">20.2 Mapping with Hibernate Annotations
<div class="content">
<pre class="CodeRay highlight"><code data-lang="groovy"><span class="keyword">package</span> com.books;

<span class="keyword">import</span> <span class="include">javax.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">javax.persistence.Id</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Entity</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.GeneratedValue</span>;
<span class="keyword">import</span> <span class="include">jakarta.persistence.Id</span>;

<span class="annotation">@Entity</span>
<span class="directive">public</span> <span class="type">class</span> <span class="class">Book</span> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,7 @@ protected void initializeAndValidateCommandObjectParameter(final BlockStatement
boolean argumentIsValidateable = GrailsASTUtils.hasAnyAnnotations(
commandObjectNode,
grails.persistence.Entity.class,
javax.persistence.Entity.class) ||
jakarta.persistence.Entity.class) ||
commandObjectNode.implementsInterface(ClassHelper.make(Validateable.class));

if (!argumentIsValidateable && commandObjectNode.isPrimaryClassNode()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import org.grails.plugins.databinding.DataBindingConfigurationProperties
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

import javax.inject.Inject
import jakarta.inject.Inject
import java.time.*
import java.time.format.DateTimeFormatter

Expand Down
2 changes: 1 addition & 1 deletion grails-plugin-domain-class/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ dependencies {
exclude group: 'commons-lang', module:'commons-lang'
exclude group: 'javassist', module:'javassist'
exclude group: 'org.javassist', module: 'javassist'
exclude group: "javax.persistence", module:"persistence-api"
exclude group: "jakarta.persistence", module:"persistence-api"
exclude group: 'java-persistence', module:'persistence-api'
}

Expand Down
2 changes: 1 addition & 1 deletion grails-plugin-rest/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies {

api 'javax.xml.bind:jaxb-api:2.3.1'
api "jakarta.xml.bind:jakarta.xml.bind-api:$jakartaXmlBindVersion"

api project(":grails-web"),
project(":grails-plugin-controllers"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ import org.springframework.beans.factory.annotation.Autowired
import org.springframework.core.convert.converter.Converter
import org.springframework.http.HttpMethod

import javax.annotation.PostConstruct
import javax.xml.bind.DatatypeConverter
import jakarta.annotation.PostConstruct
import jakarta.xml.bind.DatatypeConverter
/**
* Renders domain instances in HAL JSON format (see http://tools.ietf.org/html/draft-kelly-json-hal-05)
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import grails.web.mime.MimeType
import org.grails.plugins.web.rest.render.json.DefaultJsonRenderer
import org.springframework.beans.factory.annotation.Autowired

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct

/**
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import grails.web.mime.MimeType
import org.grails.plugins.web.rest.render.xml.DefaultXmlRenderer
import org.springframework.beans.factory.annotation.Autowired

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct

/**
* An XML renderer that allows including / excluding properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import groovy.transform.CompileStatic

import java.util.concurrent.ConcurrentHashMap

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct

import grails.util.GrailsClassUtils
import grails.core.support.proxy.ProxyHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import groovy.transform.CompileStatic

import java.lang.reflect.Modifier

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct

import org.codehaus.groovy.ast.ASTNode
import org.codehaus.groovy.ast.AnnotationNode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ import spock.lang.Issue
import spock.lang.Shared
import spock.lang.Specification

import javax.xml.bind.DatatypeConverter
import jakarta.xml.bind.DatatypeConverter

/**
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public void applyDependencies(DependencyCustomizer dependencies) {

@Override
public void applyImports(ImportCustomizer imports) {
imports.addImports("javax.annotation.PostConstruct", "javax.annotation.PreDestroy", "groovy.util.logging.Log",
imports.addImports("jakarta.annotation.PostConstruct", "jakarta.annotation.PreDestroy", "groovy.util.logging.Log",
"org.springframework.stereotype.Controller", "org.springframework.stereotype.Service",
"org.springframework.stereotype.Component", "org.springframework.beans.factory.annotation.Autowired",
"org.springframework.beans.factory.annotation.Value", "org.springframework.context.annotation.Import",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import grails.persistence.Entity
import grails.testing.gorm.DomainUnitTest
import grails.testing.web.controllers.ControllerUnitTest

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct
import spock.lang.Specification

class MarshallerRegistrarSpec extends Specification implements ControllerUnitTest<JsonMarshallerController>, DomainUnitTest<Post> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,11 +243,11 @@ public static void cleanupIncludeRequestAttributes(HttpServletRequest request, M
* Expose the current request URI and paths as {@link jakarta.servlet.http.HttpServletRequest}
* attributes under the keys defined in the Servlet 2.4 specification,
* for containers that implement 2.3 or an earlier version of the Servlet API:
* <code>javax.servlet.forward.request_uri</code>,
* <code>javax.servlet.forward.context_path</code>,
* <code>javax.servlet.forward.servlet_path</code>,
* <code>javax.servlet.forward.path_info</code>,
* <code>javax.servlet.forward.query_string</code>.
* <code>jakarta.servlet.forward.request_uri</code>,
* <code>jakarta.servlet.forward.context_path</code>,
* <code>jakarta.servlet.forward.servlet_path</code>,
* <code>jakarta.servlet.forward.path_info</code>,
* <code>jakarta.servlet.forward.query_string</code>.
* <p>Does not override values if already present, to not cause conflicts
* with the attributes exposed by Servlet 2.4+ containers themselves.
* @param request current servlet request
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import grails.web.mime.MimeType
import groovy.transform.Canonical
import groovy.transform.CompileStatic

import javax.annotation.PostConstruct
import jakarta.annotation.PostConstruct

import org.grails.databinding.bindingsource.DataBindingSourceCreator
import org.grails.web.util.ClassAndMimeTypeRegistry
Expand Down
2 changes: 1 addition & 1 deletion grails-web-url-mappings/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ dependencies {
exclude group: 'commons-lang', module:'commons-lang'
exclude group: 'javassist', module:'javassist'
exclude group: 'org.javassist', module: 'javassist'
exclude group: "javax.persistence", module:"persistence-api"
exclude group: "jakarta.persistence", module:"persistence-api"
exclude group: 'java-persistence', module:'persistence-api'
}

Expand Down
Loading
Loading