[Pkg] Monticello Public: PackageInfo-Base-kph.58.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Sun Dec 7 03:56:26 UTC 2008


A new version of PackageInfo-Base was added to project Monticello Public:
http://www.squeaksource.com/mc/PackageInfo-Base-kph.58.mcz

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

Name: PackageInfo-Base-kph.58
Author: kph
Time: 7 December 2008, 3:56:24 am
UUID: 501a6979-ec82-4594-a99c-fb7b68a4db57
Ancestors: PackageInfo-Base-kph.57

added files support and class comment to go with

=============== Diff against PackageInfo-Base-kph.57 ===============

Item was added:
+ ----- Method: PackageInfo>>externalFilesMatches (in category 'naming') -----
+ externalFilesMatches
+ 
+ 	^ self systemCategoryPrefix in: [ :prefix | 
+ 	 	{ prefix. (prefix , '.*'). (prefix , '-*'). } ]!

Item was changed:
  Object subclass: #PackageInfo
  	instanceVariableNames: 'packageName methodCategoryPrefix properties'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'PackageInfo-Base'!
  PackageInfo class
  	instanceVariableNames: 'default'!
  
+ !PackageInfo commentStamp: 'kph 12/7/2008 03:10' prior: 0!
+ Subclass this class to create new specialised packages, and make sure that #isResponsibleForName: is correctly defined.
+ 
+ We have a number of useful default package types defined. If you use the appropriate suffix for the package name you add, then it will select the correct PacakgeInfo subclass.
+ 
+ Package types for selective platform specific code exporting are available as an addon package. I.e. you can have a single package, and have a Seaside.vw Seaside.squeak etc providing different exports of the same codebase.
+ 
+ External Files Support
+ ================
+ 
+ The default implementation of the two methods below considers all files and directories (with their contents) matching the package name to be part of the package.
+ 
+ #externalFiles
+ #externalFilesMatches
+ 
+ e.g. package name 'Release'.
+ 
+ files matching would include:
+ 
+ Release.text
+ Release/Introduction.text
+ Release/Tutorial/ch1.text
+ 
+ External Files Support - Monticello
+ ========================================
+ *Only file based repositories (i.e. .mcz files) are supported at present
+ 
+ Since your external files will change far less than your code, it is recommended that you
+ use a separate package to manage files in order to save space and time.
+ 
+ Files are included in the .mcz (which is a standard zip archive)
+ as files/* according to the pattern files/<uuid>/<path>/<to>/<file>
+ 
+ *note: the uuid will change with every snapshot, it is unique to that file in that snapshot
+ *note: in changes browsers the file is considered to be changed if the fileSize has changed.
+ 
+ Snapshotting a package with files uses a temporary directory in package-cache/files
+ The #flushCachedVersions menu item deletes this directory.
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ OSProcess!
- !PackageInfo commentStamp: 'kph 6/2/2008 23:37' prior: 0!
- Subclass this class to create new Packages.
-  !

Item was added:
+ ----- Method: FileDirectory>>entriesAsFDs (in category '*packageinfo-base') -----
+ entriesAsFDs
+ 
+ 	^ self entriesRecursive: false on: OrderedCollection new
+  !

Item was added:
+ ----- Method: FileDirectory>>allEntriesAsFDs (in category '*packageinfo-base') -----
+ allEntriesAsFDs
+ 
+ 	^ self entriesRecursive: true on: OrderedCollection new
+  !

Item was added:
+ ----- Method: FileDirectory>>entriesRecursive:on: (in category '*packageinfo-base') -----
+ entriesRecursive: isRecursive on: aCollection
+ 	
+ 	| aFD |
+ 		
+ 	self entries do: [ :dirEntry | 
+ 	
+ 		aFD := self fullNameFor: dirEntry name.
+ 
+ 		dirEntry isDirectory 
+ 			ifTrue: [ isRecursive ifTrue: [ (FileDirectory on: aFD) entriesRecursive: isRecursive on: aCollection ] ]
+ 			ifFalse: [ aCollection add: (FileDirectory on: aFD) ]
+ 	].
+  
+ 	^ aCollection!

Item was added:
+ ----- Method: PackageInfo>>externalFiles (in category 'naming') -----
+ externalFiles
+ 	
+ 	| matches entries |
+ 	
+ 	matches := self externalFilesMatches.
+ 	
+ 	entries := (FileDirectory default entriesAsFDs) select: [ :aFD | matches anySatisfy: [ :match | match match: aFD localName ] ].
+ 
+ 	entries addAll: (entries gather: [ :aFD | aFD allEntriesAsFDs ]).
+ 
+ 	^ entries !

Item was changed:
  Object subclass: #PackageOrganizer
  	instanceVariableNames: 'packages'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'PackageInfo-Base'!
  PackageOrganizer class
  	instanceVariableNames: 'default'!
+ 
+ !PackageOrganizer commentStamp: 'kph 12/7/2008 01:38' prior: 0!
+ PacakgeOrganizer default explore!

Item was changed:
  PackageInfo subclass: #PackageInfoTests
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'PackageInfo-Base'!
- 
- !PackageInfoTests commentStamp: 'kph 6/1/2008 11:34' prior: 0!
- Packages named MyPackage.test
- 
- Includes:
- 
- MyPackage-Category-Tests
- MyPackage-Category-Testing
- MyPackage-Category-TestSupport
- 
- and method categories
- 
- *mypackage.test!



More information about the Packages mailing list