[ 
https://issues.apache.org/jira/browse/OPENJPA-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew T. Adams updated OPENJPA-1659:
--------------------------------------

    Attachment: javac_bug.zip

I just added another bug report after discovering another scenario where javac 
fails:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6954300

It's not public yet either, but it includes another annotation that causes 
javac to fail with an annotation processor present.

The attached zip file adds the annotation "RequiresMutability" to the testcase 
and supercedes all other test cases.

> OpenJPA 2.0.0 annotation processor causes plain old Java compilation to fail
> ----------------------------------------------------------------------------
>
>                 Key: OPENJPA-1659
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1659
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>         Environment: * javac 1.6.0_18 & 1.6.0_20 on Linux (Ubuntu 10.04 LTS) 
> * javac 1.6.0_20 on Windows XP SP3
>            Reporter: Matthew T. Adams
>         Attachments: javac_bug.zip, OPENJPA-1659-OffTheHook.zip, 
> OPENJPA-1659-testcase.zip
>
>
> Compiling the annotation whose source is below with openjpa-2.0.0.jar on the 
> classpath fails with the following error; compiling without succeeds.  If I 
> remove the file META-INF/services/javax.annotation.processor.Processor from 
> the openjpa-2.0.0.jar, compilation succeeds.
> =====================================
> Compilation log with OpenJPA on classpath:
> =====================================
> $ javac -d target/classes -classpath openjpa-2.0.0.jar 
> src/main/java/ann/ValidatedTime.java -g -verbose -nowarn -target 1.6 -source 
> 1.6
> [parsing started src/main/java/ann/ValidatedTime.java]
> [parsing completed 16ms]
> [search path for source files: openjpa-2.0.0.jar]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,openjpa-2.0.0.jar]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> Round 1:
>       input files: {ann.ValidatedTime}
>       annotations: [java.lang.annotation.Retention, 
> java.lang.annotation.Target]
>       last round: false
> Round 2:
>       input files: {}
>       annotations: []
>       last round: true
> [search path for source files: openjpa-2.0.0.jar]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,openjpa-2.0.0.jar]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> src/main/java/ann/ValidatedTime.java:21: incompatible types
> found   : ann.ValidatedTime.Precision
> required: ann.ValidatedTime.Precision
>       Precision precision() default Precision.SECOND;
>                                              ^
> [checking ann.ValidatedTime]
> [loading 
> java/lang/CloneNotSupportedException.class(java/lang:CloneNotSupportedException.class)]
> [loading java/lang/Class.class(java/lang:Class.class)]
> [total 437ms]
> 1 error
> =====================================
> Compilation log without OpenJPA on classpath:
> =====================================
> $ javac -d target/classes src/main/java/ann/ValidatedTime.java -g -verbose 
> -nowarn -target 1.6 -source 1.6[parsing started 
> src/main/java/ann/ValidatedTime.java]
> [parsing completed 16ms]
> [search path for source files: .]
> [search path for class files: 
> /home/madams/programs/java/jdk1.6.0_20/jre/lib/resources.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/rt.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/sunrsasign.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jsse.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/jce.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/charsets.jar,/home/madams/programs/java/jdk1.6.0_20/jre/classes,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/localedata.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/dnsns.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunjce_provider.jar,/home/madams/programs/java/jdk1.6.0_20/jre/lib/ext/sunpkcs11.jar,.]
> [loading 
> java/lang/annotation/ElementType.class(java/lang/annotation:ElementType.class)]
> [loading 
> java/lang/annotation/Retention.class(java/lang/annotation:Retention.class)]
> [loading 
> java/lang/annotation/RetentionPolicy.class(java/lang/annotation:RetentionPolicy.class)]
> [loading java/lang/annotation/Target.class(java/lang/annotation:Target.class)]
> [loading 
> java/lang/annotation/Annotation.class(java/lang/annotation:Annotation.class)]
> [loading java/lang/Object.class(java/lang:Object.class)]
> [loading java/lang/Enum.class(java/lang:Enum.class)]
> [loading java/lang/Comparable.class(java/lang:Comparable.class)]
> [loading java/io/Serializable.class(java/io:Serializable.class)]
> [loading java/lang/String.class(java/lang:String.class)]
> [checking ann.ValidatedTime]
> [loading 
> java/lang/CloneNotSupportedException.class(java/lang:CloneNotSupportedException.class)]
> [loading java/lang/Class.class(java/lang:Class.class)]
> [wrote target/classes/ann/ValidatedTime$Precision.class]
> [wrote target/classes/ann/ValidatedTime.class]
> [total 352ms]
> =====================================
> Java source file src/main/java/ann/ValidatedTime.java
> =====================================
> package ann;
> import java.lang.annotation.ElementType;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.lang.annotation.Target;
> @Retention(RetentionPolicy.RUNTIME)
> @Target(ElementType.METHOD)
> public @interface ValidatedTime {
>       Precision precision() default Precision.SECOND;
>       public enum Precision {
>               NANOSECOND, MILLISECOND, SECOND, MINUTE, HOUR
>       }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to