[squeak-dev] The Trunk: Installer-Core-cmm.377.mcz
Chris Muller
asqueaker at gmail.com
Fri Aug 9 22:30:42 UTC 2013
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
|