class: Smalltalk
changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels:
ignore all files starting with '.' in the name
--- a/Smalltalk.st Tue Mar 04 13:40:49 2014 +0100
+++ b/Smalltalk.st Tue Mar 04 15:41:37 2014 +0100
@@ -5377,36 +5377,36 @@
dirName := dir physicalPathName. "take care of symbolic links"
(dirsConsulted includes:dirName) ifTrue:[
- ^ self
+ ^ self
].
(dir / 'NOPACKAGES') exists ifTrue:[
- ^ self.
+ ^ self.
].
(dir / 'NOSUBAUTOLOAD') exists ifTrue:[
- ^ self.
+ ^ self.
].
maxLevels == 0 ifTrue:[
- Transcript showCR:('Autoload: max directory nesting reached in %1' bindWith:dir pathName).
- ^ self
+ Transcript showCR:('Autoload: max directory nesting reached in %1' bindWith:dir pathName).
+ ^ self
].
dirsConsulted add:dirName.
noAutoloadHere := noAutoloadIn.
noAutoloadHere ifFalse:[
- (dir / 'NOAUTOLOAD') exists ifTrue:[
- noAutoloadHere := true.
- ].
+ (dir / 'NOAUTOLOAD') exists ifTrue:[
+ noAutoloadHere := true.
+ ].
] ifTrue:[
- (dir / 'AUTOLOAD') exists ifTrue:[
- noAutoloadHere := false.
- ].
+ (dir / 'AUTOLOAD') exists ifTrue:[
+ noAutoloadHere := false.
+ ].
].
showSplashInLevels >= 0 ifTrue:[
- self showSplashMessage:('Smalltalk [info]: installing autoloaded classes found under "%1"...'
- bindWith:(dirName contractAtBeginningTo:35)).
+ self showSplashMessage:('Smalltalk [info]: installing autoloaded classes found under "%1"...'
+ bindWith:(dirName contractAtBeginningTo:35)).
].
"/
@@ -5415,72 +5415,74 @@
"/
haveAbbrevDotSTC := false.
noAutoloadHere ifFalse:[
- [
- self installAutoloadedClassesFromAbbrevFile:(dir / 'abbrev.stc').
- haveAbbrevDotSTC := true.
- ] on:FileStream openErrorSignal
- do:[:ex|
- "ignore this file"
- ].
+ [
+ self installAutoloadedClassesFromAbbrevFile:(dir / 'abbrev.stc').
+ haveAbbrevDotSTC := true.
+ ] on:FileStream openErrorSignal
+ do:[:ex|
+ "ignore this file"
+ ].
].
[
- directoryContents := dir directoryContents asSet. "asSet to speed up remove"
+ directoryContents := dir directoryContents.
] on:FileStream openErrorSignal do:[:ex|
- "non-accessable directory: we are done"
- ^ self
- ].
+ "non-accessable directory: we are done"
+ ^ self
+ ].
+
+ directoryContents := directoryContents select:[:fn | (fn startsWith:'.') not] as:Set.
directoryContents removeAllFoundIn:#(
- 'objbc' 'objvc' 'objmingw'
- 'doc'
- 'CVS'
- 'bitmaps'
- 'resources'
- 'source'
- 'not_delivered'
- 'not_ported'
- ).
+ 'objbc' 'objvc' 'objmingw'
+ 'doc'
+ 'CVS'
+ 'bitmaps'
+ 'resources'
+ 'source'
+ 'not_delivered'
+ 'not_ported'
+ ).
dir baseName = 'stx' ifTrue:[
- directoryContents removeAllFoundIn:#(
- 'configurations'
- 'include'
- 'rules'
- 'stc'
- 'support'
- ).
+ directoryContents removeAllFoundIn:#(
+ 'configurations'
+ 'include'
+ 'rules'
+ 'stc'
+ 'support'
+ ).
].
directoryContents do:[:eachFilenameString |
- |f|
-
- f := dir / eachFilenameString.
- f isDirectory ifTrue:[
- self
- recursiveInstallAutoloadedClassesFrom:f
- rememberIn:dirsConsulted
- maxLevels:maxLevels-1
- noAutoload:noAutoloadHere
- packageTop:packageTopPath
- showSplashInLevels:showSplashInLevels - 1.
- ] ifFalse:[
- (noAutoloadHere not and:[haveAbbrevDotSTC not]) ifTrue:[
- f suffix = 'st' ifTrue:[
- [
- self installAutoloadedClassFromSourceFile:f.
- f directory baseName = 'libbasic' ifTrue:[self halt].
- ] on:FileStream openErrorSignal do:[:ex|
- "ignore this file, but write a warning"
- Transcript showCR:('Autoload: cannot install %1. (%2)' bindWith:f pathName with:ex description).
- ].
- ]
- ].
- ]
+ |f|
+
+ f := dir / eachFilenameString.
+ f isDirectory ifTrue:[
+ self
+ recursiveInstallAutoloadedClassesFrom:f
+ rememberIn:dirsConsulted
+ maxLevels:maxLevels-1
+ noAutoload:noAutoloadHere
+ packageTop:packageTopPath
+ showSplashInLevels:showSplashInLevels - 1.
+ ] ifFalse:[
+ (noAutoloadHere not and:[haveAbbrevDotSTC not]) ifTrue:[
+ f suffix = 'st' ifTrue:[
+ [
+ self installAutoloadedClassFromSourceFile:f.
+ f directory baseName = 'libbasic' ifTrue:[self halt].
+ ] on:FileStream openErrorSignal do:[:ex|
+ "ignore this file, but write a warning"
+ Transcript showCR:('Autoload: cannot install %1. (%2)' bindWith:f pathName with:ex description).
+ ].
+ ]
+ ].
+ ]
].
showSplashInLevels >= 0 ifTrue:[
- self showSplashMessage:('Smalltalk [info]: installing autoloaded classes from "%1"...'
- bindWith:(dirName contractAtBeginningTo:35)).
+ self showSplashMessage:('Smalltalk [info]: installing autoloaded classes from "%1"...'
+ bindWith:(dirName contractAtBeginningTo:35)).
].
"
@@ -8218,11 +8220,11 @@
!Smalltalk class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1069 2014-03-01 15:34:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1070 2014-03-04 14:41:37 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1069 2014-03-01 15:34:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1070 2014-03-04 14:41:37 cg Exp $'
!
version_SVN