You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Tim Ellison <t....@gmail.com> on 2006/03/17 11:35:06 UTC

[vote] Require compiler options that allow partial 5.0 language features

As discussed on the list, there is a compiler option in the 5.0
compilers we use that allows source code containing a subset of Java 5.0
language features to be compiled into 1.4 compatible class files.

Since this is quite a significant change I'd like to get a vote on
whether the project should make this compiler option a necessity for our
code.

The positive outcome of this is that we can develop APIs that rely on
those 5.0 language features, and run the resulting code on existing
1.4-compatible VMs.

The downside is that we are using an undocumented compiler feature on
the reference implementation (it is supported on the Eclipse compiler).

[ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
[ ]  0 - I don't care
[ ] -1 - No, don't change the compiler options (please state why)


Regards,
Tim

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by karan malhi <ka...@gmail.com>.
Hi Mark,

I am probably missing something. The java tool docs for 1.5 mentions 
that javac -target is a standard option in compilers, so it is a 
documented compiler feature. What would be risk involved in using this 
feature which is already documented as a "Standard Option" in the tool 
docs of jdk1.5 ?
Is there any other document other than "tool docs" which comes with 
jdk1.5 docs where the standard options of the compiler are mentioned?

Mark Hindess wrote:

>+1
>
>This opens up so many new opportunities for contribution that I think
>it's worth the risk of relying on an undocumented compiler feature ...
>and since the Eclipse compiler supports it then the risk is mitigated
>to a large extent anyway.
>
>Regards,
> Mark.
>
>
>On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
>  
>
>>As discussed on the list, there is a compiler option in the 5.0
>>compilers we use that allows source code containing a subset of Java 5.0
>>language features to be compiled into 1.4 compatible class files.
>>
>>Since this is quite a significant change I'd like to get a vote on
>>whether the project should make this compiler option a necessity for our
>>code.
>>
>>The positive outcome of this is that we can develop APIs that rely on
>>those 5.0 language features, and run the resulting code on existing
>>1.4-compatible VMs.
>>
>>The downside is that we are using an undocumented compiler feature on
>>the reference implementation (it is supported on the Eclipse compiler).
>>
>>[ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>>[ ]  0 - I don't care
>>[ ] -1 - No, don't change the compiler options (please state why)
>>
>>
>>Regards,
>>Tim
>>
>>--
>>
>>Tim Ellison (t.p.ellison@gmail.com)
>>IBM Java technology centre, UK.
>>
>>    
>>
>
>
>--
>Mark Hindess <ma...@googlemail.com>
>IBM Java Technology Centre, UK.
>
>  
>

-- 
Karan Singh


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tom Malone <to...@gmail.com>.
+1

On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
> Thanks Etienne -- all opinions welcome!
>
> Etienne Gagnon wrote:
> > If non-members have any say, I'll add a +1.  If not, ignore this... ;-)
> >
> > Etienne
> >
> > Stefano Mazzocchi wrote:
> >>> This opens up so many new opportunities for contribution that I think
> >>> it's worth the risk of relying on an undocumented compiler feature ...
> >>> and since the Eclipse compiler supports it then the risk is mitigated
> >>> to a large extent anyway.
> >
>
> --
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.
>

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
Thanks Etienne -- all opinions welcome!

Etienne Gagnon wrote:
> If non-members have any say, I'll add a +1.  If not, ignore this... ;-)
> 
> Etienne
> 
> Stefano Mazzocchi wrote:
>>> This opens up so many new opportunities for contribution that I think
>>> it's worth the risk of relying on an undocumented compiler feature ...
>>> and since the Eclipse compiler supports it then the risk is mitigated
>>> to a large extent anyway.
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Etienne Gagnon <eg...@sablevm.org>.
If non-members have any say, I'll add a +1.  If not, ignore this... ;-)

Etienne

Stefano Mazzocchi wrote:
>> This opens up so many new opportunities for contribution that I think
>> it's worth the risk of relying on an undocumented compiler feature ...
>> and since the Eclipse compiler supports it then the risk is mitigated
>> to a large extent anyway.

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Stefano Mazzocchi <st...@apache.org>.
Mark Hindess wrote:
> +1
> 
> This opens up so many new opportunities for contribution that I think
> it's worth the risk of relying on an undocumented compiler feature ...
> and since the Eclipse compiler supports it then the risk is mitigated
> to a large extent anyway.

Agreed, +1

And what is undocumented today might become documented tomorrow. ;-)

> 
> Regards,
>  Mark.
> 
> 
> On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
>> As discussed on the list, there is a compiler option in the 5.0
>> compilers we use that allows source code containing a subset of Java 5.0
>> language features to be compiled into 1.4 compatible class files.
>>
>> Since this is quite a significant change I'd like to get a vote on
>> whether the project should make this compiler option a necessity for our
>> code.
>>
>> The positive outcome of this is that we can develop APIs that rely on
>> those 5.0 language features, and run the resulting code on existing
>> 1.4-compatible VMs.
>>
>> The downside is that we are using an undocumented compiler feature on
>> the reference implementation (it is supported on the Eclipse compiler).
>>
>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>> [ ]  0 - I don't care
>> [ ] -1 - No, don't change the compiler options (please state why)
>>
>>
>> Regards,
>> Tim
>>
>> --
>>
>> Tim Ellison (t.p.ellison@gmail.com)
>> IBM Java technology centre, UK.
>>
> 
> 
> --
> Mark Hindess <ma...@googlemail.com>
> IBM Java Technology Centre, UK.


-- 
Stefano.


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Mikhail Loenko <ml...@gmail.com>.
+1

Thanks,
Mikhail

2006/3/17, Mark Hindess <ma...@googlemail.com>:
> +1
>
> This opens up so many new opportunities for contribution that I think
> it's worth the risk of relying on an undocumented compiler feature ...
> and since the Eclipse compiler supports it then the risk is mitigated
> to a large extent anyway.
>
> Regards,
>  Mark.
>
>
> On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
> > As discussed on the list, there is a compiler option in the 5.0
> > compilers we use that allows source code containing a subset of Java 5.0
> > language features to be compiled into 1.4 compatible class files.
> >
> > Since this is quite a significant change I'd like to get a vote on
> > whether the project should make this compiler option a necessity for our
> > code.
> >
> > The positive outcome of this is that we can develop APIs that rely on
> > those 5.0 language features, and run the resulting code on existing
> > 1.4-compatible VMs.
> >
> > The downside is that we are using an undocumented compiler feature on
> > the reference implementation (it is supported on the Eclipse compiler).
> >
> > [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> > [ ]  0 - I don't care
> > [ ] -1 - No, don't change the compiler options (please state why)
> >
> >
> > Regards,
> > Tim
> >
> > --
> >
> > Tim Ellison (t.p.ellison@gmail.com)
> > IBM Java technology centre, UK.
> >
>
>
> --
> Mark Hindess <ma...@googlemail.com>
> IBM Java Technology Centre, UK.
>

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Mark Hindess <ma...@googlemail.com>.
+1

This opens up so many new opportunities for contribution that I think
it's worth the risk of relying on an undocumented compiler feature ...
and since the Eclipse compiler supports it then the risk is mitigated
to a large extent anyway.

Regards,
 Mark.


On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
>
>
> Regards,
> Tim
>
> --
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.
>


--
Mark Hindess <ma...@googlemail.com>
IBM Java Technology Centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Oliver Deakin <ol...@googlemail.com>.
karan malhi wrote:
> +1.
>
> I didnt quite understand as to why is it an undocumented compiler 
> feature? The standard javac compiler does have a "target" option , 
> which is probably what eclipse would be using to generate the class 
> files for 1.4 target vm.

It is the "jsr14" part of the option that is undocumented rather than 
the "-target". If you use the standard "-target 1.4", the compiler will 
give you an error message and will not compile your source. You have to 
use "-target jsr14" to be able to compile 5.0 source into 1.4 bytecode.

>
> Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
>
>> compilers we use that allows source code containing a subset of Java 5.0
>> language features to be compiled into 1.4 compatible class files.
>>
>> Since this is quite a significant change I'd like to get a vote on
>> whether the project should make this compiler option a necessity for our
>> code.
>>
>> The positive outcome of this is that we can develop APIs that rely on
>> those 5.0 language features, and run the resulting code on existing
>> 1.4-compatible VMs.
>>
>> The downside is that we are using an undocumented compiler feature on
>> the reference implementation (it is supported on the Eclipse compiler).
>>
>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>> [ ]  0 - I don't care
>> [ ] -1 - No, don't change the compiler options (please state why)
>>
>>
>> Regards,
>> Tim
>>
>>  
>>
>

-- 
Oliver Deakin
IBM United Kingdom Limited


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by karan malhi <ka...@gmail.com>.
+1.

I didnt quite understand as to why is it an undocumented compiler 
feature? The standard javac compiler does have a "target" option , which 
is probably what eclipse would be using to generate the class files for 
1.4 target vm.

Tim Ellison wrote:
As discussed on the list, there is a compiler option in the 5.0

>compilers we use that allows source code containing a subset of Java 5.0
>language features to be compiled into 1.4 compatible class files.
>
>Since this is quite a significant change I'd like to get a vote on
>whether the project should make this compiler option a necessity for our
>code.
>
>The positive outcome of this is that we can develop APIs that rely on
>those 5.0 language features, and run the resulting code on existing
>1.4-compatible VMs.
>
>The downside is that we are using an undocumented compiler feature on
>the reference implementation (it is supported on the Eclipse compiler).
>
>[ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>[ ]  0 - I don't care
>[ ] -1 - No, don't change the compiler options (please state why)
>
>
>Regards,
>Tim
>
>  
>

-- 
Karan Singh


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Richard Liang <ri...@gmail.com>.
+1

Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
>
>
> Regards,
> Tim
>
>   


-- 
Richard Liang
China Software Development Lab, IBM



Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Geir Magnusson Jr <ge...@pobox.com>.

Tim Ellison wrote:
> Geir Magnusson Jr wrote:
>>
>> Tim Ellison wrote:
>>> It is available in both Sun and Eclipse compilers (as different names),
>>> so I'll take that as +1.
>> How about IBM?
> 
> Yes, I meant 'Sun-derived'.  IBM's Java SDK didn't take that option out,
> and I would expect to see it in BEA's etc too.

I thought IBM rolled their own, and I didn't think that BEA shipped a 
JRE.  Cool.

+1 from me

geir

> 
> Regards,
> Tim
> 
>>> Of course, as soon as the JCHEVM can understand 1.5-format class files
>>> we'll drop the target flag.
>>>
>>> Regards,
>>> Tim
>>>
>>> Geir Magnusson Jr wrote:
>>>> Tim Ellison wrote:
>>>>> As discussed on the list, there is a compiler option in the 5.0
>>>>> compilers we use that allows source code containing a subset of Java
>>>>> 5.0
>>>>> language features to be compiled into 1.4 compatible class files.
>>>>>
>>>>> Since this is quite a significant change I'd like to get a vote on
>>>>> whether the project should make this compiler option a necessity for
>>>>> our
>>>>> code.
>>>> I'm scared of tying us to only 1 compiler, although it would be nice to
>>>> get going on some of the 5.0 features.
>>>>
>>>>> The positive outcome of this is that we can develop APIs that rely on
>>>>> those 5.0 language features, and run the resulting code on existing
>>>>> 1.4-compatible VMs.
>>>>>
>>>>> The downside is that we are using an undocumented compiler feature on
>>>>> the reference implementation (it is supported on the Eclipse compiler).
>>>>>
>>>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4
>>>>> target
>>>>> [ ]  0 - I don't care
>>>>> [ ] -1 - No, don't change the compiler options (please state why)
>>>> +1 as long as this can be found in both the Sun and Eclipse compilers,
>>>>
>>>> -1 if not
>>>>
>>>> geir
>>>>
>>>>
> 

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
Geir Magnusson Jr wrote:
> 
> 
> Tim Ellison wrote:
>> It is available in both Sun and Eclipse compilers (as different names),
>> so I'll take that as +1.
> 
> How about IBM?

Yes, I meant 'Sun-derived'.  IBM's Java SDK didn't take that option out,
and I would expect to see it in BEA's etc too.

Regards,
Tim

>> Of course, as soon as the JCHEVM can understand 1.5-format class files
>> we'll drop the target flag.
>>
>> Regards,
>> Tim
>>
>> Geir Magnusson Jr wrote:
>>>
>>> Tim Ellison wrote:
>>>> As discussed on the list, there is a compiler option in the 5.0
>>>> compilers we use that allows source code containing a subset of Java
>>>> 5.0
>>>> language features to be compiled into 1.4 compatible class files.
>>>>
>>>> Since this is quite a significant change I'd like to get a vote on
>>>> whether the project should make this compiler option a necessity for
>>>> our
>>>> code.
>>> I'm scared of tying us to only 1 compiler, although it would be nice to
>>> get going on some of the 5.0 features.
>>>
>>>> The positive outcome of this is that we can develop APIs that rely on
>>>> those 5.0 language features, and run the resulting code on existing
>>>> 1.4-compatible VMs.
>>>>
>>>> The downside is that we are using an undocumented compiler feature on
>>>> the reference implementation (it is supported on the Eclipse compiler).
>>>>
>>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4
>>>> target
>>>> [ ]  0 - I don't care
>>>> [ ] -1 - No, don't change the compiler options (please state why)
>>> +1 as long as this can be found in both the Sun and Eclipse compilers,
>>>
>>> -1 if not
>>>
>>> geir
>>>
>>>
>>
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Geir Magnusson Jr <ge...@pobox.com>.

Tim Ellison wrote:
> It is available in both Sun and Eclipse compilers (as different names),
> so I'll take that as +1.

How about IBM?

> 
> Of course, as soon as the JCHEVM can understand 1.5-format class files
> we'll drop the target flag.
> 
> Regards,
> Tim
> 
> Geir Magnusson Jr wrote:
>>
>> Tim Ellison wrote:
>>> As discussed on the list, there is a compiler option in the 5.0
>>> compilers we use that allows source code containing a subset of Java 5.0
>>> language features to be compiled into 1.4 compatible class files.
>>>
>>> Since this is quite a significant change I'd like to get a vote on
>>> whether the project should make this compiler option a necessity for our
>>> code.
>> I'm scared of tying us to only 1 compiler, although it would be nice to
>> get going on some of the 5.0 features.
>>
>>> The positive outcome of this is that we can develop APIs that rely on
>>> those 5.0 language features, and run the resulting code on existing
>>> 1.4-compatible VMs.
>>>
>>> The downside is that we are using an undocumented compiler feature on
>>> the reference implementation (it is supported on the Eclipse compiler).
>>>
>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>>> [ ]  0 - I don't care
>>> [ ] -1 - No, don't change the compiler options (please state why)
>> +1 as long as this can be found in both the Sun and Eclipse compilers,
>>
>> -1 if not
>>
>> geir
>>
>>
> 

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Craig Blake <cr...@mac.com>.
Wow, you learn something new every day.  That's very cool, indeed.   
Thanks for the info.

Craig Blake

On Mar 19, 2006, at 9:50 AM, Tim Ellison wrote:

> Craig,
>
> You are right, the target for Sun-based compilers is "jsr14" (but it
> means the same thing)
>
> See:
> http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/ 
> 200603.mbox/%3c4419738E.9010704@googlemail.com%3e
>
> Regards,
> Tim
>
> Craig Blake wrote:
>> Correct me if I am wrong, but I don't think the Sun compiler actually
>> lets you specify the source as 1.5 and the target as 1.4; every  
>> version
>> of the 1.5 compiler I have tried that on gives an error:
>>
>> javac: source release 1.5 requires target release 1.5
>>
>> So, it seems that relying on that particular combination of  
>> options will
>> rule out building Harmony on the Sun SDK.  Of course, I am on OSX, so
>> maybe one of the newer Sun 1.5 releases finally has it enabled.
>>
>> Craig Blake
>>
>> On Mar 19, 2006, at 7:04 AM, Tim Ellison wrote:
>>
>>> It is available in both Sun and Eclipse compilers (as different  
>>> names),
>>> so I'll take that as +1.
>>>
>>> Of course, as soon as the JCHEVM can understand 1.5-format class  
>>> files
>>> we'll drop the target flag.
>>>
>>> Regards,
>>> Tim
>>>
>>> Geir Magnusson Jr wrote:
>>>>
>>>>
>>>> Tim Ellison wrote:
>>>>> As discussed on the list, there is a compiler option in the 5.0
>>>>> compilers we use that allows source code containing a subset of  
>>>>> Java
>>>>> 5.0
>>>>> language features to be compiled into 1.4 compatible class files.
>>>>>
>>>>> Since this is quite a significant change I'd like to get a vote on
>>>>> whether the project should make this compiler option a  
>>>>> necessity for
>>>>> our
>>>>> code.
>>>>
>>>> I'm scared of tying us to only 1 compiler, although it would be  
>>>> nice to
>>>> get going on some of the 5.0 features.
>>>>
>>>>>
>>>>> The positive outcome of this is that we can develop APIs that  
>>>>> rely on
>>>>> those 5.0 language features, and run the resulting code on  
>>>>> existing
>>>>> 1.4-compatible VMs.
>>>>>
>>>>> The downside is that we are using an undocumented compiler  
>>>>> feature on
>>>>> the reference implementation (it is supported on the Eclipse  
>>>>> compiler).
>>>>>
>>>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4
>>>>> target
>>>>> [ ]  0 - I don't care
>>>>> [ ] -1 - No, don't change the compiler options (please state why)
>>>>
>>>> +1 as long as this can be found in both the Sun and Eclipse  
>>>> compilers,
>>>>
>>>> -1 if not
>>>>
>>>> geir
>>>>
>>>>
>>>
>>> -- 
>>> Tim Ellison (t.p.ellison@gmail.com)
>>> IBM Java technology centre, UK.
>>
>>
>
> -- 
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
Craig,

You are right, the target for Sun-based compilers is "jsr14" (but it
means the same thing)

See:
http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200603.mbox/%3c4419738E.9010704@googlemail.com%3e

Regards,
Tim

Craig Blake wrote:
> Correct me if I am wrong, but I don't think the Sun compiler actually
> lets you specify the source as 1.5 and the target as 1.4; every version
> of the 1.5 compiler I have tried that on gives an error:
> 
> javac: source release 1.5 requires target release 1.5
> 
> So, it seems that relying on that particular combination of options will
> rule out building Harmony on the Sun SDK.  Of course, I am on OSX, so
> maybe one of the newer Sun 1.5 releases finally has it enabled.
> 
> Craig Blake
> 
> On Mar 19, 2006, at 7:04 AM, Tim Ellison wrote:
> 
>> It is available in both Sun and Eclipse compilers (as different names),
>> so I'll take that as +1.
>>
>> Of course, as soon as the JCHEVM can understand 1.5-format class files
>> we'll drop the target flag.
>>
>> Regards,
>> Tim
>>
>> Geir Magnusson Jr wrote:
>>>
>>>
>>> Tim Ellison wrote:
>>>> As discussed on the list, there is a compiler option in the 5.0
>>>> compilers we use that allows source code containing a subset of Java
>>>> 5.0
>>>> language features to be compiled into 1.4 compatible class files.
>>>>
>>>> Since this is quite a significant change I'd like to get a vote on
>>>> whether the project should make this compiler option a necessity for
>>>> our
>>>> code.
>>>
>>> I'm scared of tying us to only 1 compiler, although it would be nice to
>>> get going on some of the 5.0 features.
>>>
>>>>
>>>> The positive outcome of this is that we can develop APIs that rely on
>>>> those 5.0 language features, and run the resulting code on existing
>>>> 1.4-compatible VMs.
>>>>
>>>> The downside is that we are using an undocumented compiler feature on
>>>> the reference implementation (it is supported on the Eclipse compiler).
>>>>
>>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4
>>>> target
>>>> [ ]  0 - I don't care
>>>> [ ] -1 - No, don't change the compiler options (please state why)
>>>
>>> +1 as long as this can be found in both the Sun and Eclipse compilers,
>>>
>>> -1 if not
>>>
>>> geir
>>>
>>>
>>
>> -- 
>> Tim Ellison (t.p.ellison@gmail.com)
>> IBM Java technology centre, UK.
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Craig Blake <cr...@mac.com>.
Correct me if I am wrong, but I don't think the Sun compiler actually  
lets you specify the source as 1.5 and the target as 1.4; every  
version of the 1.5 compiler I have tried that on gives an error:

javac: source release 1.5 requires target release 1.5

So, it seems that relying on that particular combination of options  
will rule out building Harmony on the Sun SDK.  Of course, I am on  
OSX, so maybe one of the newer Sun 1.5 releases finally has it enabled.

Craig Blake

On Mar 19, 2006, at 7:04 AM, Tim Ellison wrote:

> It is available in both Sun and Eclipse compilers (as different  
> names),
> so I'll take that as +1.
>
> Of course, as soon as the JCHEVM can understand 1.5-format class files
> we'll drop the target flag.
>
> Regards,
> Tim
>
> Geir Magnusson Jr wrote:
>>
>>
>> Tim Ellison wrote:
>>> As discussed on the list, there is a compiler option in the 5.0
>>> compilers we use that allows source code containing a subset of  
>>> Java 5.0
>>> language features to be compiled into 1.4 compatible class files.
>>>
>>> Since this is quite a significant change I'd like to get a vote on
>>> whether the project should make this compiler option a necessity  
>>> for our
>>> code.
>>
>> I'm scared of tying us to only 1 compiler, although it would be  
>> nice to
>> get going on some of the 5.0 features.
>>
>>>
>>> The positive outcome of this is that we can develop APIs that  
>>> rely on
>>> those 5.0 language features, and run the resulting code on existing
>>> 1.4-compatible VMs.
>>>
>>> The downside is that we are using an undocumented compiler  
>>> feature on
>>> the reference implementation (it is supported on the Eclipse  
>>> compiler).
>>>
>>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4  
>>> target
>>> [ ]  0 - I don't care
>>> [ ] -1 - No, don't change the compiler options (please state why)
>>
>> +1 as long as this can be found in both the Sun and Eclipse  
>> compilers,
>>
>> -1 if not
>>
>> geir
>>
>>
>
> -- 
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
It is available in both Sun and Eclipse compilers (as different names),
so I'll take that as +1.

Of course, as soon as the JCHEVM can understand 1.5-format class files
we'll drop the target flag.

Regards,
Tim

Geir Magnusson Jr wrote:
> 
> 
> Tim Ellison wrote:
>> As discussed on the list, there is a compiler option in the 5.0
>> compilers we use that allows source code containing a subset of Java 5.0
>> language features to be compiled into 1.4 compatible class files.
>>
>> Since this is quite a significant change I'd like to get a vote on
>> whether the project should make this compiler option a necessity for our
>> code.
> 
> I'm scared of tying us to only 1 compiler, although it would be nice to
> get going on some of the 5.0 features.
> 
>>
>> The positive outcome of this is that we can develop APIs that rely on
>> those 5.0 language features, and run the resulting code on existing
>> 1.4-compatible VMs.
>>
>> The downside is that we are using an undocumented compiler feature on
>> the reference implementation (it is supported on the Eclipse compiler).
>>
>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>> [ ]  0 - I don't care
>> [ ] -1 - No, don't change the compiler options (please state why)
> 
> +1 as long as this can be found in both the Sun and Eclipse compilers,
> 
> -1 if not
> 
> geir
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Geir Magnusson Jr <ge...@pobox.com>.

Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
> 
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.

I'm scared of tying us to only 1 compiler, although it would be nice to 
get going on some of the 5.0 features.

> 
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
> 
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
> 
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)

+1 as long as this can be found in both the Sun and Eclipse compilers,

-1 if not

geir


[result] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
Sorry for the protracted voting period.  The vote was carried:

+1's from Mark Hindess, Oliver Deakin, Stefano Mazzocchi, Etienne
Gagnon, Tom Malone, Mikhail Loenko, Karan Malhi, Nathan Beyer, Richard
Liang, Paulex Yang, Geir Magnusson, Stepan Mishura, Anton Avtamonov.

+0 from Leo Simons

-1 none

Regards,
Tim

Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
> 
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
> 
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
> 
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
> 
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
> 
> 
> Regards,
> Tim
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Yang Paulex <pa...@gmail.com>.
Hi, All

This voting has been open for about one week, so I guess maybe it's time to
summary the results or so? Seems the result is exciting! and I'm going to be
ready to living with staffs like Enum<E extends Enum<E>>;-)

--
Paulex Yang
China Software Development Labotary
IBM

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Paulex Yang <pa...@gmail.com>.
+1

Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
>
>
> Regards,
> Tim
>
>   


-- 
Paulex Yang
China Software Development Lab
IBM



Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Oliver Deakin <ol...@googlemail.com>.
+1
I think the risk is outweighed by the fact that it aids us toward our 
goal of 5.0 API implementation.

Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
>
>
> Regards,
> Tim
>
>   

-- 
Oliver Deakin
IBM United Kingdom Limited


Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Anton Avtamonov <an...@gmail.com>.
+1

--
Anton Avtamonov,
Intel Middleware Products Division


On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Stepan Mishura <st...@gmail.com>.
+1

Thanks,
Stepan.


On 3/17/06, Tim Ellison <t....@gmail.com> wrote:
>
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
>
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
>
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
>
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
>
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
>
>
> Regards,
> Tim
>
> --
>
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.
>



--
Thanks,
Stepan Mishura
Intel Middleware Products Division

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Geir Magnusson Jr <ge...@pobox.com>.

Leo Simons wrote:

> +0 (I think it is a good idea but since I am not working on this stuff I
> feel my vote shouldn't really "count", and since I'm on the PPMC my vote
> might otherwise be considered "binding", whereas the opinions of others
> are way more important)

I'd like to point out that everyone's opinion/vote is important, and we 
don't want people to vote differently than their real opinion because 
they think that it counts more *or* less.

geir

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Leo Simons <ma...@leosimons.com>.
On Fri, Mar 17, 2006 at 10:35:06AM +0000, Tim Ellison wrote:
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
> 
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.

Good call.

> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
> 
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).

