--- a/ProjectDefinition.st Sun Aug 21 12:47:20 2011 +0200
+++ b/ProjectDefinition.st Sun Aug 21 17:29:06 2011 +0200
@@ -4444,16 +4444,27 @@
|newStuffHasBeenLoaded meOrMySecondIncarnation|
- self projectIsLoaded ifTrue:[^ false].
+ self projectIsLoaded ifTrue:[
+ asAutoloaded ifFalse:[
+ "/ to be considered !!
+"/ self isFullyLoaded ifFalse:[
+"/ self hasAllExtensionsLoaded ifFalse:[
+"/ self loadExtensions.
+"/ ].
+"/ self loadAllAutoloadedClasses
+"/ ].
+ ].
+ ^ false
+ ].
thisContext isRecursive ifTrue:[self breakPoint:#cg. ^ false]. "/ avoid endless loops
newStuffHasBeenLoaded := false.
(self infoPrinting and:[Smalltalk silentLoading not]) ifTrue:[
- "/ thisContext fullPrintAll.
- Transcript showCR:('loading %1%2...'
- bindWith:(asAutoloaded ifTrue:['as autoloaded '] ifFalse:[''])
- with:self name).
+ "/ thisContext fullPrintAll.
+ Transcript showCR:('loading %1%2...'
+ bindWith:(asAutoloaded ifTrue:['as autoloaded '] ifFalse:[''])
+ with:self name).
].
self rememberOverwrittenExtensionMethods.
@@ -4464,28 +4475,28 @@
meOrMySecondIncarnation := self.
Class withoutUpdatingChangesDo:[
- self activityNotification:'Loading prerequisities'.
- self loadPreRequisitesAsAutoloaded:asAutoloaded.
-
- self checkPrerequisitesForLoading.
-
- asAutoloaded ifFalse:[
- self loadClassLibrary.
- "/ could have overloaded my first incarnation
- meOrMySecondIncarnation := (Smalltalk at:(self name)) ? self.
- meOrMySecondIncarnation ~~ self ifTrue:[
- meOrMySecondIncarnation fetchSlotsFrom:self.
- ].
- ].
-
- self activityNotification:'Loading extensions'.
- newStuffHasBeenLoaded := newStuffHasBeenLoaded | meOrMySecondIncarnation loadExtensions.
- self activityNotification:'Loading classes'.
- newStuffHasBeenLoaded := newStuffHasBeenLoaded | (meOrMySecondIncarnation loadAllClassesAsAutoloaded:asAutoloaded).
+ self activityNotification:'Loading prerequisities'.
+ self loadPreRequisitesAsAutoloaded:asAutoloaded.
+
+ self checkPrerequisitesForLoading.
+
+ asAutoloaded ifFalse:[
+ self loadClassLibrary.
+ "/ could have overloaded my first incarnation
+ meOrMySecondIncarnation := (Smalltalk at:(self name)) ? self.
+ meOrMySecondIncarnation ~~ self ifTrue:[
+ meOrMySecondIncarnation fetchSlotsFrom:self.
+ ].
+ ].
+
+ self activityNotification:'Loading extensions'.
+ newStuffHasBeenLoaded := newStuffHasBeenLoaded | meOrMySecondIncarnation loadExtensions.
+ self activityNotification:'Loading classes'.
+ newStuffHasBeenLoaded := newStuffHasBeenLoaded | (meOrMySecondIncarnation loadAllClassesAsAutoloaded:asAutoloaded).
"/ no, don't load subProjects here - will lead to a recursion, which leads
"/ to some classes being loaded from source (soap)
- self activityNotification:'Loading sub projects'.
- meOrMySecondIncarnation loadSubProjectsAsAutoloaded:asAutoloaded.
+ self activityNotification:'Loading sub projects'.
+ meOrMySecondIncarnation loadSubProjectsAsAutoloaded:asAutoloaded.
].
self activityNotification:('Executing post-load action for %1' bindWith:self package).
@@ -4495,7 +4506,7 @@
meOrMySecondIncarnation projectIsLoaded:true.
meOrMySecondIncarnation ~~ self ifTrue:[
- self projectIsLoaded:true.
+ self projectIsLoaded:true.
].
self activityNotification:('Done (%1).' bindWith:self package).
@@ -4504,7 +4515,7 @@
"Created: / 17-08-2006 / 01:01:41 / cg"
"Modified: / 30-10-2008 / 08:16:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
"Modified: / 22-08-2009 / 12:02:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 29-12-2010 / 10:09:34 / cg"
+ "Modified: / 21-08-2011 / 17:28:49 / cg"
!
unloadPackage
@@ -5302,6 +5313,12 @@
extensionOverwriteInfo := myFirstIncarnation extensionOverwriteInfo.
!
+loadAllAutoloadedClasses
+ self allClasses do:[:cls | cls autoload]
+
+ "Created: / 21-08-2011 / 17:24:13 / cg"
+!
+
loadAllClassesAsAutoloaded:asAutoloaded
"load (fileIn) classes that should be present -
install as autoloaded classes marked to be autoloaded.
@@ -6372,11 +6389,11 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.345 2011-08-20 21:33:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.346 2011-08-21 15:29:06 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.345 2011-08-20 21:33:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.346 2011-08-21 15:29:06 cg Exp $'
!
version_SVN