Details

    • Type: Wish Wish
    • Status: Closed
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: build
    • Labels:
      None

      Description

      It would be nice to have commandline definition to possibly disable ivy.

        Activity

        Hide
        Doug Cutting added a comment -

        Can you explain more about what you want here?

        Ivy is used to retrieve Java's dependencies. It is configured so that, once dependencies have been retrieved, offline development is possible. Without Ivy we'd need to include the jars we depend on in subversion and in the source distribution.

        Show
        Doug Cutting added a comment - Can you explain more about what you want here? Ivy is used to retrieve Java's dependencies. It is configured so that, once dependencies have been retrieved, offline development is possible. Without Ivy we'd need to include the jars we depend on in subversion and in the source distribution.
        Hide
        Priit Laes added a comment -

        A bit background:

        I am currently working on getting the Hadoop stack running on Gentoo. And Gentoo's Java policy is clear: "No bundled dependencies" (ie the ones that Ivy automatically downloads).

        So in our build scripts (ebuilds) we just provide list of depending packages in EANT_GENTOO_CLASSPATH="package1,package2" whose location is then injected into classpath.

        So what I want is just variable that disables invocation of ivy.

        Show
        Priit Laes added a comment - A bit background: I am currently working on getting the Hadoop stack running on Gentoo. And Gentoo's Java policy is clear: "No bundled dependencies" (ie the ones that Ivy automatically downloads). So in our build scripts (ebuilds) we just provide list of depending packages in EANT_GENTOO_CLASSPATH="package1,package2" whose location is then injected into classpath. So what I want is just variable that disables invocation of ivy.
        Hide
        Doug Cutting added a comment -

        So you want a way to build Avro jars from source without invoking ivy, is that right?

        If you're willing to make sure that all the required jars are in $

        {ivy.lib}

        and $

        {ivy.test.lib}

        (build/lib and build/test/lib by default) then this should be as simple as adding unless="$

        {ivy.disabled}

        " to all of the -retrieve tasks in build.xml. Does that sound like what you're looking for? Then you could specify "-Divy.disabled=true -Divy.lib=... -Divy.test.lib=..." on the ant command line. Could that work for you?

        How will you track Java dependencies as they change? We specify java dependencies in one place in the sources: ivy.xml. Will you update your Avro Java dependencies with each Avro release by hand?

        Show
        Doug Cutting added a comment - So you want a way to build Avro jars from source without invoking ivy, is that right? If you're willing to make sure that all the required jars are in $ {ivy.lib} and $ {ivy.test.lib} (build/lib and build/test/lib by default) then this should be as simple as adding unless="$ {ivy.disabled} " to all of the -retrieve tasks in build.xml. Does that sound like what you're looking for? Then you could specify "-Divy.disabled=true -Divy.lib=... -Divy.test.lib=..." on the ant command line. Could that work for you? How will you track Java dependencies as they change? We specify java dependencies in one place in the sources: ivy.xml. Will you update your Avro Java dependencies with each Avro release by hand?
        Hide
        Scott Carey added a comment -

        I think this ticket is invalid.

        1: It doesn't matter that Ivy or now Maven (due to AVRO-647) downloads various jars to build, does it? Is the policy "no bundled dependencies" for the eventual artifacts? The output of the build has no bundled artifacts, other than avro-tools.jar which we currently do bundle all dependencies in it.

        2: If there is a way to do this with maven, its part of maven. There are hundreds of other java projects that use Maven , Gentoo must have some sort of policy for working with projects that build with and generate maven artifacts.

        I am going to close this ticket, but feel free to re-open it if there is a requirement to change the build after AVRO-647.

        Show
        Scott Carey added a comment - I think this ticket is invalid. 1: It doesn't matter that Ivy or now Maven (due to AVRO-647 ) downloads various jars to build, does it? Is the policy "no bundled dependencies" for the eventual artifacts? The output of the build has no bundled artifacts, other than avro-tools.jar which we currently do bundle all dependencies in it. 2: If there is a way to do this with maven, its part of maven. There are hundreds of other java projects that use Maven , Gentoo must have some sort of policy for working with projects that build with and generate maven artifacts. I am going to close this ticket, but feel free to re-open it if there is a requirement to change the build after AVRO-647 .
        Hide
        Scott Carey added a comment -

        I do not think this is a problem anymore with the maven build. However, if it is, please re-open.

        Show
        Scott Carey added a comment - I do not think this is a problem anymore with the maven build. However, if it is, please re-open.

          People

          • Assignee:
            Unassigned
            Reporter:
            Priit Laes
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development