introduce @Suppress annotation to disable processor
This commit is contained in:
parent
c9c0261bfa
commit
31a63b1b1b
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Hibernate, Relational Persistence for Idiomatic Java
|
||||||
|
*
|
||||||
|
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
|
||||||
|
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
|
||||||
|
*/
|
||||||
|
package org.hibernate.annotations.processing;
|
||||||
|
|
||||||
|
import org.hibernate.Incubating;
|
||||||
|
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import static java.lang.annotation.ElementType.PACKAGE;
|
||||||
|
import static java.lang.annotation.ElementType.TYPE;
|
||||||
|
import static java.lang.annotation.RetentionPolicy.CLASS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates that a package or top-level type should be ignored
|
||||||
|
* by the Hibernate annotation processor.
|
||||||
|
*
|
||||||
|
* @author Gavin King
|
||||||
|
* @since 6.5
|
||||||
|
*/
|
||||||
|
@Target({PACKAGE, TYPE})
|
||||||
|
@Retention(CLASS)
|
||||||
|
@Incubating
|
||||||
|
public @interface Suppress {
|
||||||
|
}
|
|
@ -10,10 +10,12 @@ package org.hibernate.orm.test.annotations.onetoone;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.OneToOne;
|
import jakarta.persistence.OneToOne;
|
||||||
|
import org.hibernate.annotations.processing.Suppress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Emmanuel Bernard
|
* @author Emmanuel Bernard
|
||||||
*/
|
*/
|
||||||
|
@Suppress
|
||||||
@Entity
|
@Entity
|
||||||
public class ShowDescription {
|
public class ShowDescription {
|
||||||
@Id
|
@Id
|
||||||
|
|
|
@ -279,7 +279,11 @@ public class HibernateProcessor extends AbstractProcessor {
|
||||||
|
|
||||||
for ( Element element : roundEnvironment.getRootElements() ) {
|
for ( Element element : roundEnvironment.getRootElements() ) {
|
||||||
try {
|
try {
|
||||||
if ( isEntityOrEmbeddable( element ) ) {
|
if ( hasAnnotation( element, SUPPRESS)
|
||||||
|
|| hasAnnotation( context.getElementUtils().getPackageOf(element), SUPPRESS ) ) {
|
||||||
|
// skip it completely
|
||||||
|
}
|
||||||
|
else if ( isEntityOrEmbeddable( element ) ) {
|
||||||
context.logMessage( Diagnostic.Kind.OTHER, "Processing annotated entity class '" + element + "'" );
|
context.logMessage( Diagnostic.Kind.OTHER, "Processing annotated entity class '" + element + "'" );
|
||||||
handleRootElementAnnotationMirrors( element );
|
handleRootElementAnnotationMirrors( element );
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ public final class Constants {
|
||||||
public static final String SQL = "org.hibernate.annotations.processing.SQL";
|
public static final String SQL = "org.hibernate.annotations.processing.SQL";
|
||||||
public static final String FIND = "org.hibernate.annotations.processing.Find";
|
public static final String FIND = "org.hibernate.annotations.processing.Find";
|
||||||
public static final String PATTERN = "org.hibernate.annotations.processing.Pattern";
|
public static final String PATTERN = "org.hibernate.annotations.processing.Pattern";
|
||||||
|
public static final String SUPPRESS = "org.hibernate.annotations.processing.Suppress";
|
||||||
|
|
||||||
public static final String JD_REPOSITORY = "jakarta.data.repository.Repository";
|
public static final String JD_REPOSITORY = "jakarta.data.repository.Repository";
|
||||||
public static final String JD_QUERY = "jakarta.data.repository.Query";
|
public static final String JD_QUERY = "jakarta.data.repository.Query";
|
||||||
|
|
Loading…
Reference in New Issue