Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-1313

install task does not allow specification of conf

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.2.0
    • 2.3.0-RC1
    • Ant
    • None
    • Windows XP

    Description

      When running <ivy:install...> task there is no option to specify which config should be considered. As it is currently, it seems the default conf is the one that is used, therefore if a dependency exists which does not specify a mapping from master default conf, the dependency will not be included during the install. In that case the artifacts installed in the to resolver will not be able to resolve all needed artifacts under some configurations.

      For example, say I had a module defined as in the following example:
      <info organisation="my-org" module="my-module" revision="1.0"/>
      <configurations>
      <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/>
      [...]
      <conf name="endorsed" visibility="public" description="this scope is used for components/lib/endorsed dependencies."/>
      </configurations>
      <publications>
      <artifact name="my-org" ext="jar"/>
      </publications>
      <dependencies>
      <dependency org="org.apache.xerces" name="xml-apis" rev="2.9.1" conf="endorsed->default"/>
      </dependencies>
      </ivy-module>

      In that case the ant task to install this module from my-resolver to another-resolver would look something like this:
      <ivy:install organisation="my-org" module="my-module" revision="1.0" from="my-resolver" to="another-resolver" transitive="true" overwrite="true"/>
      This task would not install org.apache.xerces#xml-apis;2.9.1 onto another-resolver. As a result, using <ivy:retrieve...conf="endorsed"/> against another-resolver would fail since it would attempt to find dependency org.apache.xerces#xml-apis;2.9.1 which does not exist in the repository (since it was never installed).

      <ivy:install...> should have the option of specifying which configuration(s) should be considered. If not specified then it should default to * meaning all configurations defined in module being configured should be considered when locating which modules should be installed.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            maartenc Maarten Coene
            mimenu Mike Menu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment