You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Kurt T Stam <ku...@gmail.com> on 2009/12/17 16:22:24 UTC
restricted classes - com.sun usage
Hi guys,
While working on the maven build, we noticed that the jacob-ap depends
on the use of restricted classes of the SUN JDK.
i.e. org.apache.ode.jacob.ap.ChannelTypeAnnotationProcessor
import com.sun.mirror.apt.AnnotationProcessor;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
import com.sun.mirror.declaration.AnnotationTypeDeclaration;
import com.sun.mirror.declaration.InterfaceDeclaration;
import com.sun.mirror.type.InterfaceType;
import com.sun.mirror.util.DeclarationFilter;
This seems like a problem to me, also it now ties us to using a SUN jdk?
Does anyone have some more background info on this?
Thx,
--Kurt
Re: restricted classes - com.sun usage
Posted by Matthieu Riou <ma...@gmail.com>.
On Thu, Dec 17, 2009 at 3:39 PM, Kurt T Stam <ku...@gmail.com> wrote:
> Thx Tammo,
>
> It's good to know there is no runtime dependency, and I think checking the
> generated classes in would be an improvement. How often do these classes
> change?
Very rarely. Actually we've discussed checking those in many times (I can
still hear Alex pestering).
> If they need to be regenerated often I'd still like to explore if there
> isn't a way we can avoid being tied to the use of restricted classes, even
> at code generation time. Is there any documentation around this that can
> help me understand how/why this is used. I'm familiar with annotations, but
> not with using them to generate code.
>
This is fairly old, probably more than 3 years old. IIRC, PXE was originally
using javadoc comments for the generation, XDoclet style (remember how that
was all the rage back then :) ). When Java annotations came out, the
generation has been changed to use apt. Note that in this case, interfaces
that are necessary to write and compile code are generated, so in contrary
to a lot of other annotations use it's not runtime information. The type
safety was an important part of the design as I recall it.
Matthieu
>
> --Kurt
>
>
> Tammo van Lessen wrote:
>
>> Hi Kurt,
>>
>> these classes are needed as ODE's jacob implementation uses Java
>> annotations to generate a couple of files (ChannelListeners basically).
>>
>> However, we could think about committing these files to SVN and put an
>> ant script in place to generate them on demand.
>>
>> Cheers,
>> Tammo
>>
>> On 17.12.2009 16:22, Kurt T Stam wrote:
>>
>>
>>> Hi guys,
>>>
>>> While working on the maven build, we noticed that the jacob-ap depends
>>> on the use of restricted classes of the SUN JDK.
>>>
>>> i.e. org.apache.ode.jacob.ap.ChannelTypeAnnotationProcessor
>>>
>>> import com.sun.mirror.apt.AnnotationProcessor;
>>> import com.sun.mirror.apt.AnnotationProcessorEnvironment;
>>> import com.sun.mirror.declaration.AnnotationTypeDeclaration;
>>> import com.sun.mirror.declaration.InterfaceDeclaration;
>>> import com.sun.mirror.type.InterfaceType;
>>> import com.sun.mirror.util.DeclarationFilter;
>>>
>>> This seems like a problem to me, also it now ties us to using a SUN jdk?
>>> Does anyone have some more background info on this?
>>>
>>> Thx,
>>>
>>> --Kurt
>>>
>>>
>>
>>
>>
>>
>
>
Re: restricted classes - com.sun usage
Posted by Kurt T Stam <ku...@gmail.com>.
Thx Tammo,
It's good to know there is no runtime dependency, and I think checking
the generated classes in would be an improvement. How often do these
classes change? If they need to be regenerated often I'd still like to
explore if there isn't a way we can avoid being tied to the use of
restricted classes, even at code generation time. Is there any
documentation around this that can help me understand how/why this is
used. I'm familiar with annotations, but not with using them to generate
code.
--Kurt
Tammo van Lessen wrote:
> Hi Kurt,
>
> these classes are needed as ODE's jacob implementation uses Java
> annotations to generate a couple of files (ChannelListeners basically).
>
> However, we could think about committing these files to SVN and put an
> ant script in place to generate them on demand.
>
> Cheers,
> Tammo
>
> On 17.12.2009 16:22, Kurt T Stam wrote:
>
>> Hi guys,
>>
>> While working on the maven build, we noticed that the jacob-ap depends
>> on the use of restricted classes of the SUN JDK.
>>
>> i.e. org.apache.ode.jacob.ap.ChannelTypeAnnotationProcessor
>>
>> import com.sun.mirror.apt.AnnotationProcessor;
>> import com.sun.mirror.apt.AnnotationProcessorEnvironment;
>> import com.sun.mirror.declaration.AnnotationTypeDeclaration;
>> import com.sun.mirror.declaration.InterfaceDeclaration;
>> import com.sun.mirror.type.InterfaceType;
>> import com.sun.mirror.util.DeclarationFilter;
>>
>> This seems like a problem to me, also it now ties us to using a SUN jdk?
>> Does anyone have some more background info on this?
>>
>> Thx,
>>
>> --Kurt
>>
>
>
>
Re: restricted classes - com.sun usage
Posted by Tammo van Lessen <tv...@gmail.com>.
Hi Kurt,
these classes are needed as ODE's jacob implementation uses Java
annotations to generate a couple of files (ChannelListeners basically).
However, we could think about committing these files to SVN and put an
ant script in place to generate them on demand.
Cheers,
Tammo
On 17.12.2009 16:22, Kurt T Stam wrote:
> Hi guys,
>
> While working on the maven build, we noticed that the jacob-ap depends
> on the use of restricted classes of the SUN JDK.
>
> i.e. org.apache.ode.jacob.ap.ChannelTypeAnnotationProcessor
>
> import com.sun.mirror.apt.AnnotationProcessor;
> import com.sun.mirror.apt.AnnotationProcessorEnvironment;
> import com.sun.mirror.declaration.AnnotationTypeDeclaration;
> import com.sun.mirror.declaration.InterfaceDeclaration;
> import com.sun.mirror.type.InterfaceType;
> import com.sun.mirror.util.DeclarationFilter;
>
> This seems like a problem to me, also it now ties us to using a SUN jdk?
> Does anyone have some more background info on this?
>
> Thx,
>
> --Kurt
--
Tammo van Lessen - http://www.taval.de