smalltalk--backstage--2.2--patch-51
imply file by filein in package.xml, usuallyThis only happens during XML parsing, so the Package protocol is unchanged. You can short-circuit it with an explicit <file> or <built-file> or <other future allFiles-integrated tag>. The idea is to simplify description and eliminate common errors for the most common case, in which you want a <file> for each <filein>. -- ;;; Stephen Compall ** http://scompall.nocandysw.com/blog ** ;;; acolyte of the indirect effect
2007-07-21 Stephen Compall <[EMAIL PROTECTED]>
* kernel/PkgLoader.st: Support implied <file> by <filein> in XML
package descriptions, unless otherwise specified as a different
type of file.
--- orig/doc/gst.texi
+++ mod/doc/gst.texi
@@ -1783,7 +1783,7 @@
need not be loaded once this one is.}} -->
<provides>BLOX</provides>
- <!-- @[EMAIL PROTECTED] @code{filein} tag identifies packages that
+ <!-- @[EMAIL PROTECTED] @code{filein} tag identifies files that
compose this package and that should be loaded in the
image in this order.}} -->
<filein>BloxBasic.st</filein>
@@ -1791,21 +1791,18 @@
<filein>BloxText.st</filein>
<filein>BloxExtend.st</filein>
<filein>Blox.st</filein>
- <filein>../browser/test.st</filein>
-
- <!-- @[EMAIL PROTECTED] @code{file} tag identifies packages that
- compose this package's distribution.}} -->
- <file>Blox.st</file>
- <file>BloxBasic.st</file>
- <file>BloxWidgets.st</file>
- <file>BloxText.st</file>
- <file>BloxExtend.st</file>
</package>
</packages>
@end example
Other tags exist:
@table @code
[EMAIL PROTECTED] file
+Identifies a file that should be distributed with the package, but will
+not be filed in by the package loader unless also listed as a
[EMAIL PROTECTED] Examples include Smalltalk code filed in by other means,
+text files, graphic files, or anything.
+
@item module
Loads a dynamic shared object and calls the @code{gst_initModule}
function in it. Modules can register functions so that Smalltalk
--- orig/kernel/PkgLoader.st
+++ mod/kernel/PkgLoader.st
@@ -1057,11 +1057,25 @@
cdata := nil
].
].
+ self distributeFreeFileIns.
] ensure: [
stack isEmpty ifFalse: [
self error: 'error in packages file: unmatched start tags',
stack asArray printString ]
]
+!
+
+distributeFreeFileIns
+ "Add all fileIns, including those in tests, not in `self allFiles'
+ to my distributed files."
+ | fileSet addNewFile |
+ fileSet := Set withAll: self allFiles.
+ addNewFile := [:each |
+ (fileSet includes: each) ifFalse:
+ [fileSet add: each.
+ self files add: each]].
+ self fileIns do: addNewFile.
+ test isNil ifFalse: [test fileIns do: addNewFile].
! !
!Kernel.DisabledPackage methodsFor: 'accessing'!
signature.asc
Description: This is a digitally signed message part
_______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
