STXInstaller.st
changeset 1519 6196930f9a1d
parent 1518 85114c70d811
child 1707 ad52b5abf849
equal deleted inserted replaced
1518:85114c70d811 1519:6196930f9a1d
   235 
   235 
   236     fileSpec := #(
   236     fileSpec := #(
   237                 "/ name                             destination  subDir             required mode      
   237                 "/ name                             destination  subDir             required mode      
   238                 ( 'projects/smalltalk/include'          #lib     nil                  true  '644' )
   238                 ( 'projects/smalltalk/include'          #lib     nil                  true  '644' )
   239                 ( 'projects/smalltalk/*.rc'             #lib     nil                  true  '644' )
   239                 ( 'projects/smalltalk/*.rc'             #lib     nil                  true  '644' )
       
   240                 ( 'projects/smalltalk/*.wsp'            #lib     nil                  true  '644' )
   240                 ( 'projects/smalltalk/banner*.xpm'      #lib     nil                  true  '644' )
   241                 ( 'projects/smalltalk/banner*.xpm'      #lib     nil                  true  '644' )
   241                 ( 'projects/smalltalk/patches'          #lib     nil                  true  '644' )
   242                 ( 'projects/smalltalk/patches'          #lib     nil                  true  '644' )
   242                 ( 'COPYRIGHT'                           nil      nil                  true  '644' )
   243                 ( 'COPYRIGHT'                           nil      nil                  true  '644' )
   243                 ( 'doc/online/german/LICENCE_STX.html'  nil      'doc/online/german'      true  '644' )
   244                 ( 'RELEASE'                             nil      nil                  true  '644' )
   244                 ( 'doc/online/english/LICENCE_STX.html' nil      'doc/online/english'     true  '644' )
   245                 ( 'doc/online/german/LICENCE_STX.html'  nil           'doc/online/german'      true  '644' )
       
   246                 ( 'doc/online/english/LICENCE_STX.html' nil           'doc/online/english'     true  '644' )
   245                 ( 'doc/online/german/LICENCE_DEMO_STX.html'  nil      'doc/online/german'      true  '644' )
   247                 ( 'doc/online/german/LICENCE_DEMO_STX.html'  nil      'doc/online/german'      true  '644' )
   246                 ( 'doc/online/english/LICENCE_DEMO_STX.html' nil      'doc/online/english'     true  '644' )
   248                 ( 'doc/online/english/LICENCE_DEMO_STX.html' nil      'doc/online/english'     true  '644' )
   247     ).
   249     ).
   248 
   250 
   249     installDocFiles ifTrue:[
   251     installDocFiles ifTrue:[
   369     "Created: / 2.5.1999 / 13:23:06 / cg"
   371     "Created: / 2.5.1999 / 13:23:06 / cg"
   370     "Modified: / 16.10.2001 / 12:25:58 / cg"
   372     "Modified: / 16.10.2001 / 12:25:58 / cg"
   371 ! !
   373 ! !
   372 
   374 
   373 !STXInstaller methodsFor:'installing'!
   375 !STXInstaller methodsFor:'installing'!
       
   376 
       
   377 add:specEntry toFileSpec:fileSpec
       
   378     (specEntry first startsWith:'./') ifTrue:[
       
   379         specEntry at:1 put:(specEntry first copyFrom:3).
       
   380     ].
       
   381     (specEntry first startsWith:'.\') ifTrue:[
       
   382         specEntry at:1 put:(specEntry first copyFrom:3).
       
   383     ].
       
   384     (fileSpec includes:specEntry) ifFalse:[
       
   385         fileSpec add:specEntry
       
   386     ] ifTrue:[
       
   387         "/ self halt
       
   388     ]
       
   389 !
   374 
   390 
   375 addFilesToSpec:fileSpec relativeTo:rel fromINSTALLSpec:f
   391 addFilesToSpec:fileSpec relativeTo:rel fromINSTALLSpec:f
   376     |s entry t cond dst|
   392     |s entry t cond dst|
   377 
   393 
   378     s := f asFilename readStream.
   394     s := f asFilename readStream.
   387                  or:[installSourceFiles]) ifTrue:[
   403                  or:[installSourceFiles]) ifTrue:[
   388                     ((rel startsWith:'goodies/') not
   404                     ((rel startsWith:'goodies/') not
   389                     or:[installGoodyFiles]) ifTrue:[
   405                     or:[installGoodyFiles]) ifTrue:[
   390                         dst := t at:2.
   406                         dst := t at:2.
   391                         (dst startsWith:'packages/stx/') ifTrue:[
   407                         (dst startsWith:'packages/stx/') ifTrue:[
   392                             fileSpec add:(Array 
   408                             self add:(Array 
   393                                             with:(rel asFilename constructString:(t at:1))
   409                                             with:(rel asFilename constructString:(t at:1))
   394                                             with:#pkg
   410                                             with:#pkg
   395                                             with:('stx' asFilename constructString:(dst copyFrom:'packages/stx/' size+1))
   411                                             with:('stx' asFilename constructString:(dst copyFrom:'packages/stx/' size+1))
   396                                             with:true).
   412                                             with:true)
       
   413                                  toFileSpec:fileSpec.
   397                         ] ifFalse:[
   414                         ] ifFalse:[
   398                             (dst = 'bin') ifTrue:[
   415                             ((dst = 'bin') or:[dst startsWith:'bin/']) ifTrue:[
   399                                 fileSpec add:(Array 
   416                                 (dst = 'bin') ifTrue:[
   400                                                 with:(rel asFilename constructString:(t at:1))
   417                                     self add:(Array 
   401                                                 with:#bin
   418                                                     with:(rel asFilename constructString:(t at:1))
   402                                                 with:nil
   419                                                     with:#bin
   403                                                 with:true).
   420                                                     with:nil
       
   421                                                     with:true)
       
   422                                          toFileSpec:fileSpec.
       
   423                                 ] ifFalse:[
       
   424                                     self add:(Array 
       
   425                                                     with:(rel asFilename constructString:(t at:1))
       
   426                                                     with:#bin
       
   427                                                     with:(dst copyFrom:'bin/' size+1)
       
   428                                                     with:true)
       
   429                                          toFileSpec:fileSpec.
       
   430                                 ].
       
   431                             ] ifFalse:[
       
   432                                 ((dst = 'lib') or:[dst startsWith:'lib/']) ifTrue:[
       
   433                                     (dst = 'lib') ifTrue:[
       
   434                                         self add:(Array 
       
   435                                                         with:(rel asFilename constructString:(t at:1))
       
   436                                                         with:#lib
       
   437                                                         with:nil
       
   438                                                         with:true)
       
   439                                              toFileSpec:fileSpec.
       
   440                                     ] ifFalse:[
       
   441                                         self add:(Array 
       
   442                                                         with:(rel asFilename constructString:(t at:1))
       
   443                                                         with:#lib
       
   444                                                         with:(dst copyFrom:'lib/' size+1)
       
   445                                                         with:true)
       
   446                                              toFileSpec:fileSpec.
       
   447                                     ]
       
   448                                 ] ifFalse:[
       
   449                                     self halt:'unhandled destination: ' , dst.
       
   450                                 ]
   404                             ]
   451                             ]
   405                         ]
   452                         ]
   406                     ]
   453                     ]
   407                 ].
   454                 ].
   408             ].
   455             ].