#FEATURE by cg
class: stx_libtool2 class
added: #subProjects
comment/format in:
#extensionMethodNames
#mandatoryPreRequisites
changed:
#classNamesAndAttributes
#referencedPreRequisites
--- a/stx_libtool2.st Fri Oct 12 11:32:55 2018 +0200
+++ b/stx_libtool2.st Fri Oct 12 12:45:59 2018 +0200
@@ -70,39 +70,52 @@
!
mandatoryPreRequisites
- "list all required mandatory packages.
- Packages are mandatory, if they contain superclasses of the package's classes
- or classes which are extended by this package.
- This list can be maintained manually or (better) generated and
- updated by scanning the superclass hierarchies
- (the browser has a menu function for that)
- However, often too much is found, and you may want to explicitely
- exclude individual packages in the #excludedFromPreRequisites method."
+ "list packages which are mandatory as a prerequisite.
+ This are packages containing superclasses of my classes and classes which
+ are extended by myself.
+ They are mandatory, because we need these packages as a prerequisite for loading and compiling.
+ This method is generated automatically,
+ by searching along the inheritance chain of all of my classes.
+ Please take a look at the #referencedPreRequisites method as well."
^ #(
- #'stx:libbasic' "Array - superclass of DataSetBuilder::Row "
- #'stx:libview' "GraphicsContext - superclass of UIGalleryView::Palette "
- #'stx:libview2' "ResourceSpecEditor - superclass of TabListEditor "
- #'stx:libwidg' "ListView - superclass of UIPainter::TreeView "
- #'stx:libwidg2' "HierarchicalItem - superclass of MenuEditor::RegularMenuItem "
+ #'stx:libbasic' "Array - superclass of DataSetBuilder::Row"
+ #'stx:libview' "DisplaySurface - superclass of UIGalleryView"
+ #'stx:libview2' "ActiveHelp - superclass of FlyByWindowInformation"
+ #'stx:libwidg' "ListView - superclass of UIPainter::TreeView"
+ #'stx:libwidg2' "AbstractHierarchicalItem - superclass of MenuEditor::ActionItem"
)
!
referencedPreRequisites
- "list all packages containing classes referenced by the packages's members.
- This list can be maintained manually or (better) generated and
- updated by looking for global variable accesses
- (the browser has a menu function for that)
- However, often too much is found, and you may want to explicitely
- exclude individual packages in the #excludedFromPreRequisites method."
+ "list packages which are a prerequisite, because they contain
+ classes which are referenced by my classes.
+ These packages are NOT needed as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
+ This method is generated automatically,
+ by searching all classes (and their packages) which are referenced by my classes.
+ Please also take a look at the #mandatoryPreRequisites method"
^ #(
- #'stx:libbasic2' "TextStream - referenced by Tools::ProjectBuilder>>build "
- #'stx:libbasic3' "CVSSourceCodeManager - referenced by Tools::ObjectModuleInformation>>showInfoForClassLib: "
- #'stx:libcomp' "ObjectFileLoader - referenced by Tools::ObjectModuleInformation>>postBuildWith: "
- #'stx:libhtml' "HTMLDocumentView - referenced by MethodFinderWindow>>openHTMLDocumentation "
- #'stx:libtool' "SmalltalkCodeGeneratorTool - referenced by MenuEditor>>doGenerateAspectMethods "
- #'stx:libui' "HorizontalPanelViewSpec - referenced by UIPainterView>>groupSelectionWithLayout: "
+ #'stx:goodies/refactoryBrowser/parser' "ParseTreeSearcher - referenced by Tools::InternationalLanguageTranslationEditor>>extractTranslationsFromHelpSpecMethod:"
+ #'stx:libbasic2' "ActorStream - referenced by Tools::ProjectBuilder>>buildWithColorizedOutputTo:"
+ #'stx:libbasic3' "AbstractSourceCodeManager - referenced by Tools::ProjectBuilderAssistantApplication>>checkSourceCodeManagerType"
+ #'stx:libcomp' "ObjectFileLoader - referenced by Tools::ObjectModuleInformation>>postBuildWith:"
+ #'stx:libhtml' "HTMLDocumentView - referenced by MethodFinderWindow>>openHTMLDocumentation"
+ #'stx:libtool' "AbstractLauncherApplication - referenced by Tools::ObjectModuleInformation>>loadPackage"
+ #'stx:libui' "DataSetColumnSpec - referenced by DataSetBuilder>>columns:"
+ )
+!
+
+subProjects
+ "list packages which are known as subprojects.
+ The generated makefile will enter those and make there as well.
+ However: they are not forced to be loaded when a package is loaded;
+ for those, redefine #referencedPrerequisites or #mandatoryPreRequisites."
+
+ ^ #(
)
! !
@@ -136,28 +149,15 @@
DataSetBuilder
DirectoryView
FlyByWindowInformation
- (HierarchicalListEditor autoload)
ImageEditor
MenuEditor
MethodFinderWindow
- (MethodSelectionBrowser autoload)
- (ProjectBrowser autoload)
- (STXInstaller autoload)
SelectionBrowser
- (ShellView autoload)
- (SnapShotImage autoload)
- (SnapShotImageMemory autoload)
TabListEditor
- (#'Tools::InternationalLanguageTranslationEditor' autoload)
- (#'Tools::NewInspectorList' autoload)
- (#'Tools::NewInspectorListView' autoload)
- (#'Tools::NewInspectorPanelView' autoload)
- (#'Tools::NewInspectorView' autoload)
+ #'Tools::InternationalLanguageTranslationEditor'
#'Tools::ObjectModuleInformation'
#'Tools::ProjectBuilder'
#'Tools::ProjectBuilderAssistantApplication'
- (#'Tools::ProjectDefinitionEditor' autoload)
- (#'Tools::ViewTreeInspectorApplication' autoload)
UIGalleryView
UIHelpTool
UILayoutTool
@@ -170,12 +170,27 @@
FileSelectionBrowser
ResourceSelectionBrowser
UIPainterView
+ (HierarchicalListEditor autoload)
+ (MethodSelectionBrowser autoload)
+ (ProjectBrowser autoload)
+ (STXInstaller autoload)
+ (ShellView autoload)
+ (SnapShotImage autoload)
+ (SnapShotImageMemory autoload)
+ (#'Tools::NewInspectorList' autoload)
+ (#'Tools::NewInspectorListView' autoload)
+ (#'Tools::NewInspectorPanelView' autoload)
+ (#'Tools::NewInspectorView' autoload)
+ (#'Tools::ProjectDefinitionEditor' autoload)
+ (#'Tools::ViewTreeInspectorApplication' autoload)
)
!
extensionMethodNames
"lists the extension methods which are to be included in the project.
- Entries are pairwise elements, consisting of class-name and selector."
+ Entries are 2-element array literals, consisting of class-name and selector.
+ A correponding method with real names must be present in my concrete subclasses
+ if it has extensions."
^ #(
Image edit