xpath/loadAll
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 13:13:37 +0100
changeset 306 fb9d45df523b
parent 296 ea3dbc023c80
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present - All source *.st files are now Unicode UTF8 without BOM Files are in two groups (fileOut works this way in Smalltalk/X): - containing a unicode character have "{ Encoding: utf8 }" at the header - ASCII only are without the header

"/
"/ $Header: /opt/data/cvs/stx/goodies/xmlsuite/xpath/loadAll,v 1.18 2007-11-23 07:04:21 vranyj1 Exp $
"/
"/ loadAll-file to fileIn code for: stx:goodies/xmlsuite/xpath
"/
"/ Automatically generated by the browsers generate-loadAll function.
"/ DO NOT MODIFY THIS fILE;
"/
"/
"/ Prerequisites:
"/
"/ Smalltalk loadPackage:'module:directory'.
"/ Smalltalk loadPackage:'....'.
!
'Executing preLoad script if any...' infoPrintCR.
Smalltalk fileIn:'preLoad.st'.
!
"{ package:'stx:goodies/xmlsuite/xpath' }"
!

|files|

'loading package stx:goodies/xmlsuite/xpath...' infoPrintCR.

files := #(
  'XMLv2__XPathASTNode.st'
  'XMLv2__XPathContext.st'
  'XMLv2__XPathCoverageMonitor.st'
  'XMLv2__XPathDOMAdaptorXMLReader.st'
  'XMLv2__XPathDocumentAdaptor.st'
  'XMLv2__XPathDocumentAdaptorFactory.st'
  'XMLv2__XPathDocumentAdaptorReleasedError.st'
  'XMLv2__XPathDocumentAdaptorTests.st'
  'XMLv2__XPathDocumentNotFoundError.st'
  'XMLv2__XPathDocumentProvider.st'
  'XMLv2__XPathExprTreeNode.st'
  'XMLv2__XPathExpression.st'
  'XMLv2__XPathExpressionOptimizer.st'
  'XMLv2__XPathExpressionOptimizerTests.st'
  'XMLv2__XPathInvalidNodeIdError.st'
  'XMLv2__XPathLocationStep.st'
  'XMLv2__XPathNodePosition.st'
  'XMLv2__XPathNodePositionComparator.st'
  'XMLv2__XPathNodeSet.st'
  'XMLv2__XPathParser.st'
  'XMLv2__XPathProcessor.st'
  'XMLv2__XPathScanner.st'
  'XMLv2__XPathTests.st'
  'XMLv2__XPathAxis.st'
  'XMLv2__XPathDOM3DocumentAdaptor.st'
  'XMLv2__XPathDOM3DocumentAdaptorTests.st'
  'XMLv2__XPathNodeTest.st'
  'XMLv2__XPathPredicate.st'
  'XMLv2__XPathSimpleDocumentProvider.st'
  'XMLv2__XPathVWDocumentAdaptor.st'
  'XMLv2__XPathAxisAncestor.st'
  'XMLv2__XPathAxisAncestorOrSelf.st'
  'XMLv2__XPathAxisAttribute.st'
  'XMLv2__XPathAxisChild.st'
  'XMLv2__XPathAxisDescendant.st'
  'XMLv2__XPathAxisDescendantOrSelf.st'
  'XMLv2__XPathAxisFollowing.st'
  'XMLv2__XPathAxisFollowingSibling.st'
  'XMLv2__XPathAxisParent.st'
  'XMLv2__XPathAxisPreceding.st'
  'XMLv2__XPathAxisPrecedingSibling.st'
  'XMLv2__XPathAxisSelf.st'
  'XMLv2__XPathKindTest.st'
  'XMLv2__XPathNameTest.st'
  'XMLv2__XPathAnyKindTest.st'
  'XMLv2__XPathAttributeTest.st'
  'XMLv2__XPathCommentTest.st'
  'XMLv2__XPathDocumentTest.st'
  'XMLv2__XPathElementTest.st'
  'XMLv2__XPathProcessingInstructionTest.st'
  'XMLv2__XPathTextTest.st'
  'extensions.st'

) asOrderedCollection.

"/ see if there is a classLibrary
(Smalltalk fileInClassLibrary:'goodies/xmlsuite/xpath') ifTrue:[
    |handle loaded|

    handle := ObjectFileLoader loadedObjectHandles 
                    detect:[:h | h package = 'stx:goodies/xmlsuite/xpath'] ifNone:nil.
    handle ifNotNil:[
        loaded := Set new:(handle classes size).
        handle classes do:[:c| c isMeta ifFalse:[loaded add:c classFilename]].
        files := files asOrderedCollection select:[:f| (loaded includes:f) not].
    ].
].

"/ load files which are not in the classLibrary (all if there is none)
files size > 0 ifTrue:[
  ApplicationLoader::FileLoadingStartedEvent ifNotNil:[
    ApplicationLoader::FileLoadingStartedEvent new
        filenames:files;
        raise
    ].

  files do:[:f |
    f asFilename exists ifTrue:[
        Smalltalk fileIn:f.
        ApplicationLoader::FileLoadedEvent ifNotNil:[
            ApplicationLoader::FileLoadedEvent new
                raise
        ] ifNil:[
            '.' infoPrint.
        ]
    ] ifFalse:[
        Smalltalk fileIn:('source/' , f).
        ApplicationLoader::FileLoadedEvent ifNotNil:[
            ApplicationLoader::FileLoadedEvent new
                raise
        ] ifNil:[
            '.' infoPrint.
                ]
    ]

  ].
  ApplicationLoader::FileLoadingFinishedEvent ifNotNil:[
    ApplicationLoader::FileLoadingFinishedEvent new
        raise
    ].


  ' ' infoPrintCR.
].
' done (stx:goodies/xmlsuite/xpath).' infoPrintCR.
'Executing postLoad script if any...' infoPrintCR.
Smalltalk fileIn:'postLoad.st'.
!