[squeak-dev] The Trunk: SMBase-cmm.115.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Feb 12 22:46:39 UTC 2011


Chris Muller uploaded a new version of SMBase to project The Trunk:
http://source.squeak.org/trunk/SMBase-cmm.115.mcz

==================== Summary ====================

Name: SMBase-cmm.115
Author: cmm
Time: 28 January 2011, 5:36:49.682 pm
UUID: 4dea2886-ad2a-457b-a220-357c30eb91f7
Ancestors: SMBase-cmm.114

- Support for new SMReleaseBrowser.  Successfully tested creating and updating a package-release.
- Added guard SMPackage>>#addRelease: to prevent adding the same SMPackageRelease, just in case.
- The default-script name cannot be install.st, because it is stored in the same directory on the server as all other package-releases.  Therefore, it is qualified with the id of the package-release.
- When creating a new release from the browser, default all of the mandatory categories so the user may not have to select them.
- Need to know when an object is created new to know whether it should "save as a new release" or simply update the existing release.  This is accomplished by creating an 'unattached' release (not part of its package's releases).
- Removed some unused methods.
- Remove 'head' instVar, going to try first to do it via a category!
- When setting the mandatory categories, ensure all other categories of that type are removed.

=============== Diff against SMBase-cmm.114 ===============

Item was removed:
- ----- Method: SMObject>>created: (in category 'accessing') -----
- created: c
- 	created := c!

Item was removed:
- ----- Method: SMObject>>isPersistent (in category 'testing') -----
- isPersistent
- 	^ created ~= updated!

Item was removed:
- ----- Method: SMObject>>updated: (in category 'accessing') -----
- updated: c
- 	updated := c!

Item was changed:
  SMDocument subclass: #SMPackage
+ 	instanceVariableNames: 'releases packageInfoName repository'
- 	instanceVariableNames: 'head releases packageInfoName repository'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'SMBase-domain'!
  
  !SMPackage commentStamp: '<historical>' prior: 0!
  An SMPackage represents a named piece of an installable "thing" in the image. Typically it is a code package, but it can be other things too.
  It owns a collection of SMPackageReleases. Each release represents a version of the package, and each release has a URL that refers to the actual content that can be installed.
  
  An SMPackage also knows its packageInfoName which can tie it into the image.!

Item was changed:
  ----- Method: SMPackage>>addRelease: (in category 'private') -----
+ addRelease: aSMPackageRelease 
- addRelease: aRelease
  	"Add the release. Make sure package is set."
+ 	(releases includes: aSMPackageRelease) ifFalse: [ releases add: aSMPackageRelease ].
+ 	aSMPackageRelease package: self.
+ 	^ aSMPackageRelease!
- 
- 	releases add: aRelease.
- 	aRelease package: self.
- 	^aRelease!

Item was removed:
- ----- Method: SMPackage>>head (in category 'accessing') -----
- head
- 	"The head release loads the latest development MC package versions."
- 	^ head!

Item was removed:
- ----- Method: SMPackage>>head: (in category 'accessing') -----
- head: aSMPackageRelease
- 	"The head release loads the latest development MC package versions."
- 	head := aSMPackageRelease!

Item was removed:
- ----- Method: SMPackageRelease>>compatibility (in category 'accessing') -----
- compatibility
- 	^ self categories
- 		detect:
- 			[ : each | each parent = self map compatibilityLevels ]
- 		ifNone: [  ]!

Item was removed:
- ----- Method: SMPackageRelease>>compatibility: (in category 'accessing') -----
- compatibility: aSMCategory 
- 	aSMCategory parent = self map compatibilityLevels ifFalse: [ self error: 'Not a compatibility category.' ].
- 	self compatibility ifNotNilDo:
- 		[ : oldCat | self removeCategory: oldCat ].
- 	self addCategory: aSMCategory!

Item was changed:
  ----- Method: SMPackageRelease>>downloadUrl: (in category 'accessing') -----
+ downloadUrl: urlString
+ 	downloadUrl := urlString!
- downloadUrl: anObject
- 	^downloadUrl := anObject!

Item was removed:
- ----- Method: SMPackageRelease>>license (in category 'accessing') -----
- license
- 	^ self categories
- 		detect:
- 			[ : each | each parent = self map licenses ]
- 		ifNone: [  ]!

Item was removed:
- ----- Method: SMPackageRelease>>license: (in category 'accessing') -----
- license: aSMCategory 
- 	aSMCategory parent = self map licenses ifFalse: [ self error: 'Not a license category.' ].
- 	self license ifNotNilDo:
- 		[ : oldCat | self removeCategory: oldCat ].
- 	self addCategory: aSMCategory!

Item was removed:
- ----- Method: SMPackageRelease>>licenses (in category 'accessing') -----
- licenses
- 	"Answer the Licenses parent SMCategory."
- 	^ self map licenses!

Item was removed:
- ----- Method: SMPackageRelease>>maturity (in category 'accessing') -----
- maturity
- 	^ self categories
- 		detect:
- 			[ : each | each parent = self map maturityLevels ]
- 		ifNone: [ nil ]!

Item was removed:
- ----- Method: SMPackageRelease>>maturity: (in category 'accessing') -----
- maturity: aSMCategory 
- 	aSMCategory parent = self map maturityLevels ifFalse: [ self error: 'Not a maturity category.' ].
- 	self maturity ifNotNilDo:
- 		[ : oldCat | self removeCategory: oldCat ].
- 	self addCategory: aSMCategory!

Item was removed:
- ----- Method: SMPackageRelease>>parentVersion (in category 'accessing') -----
- parentVersion
- 	^ self parentRelease ifNotNilDo: [ : pr | pr version ]!

Item was removed:
- ----- Method: SMPackageRelease>>squeakVersion (in category 'accessing') -----
- squeakVersion
- 	^ self categories
- 		detect:
- 			[ : each | each parent = self map squeakVersions ]
- 		ifNone: [  ]!

Item was removed:
- ----- Method: SMPackageRelease>>squeakVersion: (in category 'accessing') -----
- squeakVersion: aSMCategory 
- 	aSMCategory parent = self map squeakVersions ifFalse: [ self error: 'Not a squeakVersion category.' ].
- 	self squeakVersion ifNotNilDo:
- 		[ : oldCat | self removeCategory: oldCat ].
- 	self addCategory: aSMCategory!

Item was removed:
- ----- Method: SMSqueakMap>>licenses (in category 'accessing') -----
- licenses
- 	^ self categoryWithNameBeginning: 'Licenses'!

Item was removed:
- ----- Method: SMSqueakMap>>maturityLevels (in category 'accessing') -----
- maturityLevels
- 	^ self categoryWithNameBeginning: 'Maturity level'!

Item was removed:
- ----- Method: SMSqueakMap>>squeakVersions (in category 'accessing') -----
- squeakVersions
- 	^ self categoryWithNameBeginning: 'Squeak versions'!




More information about the Squeak-dev mailing list