Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.4-RC1
    • Component/s: Core
    • Labels:
      None

      Description

      It would be interesting to introduce branch management in Ivy core. Indeed, right now the solution to handle branches are either:

      • to put the branch as a revision prefix, so that asking mybranch+ get the latest version on the branch.
      • use extra attribute to define a branch on module revisions

      In any case there is no easy way to give a default value to the branch (trunk for instance), neither is it easily possible to define a default value per module: declare somewhere you want to use branch A for module foo, and have all your dependency resolution behave accordingly.

      The idea is thus to handle attribute branch directly in ivy to make these things possible.

        Activity

        Hide
        Xavier Hanin added a comment -

        A new branch attribute is now supported on info and dependency tag in ivy.xml:
        <ivy-module version="1.4">
        <info organisation="foo" module="foo" branch="branch1" revision="2"/>
        <dependencies>
        <dependency org="foo" name="bar" branch="branch2" rev="latest.integration" />
        </dependencies>
        </ivy-module>

        You can use this attribute in patterns:
        <artifact pattern="/[organisation]/[module]/[branch]/[revision]/[artifact].[ext]" />

        The default value of the branch attribute is null, but this can be changed using defaultBranch attribute on the conf tag of ivyconf.xml:
        <ivyconf>
        <conf defaultBranch="trunk"/>
        </ivyconf>

        You can also set default value for a module or a set of modules using the modules section of ivyconf:
        <modules>
        <module organisation="foo" name="foo1" branch="branch1" />
        </modules>

        Show
        Xavier Hanin added a comment - A new branch attribute is now supported on info and dependency tag in ivy.xml: <ivy-module version="1.4"> <info organisation="foo" module="foo" branch="branch1" revision="2"/> <dependencies> <dependency org="foo" name="bar" branch="branch2" rev="latest.integration" /> </dependencies> </ivy-module> You can use this attribute in patterns: <artifact pattern="/ [organisation] / [module] / [branch] / [revision] / [artifact] . [ext] " /> The default value of the branch attribute is null, but this can be changed using defaultBranch attribute on the conf tag of ivyconf.xml: <ivyconf> <conf defaultBranch="trunk"/> </ivyconf> You can also set default value for a module or a set of modules using the modules section of ivyconf: <modules> <module organisation="foo" name="foo1" branch="branch1" /> </modules>
        Show
        Xavier Hanin added a comment - Documentation updated here: http://www.jayasoft.org/ivy/doc/concept http://www.jayasoft.org/ivy/doc/configuration/conf http://www.jayasoft.org/ivy/doc/configuration/module http://www.jayasoft.org/ivy/doc/ivyfile/info http://www.jayasoft.org/ivy/doc/ivyfile/dependency

          People

          • Assignee:
            Xavier Hanin
            Reporter:
            Xavier Hanin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved:

              Development