[
https://issues.apache.org/jira/browse/IVYDE-318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13436180#comment-13436180
]
Daniel Holmes commented on IVYDE-318:
-------------------------------------
basically I have a custom conflict manager that I'm configuring
and I need a classpath entry for the jar file. If I colocate with the
ivysettings file and do
<classpath file="${ivy.settings.dir}/company-ivy.jar"/>
<typedef name="strict-with-force"
classname="com.company.common.ivy.StrictWithForceConflictManager"/>
<conflict-managers>
<strict-with-force name="strict-with-force"/>
</conflict-managers>
it loads file, but if I instead use
<classpath file="${foo}/company-ivy.jar"/>
and in a property file (build-local.properties) have
foo=<path to jar>
and this entry in my .classpath file
<classpathentry kind="con"
path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=foo&ivyXmlPath=ivy.xml&confs=*&ivySettingsPath=file%3AU%3A%2Fp4%2Fbard%2Faxx%2Faxx-ivysettings.xml&loadSettingsOnDemand=false&propertyFiles=U%3A%2Fp4%2Fbard%2Fbuild-local.properties&acceptedTypes=jar%2Cbundle%2Cejb%2Cmaven-plugin&alphaOrder=false&resolveInWorkspace=true&retrievedClasspath=false"/>
it seems this ${foo} in the classpath entry is not replaced, cause an exception
of classloading which is the reason for the parse loading error I see. I can
toggle between the 2 different <classpath> items above, refresh in eclipse and
have the warning appear and go away.
> Incomplete variable substitution for ivysettings.xml
> ----------------------------------------------------
>
> Key: IVYDE-318
> URL: https://issues.apache.org/jira/browse/IVYDE-318
> Project: IvyDE
> Issue Type: Bug
> Components: classpath container
> Affects Versions: 2.2.0.beta1
> Environment: Eclipse Helios
> Reporter: Daniel Holmes
>
> I'm getting an error which shows up on the IvyDE Managed Libraries screen,
> the Settings tab on the Ivy Setting Path. It says "Parsing error of the Ivy
> Settings". My ivysettings.xml file works fine in my ant/ivy level build.
> It appears that the properties defined in the property files also listed on
> this Settings tab are not used to do variable substitution on my Ivy settings
> file for the <classpath> tag definitions within it. It appears that only the
> ivy.settings.dir property is actually substituted. See the
> IvySettingsFile.java substitute method
> private String substitute(String str) {
> Map variables = new HashMap();
> if (file.getParentFile() != null) {
> URI settingsDirUri = file.getParentFile().toURI();
> variables.put("ivy.settings.dir", settingsDirUri.toString());
> }
> return IvyPatternHelper.substituteVariables(str, variables);
> }
> This needs to allow for the full set of properties configured via the
> associated properties files for these settings to be part of this variable
> substitution.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira