Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-pmc] Request to use Java 5 Language Features in facet plugins

Here's one for the category of "we may not be fast but we do not forget"

Please see
for the original (July, 2006!) postings, to wtp-dev,
which I've pasted below.

I would like to approve Konstantin's request, from a PMC point of view, assuming that he get's his own "common component team's" approval, and
review from WTP clients (who can review on behalf of their adopters). But, I would anticipate no fundamental problems.

I think our recent EMF experience has demonstrated well that components can use _some_ Java 5 language features with minimal impact
on down downstream clients. This seems to be the case for EMF's use of generics, at least, and would imagine Konstantin's use to be similar.
Care, I believe is need for some uses of Java 5 constructs, such as Enum's but these details are really not for PMC review, but only require the normal
committer review that is the normal process). In other words, the fundamental principle of WTP's "do no harm" directives would still apply.

From a PMC-appoval point of view, I do not think it likely this facet component would be moved to a lower level in Eclipse, which
might require a lower level of Java. Plus, I know of no adopters that are anticipating using these plugins in isolation of WTP (which might
mean they would also be planning to stay on a lower level of Java). I believe Konstantin's desire to improve the code quality, by providing
more compile time checking, justifies the use of Java 5 constructs (that is, it is no trivial or "accidental" reason to use Java 5).

If you too agree, please document your agreement, along with mine, here to this wtp-pmc list.
If approved, this would basically give Konstantin the authority to
propose to WTP committers in general, and then we can leave it in their capable hands without further PMC involvement.


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

  • From: "Konstantin Komissarchik" <kosta@xxxxxxx>
  • Date: Fri, 28 Jul 2006 10:36:45 -0700
  • Delivered-to: wtp-dev@xxxxxxxxxxx
  • Thread-index: Acax8Q6Xl53CROtdQwuCxHPCs6ntdwAeesig
  • Thread-topic: [wtp-dev] Using Java 5 language features in WTP 2.0

Ok, so I’d like to request PMC approval to use Java 5 features in wst.common.facet.core and facet.ui plugins. The reason is that the API of both of these plugins has been designed from the start to utilize parameterized collections (generics) and enumerations. The API in these plugins has been shipped in a “provisional” state for the 1.0 and 1.5 releases. The current plan is to move this API into the “declared” status for the 2.0 release. However, that cannot happen until collections in the API are properly parameterized and the fake enum classes are replaced with real enums. Note that this is not the only issue currently blocking the API declaration, but the plan is to resolve the other issues in the 2.0 release.


- Konstantin



From: wtp-dev-bounces@xxxxxxxxxxx [mailto:wtp-dev-bounces@xxxxxxxxxxx] On Behalf Of Tim Wagner
Thursday, July 27, 2006 8:45 PM
General discussion of project-wide or architectural issues.
Cross project issues
[wtp-dev] Using Java 5 language features in WTP 2.0


On the status call today we agreed to the following policy:

  • Implementations in the “common” component will be restricted to 1.4.x VM levels, which implies Java 1.4 language features (no Java 5 features, such as generics). However, developers can request permission of the PMC to use Java 5 language features on a plugin-by-plugin basis.
  • All other components in WTP are free to use Java 5 language features, and WTP as a project will require a Java 5-level VM in the 2.0 (“Europa”) release and will need to be compiled with a Java 5-level compiler.

Maintenance releases on the 1.x lines (1.5.1, 1.5.2, etc.) are unchanged – they are still restricted to Java 1.4 language features and must compile and run on a Java 1.4 JDK/VM.

Back to the top