Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] How to build [EJ]Git?

On 2010-01-07 08:09, Gunnar Wagenknecht wrote:
Am 06.01.2010 23:47, schrieb Jason van Zyl:
But insofar as being locked out JGit using Maven means that folks
using IDEA, Netbeans and Eclipse can hack on JGit with a great degree of
support. If you used PDE Build, for example you would immediately
lockout IDEA and Netbeans users. At least I don't think there is any PDE
Build support in IDEA and Netbeans, correct me if I'm wrong.
I don't think so. In order to hack on JGit I souldn't need Maven, PDE
Build or Buckminster (btw, PDE Build != PDE Tooling). I just need an
editor and a Java compiler. Most IDEs come with both. One IDE might have
better support for setting up the classpath but that's an IDE specific
part which should not influence how other IDE users are used to work in
their environment.

I concur with that. Any IDE should be able to just check things out and build them. OSGi compliant manifests should always be checked in as a part of the code base. They are not IDE specific at all and should be considered an integral part of the bundle declaring things like bundle activation and downstream package visibility.

When it comes to IDE specific meta-data, I think that refraning from checking that in, just because it doesn't make sense to other IDE's, is severly limiting. In case of Eclipse, you have project specific settings where you can provide fine-grained control over things like Compiler Warnings, Java compliance, Execution Environments, Code formatting, Clean up actions on save, and much, much more. AFAIK, no build tool provides an IDE independent way to define that. The same is true for Eclipse natures, internal builders, the containers of the .classpath, and build.properties (which enable bundle export using the build in PDE tooling).

I think that the build tool should understand what an IDE provides. A non-intrusive build tool integration for an IDE is very much about understanding the meta-data that the IDE already have and use that data to its full extent. Ideally, it should also build using the same mechanisms that the IDE does.

Regards,
Thomas Hallgren



Back to the top