ProjectBuilder.st
changeset 3042 7022b69410ab
parent 3041 380d18b00312
child 3043 457d1202c86b
equal deleted inserted replaced
3041:380d18b00312 3042:7022b69410ab
   744     ].
   744     ].
   745 
   745 
   746     "Modified: / 15-08-2011 / 14:58:46 / cg"
   746     "Modified: / 15-08-2011 / 14:58:46 / cg"
   747 !
   747 !
   748 
   748 
       
   749 generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:projectDefinitionClass
       
   750     |fullPathName|
       
   751 
       
   752     projectDefinitionClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
       
   753         fullPathName := packageTargetDir construct:fileName.
       
   754         fullPathName directory exists ifFalse:[
       
   755             "take care for files like 'autopackage/default.apspec'"
       
   756             fullPathName directory makeDirectory.
       
   757         ].
       
   758         (fullPathName exists
       
   759          and:[ fullPathName contents = fileContents ]) ifFalse:[
       
   760             fullPathName contents:fileContents.
       
   761         ].
       
   762     ].    
       
   763 !
       
   764 
   749 generateSourceFiles
   765 generateSourceFiles
   750     (self isLocalBuild not and:[ sourceCodeManager notNil ])  ifTrue:[
   766     (self isLocalBuild not and:[ sourceCodeManager notNil ])  ifTrue:[
   751         "/ check out / generate files there
   767         "/ check out / generate files there
   752         self generateSourceFilesByCheckingOutUsing:sourceCodeManager
   768         self generateSourceFilesByCheckingOutUsing:sourceCodeManager
   753     ] ifFalse:[
   769     ] ifFalse:[
   802 !
   818 !
   803 
   819 
   804 generateSourceFilesByFilingOut
   820 generateSourceFilesByFilingOut
   805     "/ local build
   821     "/ local build
   806     "/ fileout the project
   822     "/ fileout the project
   807 
       
   808     |fullPathName|
       
   809 
   823 
   810     (package module ~= 'stx') ifTrue:[
   824     (package module ~= 'stx') ifTrue:[
   811         (buildDirectory / package module) makeDirectory.
   825         (buildDirectory / package module) makeDirectory.
   812     ].
   826     ].
   813 
   827 
   863 "/                    cls autoload.
   877 "/                    cls autoload.
   864 "/                ].
   878 "/                ].
   865 "/                cls fileOutIn:packageTargetDir
   879 "/                cls fileOutIn:packageTargetDir
   866 "/            ]
   880 "/            ]
   867 "/        ].
   881 "/        ].
   868 
   882         self generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:projectDefinitionClass.
   869         projectDefinitionClass forEachFileNameAndGeneratedContentsDo:[:fileName :fileContents |
       
   870             fullPathName := packageTargetDir construct:fileName.
       
   871             fullPathName directory exists ifFalse:[
       
   872                 "take care for files like 'autopackage/default.apspec'"
       
   873                 fullPathName directory makeDirectory.
       
   874             ].
       
   875             (fullPathName exists
       
   876              and:[ fullPathName contents = fileContents ]) ifFalse:[
       
   877                 fullPathName contents:fileContents.
       
   878             ].
       
   879         ].    
       
   880     ].
   883     ].
   881     self makeQuick ifFalse:[
   884     self makeQuick ifFalse:[
   882         "/ generate header files in prerequisite packages...
   885         "/ generate header files and build support files
       
   886         "/ in prerequisite packages...
   883         (projectDefinitionClass allPreRequisites)
   887         (projectDefinitionClass allPreRequisites)
   884         do:[:eachPackageToFileout |
   888         do:[:eachPackageToFileout |
   885             |packageId packageDef packageModule packageDirectory packageTargetDir|
   889             |packageId packageDef packageModule packageDirectory packageTargetDir|
   886 
   890 
   887             packageId := eachPackageToFileout asPackageId.
   891             packageId := eachPackageToFileout asPackageId.
   903                         self createHeaderFileFor:cls in:packageTargetDir
   907                         self createHeaderFileFor:cls in:packageTargetDir
   904                     ]
   908                     ]
   905                 ].
   909                 ].
   906             ].
   910             ].
   907             self copyResourcesForPackage:eachPackageToFileout.
   911             self copyResourcesForPackage:eachPackageToFileout.
       
   912             self generateBuildSupportFilesByFilingOutIn:packageTargetDir forDefinitionClass:packageDef.
       
   913             (packageTargetDir / '.NOSOURCE') contents:'existence of this file suppresses compilation of st files'.
   908         ].
   914         ].
   909     ].
   915     ].
   910 
   916 
   911 "/    stx_libbasic2 preRequisitesForBuilding#(#'stx:libbasic')
   917 "/    stx_libbasic2 preRequisitesForBuilding#(#'stx:libbasic')
   912 !
   918 !