[squeak-dev] The Trunk: Installer-Core-cmm.377.mcz
Frank Shearar
frank.shearar at gmail.com
Tue Aug 13 16:08:16 UTC 2013
Specifically, these are recipes for building up a fatter Squeak from a
leaner one, so we don't have to worry about cross-platform issues.
It's exactly those kinds of issues that cause people to invent things
like Metacello.
frank
On 9 August 2013 23:30, Chris Muller <asqueaker at gmail.com> wrote:
> As Frank works toward a smaller image where packages have been
> unloaded, I want to establish the hierarchies for reloading them
> directly into the image. This approach utilizes simple Smalltalk
> literal structures, suitable for making a core image expandable
> without bloating it.
>
> Since it is so little code (with good pop), and no disruption to
> anything, I felt comfortable putting into trunk.
>
> On Fri, Aug 9, 2013 at 5:21 PM, <commits at source.squeak.org> wrote:
>> Chris Muller uploaded a new version of Installer-Core to project The Trunk:
>> http://source.squeak.org/trunk/Installer-Core-cmm.377.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Installer-Core-cmm.377
>> Author: cmm
>> Time: 9 August 2013, 9:51:53.931 am
>> UUID: 85dd5a14-e50a-482c-b9cb-f8971264f602
>> Ancestors: Installer-Core-fbs.373
>>
>> Document externally-loadable Squeak packages as simple literal structures that can be merged via:
>>
>> Installer new merge: #thePackageName
>>
>> =============== Diff against Installer-Core-fbs.373 ===============
>>
>> Item was changed:
>> Object subclass: #Installer
>> + instanceVariableNames: 'answers packages messagesToSuppress useFileIn noiseLevel currentRepository'
>> - instanceVariableNames: 'answers packages messagesToSuppress useFileIn noiseLevel'
>> classVariableNames: 'InstallerBindings IsSetToTrapErrors Remembered SkipLoadingTests ValidationBlock'
>> poolDictionaries: ''
>> category: 'Installer-Core'!
>>
>> !Installer commentStamp: 'kph 3/30/2009 01:29' prior: 0!
>> Documentation now available at http://installer.pbwiki.com/Installer
>>
>> useFileIn - flag to load source.st rather than using Monticello!
>>
>> Item was added:
>> + ----- Method: Installer class>>krestianstvo (in category 'repositories') -----
>> + krestianstvo
>> + "Krestianstvo SDK code repository."
>> + ^ self monticello http: 'http://sdk.krestianstvo.org/sdk/'!
>>
>> Item was added:
>> + ----- Method: Installer>>broomMorphsBase (in category 'external-packages') -----
>> + broomMorphsBase
>> + "Morph alignment user-interface tool."
>> + ^ { #ss3 -> 'Connectors'.
>> + 'BroomMorphs-Base' }!
>>
>> Item was added:
>> + ----- Method: Installer>>connectors (in category 'external-packages') -----
>> + connectors
>> + "Connect Morphs together. Make diagrams."
>> + ^ { self broomMorphsBase.
>> + 'CGPrereqs'.
>> + 'FSM'.
>> + 'Connectors'.
>> + 'ConnectorsText'.
>> + 'ConnectorsShapes'.
>> + 'ConnectorsTools'.
>> + 'ConnectorsGraphLayout'.
>> + 'BroomMorphs-Connectors' }!
>>
>> Item was added:
>> + ----- Method: Installer>>curvedSpaceExplorer (in category 'external-packages') -----
>> + curvedSpaceExplorer
>> + "Explore curved 3D spaces."
>> + ^ { self openGL.
>> + 'CCSpaceExplorer' }!
>>
>> Item was added:
>> + ----- Method: Installer>>depthFirstOf:do: (in category 'private') -----
>> + depthFirstOf: structure do: oneArgBlock
>> + self
>> + depthFirstOf: structure
>> + do: oneArgBlock
>> + ifNotIn: Set new!
>>
>> Item was added:
>> + ----- Method: Installer>>depthFirstOf:do:ifNotIn: (in category 'private') -----
>> + depthFirstOf: structure do: oneArgBlock ifNotIn: aSet
>> + (aSet includes: structure) ifTrue: [ ^ self ].
>> + aSet add: structure.
>> + structure isArray
>> + ifTrue:
>> + [ structure do:
>> + [ : each | self
>> + depthFirstOf: each
>> + do: oneArgBlock
>> + ifNotIn: aSet ] ]
>> + ifFalse: [ oneArgBlock value: structure ]!
>>
>> Item was added:
>> + ----- Method: Installer>>ffi (in category 'external-packages') -----
>> + ffi
>> + "Foreign Function Interface."
>> + ^ { #squeak -> 'FFI'.
>> + 'FFI-Pools'.
>> + 'FFI-Kernel' }!
>>
>> Item was added:
>> + ----- Method: Installer>>ffiTests (in category 'external-packages') -----
>> + ffiTests
>> + "Tests for Foreign Function Interface."
>> + ^ { self ffi.
>> + 'FFI-Tests' }!
>>
>> Item was added:
>> + ----- Method: Installer>>fuel (in category 'external-packages') -----
>> + fuel
>> + "Serialization package."
>> + ^ { #ss3 -> 'Fuel'.
>> + 'ConfigurationOfFuel' }!
>>
>> Item was added:
>> + ----- Method: Installer>>htmlValidator (in category 'external-packages') -----
>> + htmlValidator
>> + "Validates HTML and CSS pages against W3C DTD."
>> + ^ { #ss -> 'htmlcssparser'.
>> + 'HTML-tb.37' }!
>>
>> Item was added:
>> + ----- Method: Installer>>merge: (in category 'public interface') -----
>> + merge: structureOrSymbol
>> + structureOrSymbol isSymbol
>> + ifTrue: [ self merge: (self perform: structureOrSymbol) ]
>> + ifFalse:
>> + [ self
>> + depthFirstOf: structureOrSymbol
>> + do:
>> + [ : each | each isVariableBinding
>> + ifTrue: [ self setRepository: each ]
>> + ifFalse:
>> + [ each isString
>> + ifTrue: [ self primMerge: each ]
>> + ifFalse: [ self error: 'invalid specification' ] ] ] ]!
>>
>> Item was added:
>> + ----- Method: Installer>>openGL (in category 'external-packages') -----
>> + openGL
>> + "3D library."
>> + ^ { self threeDtransform.
>> + #krestianstvo -> 'ccse'.
>> + 'OpenGL-Pools'.
>> + 'OpenGL-Core'.
>> + 'OpenGL-NameManager' }!
>>
>> Item was added:
>> + ----- Method: Installer>>osProcess (in category 'external-packages') -----
>> + osProcess
>> + "Launch external executable programs."
>> + ^ { #ss -> 'OSProcess'.
>> + 'OSProcess' }!
>>
>> Item was added:
>> + ----- Method: Installer>>primMerge: (in category 'private') -----
>> + primMerge: packageName
>> + [ | version |
>> + version := (currentRepository includesVersionNamed: packageName)
>> + ifTrue: [ currentRepository versionNamed: packageName ]
>> + ifFalse: [ currentRepository highestNumberedVersionForPackageNamed: packageName ].
>> + version shouldMerge
>> + ifTrue: [ version merge ]
>> + ifFalse: [ version load ] ]
>> + on: MCNoChangesException
>> + do: [ : req | req resume ]
>> + on: MCMergeResolutionRequest
>> + do:
>> + [ : request | request merger conflicts isEmpty
>> + ifTrue: [ request resume: true ]
>> + ifFalse: [ request pass ] ]!
>>
>> Item was added:
>> + ----- Method: Installer>>setRepository: (in category 'private') -----
>> + setRepository: anAssociation
>> + currentRepository := (self class perform: anAssociation key)
>> + project: anAssociation value ;
>> + mc!
>>
>> Item was added:
>> + ----- Method: Installer>>threeDtransform (in category 'external-packages') -----
>> + threeDtransform
>> + ^ { self ffiTests.
>> + #ss -> 'CroquetGL'.
>> + '3DTransform' }!
>>
>> Item was added:
>> + ----- Method: Installer>>webClientCore (in category 'external-packages') -----
>> + webClientCore
>> + "Simple, compact, and easy to use HTTP client implementation from Andreas Raab."
>> + ^ { #ss -> 'WebClient'.
>> + 'WebClient-Core' }!
>>
>> Item was added:
>> + ----- Method: Installer>>webClientSsp (in category 'external-packages') -----
>> + webClientSsp
>> + "WebClient supports NTLM/SPNEGO authentication via the Microsoft SSP interface (Windows only)."
>> + ^ { self ffiTests.
>> + self webClientTests.
>> + 'WebClient-SSP' }!
>>
>> Item was added:
>> + ----- Method: Installer>>webClientTests (in category 'external-packages') -----
>> + webClientTests
>> + "Help documentation and tests for Web Client."
>> + ^ { self webClientCore.
>> + 'WebClient-Tests'.
>> + 'WebClient-Help' }!
>>
>>
>
More information about the Squeak-dev
mailing list
|