git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [JGIT] Request for help

From
Shawn O. Pearce <spearce@spearce.org>
Date
Sep 3, 2009, 15:52 UTC
Message-ID
<20090903155219.GI1033@spearce.org>
In-Reply-To
<2c6b72b30909030838q10b88705gb8c553f2c2d74379@mail.gmail.com>
Jonas Fonseca <jonas.fonseca@gmail.com> wrote:
Show 10 quoted lines
> On Thu, Sep 3, 2009 at 10:42, Shawn O. Pearce<spearce@spearce.org> wrote:
> > Actually, now that we have forked out of the egit.git repository,
> > I want to refactor the layout of the JGit project to be more maven
> > like, and have a proper top-level pom to build things.
> 
> What kind of module structure do you have in mind? Do you want to move
> some of the modules/subdirectories?
> Some refactoring of the maven setup for JGit back was done back in
> April in sonatype's (a maven company) JGit clone. It is not
> signed-off, but can serve as a reference.
Yea, I was hoping they would contribute this back as patches,
but thus far they haven't.
 
Show 10 quoted lines
> The Maven layout in the sonatype clone simply uses the Eclipse project layout.
> 
> pom.xml: JGit :: Parent
>  |- org.spearce.jgit/pom.xml: JGit :: Core
>  |- org.spearce.jgit.pgm/pom.xml: JGit :: Programs
>  `- org.spearce.jgit.test/pom.xml: JGit :: Test
> 
> However, having tests in a separate module can be both good/bad. For
> example, they will not automatically get run when you only build the
> Core module.

Yea, I know. This is one area where Maven is just whack, by putting the tests in the same project the Maven plugin for Eclipse puts them into the same classpath, which means you can see test code from project code. Wrong. They should be different projects so the test classpath is isolated.

However. This is a bug in the Eclipse plugin I think, not necessarily with Maven's approach of trying to keep tests alongside the code they test. Thus we probably want:

  pom.xml: JGit :: Parent
   |- jgit-lib/pom.xml: JGit
   |     src/main/java  <-- from org.spearce.jgit/src
   |     src/test/java  <-- from org.spearce.jgit.test/src
   |
   `- jgit-pgm/pom.xml: JGit pgm
         src/main/java  <-- from org.spearce.jgit.pgm/src

IIRC there is Maven support to create proper MANIFEST.MF files for OSGI bundles, which is what we need for the Eclipse plugin support. That should be able to replace the META-INF/MANIFEST.MF in the top of each of the current directories.

> Anyway, I would like to help.

Please post patches; formatted with -M. I do want to do this, I just don't have the patience and Maven-fu to write the new poms myself.

-- 
Shawn.
Previous: Jonas FonsecaNext: Gabe McArthur
Message 18 of 28 in “[JGIT] Request for help”
  1. Nasser GrainawiSep 2, 2009
  2. Johannes SchindelinSep 3, 2009
  3. Shawn O. PearceSep 3, 2009
  4. jgit diff, was Re: [JGIT] Request for helpJohannes Schindelin, Sep 3, 2009
  5. 0/5 jgit diffJohannes Schindelin, Sep 3, 2009
  6. 1/5 Add set to IntListJohannes Schindelin, Sep 3, 2009
  7. 2/5 Add Myers' algorithm to generate diff scriptsJohannes Schindelin, Sep 3, 2009
  8. 3/5 Add a test class for Myers' diff algorithmJohannes Schindelin, Sep 3, 2009
  9. 4/5 Prepare RawText for diff-index and diff-filesJohannes Schindelin, Sep 3, 2009
  10. 5/5 Add the "jgit diff" commandJohannes Schindelin, Sep 3, 2009
  11. Johannes SchindelinSep 3, 2009
  12. Shawn O. PearceOct 1, 2009
  13. Johannes SchindelinOct 1, 2009
  14. Christian HalstrickSep 3, 2009
  15. Jonas FonsecaSep 3, 2009
  16. Shawn O. PearceSep 3, 2009
  17. Jonas FonsecaSep 3, 2009
  18. Shawn O. PearceSep 3, 2009
  19. Gabe McArthurSep 4, 2009
  20. Mark StrubergSep 4, 2009
  21. Jonas FonsecaSep 4, 2009
  22. Mark StrubergSep 4, 2009
  23. Jonas FonsecaSep 4, 2009
  24. Mark StrubergSep 4, 2009
  25. Shawn O. PearceSep 3, 2009
  26. Nasser GrainawiSep 3, 2009
  27. Shawn O. PearceSep 3, 2009
  28. Nasser GrainawiSep 3, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.