This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 271180 - FileCollector: find: paths must precede expression: 8.2
Summary: FileCollector: find: paths must precede expression: 8.2
Status: STARTED
Alias: None
Product: cnd
Classification: Unclassified
Component: Remote (show other bugs)
Version: 8.2
Hardware: PC Windows 7 x64
: P3 normal (vote)
Assignee: Vladimir Kvashin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-28 04:06 UTC by BombermaG
Modified: 2017-08-01 03:24 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Project Properties (34.51 KB, image/png)
2017-08-01 03:24 UTC, BombermaG
Details

Note You need to log in before you can comment on or make changes to this bug.
Description BombermaG 2017-07-28 04:06:57 UTC
When remote building C project I see some wrong bash command in IDE log.
This is log from IDE (-J-Dcnd.remote.logger.level=0 -J-Dnativeexecution.support.logger.level=0 -J-Dremote.support.logger.level=0):

FtpSyncWorker[root@46.174.50.72:666]: Started new files discovery at root@46.174.50.72:666: os=`uname`
if [ ${os} = Darwin -o ${os} = FreeBSD ]; then
    lst=`mktemp -t nblist`
else
    lst=`mktemp`
fi
find "/root/.netbeans/remote/1.2.3.4/username-Windows-x86_64/D/Project/test" "/root/.netbeans/remote/1.2.3.4/username-Windows-x86_64/C/Program Files/NetBeans 8.2" \( -name "*.c" -o -name "*.i" -o -name "*.m" -o -name "*.C" -o -name "*.c++" -o -name "*.cc" -o -name "*.cpp" -o -name "*.cxx" -o -name "*.mm" -o -name "*.H" -o -name "*.SUNWCCh" -o -name "*.h" -o -name "*.hpp" -o -name "*.hxx" -o -name "*.tcc" -o  -name Makefile -o -name NetBeans 8.2 \)  -newer /root/.netbeans/remote/1.2.3.4/username-Windows-x86_64/tmp.2icp5ed2HV > ${lst}
while read F; do
  test -f "$F" &&  echo "$F"
done < ${lst}
rm ${lst}

FINE [nativeexecution.support.logger]: [56651 ms.] FileCollector: find: paths must precede expression: 8.2
FINE [nativeexecution.support.logger]: [56651 ms.] FileCollector: Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Param -name NetBeans 8.2 in find command must be in quotes.
-name NetBeans 8.2 must be -name "NetBeans 8.2"

And why this command contains path "/root/.netbeans/remote/1.2.3.4/username-Windows-x86_64/C/Program Files/NetBeans 8.2" and this param -name NetBeans 8.2? It's normal?
Comment 1 BombermaG 2017-07-31 15:53:36 UTC
--- a/cnd.remote/src/org/netbeans/modules/cnd/remote/sync/FileCollector.java    Thu Jul 13 21:27:05 2017 +0300
+++ b/cnd.remote/src/org/netbeans/modules/cnd/remote/sync/FileCollector.java    Mon Jul 31 18:47:50 2017 +0300
@@ -546,7 +564,7 @@
         }
         extOptions.append(" -name Makefile"); // NOI18N
         for (File file : buildResults) {
-            extOptions.append(" -o -name ").append(file.getName()); // NOI18N
+            extOptions.append(" -o -name \"").append(file.getName()).append("\""); // NOI18N
         }
         extOptions.append(" \\) "); // NOI18N
Comment 2 Vladimir Kvashin 2017-07-31 18:17:49 UTC
Thank you for such detailed report - and even with patch!
I'll apply your patch shortly; I'll also search about other such places.

I'm also a bit surprised to see your NetBeans installation path as one of the find utility parameters. I tried to reproduce this on my Linux, but failed. I'll try on Windows a little bit later.

And how your project looks like? Is it just a sample? Or a new project created from scratch? or a project from existing sources?
Comment 3 BombermaG 2017-08-01 03:24:52 UTC
Created attachment 164874 [details]
Project Properties

It's project from existing sources.
My build result path is empty (see Picture).
After I set path in this field, ".../C/Program Files/NetBeans 8.2" changed to my new path.
After clearing this filed, path ".../C/Program Files/NetBeans 8.2" is goes back.