--- a/Tools__ProjectLoader.st Sat Aug 24 23:14:04 2013 +0100
+++ b/Tools__ProjectLoader.st Wed Aug 28 10:50:17 2013 +0100
@@ -252,15 +252,28 @@
!ProjectLoader class methodsFor:'load & save'!
loadProjects
- |projectFile|
+ |projectFile projects|
projectFile := self defaultProjectFile.
projectFile exists ifFalse:[
^ self defaultProjects
].
- ^ Compiler
+ projects := Compiler
evaluate:projectFile contents asString
- ifFail:[ self defaultProjects ].
+ ifFail:[
+ Dialog information:(self resources
+ stringWithCRs:'Syntax error in "%1".\Showing default projects.'
+ with:projectFile pathName).
+ self defaultProjects
+ ].
+
+ projects isEmptyOrNil ifTrue:[
+ Dialog information:(self resources
+ stringWithCRs:'Projects file "%1" is empty.\Showing default projects.'
+ with:projectFile pathName).
+ projects := self defaultProjects.
+ ].
+ ^ projects
"
self projectList"
@@ -299,25 +312,36 @@
doUpdateFromNetwork
<resource: #uiCallback>
- | projects newProjects |
+ | sites projects newProjects |
projects := self class loadProjects asOrderedCollection.
- self class projectSites do:[:site|
- | siteUrl response |
+ sites := self class projectSites.
+ sites isEmpty ifTrue:[
+ Dialog information:'No project sites defined (see ProjectLoader>>projectSites).'.
+ ] ifFalse:[
+ sites do:[:site|
+ | siteUrl response |
- siteUrl := site asURL.
- response := HTTPInterface get: siteUrl path fromHost: siteUrl host.
- newProjects := Compiler evaluate: response data ifFail:[#()].
- newProjects do:[:newPrj|
- | oldPrj |
- oldPrj := projects
- detect:[:oldPrj|oldPrj first = newPrj first]
- ifNone:[projects add: newPrj].
- oldPrj at:2 put: newPrj second.
- ]
+ siteUrl := site asURL.
+ Transcript showCR:'asking ',siteUrl asString,'...'.
+ response := HTTPInterface get: siteUrl path fromHost: siteUrl host.
+ newProjects := Compiler evaluate: response data ifFail:[#()].
+ newProjects do:[:newPrj|
+ | oldPrj |
+ oldPrj := projects
+ detect:[:oldPrj|oldPrj first = newPrj first]
+ ifNone:[projects add: newPrj].
+ oldPrj at:2 put: newPrj second.
+ ]
+ ].
].
+
+ projects isEmpty ifTrue:[
+ Dialog information:'No projects found in web.'.
+ ^ self
+ ].
+
projects := projects asArray.
-
projectList := projects.
self class saveProjects: projects.
self projectListChanged
@@ -422,11 +446,11 @@
!ProjectLoader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectLoader.st,v 1.5 2013-07-31 16:00:44 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectLoader.st,v 1.8 2013-08-27 11:00:01 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectLoader.st,v 1.5 2013-07-31 16:00:44 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectLoader.st,v 1.8 2013-08-27 11:00:01 cg Exp $'
!
version_HG
@@ -435,7 +459,7 @@
!
version_SVN
- ^ '$Id: Tools__ProjectLoader.st,v 1.5 2013-07-31 16:00:44 cg Exp $'
+ ^ '$Id: Tools__ProjectLoader.st,v 1.8 2013-08-27 11:00:01 cg Exp $'
! !