Skip to content

Commit 38067b5

Browse files
authored
Merge pull request github#3777 from rdmarsh2/rdmarsh/csharp/autobuilder-lang-name
C#/C++: Use CODEQL_EXTRACTOR_<LANG>_* in autobuilder
2 parents 791f31f + e24566e commit 38067b5

File tree

4 files changed

+21
-17
lines changed

4 files changed

+21
-17
lines changed

csharp/autobuilder/Semmle.Autobuild.Tests/BuildScripts.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,10 +340,11 @@ Autobuilder CreateAutoBuilder(string lgtmLanguage, bool isWindows,
340340
string? nugetRestore = null, string? allSolutions = null,
341341
string cwd = @"C:\Project")
342342
{
343-
Actions.GetEnvironmentVariable["CODEQL_AUTOBUILDER_CSHARP_NO_INDEXING"] = "false";
344-
Actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_TRAP_DIR"] = "";
345-
Actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_SOURCE_ARCHIVE_DIR"] = "";
346-
Actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_ROOT"] = @"C:\codeql\csharp";
343+
string codeqlUpperLanguage = lgtmLanguage.ToUpper();
344+
Actions.GetEnvironmentVariable[$"CODEQL_AUTOBUILDER_{codeqlUpperLanguage}_NO_INDEXING"] = "false";
345+
Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_TRAP_DIR"] = "";
346+
Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_SOURCE_ARCHIVE_DIR"] = "";
347+
Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_ROOT"] = $@"C:\codeql\{lgtmLanguage}";
347348
Actions.GetEnvironmentVariable["CODEQL_JAVA_HOME"] = @"C:\codeql\tools\java";
348349
Actions.GetEnvironmentVariable["SEMMLE_DIST"] = @"C:\odasa";
349350
Actions.GetEnvironmentVariable["SEMMLE_JAVA_HOME"] = @"C:\odasa\tools\java";

csharp/autobuilder/Semmle.Autobuild/AutobuildOptions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ public AutobuildOptions(IBuildActions actions)
5454
NugetRestore = actions.GetEnvironmentVariable(prefix + "NUGET_RESTORE").AsBool("nuget_restore", true);
5555

5656
Language = actions.GetEnvironmentVariable("LGTM_PROJECT_LANGUAGE").AsLanguage();
57-
Indexing = !actions.GetEnvironmentVariable("CODEQL_AUTOBUILDER_CSHARP_NO_INDEXING").AsBool("no_indexing", false);
57+
58+
Indexing = !actions.GetEnvironmentVariable($"CODEQL_AUTOBUILDER_{Language.UpperCaseName}_NO_INDEXING").AsBool("no_indexing", false);
5859
}
5960
}
6061

csharp/autobuilder/Semmle.Autobuild/Autobuilder.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public Autobuilder(IBuildActions actions, AutobuildOptions options)
184184
return ret ?? new List<IProjectOrSolution>();
185185
});
186186

187-
CodeQLExtractorCSharpRoot = Actions.GetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_ROOT");
187+
CodeQLExtractorLangRoot = Actions.GetEnvironmentVariable($"CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_ROOT");
188188
SemmleDist = Actions.GetEnvironmentVariable("SEMMLE_DIST");
189189
SemmlePlatformTools = Actions.GetEnvironmentVariable("SEMMLE_PLATFORM_TOOLS");
190190

@@ -194,19 +194,19 @@ public Autobuilder(IBuildActions actions, AutobuildOptions options)
194194
throw new InvalidEnvironmentException("The environment variable CODEQL_JAVA_HOME or SEMMLE_JAVA_HOME has not been set.");
195195

196196
Distribution =
197-
CodeQLExtractorCSharpRoot ??
197+
CodeQLExtractorLangRoot ??
198198
SemmleDist ??
199-
throw new InvalidEnvironmentException("The environment variable CODEQL_EXTRACTOR_CSHARP_ROOT or SEMMLE_DIST has not been set.");
199+
throw new InvalidEnvironmentException($"The environment variable CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_ROOT or SEMMLE_DIST has not been set.");
200200

201201
TrapDir =
202-
Actions.GetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_TRAP_DIR") ??
202+
Actions.GetEnvironmentVariable($"CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_TRAP_DIR") ??
203203
Actions.GetEnvironmentVariable("TRAP_FOLDER") ??
204-
throw new InvalidEnvironmentException("The environment variable CODEQL_EXTRACTOR_CSHARP_TRAP_DIR or TRAP_FOLDER has not been set.");
204+
throw new InvalidEnvironmentException($"The environment variable CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_TRAP_DIR or TRAP_FOLDER has not been set.");
205205

206206
SourceArchiveDir =
207-
Actions.GetEnvironmentVariable("CODEQL_EXTRACTOR_CSHARP_SOURCE_ARCHIVE_DIR") ??
207+
Actions.GetEnvironmentVariable($"CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_SOURCE_ARCHIVE_DIR") ??
208208
Actions.GetEnvironmentVariable("SOURCE_ARCHIVE") ??
209-
throw new InvalidEnvironmentException("The environment variable CODEQL_EXTRACTOR_CSHARP_SOURCE_ARCHIVE_DIR or SOURCE_ARCHIVE has not been set.");
209+
throw new InvalidEnvironmentException($"The environment variable CODEQL_EXTRACTOR_{this.Options.Language.UpperCaseName}_SOURCE_ARCHIVE_DIR or SOURCE_ARCHIVE has not been set.");
210210
}
211211

212212
private string TrapDir { get; }
@@ -397,9 +397,9 @@ BuildScript AutobuildFailure() =>
397397
});
398398

399399
/// <summary>
400-
/// Value of CODEQL_EXTRACTOR_CSHARP_ROOT environment variable.
400+
/// Value of CODEQL_EXTRACTOR_<LANG>_ROOT environment variable.
401401
/// </summary>
402-
private string? CodeQLExtractorCSharpRoot { get; }
402+
private string? CodeQLExtractorLangRoot { get; }
403403

404404
/// <summary>
405405
/// Value of SEMMLE_DIST environment variable.

csharp/autobuilder/Semmle.Autobuild/Language.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
{
33
public sealed class Language
44
{
5-
public static readonly Language Cpp = new Language(".vcxproj");
6-
public static readonly Language CSharp = new Language(".csproj");
5+
public static readonly Language Cpp = new Language(".vcxproj", "CPP");
6+
public static readonly Language CSharp = new Language(".csproj", "CSHARP");
77

88
public bool ProjectFileHasThisLanguage(string path) =>
99
System.IO.Path.GetExtension(path) == ProjectExtension;
1010

1111
public readonly string ProjectExtension;
12+
public readonly string UpperCaseName;
1213

13-
private Language(string extension)
14+
private Language(string extension, string name)
1415
{
1516
ProjectExtension = extension;
17+
UpperCaseName = name;
1618
}
1719

1820
public override string ToString() =>

0 commit comments

Comments
 (0)