[ 
https://issues.apache.org/jira/browse/CB-14033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16540033#comment-16540033
 ] 

ASF GitHub Bot commented on CB-14033:
-------------------------------------

brodybits commented on issue #621: CB-14033 Support symbolic dir links on 
Windows
URL: https://github.com/apache/cordova-lib/pull/621#issuecomment-404155097
 
 
   My apologies, no time for me to test it this week, probably not much time 
next week either. Considering that you tested it in spec and got an approval 
from someone else I don't think you should let me block it.
   
   I do think it would be good for you to try a version of cordova-cli that 
does use a version of cordova-lib with this change and verify that it does 
actually solve the problem at some point.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> `cordova plugin add` skips directory on windows
> -----------------------------------------------
>
>                 Key: CB-14033
>                 URL: https://issues.apache.org/jira/browse/CB-14033
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-lib
>         Environment: Cordova 6.2.0
>            Reporter: Jack Lu
>            Assignee: Raphael
>            Priority: Major
>
> Suppose we have a cordova plugin project and a test project that are under 
> the same directory. The {color:#333333}cordova plugin project {color}is in 
> directory p, and the test project in directory t. When I run following 
> command in directory t:
>  
> {code:java}
> cordova plugin add ..\p
> {code}
> the install fails, and I found it's due to the src directory missing during 
> copying.
> After digging into the source, I found it's caused by a special handling in 
> the fetch action{color:#333333} on windows{color}. The source is 
> {color:#333333}[https://github.com/apache/cordova-lib/blob/master/src/plugman/fetch.js#L299]{color}.
> {code:java}
>             /*
>                 [CB-10423]
>                 This is a special case. On windows we cannot create a symlink 
> unless we are run as admin
>                 The error that we have is because src contains dest, so we 
> end up with a recursive folder explosion
>                 This code avoids copy the one folder that will explode, and 
> allows plugins to contain a demo project
>                 and to install the plugin via `cordova plugin add ../`
>             */
>             var resolvedSrcPath = path.resolve(plugin_dir);
>             var filenames = fs.readdirSync(resolvedSrcPath);
>             var relPath = path.relative(resolvedSrcPath,dest);
>             var relativeRootFolder = relPath.split('\\')[0];
>             filenames.splice(filenames.indexOf(relativeRootFolder),1);
> {code}
> in this case {color:#333333}relPath{color} will be "..\t\plugins\{{{{plugin 
> id}}}}", {color:#333333}relativeRootFolder{color} be "..", then 
> {color:#333333}filenames.indexOf(relativeRootFolder){color} be -1, finally 
> filenames lost the last element, which is the src directory in my case.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to