Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] discussion about my current "Enable Classpath Cycles"project
  • From: R Steiger <rsteiger@xxxxxxxxxxxxxxxx>
  • Date: Thu, 26 Mar 2020 07:14:00 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ensemblesoft.net; dmarc=pass action=none header.from=ensemblesoft.net; dkim=pass header.d=ensemblesoft.net; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9jlkP3X1K3LcQ37hO+Ysnu+A6/nJC8CePcRgGxbZFkg=; b=f/4n/EsXxc0Rm8vpz/3n9oDFnER8NJ3wRCYYYmUBqvIOH0OSJjZpDsi98sK8jpzGwIlw0O1bP8rBWgyJbqoSGOC5vBfIvqLDjcjOByuuoInnq5bxh4V7AFM0Ji63cpcWMblI4bKSQhPxWyNJxoTqOLDJinzV2pLVA6QYq5FRLu4K5R7Ou315RvqMCHgKjAQMqfpjQ4onzuOlqLbCB7nxK2H0vczcuY9Ami3Od/KFUGaQew+zlYnUm6riyxV09SM/+zSNwTUwbcbM1/Z93emdnyvzZ+L1GLVMqSA9BtNysmrzOT2bRuaqXIbyl+ufq9TEnWT+bc0f/xD3LGCftBRfUg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jEZlZX5NffPLx5MZAu+6hjUFe4QORMwUsMEs5KXdziD8vCaEwhcL+l6m8bl/yvu2eGam67OMQV+tOH41eaRqsrtcsXhkmuhoFT5MmYwhzIEyPwYFf82THhVXKprPDNB3dqv7n2nyHJEHsmhyvts+tQ90f4UDxUCF9LlMA4S+RbB+y/+22gSmnHstpMlR+Qw4OxcBkngrtazkcGVX6epY+GjfHuLq+2nwg1AMsUH8QhLpGn0VAaBTS+oNoYJABDmejNmj1JF/uchDqsthRVqV2cY+NOHtQFeKdJ7MTgNPz/V4ABwubiFX4n3tcIv+561yaCBrSEX0gn33fN4l/g83rA==
  • 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: AQHVuhgaidPhtLKgX0+F99mmJuTWY6de5cQAgPj+fzCAAPARwIAB5bhAgAAknACAABqmEA==
  • Thread-topic: [jdt-dev] discussion about my current "Enable Classpath Cycles"project

Hey Ed,

 

Thanks for getting back to me.  (I sure do understand daily mail floods!)

 

Responses inline.

 

From: Ed Merks <ed.merks@xxxxxxxxx>
Sent: Wednesday, March 25, 2020 9:46 PM
To: R Steiger <rsteiger@xxxxxxxxxxxxxxxx>; Eclipse JDT general developers list. <jdt-dev@xxxxxxxxxxx>
Subject: Re: [jdt-dev] discussion about my current "Enable Classpath Cycles"project

 

Sorry, I must have overlooked this in my daily flood of email.  Note that in the wiki it references https://bugs.eclipse.org/bugs/show_bug.cgi?id=536533 also for asking question.  In the Platform SDK Setup there is this preference task:

<?xml version="1.0" encoding="UTF-8"?>
<setup:CompoundTask
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
    name="org.eclipse.oomph.setup.ui">
  <setupTask
      xsi:type="setup:PreferenceTask"
      key="/instance/org.eclipse.oomph.setup.ui/showToolBarContributions"
      value="true"/>
</setup:CompoundTask>

So I expect that the equivalent of Window -> Preferences -> Oomph -> Setup Tasks "Show tool bar contributions" would have been performed. 

[R Steiger] for some reason it appears this task didn’t execute, just judging from the absence of Oomph toolbar buttons.

If not, you can do that manually and even if not set you can also use Help -> Perform Setup Tasks  and Navigate -> Open Setup to access the same actions/menus.  So these instructions apply to an existing development environment's workspace from the previous steps of the tutorial, not to the installer.

[R Steiger] Thanks for confirming that section 8 assumes running in the dev env ws.   I looked at Help -> Perform Setup Tasks, under Manual Tasks, and see 4 Eclipse Ini -Doomph.redirection… tasks, none of them mention anything about setup:PreferenceTask nor showToolBarContributions .  Similar finding under Navigate -> Open Setup , nothing looks relevant to this setup step.  Btw, I didn’t find any affordance for manually entering a new task, so was unable to try your suggestion. 

So no still no Oomph toolbar buttons, but that might not be what I really need.

But if you're asking how to "build the IDE" and by that you don't mean to how to set up a development environment but rather how to  replicate the Maven/Tycho build locally to produce a p2 update site and the other artifacts produced on the build machine, that I don't know. 

