Hi,

Am 01.06.2012 um 15:19 schrieb Richard S. Hall:

> On 6/1/12 08:44 , Felix Meschberger wrote:
>> Hi
>> 
>> I would like to finalize version 3 of our parent POM.
>> 
>> In Rev. 1330389 I implemented FELIX-3486 as follows by defining properties 
>> for Java class file compliance and Java API use checking.
>> 
>> I have set the defaults to..
>> 
>>    * Java 1.3 for class file compliance
>>    * Java 1.3 API compatibility
>> 
>> The goal is to create bundles, which are usable by the least requirements. I 
>> think we should stick to that goal, even though it is ever harder to attain 
>> ...
>> 
>> Particularly, I am not sure any more about the Java API compatibility: 
>> Wouldn't it be better to use Java 1.4 as the default base line ?
> 
> I think 1.4 is the reasonable default.
> 
>> 
>> Second, for Java 5 support we basically have two options:
>> 
>>   * creating Java 5 class files not usable on pre-Java 5 VMs
>>   * creating Java 4 class files not usable on Java 7 and later VMs
>> 
>> Me thinks, that we should have a guideline, that if a project uses Java 5 
>> language features (Generics, for-loops, autoboxing), the default build 
>> should target Java 5 where custom builds can still set the 
>> felix.build.target to jsr14.
>> 
>> WDYT ?
> 
> I think Java 5 class files should be the default if you are using Java 5 
> features.
> 
> Side question: In Framework, we try to target Java 1.4, but we need to 
> use some Java 1.5 methods when we are running on such a JVM. So, I'd 
> like its API check to be Java 1.4 and only issue warnings for Java 1.5 
> methods (or perhaps be able to list specific exceptions in specific 
> files), is that possible?

Yes, the animal sniffer plugin allows to list classes, which should be 
accepted. E.g. if you use ReentrantLock, that class can be listed (I do this in 
the SCR project currently).

Regards
Felix

> 
> -> richard
> 
>> 
>> Regards
>> Felix

Reply via email to