@@ -159,6 +159,8 @@ list[str] addParallelFlags(Project proj, list[loc] rascalFiles, int maxCores) {
159159 return result ;
160160}
161161
162+ lrel [str , int , int ] stats = [];
163+
162164int main (
163165 str memory = "4G" ,
164166 int maxCores = 4 ,
@@ -181,6 +183,7 @@ int main(
181183 return repoFolder + projectName ;
182184 }
183185
186+ stats = [];
184187 mkDirectory (repoFolder );
185188 int result = 0 ;
186189 toBuild = (tests == {}) ? projects : { p | p <- projects , p .name in tests };
@@ -221,8 +224,6 @@ int main(
221224
222225 result = 0 ;
223226
224- lrel [str , int , int ] stats = [];
225-
226227 for (n <- buildOrder , proj <- toBuild [n ]) {
227228 println ("*** Preparing: <n > " );
228229 p = generatePathConfig (n , proj , repoFolder , libs , package , packageTarget , getProjectLoc );
@@ -237,9 +238,9 @@ int main(
237238 rascalFiles = [*find (s , "rsc" ) | s <- p .srcs , (startsWith (s .path , projectRoot .path ) || startsWith (s .path , rProjectRoot .path ))];
238239 rascalFiles = sort ([f | f <- rascalFiles , !isIgnored (f , p .ignores )]);
239240
240- result += run ("org.rascalmpl.shell.RascalCompile" , n , rProjectRoot , p , rascalFiles , memory , rascalVersion , stats , extraArgs = [*addParallelFlags (proj , rascalFiles , maxCores ), "-modules" , *[ "<f > " | f <- rascalFiles ]]);
241+ result += run ("org.rascalmpl.shell.RascalCompile" , n , rProjectRoot , p , rascalFiles , memory , rascalVersion , collectStats = true , extraArgs = [*addParallelFlags (proj , rascalFiles , maxCores ), "-modules" , *[ "<f > " | f <- rascalFiles ]]);
241242 if (package ) {
242- result += run ("org.rascalmpl.shell.RascalPackage" , n , rProjectRoot , p , rascalFiles , memory , rascalVersion , stats , extraArgs = ["-sourceLookup" , "<rascalVersion > " , "-relocatedClasses" , "<resolve (rProjectRoot , packageTarget )> " ]);
243+ result += run ("org.rascalmpl.shell.RascalPackage" , n , rProjectRoot , p , rascalFiles , memory , rascalVersion , extraArgs = ["-sourceLookup" , "<rascalVersion > " , "-relocatedClasses" , "<resolve (rProjectRoot , packageTarget )> " ]);
243244 }
244245 }
245246 println ("******\n Done running " );
@@ -257,7 +258,7 @@ int run(
257258 list [loc ] rascalFiles ,
258259 str memory ,
259260 loc rascalVersion ,
260- lrel [ str , int , int ] stats ,
261+ bool collectStats = false ,
261262 list [str ] extraArgs = []
262263) {
263264 result = 0 ;
@@ -292,7 +293,9 @@ int run(
292293 code = exitCode (runner );
293294 result += code ;
294295 println ("*** Finished: <class > on <projectName > < code == 0 ? "✅" : "❌ Failed with error <code > " > (<(stopTime - startTime )/1000>s)");
295- stats += <projectName , code , (stopTime - startTime )/1000>;
296+ if (collectStats) {
297+ stats += <projectName , code , (stopTime - startTime )/1000>;
298+ }
296299 }
297300 catch ex :{
298301 println("Running the runner for <projectName > crashed with <ex > ");
0 commit comments