[R Steiger] By "build the IDE"  I mean the first option, that I want to build a launchable IDE having the deltas I’ve coded and tested in the jdt-master workspace, specifically, so the compiler mods are operational.  I’ve been able to do some testing in the instance spawned with a debug configuration, but it’s tedious, and the key scenario requires importing several projects, all of which is lost when the debug instance exits.  I tried to switch the debugee’s workspace so as to snapshot the test setup, but got a popup saying “Unable to relaunch the workbench because the eclipse.vm property has not been set.”.  So, no, at this early point, I’m not (yet) trying to replicate the Maven/Tycho build, create a p2 update site, etc.

The other tack I looked at (as described in the “Eclipse Bible”) was exporting, but quickly realized that under a manual approach, I don’t know how to specify the IDE’s configuration, and would be even more ignorant trying to automate with Ant. 

Hence my asking how to do what I imagine is a pretty common step when working on JDT, PDE, etc., namely create or modify the feature(s), unit test them, build them into a new IDE package, then take it out on the road.

Thanks again,

-rjs

Generally that will involve invoking Maven on the appropriate pom.xml.

Regards,
Ed

On 26.03.2020 03:44, R Steiger wrote:

Folks,

 

I’m up against a deadline on this project, and been waiting for Ed’s reply, but he could easily be taking a break, out of town, whatever. 

 

Can anyone else point me to the first step on the path to building the SDK?  (I got stuck in section 8 of the provisioning wiki page, not seeing any Oomph toolbar buttons in jdt-master, leading me to try looking in the Installer, but leaving me unable to make sense of doing so with an existing workspace, since all the flow is aimed at building a new workspace.  And haven’t yet found any other guides covering IDE builds.)

 

Much thanks,

 

-rjs

 

From: jdt-dev-bounces@xxxxxxxxxxx <jdt-dev-bounces@xxxxxxxxxxx> On Behalf Of R Steiger
Sent: Tuesday, March 24, 2020 2:49 PM
To: Ed Merks <ed.merks@xxxxxxxxx>
Cc: Eclipse JDT general developers list. <jdt-dev@xxxxxxxxxxx>
Subject: Re: [jdt-dev] discussion about my current "Enable Classpath Cycles"project

 

Hi Ed,

I just saw your reply of 3/1 to Gayan Perera’s question about building a JDT distribution.  I have the same issue (see below). 

In reviewing https://wiki.eclipse.org/Eclipse_Platform_SDK_Provisioning, specifically section 8 (“Update the Installation and Workspace"), in what workspace/context is this to be performed?  E.g. I looked in my dev workspace, and couldn’t find any Oomph tool bar contributions.  Do these instructions assume running in the Eclipse Installer?

Thanks,

-rjs

 

From: jdt-dev-bounces@xxxxxxxxxxx <jdt-dev-bounces@xxxxxxxxxxx> On Behalf Of R Steiger
Sent: Tuesday, March 24, 2020 1:35 AM
To: jdt-dev@xxxxxxxxxxx
Subject: Re: [jdt-dev] discussion about my current "Enable Classpath Cycles"project

 

After being away from doing any eclipse work since last October, I’ve resumed getting ejc to allow project dependency cycles.  (All the following in on 2020-03.)

 

[Stephan and Andrey, Cc’ing you since you’ve both helped orient me on this project, and also in case you’re interested in the changes I’m proposing, especially if you see problems and/or have suggestions.]

 

The mods I’ve made and tested are, briefly:

  • Added an Ignore option to  ... -> Compiler -> Building -> Build path problems -> Circular dependencies:
  • In JavaProject:createClasspathProblemMarker, when Ignore is selected, in the absence of any other classpath problems, detected dependency cycles are ignored.  The net effect of this is to suppress adding a buildpath problem marker to the project, altogether.  This approach of ditching markers at the earliest opportunity proved to be surgically clean, and avoided “chasing” after markers, then suppressing them downstream in the Ignore case.
  • I hacked MultiProjectTests:testCycle*, setting CORE_CIRCULAR_CLASSPATH to JavaCore.IGNORE instead of JavaCore.WARNING, but only tested testCycle1, which covers my core use-case.
  • Before submitting these changes, I’d like to properly parameterize the testCycle* methods, and have them run twice, once with IGNORE, once with WARNING.  While I have an idea how to do this without bloating the code, I’d feel better making this change after discussing how best to handle such parameterized tests with someone who’s familiar with the existing testing rubric, and maybe has implemented such parameterization.

 

The next step is to road-test these mods.  My thought is to locally build a stock Eclipse IDE for Java Developers package, having the above mods, and put it into daily use for a couple of weeks, using it to work on a large code-base.  What’s the recipe for building the IDE?  I’d like to use the most lightweight path, e.g. don’t need to create an update site, doesn’t require pushing to git, etc.

 

Thanks,

 

-rjs

 

Back to the top