@@ -176,14 +176,18 @@ IEnumerable<IProjectOrSolution> FindFiles(string extension, Func<string, Project
176176 return ret ?? new List < IProjectOrSolution > ( ) ;
177177 } ) ;
178178
179+ CodeQLExtractorCSharpRoot = Actions . GetEnvironmentVariable ( "CODEQL_EXTRACTOR_CSHARP_ROOT" ) ;
180+
181+ CodeQLJavaHome = Actions . GetEnvironmentVariable ( "CODEQL_JAVA_HOME" ) ;
182+
179183 SemmleDist = Actions . GetEnvironmentVariable ( "SEMMLE_DIST" ) ;
180184
181185 SemmleJavaHome = Actions . GetEnvironmentVariable ( "SEMMLE_JAVA_HOME" ) ;
182186
183187 SemmlePlatformTools = Actions . GetEnvironmentVariable ( "SEMMLE_PLATFORM_TOOLS" ) ;
184188
185- if ( SemmleDist == null )
186- Log ( Severity . Error , "The environment variable SEMMLE_DIST has not been set." ) ;
189+ if ( CodeQLExtractorCSharpRoot == null && SemmleDist == null )
190+ Log ( Severity . Error , "The environment variables CODEQL_EXTRACTOR_CSHARP_ROOT and SEMMLE_DIST have not been set." ) ;
187191 }
188192
189193 readonly ILogger logger = new ConsoleLogger ( Verbosity . Info ) ;
@@ -259,9 +263,9 @@ BuildScript CheckExtractorRun(bool warnOnFailure) =>
259263 break ;
260264 case CSharpBuildStrategy . Auto :
261265 var cleanTrapFolder =
262- BuildScript . DeleteDirectory ( Actions . GetEnvironmentVariable ( "TRAP_FOLDER" ) ) ;
266+ BuildScript . DeleteDirectory ( Actions . GetEnvironmentVariable ( "CODEQL_EXTRACTOR_CSHARP_TRAP_DIR" ) ?? Actions . GetEnvironmentVariable ( " TRAP_FOLDER") ) ;
263267 var cleanSourceArchive =
264- BuildScript . DeleteDirectory ( Actions . GetEnvironmentVariable ( "SOURCE_ARCHIVE" ) ) ;
268+ BuildScript . DeleteDirectory ( Actions . GetEnvironmentVariable ( "CODEQL_EXTRACTOR_CSHARP_SOURCE_ARCHIVE_DIR" ) ?? Actions . GetEnvironmentVariable ( " SOURCE_ARCHIVE") ) ;
265269 var tryCleanExtractorArgsLogs =
266270 BuildScript . Create ( actions =>
267271 {
@@ -361,6 +365,16 @@ BuildScript AutobuildFailure() =>
361365 return 1 ;
362366 } ) ;
363367
368+ /// <summary>
369+ /// Value of CODEQL_EXTRACTOR_CSHARP_ROOT environment variable.
370+ /// </summary>
371+ public string CodeQLExtractorCSharpRoot { get ; private set ; }
372+
373+ /// <summary>
374+ /// Value of CODEQL_JAVA_HOME environment variable.
375+ /// </summary>
376+ public string CodeQLJavaHome { get ; private set ; }
377+
364378 /// <summary>
365379 /// Value of SEMMLE_DIST environment variable.
366380 /// </summary>
@@ -380,5 +394,12 @@ BuildScript AutobuildFailure() =>
380394 /// The absolute path of the odasa executable.
381395 /// </summary>
382396 public string Odasa => SemmleDist == null ? null : Actions . PathCombine ( SemmleDist , "tools" , "odasa" ) ;
397+
398+ /// <summary>
399+ /// Construct a command that executed the given <paramref name="cmd"/> wrapped in
400+ /// an <code>odasa --index</code>, unless indexing has been disabled, in which case
401+ /// <paramref name="cmd"/> is run directly.
402+ /// </summary>
403+ internal CommandBuilder MaybeIndex ( CommandBuilder builder , string cmd ) => Options . Indexing ? builder . IndexCommand ( Odasa , cmd ) : builder . RunCommand ( cmd ) ;
383404 }
384405}
0 commit comments