mirror of
https://github.com/golang/go
synced 2024-11-19 19:04:47 -07:00
cmd/dist: ignore file names beginning with . or _
This is the same heuristic that build.ScanDir uses. It avoids considering 'resource fork' files on OS X; the resource for x.go is ._x.go. R=gri CC=golang-dev https://golang.org/cl/5616073
This commit is contained in:
parent
842c906e2e
commit
e335ec98b5
18
src/cmd/dist/build.c
vendored
18
src/cmd/dist/build.c
vendored
@ -555,6 +555,22 @@ install(char *dir)
|
|||||||
// Everything in that directory, and any target-specific
|
// Everything in that directory, and any target-specific
|
||||||
// additions.
|
// additions.
|
||||||
xreaddir(&files, bstr(&path));
|
xreaddir(&files, bstr(&path));
|
||||||
|
|
||||||
|
// Remove files beginning with . or _,
|
||||||
|
// which are likely to be editor temporary files.
|
||||||
|
// This is the same heuristic build.ScanDir uses.
|
||||||
|
// There do exist real C files beginning with _,
|
||||||
|
// so limit that check to just Go files.
|
||||||
|
n = 0;
|
||||||
|
for(i=0; i<files.len; i++) {
|
||||||
|
p = files.p[i];
|
||||||
|
if(hasprefix(p, ".") || (hasprefix(p, "_") && hassuffix(p, ".go")))
|
||||||
|
xfree(p);
|
||||||
|
else
|
||||||
|
files.p[n++] = p;
|
||||||
|
}
|
||||||
|
files.len = n;
|
||||||
|
|
||||||
for(i=0; i<nelem(deptab); i++) {
|
for(i=0; i<nelem(deptab); i++) {
|
||||||
if(hasprefix(dir, deptab[i].prefix)) {
|
if(hasprefix(dir, deptab[i].prefix)) {
|
||||||
for(j=0; (p=deptab[i].dep[j])!=nil; j++) {
|
for(j=0; (p=deptab[i].dep[j])!=nil; j++) {
|
||||||
@ -595,7 +611,7 @@ install(char *dir)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
vuniq(&files);
|
vuniq(&files);
|
||||||
|
|
||||||
// Convert to absolute paths.
|
// Convert to absolute paths.
|
||||||
for(i=0; i<files.len; i++) {
|
for(i=0; i<files.len; i++) {
|
||||||
if(!isabs(files.p[i])) {
|
if(!isabs(files.p[i])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user