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

Simple Programmatic Interface

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      Hello,
      I'd like to thank you all for this great project and its support.
      I've submitted a previous bug
      https://issues.apache.org/jira/browse/IVY-1576 - and its fix, thanks for accepting it.

      This is an enhancement request, which I've already done for 2.4.x version.
      The changes are minimal, but the result is a very simple and easy to maintain programmatic interface for applications who desire to use Ivy as an in-process dependency manager. This would be similar to MavenCli (http://maven.apache.org/ref/3.5.0/maven-embedder/project-info.html)

      The change would simply be to make Main.run public, return ResolveReport and have a noterminate option.

      A programmatic example of using Ivy would then be :

      
      ResolveReport report = Main.run(new String[]{ "-dependency", "apache", "commons-lang 2.0", "-noterminate"});
      
      

      since it simply re-uses the command line interface, potentially no maintenance is required (different than the MavenCli interface - as it is broken at the moment). The noterminate option would be needed to prevent the big hammer of terminating the jvm. Some processes using Ivy in process do not want to terminate when Ivy has finished its resolve & retrieve.

      This would fix :

      I think there is a great desire for a simple interface which returns results which can be inspected.

      Here is the pull request
      https://github.com/apache/ant-ivy/pull/69

      Attachments

        Issue Links

          Activity

            People

              twogee Gintas Grigelionis
              grog Greg Perry
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: