Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] JDT-Javac as a subproject of JDT (instead of JDT-Core)
  • From: "Sankaran, Srikanth" <srikanth.sankaran@xxxxxxxxxxxxx>
  • Date: Wed, 19 Nov 2025 08:34:36 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=advantest.com; dmarc=pass action=none header.from=advantest.com; dkim=pass header.d=advantest.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=B4aPi8w1uOau9v6YVe27vVjGoDe0ekCbR95FpO9k9t4=; b=QfPTuikcdPyjZtNGWzm+o5nPQfUZkCHwQvg+jUX10ysv6RHfISFkmdCL3ZIlpX4h9JrZFix4hc1BZ4E5vGmh4k1oXyY3VRsMPdV6FT7EvwvUXFbWgZd8WkahIRPw/QkjijTqpi1eLLFVxcxnhO2oRi8ME4Ak+lJzidpauYEaR6aZiR2cFO0yoaCZoxOsnosfv5iuhtPF5WSx7dAHC0Ng4XOE2LibnF9cFPu8iXFE8NUPJGtNa1Uln3x73stMU3IvYoYAwZIO/IOaOXJW8oAM3ROmEtv2OP1VKx26pbPOcuZoc2ra7wkHBO1e43wGOXYTgT0Ny9aIXdNk2SJU5DRyFQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OXlPP9De1QgSNyrB+2U3P+cnE2TxEwaSWyfCTYYRY0qsR3ksxvY6PEzOxq559/uzU0ANNQLa9kEPOnIomPhtf4KUBE6Y7o6X9ZWaxKWjzhvqoty/x9NgKmBR9Ubg+t+icTwRiiK3VrSWgeQH2vOt9XfmzmIDhyB8L9gCl2ZyjfFyjimelo6o+EvXH5Dy5kHkgWDHKqk6xI+HJzSGBQkQaWj4SmpP8qpIlPtXGgb+xa78GZsWulKRDdWrrOMhqiIizP0vU6ZzwvHS+bN3PZ78Gr8T3bMRNm7Aj+mddp700Ne1m79sfsEG5LMTunISx6UlI8YqdzmGZiju1dqDES/I7A==
  • Delivered-to: jdt-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jdt-dev/>
  • List-help: <mailto:jdt-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jdt-dev>, <mailto:jdt-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jdt-dev>, <mailto:jdt-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHcWLrmo1IMYCwP4U2XwgP0KGIPT7T5oX6AgAAFfto=
  • Thread-topic: [jdt-dev] JDT-Javac as a subproject of JDT (instead of JDT-Core)

I really have no clue what this project reorganization would mean from a day-to-day work for me and other committers, so I will let other more knowledgeable folk address that. I am averse to any unjustified complication to my work flow. Naturally. 

I haven’t seen any answers to some very pertinent questions raised by robstryker here:


https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator/discussions/1881#discussioncomment-15003307

I want to question the premise that "this component is viable for other cases that are not related to JDT.LS" - if this premise is the basis for the reorganization, what is the proof of it ? It can certainly be hypothetically true but until and unless ground realities reflect it, any project reorganization would amount to tail wagging the dog ?! I don't know. Food for thought. 


You list the following among "initial disadvantages" to the current organization: 

  • There is no strong technical relationship between LS and Javac (JDT-Core is in the middle of both and none sees nor need to see the other end of the pipeline)
  • The community around JDT-Javac is different from the community around JDT-LS, but the permissions are mixed

IMHO, these two points are equally valid if not more applicable to the proposed home than the current home ? Perhaps I haven't understood something here ??


Without solid proof of alternate use cases that make the new home a better home - it is just needless perturbance. 


This is a bit orthogonal, but I also want to call out that the original rationale for the javac based effort states: 


  • These days, with more frequent and more features Java releases, it's becoming hard for JDT to cope with new Java features on time and facilitate support for upcoming/preview features before Java is released so JDT can participate to consolidation of the spec. Over recent releases, JDT has failed at providing the features on time. This is mostly because of the difficulty of maintaining the Eclipse compiler: compilers are difficult bits of code to maintain and it takes a lot of time to implement things well in them. There is no clear sign the situation can improve here.

The last sentence has been resoundingly disproved over and over by timely release of all new features including preview features in the past few releases. 

Plus the significant efforts to redesign and reimplement historic JEPs has been a success: the number of open and incoming defects in the areas of pattern matching, sealed classes, switch expressions and enhanced switches has dwindled to zero. Record classes rewrite is still generating a trickle but indications are it is rapidly stabilizing. So both from a historic JEPs pov and future evolution pov we are doing very well by all indications. 

So, that "There is no clear sign the situation can improve here" is simply not true. 

Srikanth. 

