Ivy
  1. Ivy
  2. IVY-1367

Support Conditional Setting of a Property

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.4.0-RC1
    • Component/s: Core
    • Labels:
      None

      Description

      Please allow a way to make conditional use of environment variables in ivysettings.xml. If the environment variable is set, then set the property, otherwise, don't set the property. This can be generalized into a general test to set a property only if another property is set.

      Something like this, where the "ifset" is the new attribute of the property element.

      <properties environment="env"/>
      <property name="ivy.repos.server" value="$

      {env.IVY_SERVER}" override="false" ifset="env.IVY_SERVER" />
      <property name="ivy.repos.server" value="http://ivy:8081" override="false"/>

      In ant, you do something like this, which is very similar (but more verbose):

      <condition property="ivy.repos.server" value="${env.IVY_SERVER}

      ">
      <isset property="env.IVY_SERVER"/>
      </condition>
      <property name="ivy.repos.server" value="http://ivy:8081"/>

      So, if a user defines an environment variable it will override the default value provided by the system. And if the environment variable is not defined in the environment, then the system default value can apply.

        Activity

          People

          • Assignee:
            Nicolas Lalevée
            Reporter:
            J.C. Hamlin
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development