ProjectDefinition.st
changeset 12264 67d427702122
parent 12263 c6d50824fbba
child 12268 b3cd2af642f2
--- a/ProjectDefinition.st	Tue Oct 13 18:50:39 2009 +0200
+++ b/ProjectDefinition.st	Tue Oct 13 18:54:04 2009 +0200
@@ -4049,10 +4049,9 @@
         |class oldMethod oldPackage defClass|
 
         class := Smalltalk classNamed:className.
-        class isNil ifTrue:[
-            self error:'missing class for extension: ', className
+        class notNil ifTrue:[
+            oldMethod := class compiledMethodAt:selector.
         ].
-        oldMethod := class compiledMethodAt:selector.
         oldMethod notNil ifTrue:[
             oldPackage := oldMethod package.
             oldPackage ~= PackageId noProjectID ifTrue:[
@@ -4109,13 +4108,20 @@
 !ProjectDefinition class methodsFor:'private-loading'!
 
 checkPrerequisitesForLoading
+    |classesAlreadyWarned|
+
+    classesAlreadyWarned := Set new.
+
     self extensionMethodNames 
         pairWiseDo:[:className :selector |
             |class |
 
             class := Smalltalk classNamed:className.
             class isNil ifTrue:[
-                self error:'missing class for extension: ', className
+                (classesAlreadyWarned includes:className) ifFalse:[
+                    self error:'missing class for extension: ', className mayProceed:true.
+                    classesAlreadyWarned add:className.
+                ].
             ].
         ]
 
@@ -4670,11 +4676,11 @@
 !ProjectDefinition class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.248 2009-10-13 16:50:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.249 2009-10-13 16:54:04 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.248 2009-10-13 16:50:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.249 2009-10-13 16:54:04 cg Exp $'
 ! !
 
 ProjectDefinition initialize!