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

Support Conditional Setting of a Property

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.2.0
    • 2.4.0-RC1
    • Core
    • 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.

      Attachments

        Activity

          People

            hibou Nicolas Lalevée
            jchamlin J.C. Hamlin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: