# HG changeset patch # User Claus Gittinger # Date 1362753806 -3600 # Node ID 44fd164ad253ab7ad597dd4bd2061c75f9fbeb93 # Parent 7df17046fc89916d2942d88e270af8ff7c5fc139 class: Tools::ProjectBuilder class definition added: #isLocalBuild #isLocalBuild: #isQuickBuild #isQuickBuild: fix: also need to copy genDate changed: #buildWithOutputTo:errorTo: #copyDirectoryForBuild: #copySupportFilesForCompilation #generateSourceFiles diff -r 7df17046fc89 -r 44fd164ad253 ProjectBuilder.st --- a/ProjectBuilder.st Wed Mar 06 10:02:27 2013 +0100 +++ b/ProjectBuilder.st Fri Mar 08 15:43:26 2013 +0100 @@ -16,7 +16,7 @@ Object subclass:#ProjectBuilder instanceVariableNames:'package projectDefinitionClass sourceCodeManager buildDirectory myWorkingDirectory mySTXTopDirectory myTopDirectory outputStream - makeExeOnly usedCompiler stdOut stdErr' + makeExeOnly usedCompiler stdOut stdErr isQuickBuild isLocalBuild' classVariableNames:'PreviousBuildDirectory' poolDictionaries:'' category:'System-Support-Projects' @@ -143,6 +143,27 @@ buildDirectory := something. ! +isLocalBuild + ^ isLocalBuild ? false +! + +isLocalBuild:aBoolean + "create a files without going through the source code manager" + + isLocalBuild := aBoolean. +! + +isQuickBuild + ^ isQuickBuild ? false +! + +isQuickBuild:aBoolean + "skips creation of header files, and copying of support files, if possible + to speedup a build. Use with care." + + isQuickBuild := aBoolean. +! + makeExeOnly:aBoolean makeExeOnly := aBoolean. ! @@ -259,7 +280,7 @@ PreviousBuildDirectory := buildDirectory. "/ UserPreferences current localBuild:true - UserPreferences current localBuild ifFalse:[ + (self isLocalBuild or:[UserPreferences current localBuild]) ifFalse:[ SourceCodeManager notNil ifTrue:[ sourceCodeManager := SourceCodeManagerUtilities default sourceCodeManagerFor:projectDefinitionClass. ] @@ -408,6 +429,8 @@ targetDir := buildDirectory / 'stx' / subdir. targetDir exists ifFalse:[ targetDir makeDirectory. + ] ifTrue:[ + self isQuickBuild ifTrue:[^ self] ]. (mySTXTopDirectory / subdir) directoryContentsAsFilenamesDo:[:eachFile | eachFile isDirectory ifFalse:[ @@ -508,16 +531,15 @@ files := #(). OperatingSystem isMSWINDOWSlike ifTrue:[ + files := files , #( 'librun/genDate.com' ). usedCompiler = 'tcc' ifTrue:[ files := files , #( 'support/tcc' ). ]. ] ifFalse:[ - files := files , #( - ) + files := files , #( 'librun/genDate' ). ]. - files := files asOrderedCollection. files do:[:relativePath | (mySTXTopDirectory / relativePath) exists ifTrue:[ @@ -684,7 +706,7 @@ ! generateSourceFiles - sourceCodeManager notNil ifTrue:[ + (self isLocalBuild not and:[ sourceCodeManager notNil ]) ifTrue:[ "/ check out / generate files there self generateSourceFilesByCheckingOutUsing:sourceCodeManager ] ifFalse:[