[ 
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&amp;ivyXmlPath=ivy.xml&amp;confs=*&amp;ivySettingsPath=file%3AU%3A%2Fp4%2Fbard%2Faxx%2Faxx-ivysettings.xml&amp;loadSettingsOnDemand=false&amp;propertyFiles=U%3A%2Fp4%2Fbard%2Fbuild-local.properties&amp;acceptedTypes=jar%2Cbundle%2Cejb%2Cmaven-plugin&amp;alphaOrder=false&amp;resolveInWorkspace=true&amp;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

        

Reply via email to