Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Eclipse warnings and contributors that don't use Eclipse

Hey,

 

At our company we’re using Eclipse TEA [1], which we actually created for this exact reason. It allows us to headlessly setup a workspace and use the usual Eclipse build (IProject.build()) to compile all projects. We do a lot more (running tests, generating documentation, …), and TEA as it is in it’s open source form right now is not 100% ready for the task wrt JGIT, but it should not be hard to get it to where you want it to be.

 

The downside of TEA is the need for an installed Eclipse on the build machines (and a Xvfb which provides a DISPLAY, as some of the related/required in Eclipse platform/JDT/PDE code is in UI plugins – clean architecture and such, you know J). Also one needs a strategy for keeping this Eclipse up to date and maintained somehow. Not so much of a problem if there is one installation, but challenging once there are multiple build machines, etc.

 

We usually use the script [2] to run headless builds of our Eclipse RCP applications. TEA has sufficient code to pick up an existing workspace and build it. The code required to setup a workspace (import repository, import projects, …) is currently still closed source, but it should be easy to come up with something generic in TEA itself (team project set based? Simply import all projects in a repository? Having a configuration file in the repository? Consuming some other information (from maven…?)?).

 

Also integrating baseline setup, etc. should not be too much rocket science, as TEA allows to access basically any code within Eclipse from it’s tasks – there is just the need to figure out what the UI does and do the same thing – possibly with some configuration, which is also easy to achieve and integrate with TEA [3]. There exists no code for baseline setup, but we do have code for target platform setup, which should be (just a guess) similarly hard to achieve..

 

[1] https://www.eclipse.org/tea/

[2] https://git.eclipse.org/r/plugins/gitiles/tea/tea/+/master/org.eclipse.tea.core.ui/launcher/tea.sh

[3] https://www.eclipse.org/tea/documentation/samples/getting-started.php

 

If there is interest in giving it a shot, I would be willing to help, potentially write some JGit/EGit/Generic tasks for TEA and (if applicable) also put the upstream.

 

Cheers,

Markus

 

From: jgit-dev-bounces@xxxxxxxxxxx [mailto:jgit-dev-bounces@xxxxxxxxxxx] On Behalf Of Jonathan Nieder
Sent: Wednesday, April 25, 2018 2:14 AM
To: jgit-dev@xxxxxxxxxxx
Cc: Jonathan Tan <jonathantanmy@xxxxxxxxxx>
Subject: [jgit-dev] Eclipse warnings and contributors that don't use Eclipse

 

Hi,

 

Every once in a while a change is submitted that makes the project stop building in Eclipse (see [1] for one example, but there are many others). That defeats the usual goal of a clean, bisectable history and a "master" branch that is always in a releasable state.

 

Usually this is my fault, since I'm one of the few maintainers that doesn't use Eclipse as part of my everyday workflow. Sorry about that.

 

There were some nice suggestions In [1] for improving matters:

 1. Improving CI and commandline-triggered tests to catch this kind of error, for example by changing the Maven build to use ecj configured with the same settings as the IDE project.

 2. Relaxing project settings to treat anything that is not enforced by the build as a warning instead of an error.

 3. Not marking a change Verified+1 until someone has run a build in Eclipse.

 

One kind of error Eclipse diagnoses is ABI and API breakage (typically missing "@since" annotations, but sometimes more severe). These require a baseline so I suspect they'd be hard to set up in (1). They are important enough that I don't think they warrant (2).

 

That leaves (3). Should we set up a separate label (e.g. "Eclipse-Verified") for manual verification in Eclipse? Alternatively, we could document in the contributor guide that maintainers should not vote Code-Review+2 until a change has been tested in Eclipse.

 

If I've guessed wrong and (1) is actually easy to set up, that would be even better.

 

Thoughts of all kinds welcome.

 

Thanks,

Jonathan

 


SSI Schäfer IT Solutions GmbH | Friesachstrasse 15 | 8114 Friesach | Austria
Registered Office: Friesach | Commercial Register: 49324 K | VAT no. ATU28654300
Commercial Court: Landesgericht für Zivilrechtssachen Graz

Back to the top