Perhaps if enough projects use it it becomes documented :-)

> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)

+0 (I think it is a good idea but since I am not working on this stuff I
feel my vote shouldn't really "count", and since I'm on the PPMC my vote
might otherwise be considered "binding", whereas the opinions of others
are way more important)


- LSD

Re: [vote] Require compiler options that allow partial 5.0 language features

Posted by Tim Ellison <t....@gmail.com>.
ack - thanks Nathan.

Hopefully we can proceed further despite these bugs, and build up a
local body of knowledge about what works and what doesn't (and all vote
for our favourite Eclipse bug to be fixed).

Regards,
Tim

Nathan Beyer wrote:
> +1
> 
> I'm for it, but we'll need to be careful as the Eclipse compiler isn't
> perfect in regards to this functionality. For example, this bug [1] I ran
> into with 3.2 that allowed me to do return type covariance when target 1.4
> was set. Not that these guys aren't doing a great job, but JLS3 added quite
> a few complexities and it's only natural that there will be some bugs.
> 
> [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=128560
> 
>> -----Original Message-----
>> From: Tim Ellison [mailto:t.p.ellison@gmail.com]
>> Sent: Friday, March 17, 2006 4:35 AM
>> To: harmony-dev
>> Subject: [vote] Require compiler options that allow partial 5.0 language
>> features
>>
>> As discussed on the list, there is a compiler option in the 5.0
>> compilers we use that allows source code containing a subset of Java 5.0
>> language features to be compiled into 1.4 compatible class files.
>>
>> Since this is quite a significant change I'd like to get a vote on
>> whether the project should make this compiler option a necessity for our
>> code.
>>
>> The positive outcome of this is that we can develop APIs that rely on
>> those 5.0 language features, and run the resulting code on existing
>> 1.4-compatible VMs.
>>
>> The downside is that we are using an undocumented compiler feature on
>> the reference implementation (it is supported on the Eclipse compiler).
>>
>> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
>> [ ]  0 - I don't care
>> [ ] -1 - No, don't change the compiler options (please state why)
>>
>>
>> Regards,
>> Tim
>>
>> --
>>
>> Tim Ellison (t.p.ellison@gmail.com)
>> IBM Java technology centre, UK.
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

RE: [vote] Require compiler options that allow partial 5.0 language features

Posted by Nathan Beyer <nb...@kc.rr.com>.
+1

I'm for it, but we'll need to be careful as the Eclipse compiler isn't
perfect in regards to this functionality. For example, this bug [1] I ran
into with 3.2 that allowed me to do return type covariance when target 1.4
was set. Not that these guys aren't doing a great job, but JLS3 added quite
a few complexities and it's only natural that there will be some bugs.

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=128560

> -----Original Message-----
> From: Tim Ellison [mailto:t.p.ellison@gmail.com]
> Sent: Friday, March 17, 2006 4:35 AM
> To: harmony-dev
> Subject: [vote] Require compiler options that allow partial 5.0 language
> features
> 
> As discussed on the list, there is a compiler option in the 5.0
> compilers we use that allows source code containing a subset of Java 5.0
> language features to be compiled into 1.4 compatible class files.
> 
> Since this is quite a significant change I'd like to get a vote on
> whether the project should make this compiler option a necessity for our
> code.
> 
> The positive outcome of this is that we can develop APIs that rely on
> those 5.0 language features, and run the resulting code on existing
> 1.4-compatible VMs.
> 
> The downside is that we are using an undocumented compiler feature on
> the reference implementation (it is supported on the Eclipse compiler).
> 
> [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target
> [ ]  0 - I don't care
> [ ] -1 - No, don't change the compiler options (please state why)
> 
> 
> Regards,
> Tim
> 
> --
> 
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.