[ https://issues.apache.org/jira/browse/FELIX-1627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Derek Baum resolved FELIX-1627. ------------------------------- Resolution: Fixed variables are now expanded in sigil defaults files using ${name} notation, including Unix shell ${name:-default} syntax. where ${name} is replaced with System.getProperty(name), or if not set, by System.getenv(name). ${name:?Error message} can be used to cause a failed expansion to throw an exception. This allows, for example, sigil-default.properties to contain: version: 1.2.3.${QUALIFIER:-SNAPSHOT} which allows the default version qualifier of SNAPSHOT to be overridden by setting QUALIFIER in the environment. The following properties in sigil.properties take path names as arguments: -defaults: -resources: -sourcedirs: -libs: each of these effectively resolves the path name against the pathname of the file in which it appears, without needing the explicit use of ${.}, but there are some special cases: -resources: strips @ or {} before attempting to resolve the path, then passes the resolved path to BND -libs: additionally atempts to resolve against the target directory. Some properties in repository definitions also take pathnames as arguments: project;pattern: filesystem;dir: obr;auth: obr;index: These still require the explicit use of ${.} to cause them resolve against the file in which they appear. Changing this behaviour would involve changing the repository constructors, which currently just take a Properties argument, and does not indicate the base directory against which to resolve path arguments. > Add support for variable expansion in sigil.property values > ----------------------------------------------------------- > > Key: FELIX-1627 > URL: https://issues.apache.org/jira/browse/FELIX-1627 > Project: Felix > Issue Type: Improvement > Components: Sigil > Reporter: David Savage > Assignee: Derek Baum > > Currently sigil.properties supports expansion of ${key} values in a number of > key places such as -defaults location and translation of ${.} and ${..} to > paths relative to the sigil.properties file. > Proposal to make this behaviour universal for all values. > As part of this fix we should also address consistency issues with path > locations wrt ${.} and ${..} > In most places: > key: path/to/resource > is considered a path relative to the jvm process that executes where as > key: ${.}/path/to/resource > is considered a path relative to the sigil.properties file > However this is not true for the -sourcedirs attribute which has explicit > parsing to make > -sourcedirs: src > imply the source dir relative to the sigil.properties file. > Suggestion to make source dirs behaviour default and use ${.} syntax only for > jvm process paths. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.