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-06, at 3:29 PM, Gunnar Wagenknecht wrote:

> Am 06.01.2010 17:24, schrieb Jason van Zyl:
>> 
>> On 2010-01-06, at 10:42 AM, Gunnar Wagenknecht wrote:
>> 
>>> Am 06.01.2010 15:23, schrieb Jason van Zyl:
>>>> My point is if you want the highest degree of participation at the community level then a Maven build is probably what you want.
>>> 
>>> Frankly, that's totally none-sense.
>> 
>> Really? All the consumers of JGit are Maven-based? 
> 
> I think you mixed up the point. It's not about the consumers of JGit
> *today*. I don't care if they are Maven based or not. The point is, this
> shouldn't matter and this shouldn't cause a situation where other are
> locked out. IMO "highest degree of participation at the community level"
> is not the majority that uses technology X. It's actually the consumers
> that use X+Y+Z...
> 

I'm not sure I grok that last sentence. 

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.

>> Maven comes installed on most Linux distros and OS X. 
> 
> I see and because it doesn't come installed on Windows, all the Windows
> users shouldn't be allowed to be part of the JGit contributor community?
> 

I was just countering your argument that in all cases an additional tool must be involved.

I would also follow with the counter that if PDE Build were used, for example, that every IDEA and Netbeans user would have to install Eclipse or PDE Build in order to hack on JGit? I think the chances. I think the chances are higher that someone will have Maven installed on their system as a Java developer then PDE Build.

>> You think asking people to install PDE Build or Buckminster to build JGit is practical?
> 
> Speaking of pragmatism, I think that I don't want to install *anything*
> to be able to checkout, run, create a patch & debug JGit.

In IDEA and Netbeans you don't have to today. Maven support is already shipped with the default distributions. So for those users they don't have to. But it's still fairly common these days for Java developers to have Maven on their system because so many Java projects use it. They either use it themselves or have it on their system because one of their dependencies requires it. Eclipse is thus far the only major IDE without Maven support.

> 
> But while we are at that point. PDE Build comes with PDE and Eclipse
> Plug-in developers will have it.

Yes, but that is very small fraction of the Eclipse user base. I would be willing to bet that more Java developers have M2Eclipse installed then PDE.

> They will also have Ant. AFAIK other
> IDEs also have a good Ant story.

They all have a good Maven story as well.

> However, here is another example I
> consider pragmatism. I started contributing to Eclipse in 2001. Since
> that time I have never had to install PDE Build nor Buckminster nor
> Maven nor XYZ to create and submit a patch for any Eclipse project of my
> choice. Checkout - open source code in editor - modify - debug. No
> single CLI or other piece of software involved. I don't even need to
> click a "build" button. That's pragmatism.

Sure, that's the ultimate ideal and with any Maven project this is possible with Netbeans and IntelliJ. There are a huge number of downloads of M2Eclipse so I would argue again that barring Eclipse not having native integration the chances of getting someone working with JGit is going to be significantly higher using Maven.

> 
> I'm fine with running Maven or PDE Build or Buckminster whenever I want
> to produce a 'real' build, i.e. something that I'm going to offer for
> people to consume. But running tools and scripts for building during
> daily development and debugging? No, I don't consider this practical.

Neither do I, but it is what it is today. Eclipse doesn't have native Maven support but the other major IDEs do.

> 
>> Tycho leverages all the Eclipse technologies like P2, JDT and the
>> OSGi goodies. We made real attempts to bridge the gaps. 
> 
> That's great to hear. I'm sorry but from the feedback in this thread it
> seems to me that the gap is far from being bridged.

It's not far, it's pretty close actually. We take feedback and fix things in Tycho almost immediately. Not unlikely that we'll have a working solution by the end of next week.

> Obviously PDE needs
> some love (i.e. patches *sight*) to deal with other dependency sources
> in order to properly setup the build path for JGit. Thus, again -
> speaking of pragmatism - something that works for a lot other Eclipse
> projects (some of them do also work outside OSGi environments) was
> traded against something that is still in development. Hmmm. As much as
> I appreciate early adopters ... sometimes this is just not practical.
> Usually SCMs have branches for this *sight*.

But again and again you only talk about Eclipse. There are other environments. And even though Eclipse is used by the majority of Java developers PDE Build is most certainly not. I speak from looking at over 1000 builds in the last 5 years and outside of Eclipse plugin development PDE Build is not used.

> 
> Anyway, PDE can also be used for *non* OSGi but *plain* Java projects.

Yes, but I've never seen that happen in the wild and I have seen a _lot_ of builds.

> It's a great way of managing your dependencies at a granularity that
> POMs don't provide.

Lots of Maven users don't need that granularity, but if they want it they can use Tycho. More granular dependencies I think are powerful but try explaining that to the average developer or development manager and you'll see it's a pretty tough argument to win given the current state of tooling. At any rate that is a whole other debate but one that certainly keeps things like PDE Build and Tycho out of typical Java development shops. They simply don't care at this point. OSGi has some work in this area of becoming accessible. There's a long way to go.

> No need to install anything for that. Just download
> and unzip an Eclipse Classic SDK and you're ready to import the project
> I consider this also very practical. BTW, this should be the same story
> for other IDEs as well.
> 

You keep repeating yourself, so I'll repeating myself: with IDEA or Netbeans right now you could do that with JGit. Projects with POMs are understood as native project types in both IDEA and Netbeans. Eclipse with M2Eclipse which is becoming common place is would also be capable of this.

What I think you really gain in using Tycho is that anyone who has familiarity with Maven will be bridged into the OSGi world. It looks similar at first glance even thought we use the OSGi dependency mechanism. But everything else from Maven can be leveraged.

> -Gunnar
> 
> -- 
> Gunnar Wagenknecht
> gunnar@xxxxxxxxxxxxxxx
> http://wagenknecht.org/
> _______________________________________________
> egit-dev mailing list
> egit-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/egit-dev

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
----------------------------------------------------------



Back to the top