From: jdt-dev <jdt-dev-bounces@xxxxxxxxxxx> on behalf of Andrey Loskutov via jdt-dev <jdt-dev@xxxxxxxxxxx>
Sent: Wednesday, November 19, 2025 1:22:39 PM
To: jdt-dev@xxxxxxxxxxx <jdt-dev@xxxxxxxxxxx>
Cc: loskutov@xxxxxx <loskutov@xxxxxx>
Subject: Re: [jdt-dev] JDT-Javac as a subproject of JDT (instead of JDT-Core)
 
[EXTERNAL] This email is from outside, please confirm sender, title, content and whether you're expecting an email from this sender. If you have any doubt about the legitimacy of this email, please use the Report feature of Microsoft Outlook (instructions).
In case of a security incident click here.

Hi Mickael,

I have some questions about the proposal and also current JDT-Javac repo state as of today.
There also were few good questions asked on the [1] where I don't see satisfiable answers yet.

Let first try to understand what actually is proposed, because IMO it is not clearly stated.

1) Currently we have two Github organizations with distinct set of committers:

https://github.com/eclipse-jdt
https://github.com/eclipse-jdtls

They host various repositories related to JDT and clear dependencies (JDT LS uses JDT). One of the repositories under JDT LS is the "JDT-javac" (https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator), used by JDT LS only. So far so good.

If the proposal says "moving JDT-Javac repo as a subproject of JDT in general", does it mean moving JDT-javac repository from https://github.com/eclipse-jdtls to https://github.com/eclipse-jdt or creating a fully independent *third* organization, let name it https://github.com/eclipse-jdt-javac?

This "This would then be a different subproject, with a different schedule, committers set, GitHub oraganization than "main" JDT" indicates it is supposed to be something like https://github.com/eclipse-jdt-javac?

2) The https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator is currently a *fork* of https://github.com/eclipse-jdt/eclipse.jdt.core repository, with all the code from JDT included, some modified & some added. I can't see how a fork can be an independent subproject, but probably this can be solved by properly separating the code, pushing all modified JDT code upstream and creating a fully independent set of projects that *consume* JDT core instead of forking it. So in my understanding, before anything new & independent is created, "forking" problem has to be solved, otherwise it is not independent project per definition.

3) With the two points above, the only possible understanding of this proposal (as of today) is a new "https://github.com/eclipse-jdt-javac" organization which can then do whatever it wants to do, not a fork from any repository under https://github.com/eclipse-jdt and also not a child repository under https://github.com/eclipse-jdt.

So let assume 3) is given, the proposal is then: "Let create new JDT based (but not forked) Eclipse project which will be run by as a separate github organization with its own committers team, its own repositories and everything else (except code dependencies) independent from JDT, JDT LS, Eclipse SDK or Simrel".

Such proposal should not affect JDT project (https://github.com/eclipse-jdt) and should improve its relationship to JDT LS project (https://github.com/eclipse-jdtls), because the dependency of JDT LS to JDT-javac would be cleaned up as well as forking / using forked JDT code in JDT LS build is stopped.

With that assumptions above (independent organization & no forked JDT code), I don't see how JDT Core can have objections to the proposal. 
Everyone can propose and create a new Eclipse project and run it if there are enough energy, resources and interest from the community.

if, however, the proposal is to keep forking JDT repo but create new "independent" Eclipse project based on JDT or move the forked JDT repo under https://github.com/eclipse-jdt organization, then this I would vote against it. Creating new JDT based project based on fork will divide the community, and that is not benefitial for JDT. Merging current code to JDT repo has also disadvantages as it is not really used/needed by JDT but wil all strong dependencies to latest JDK builds/javac if will be rather a nightmare to integrate into the CI pipeline, also all release related activities like code freeze will be complicated, and so on.

Regards,
Andrey


[1] https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator/discussions/1881

On Tuesday 18 November 2025 19:40:43 (+01:00), Mickael Istria via jdt-dev wrote:

Hello JDT,

To clarify the work being potentially useful in parallel and independently of JDT-LS, we're considering moving the JDT-Javac repo as a subproject of JDT in general, and thus as a sibling of JDT-LS.
See https://github.com/eclipse-jdtls/eclipse-jdt-core-incubator/discussions/1881 for the ongoing discussion, listing some rationale for this move.

This would then be a different subproject, with a different schedule, committers set, GitHub oraganization than "main" JDT. This project would not participate to JDT, Eclipse SDK nor Simrel for the moment; it would basically only host code + CI.

Is there any objection against this move?
We will soon start to work on a project proposal. Your questions/comments/concerns are already more than welcome in order to ensure they are covered as part of the proposal. So please share anything you think can challenge or confort the future proposal.

Thanks!
--
Mickael Istria
Eclipse IDE developer, for Red Hat
_______________________________________________
jdt-dev mailing list
jdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jdt-dev

-- 
Kind regards,
Andrey Loskutov

https://www.eclipse.org/user/aloskutov
Спасение утопающих - дело рук самих утопающих

Back to the top