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 10:23 AM, Alex Blewitt wrote:

> On Jan 6, 2010, at 14:48, Jason van Zyl wrote:
> 
>> On 2010-01-06, at 9:35 AM, Alex Blewitt wrote:
>> 
>>> I thought manifest-first development didn't need a CLI build to generate manifests?
>> 
>> JGit is not a manifest-first build anymore. Shawn converted it to be a normal Maven build.
> 
> So, we've got EGit which builds manifest-first, and JGit which builds pom-first? That sounds like a recipe for disaster. Surely it would be better to do them both in the same way, so that you don't have to have two sets of instructions, one for each?
> 

I think this is the way it should be done actually. Go read Shawn's diatribe on the review commits. I think he's right in most cases. The JGit artifact needs to be a good Maven artifact and a lot of people looking at just JGit don't care about Eclipse or anything OSGi related. It will likely just turn folks off having to deal with the extra complication. The approach we would like to take here is make the maven-bundle-plugin more efficient and integrate it with PDE. Stuart works at Sonatype so this is fully within our realm to complete.

>> ...which probably makes the most sense because JGit as an artifact is consumed by other projects.
> 
> I suspect in the Eclipse world, it's only EGit that will consume JGit. That doesn't prevent other IDEs from consuming JGit, but I don't think that is relevant - development of JGit is mostly done in Eclipse.

I don't think that's true.

> And having the ability to work on both EGit and JGit in the same workspace is necessray.
> 

Yes, it's necessary.

> So, what was the purpose behind being a 'normal' Maven build?
> 

Proper POM that's easily maintainable, and having a build that doesn't expose any OSGi for other integrators. JGit will be integrated into IDEA and Netbeans I'm sure.

>> As a maven-bundle-plugin project the manifest is generated. Though I think creating a BND file which represents the final manifest would be better ...
> 
> If we're doing that, we might as well use Manifest-first development. After all, the only difference is syntax - you still have a file you must manage/maintain in SCM.
> 

Seriously go read the review commit log from Shawn about having to deal with the manifest-first mode for JGit. I don't think it can be at this point.

>> A BND file is honestly nicer to look at then manifest.
> 
> That may be true, but it probably doesn't swing much of a benefit if developing in PDE, since PDE makes the manifest look nice in any case.
> 

We'll make it work, and it's another important bridge between POM-first and manifest-first builds. We don't mind getting that work. Cases like this are going to be pretty normal for a few years.

>> What this will allow us to do is create a non-expensive way to have JGit and EGit in the Eclipse workspace without having to constantly generate the manifest in the pom-first JGit project.
> 
> I don't believe pom-first is the right way to go for either JGit or EGit. I think that's the source of the problem, not the solution.
> 

I believe the right way it is:

JGit = POM-first
EGit = Manifest-first

And we'll just have to make it work in the workspace.

>> Ideally we just want to import one of JGit or EGit, or both and it should all work. This is what we had in mind.
> 
> That's also the sentiment behind the development of JGit and EGit. However, we don't seem to have that at the moment. We should make both EGit and JGit PDE projects, and keep the Eclipse metadata in the SCM so that we can just check out and work on a project. Maven can then run/build independently, or as the headless build, or by others not using Eclipse. But preventing it from being able to be developed out-of-the-box for Eclipse seems wrong.
> 

Sure it's wrong, but integrating POM-first and Manifest-first in Eclipse is new territory and we're happy to do the work. But ultimately this is your project, we're just trying to help so choose the tool that works best for you. 

> Alex
> 
> 
> _______________________________________________
> 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
----------------------------------------------------------

Thanks,

Jason

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



Back to the top