A new version of Sake-Bob was added to project Sake : http://www.squeaksource.com/Sake/Sake-Bob-kph.19.mcz
==================== Summary ====================
Name: Sake-Bob-kph.19 Author: kph Time: 7 July 2009, 1:42 pm UUID: 3fff1eff-adae-46af-86da-b384d37aaa36 Ancestors: Sake-Bob-kph.18
added setCompilerToLeniant
=============== Diff against Sake-Bob-kph.18 ===============
Item was changed: ----- Method: BobBuild>>makeLocal: (in category 'zip file') ----- makeLocal: aZipFile
"if the zip file is remote, check it wasnt one we generated in our output tree"
| localZipFile | localZipFile := nil. aZipFile executive isRemote ifTrue: [ (self outputDir parent all filesMatching: aZipFile fileName) firstOrNil ifNotNilDo: [ :found | self log info found: found. + ^ localZipFile := found - ^ localZipFile ] ] ifFalse: [ aZipFile exists ifTrue: [ ^ aZipFile ]].
(localZipFile := self class configImagesDir / aZipFile fileName) exists ifTrue: [ ^ localZipFile ].
"default is not to overwrite if the file exists" localZipFile := (self class configImagesDir add: (localZipFile ifNil: [ aZipFile ])). ^ localZipFile
!
Item was changed: ----- Method: BobBuildImage>>theScriptBasic (in category 'script') ----- theScriptBasic
script reset. self + scriptSetCompilerToLenient; scriptTranscriptLogToFileStart; scriptSetVersion; scriptAddInfoScript; scriptTranscriptLogToFileStop; scriptSaveImageAndQuit: true!
Item was changed: ----- Method: BobConfig class>>configVm (in category 'as yet unclassified') ----- configVm
"the mac vm doesnt like to be opened via a symbolic link" + ^ '/bob/vm/Squeak 3.8.21beta1U.app/Contents/MacOS/Squeak VM Opt' - ^ '/bob/vm/Squeak\ 3.8.21beta1U.app/Contents/MacOS/Squeak\ VM\ Opt' !
Item was added: + ----- Method: BobPeriodicWatchRepositories>>disaWatchBob (in category 'as yet unclassified') ----- + disaWatchBob + + ^ SakeTask + checkUrl: 'http://www.squeaksource.com/Bob/feed.rss' + onChanged: [ + + self log info: 'Bob Repository Updated'. + + Installer squeaksource project: 'Bob'; + install: 'Tasks-Common'; + install: 'Tasks-Squeak311'; + install: 'Tasks-Squeak310'; + install: 'Bob-Releases'. + + ]. + + !
Item was added: + ----- Method: BobPeriodicBuilds class>>start (in category 'as yet unclassified') ----- + start + super initialize. + self scheduler addTask: ((self do: #doAllTasks every: 600 seconds) + noRunHistory; + description: 'builder'; + yourself) + + !
Item was changed: SystemOrganization addCategory: #'Sake-Bob'! - SystemOrganization addCategory: #'Sake-Bob-OneClickPackage'!
Item was changed: ----- Method: BobBuild>>launchVm:image:with: (in category 'as yet unclassified') ----- launchVm: vm image: imageFile with: scriptFile
+ self exec: '"', vm, '" "' , imageFile full, '" "', scriptFile full, '"'. - self exec: vm, ' ' , imageFile full, ' ', scriptFile full. ^ DateAndTime now!
Item was changed: ----- Method: BobBuildImage>>theScript (in category 'as yet unclassified') ----- theScript script reset. self + scriptSetCompilerToLenient; scriptTranscriptLogToFileStart; scriptSetVersion: '=wip'; scriptSaveImageAndQuit: false; scriptAddInfoScript; scriptCleanUp; scriptSetVersion; scriptTranscriptLogToFileStop; scriptSaveImageAndQuit: true.!
Item was changed: ----- Method: BobPeriodicWatchUniverses>>taskGeneratePackagesFromUniverses (in category 'as yet unclassified') ----- taskGeneratePackagesFromUniverses
| wc changes | ^ [
Packages taskGenerateAllUniverses run.
wc := ((MCPackage named: 'Packages-Library') workingCopy). + - changes := (wc changesRelativeToRepository: wc repository) operations collect: [ :ea | ea summary ]. + + (changes notEmpty and: [ changes size < 100]) ifTrue: [ - - changes notEmpty ifTrue: [ wc saveWithComment: ('auto regenerated:' , String cr, String cr, (changes joinUsing: String cr)). ] ]!
Item was changed: ----- Method: BobBuildImage>>isBuildNeeded (in category 'as yet unclassified') ----- isBuildNeeded
| wait dependentFile | "if the output directory doesnt exist then - dont build" self outputDir asDirectory exists ifFalse: [ ^ { false. #notWanted. 'Output directory not present: ', self outputDir.}. ]. "if we have the don't flag - dont build" #dont = info when ifTrue: [ ^ #(false #dont 'dont flag set') ]. false = info when ifTrue: [ ^ #(false #dont 'dont flag false') ].
self stepNeeded. - - "if an explicit build time has been set and not yet reached - dont build" - ((info when isKindOf: DateAndTime) and: [ info when > info timeStart ]) - ifTrue: [ ^ { false. #notYet. ('time is not yet ', info when asString). } ]. - - latest := self infoFileReadLatest. - - "if 'when' is set to a file obtain creation time, if not use info image" - info when isFileOrDirectory ifTrue: [ - dependentFile := self resolveFile: info when ifNone: [:msg | ^ { false. #notFound. msg.}]. - self info dependentCreationTime: dependentFile creationTime. - zipFile := self resolveFile: info image ifNone: [:msg | ^ { false. msg.} ]. - - ] ifFalse: [ - dependentFile := zipFile := self resolveFile: info image asFile ifNone: [:msg | ^ { false. #notFound. msg.} ]. - - self info dependentCreationTime: (info imageCreationTime ifNil: [ zipFile creationTime ]). - ]. - - "has our starting image changed? if so" - (latest dependentCreationTime notNil and: [ latest dependentCreationTime ~= self info dependentCreationTime ]) - ifTrue: [ - self dependentFileChanged: dependentFile. - ^ { true. #dependentChanged. (dependentFile asString , ' has changed').} - ] - ifFalse: [ true = info when ifTrue: [ ^ { false. ('waiting for ', dependentFile asString , ' to change').} ]]. - - - "we have a new build id, so we build" - latest build ~= info build ifTrue: [ ^ { true. #newBuildNumber. ('new build number ',info build).} ]. - - (info when isKindOf: Duration) ifTrue: [ - wait := latest startTime + info when - TimeStamp now - wait > 0 ifTrue: [ ^ { false. #waiting. (wait seconds asString, ' seconds to go').} ]. - ]. - - "an explicit build time has been given, and this is present existing latest" - ((info when isKindOf: DateAndTime) and: [ info when <= latest timeStart ]) - ifTrue: [ ^ { false. #done. ((latest package ifNil: [ latest name ]) , ' already built'). } ]. - - ^ { true. #itsTime. ('building ', self info name). }
+ + "if an explicit build time has been set and not yet reached - dont build" + ((info when isKindOf: DateAndTime) and: [ info when > info timeStart ]) + ifTrue: [ ^ { false. #notYet. ('time is not yet ', info when asString). } ]. + + latest := self infoFileReadLatest. + + "if 'when' is set to a file obtain creation time, if not use info image" + info when isFileOrDirectory ifTrue: [ + dependentFile := self resolveFile: info when ifNone: [:msg | ^ { false. #notFound. msg.}]. + self info dependentCreationTime: dependentFile creationTime. + zipFile := self resolveFile: info image ifNone: [:msg | ^ { false. msg.} ]. + ] ifFalse: [ + dependentFile := zipFile := self resolveFile: info image asFile ifNone: [:msg | ^ { false. #notFound. msg.} ]. + + self info dependentCreationTime: (info imageCreationTime ifNil: [ zipFile creationTime ]). + ]. + + "has our starting image changed? if so" + (latest dependentCreationTime ~= self info dependentCreationTime) + ifTrue: [ + self dependentFileChanged: dependentFile. + ^ { true. #dependentChanged. (dependentFile asString , ' has changed').} + ] + ifFalse: [ + ((true = info when) or: [ info when isFileOrDirectory ]) ifTrue: [ ^ { false. #waitingForChange. ('waiting for ', dependentFile asString , ' to change').} ]]. + + "we have a new build id, so we build" + latest build ~= info build ifTrue: [ ^ { true. #newBuildNumber. ('new build number ',info build).} ]. + + (info when isKindOf: Duration) ifTrue: [ + wait := latest startTime + info when - TimeStamp now + wait > 0 ifTrue: [ ^ { false. #waiting. (wait seconds asString, ' seconds to go').} ]. + ]. + + "an explicit build time has been given, and this is present existing latest" + ((info when isKindOf: DateAndTime) and: [ info when <= latest timeStart ]) + ifTrue: [ ^ { false. #done. ((latest package ifNil: [ latest name ]) , ' already built'). } ]. + + ^ { true. #itsTime. ('building ', self info name). }. + !
Item was added: + ----- Method: BobBuildImage>>scriptSetCompilerToLenient (in category 'as yet unclassified') ----- + scriptSetCompilerToLenient + + self nextScriptPut: '"self halt." + + Preferences setPreference: #allowBlockArgumentAssignment toValue: true. + Preferences setPreference: #allowUnderscoreAssignment toValue: true. + '. + + !
Item was changed: ----- Method: BobBuildImage>>dependentFileChanged: (in category 'as yet unclassified') ----- dependentFileChanged: aFile
| dependentInfo | dependentInfo := (Compiler evaluate: (aFile copy ext: 'info') contents) ifNil: [ ^ self ]. info timeInitiated: dependentInfo timeInitiated. + info description: (info description ifNil: ['']), String cr, String cr , 'Description from: ', dependentInfo name, String cr, String cr, (dependentInfo description ifNil: [ '' ]). + info comment: (info comment ifNil: ['']), String cr, String cr , 'Comment from: ', dependentInfo name, String cr, String cr, (dependentInfo comment ifNil: ['']).! - info description: info comment, String cr, String cr , 'Description from: ', dependentInfo name, String cr, String cr, dependentInfo description. - info comment: info comment, String cr, String cr , 'Comment from: ', dependentInfo name, String cr, String cr, dependentInfo comment.!
Item was removed: - ----- Method: BobPeriodicWatchRepositories>>taskWatchBob (in category 'as yet unclassified') ----- - taskWatchBob - - ^ SakeTask - checkUrl: 'http://www.squeaksource.com/Bob/feed.rss' - onChanged: [ - - self log info: 'Bob Repository Updated'. - - Installer squeaksource project: 'Bob'; - install: 'Tasks-Common'; - install: 'Tasks-Squeak311'; - install: 'Tasks-Squeak310'; - install: 'Bob-Releases'. - - ]. - - !
Item was removed: - ----- Method: BobPeriodicBuilds class>>initialize (in category 'as yet unclassified') ----- - initialize - super initialize. - self scheduler addTask: ((self do: #doAllTasks every: 600 seconds) - noRunHistory; - description: 'builder'; - yourself) - - !
packages@lists.squeakfoundation.org