Daniel Fagerstrom wrote:
Vadim Gritsenko wrote:

IIRC, we already have separated out blocks out of the core, into

  svn:/cocoon/blocks/

Where each block is treated as independent project, and has own tags/branches. With Cocoon 2.1.8 out this friday, several blocks will start having own tags.

The current structure with trunk/tags/branches under each block will become rather unconvenient as soon as we start to relase and tag things.

I would say "unavoidable" rather than inconvenient. Where would you put block's tags if not under the tags, then?


Right now you can just check out svn:/cocoon/blocks without any problems, but with a number of tags for each blocks you soon get quite a lot to check out, then you either need to check out each blocks/<name>/trunk separately or we have to provide a directory with externals to each block trunk. But that was extremely slow when we tried that a while ago.

Yes. That was the known issue (iirc i myself brought this up back then), and back then it was recognized that svn:externals is only a temporary measure.

Having one external per block is too slow, and having one external for all blocks is not possible, so IMHO best way is to write simple sh/bat file for checking out trunks of all blocks into pre-defined directory structure. Even better if maven somehow can help out here... Either through standard tools or custom plugin...


Read the links in http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=112790057318179&w=2 for description of a better way to solve it.

It essentially proposes [1] to move ttb's up one level. something like

  /trunk
    /cocoon
    /blocks
      /axis
      /forms
  /tags
    /cocoon-2.1.8
    /cocoon-axis-1.0
    /cocoon-forms-1.0
  /branches
    /cocoon-2.1
    ...

(note: 'releases' in [1] is 'tags' here)

Why do you think that this structure should work better? I would think that it is much easier to use standard ttb layout and let m2 handle each block as separate project, rather than building non standard layout.

If I am not mistaken, following should work with m2 right away:

  /cocoon-core
    /trunk
      pom.xml
  /cocoon-blocks-axis
    /trunk
      pom.xml
  /cocoon-blocks-forms
    /trunk
      pom.xml
  /cocoon-standard
    /trunk
      pom.xml (references cocoon-core, cocoon-forms, cocoon-template)
  /cocoon
    /trunk
      pom.xml (references all blocks)

So, what do I miss?


Why do you want to reverse this and combine blocks with cocoon core?

It doesn't reverese anything, all blocks under /trunk will be independent projects, their interdependencies are completely described in the respective POMs.

Where tags and brnaches will live?

Vadim

[1] http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=112772867005578

Reply via email to