Пример #1
0
        Autobuilder CreateAutoBuilder(string lgtmLanguage, bool isWindows,
                                      string buildless        = null, string solution = null, string buildCommand = null, string ignoreErrors = null,
                                      string msBuildArguments = null, string msBuildPlatform = null, string msBuildConfiguration = null, string msBuildTarget = null,
                                      string dotnetArguments  = null, string dotnetVersion   = null, string vsToolsVersion       = null,
                                      string nugetRestore     = null, string allSolutions    = null,
                                      string cwd = @"C:\Project")
        {
            Actions.GetEnvironmentVariable["SEMMLE_DIST"]                      = @"C:\odasa";
            Actions.GetEnvironmentVariable["SEMMLE_JAVA_HOME"]                 = @"C:\odasa\tools\java";
            Actions.GetEnvironmentVariable["LGTM_PROJECT_LANGUAGE"]            = lgtmLanguage;
            Actions.GetEnvironmentVariable["SEMMLE_PLATFORM_TOOLS"]            = @"C:\odasa\tools";
            Actions.GetEnvironmentVariable["LGTM_INDEX_VSTOOLS_VERSION"]       = vsToolsVersion;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_ARGUMENTS"]     = msBuildArguments;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_PLATFORM"]      = msBuildPlatform;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_CONFIGURATION"] = msBuildConfiguration;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_TARGET"]        = msBuildTarget;
            Actions.GetEnvironmentVariable["LGTM_INDEX_DOTNET_ARGUMENTS"]      = dotnetArguments;
            Actions.GetEnvironmentVariable["LGTM_INDEX_DOTNET_VERSION"]        = dotnetVersion;
            Actions.GetEnvironmentVariable["LGTM_INDEX_BUILD_COMMAND"]         = buildCommand;
            Actions.GetEnvironmentVariable["LGTM_INDEX_SOLUTION"]              = solution;
            Actions.GetEnvironmentVariable["LGTM_INDEX_IGNORE_ERRORS"]         = ignoreErrors;
            Actions.GetEnvironmentVariable["LGTM_INDEX_BUILDLESS"]             = buildless;
            Actions.GetEnvironmentVariable["LGTM_INDEX_ALL_SOLUTIONS"]         = allSolutions;
            Actions.GetEnvironmentVariable["LGTM_INDEX_NUGET_RESTORE"]         = nugetRestore;
            Actions.GetEnvironmentVariable["ProgramFiles(x86)"]                = isWindows ? @"C:\Program Files (x86)" : null;
            Actions.GetCurrentDirectory = cwd;
            Actions.IsWindows           = isWindows;

            var options = new AutobuildOptions();

            options.ReadEnvironment(Actions);
            return(new Autobuilder(Actions, options));
        }
        CppAutobuilder CreateAutoBuilder(bool isWindows,
                                         string?buildless        = null, string?solution = null, string?buildCommand = null, string?ignoreErrors = null,
                                         string?msBuildArguments = null, string?msBuildPlatform = null, string?msBuildConfiguration = null, string?msBuildTarget = null,
                                         string?dotnetArguments  = null, string?dotnetVersion   = null, string?vsToolsVersion       = null,
                                         string?nugetRestore     = null, string?allSolutions    = null,
                                         string cwd = @"C:\Project")
        {
            string codeqlUpperLanguage = Language.Cpp.UpperCaseName;

            Actions.GetEnvironmentVariable[$"CODEQL_AUTOBUILDER_{codeqlUpperLanguage}_NO_INDEXING"]      = "false";
            Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_TRAP_DIR"]           = "";
            Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_SOURCE_ARCHIVE_DIR"] = "";
            Actions.GetEnvironmentVariable[$"CODEQL_EXTRACTOR_{codeqlUpperLanguage}_ROOT"] = $@"C:\codeql\{codeqlUpperLanguage.ToLowerInvariant()}";
            Actions.GetEnvironmentVariable["CODEQL_JAVA_HOME"]                 = @"C:\codeql\tools\java";
            Actions.GetEnvironmentVariable["CODEQL_PLATFORM"]                  = "win64";
            Actions.GetEnvironmentVariable["SEMMLE_DIST"]                      = @"C:\odasa";
            Actions.GetEnvironmentVariable["SEMMLE_JAVA_HOME"]                 = @"C:\odasa\tools\java";
            Actions.GetEnvironmentVariable["SEMMLE_PLATFORM_TOOLS"]            = @"C:\odasa\tools";
            Actions.GetEnvironmentVariable["LGTM_INDEX_VSTOOLS_VERSION"]       = vsToolsVersion;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_ARGUMENTS"]     = msBuildArguments;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_PLATFORM"]      = msBuildPlatform;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_CONFIGURATION"] = msBuildConfiguration;
            Actions.GetEnvironmentVariable["LGTM_INDEX_MSBUILD_TARGET"]        = msBuildTarget;
            Actions.GetEnvironmentVariable["LGTM_INDEX_DOTNET_ARGUMENTS"]      = dotnetArguments;
            Actions.GetEnvironmentVariable["LGTM_INDEX_DOTNET_VERSION"]        = dotnetVersion;
            Actions.GetEnvironmentVariable["LGTM_INDEX_BUILD_COMMAND"]         = buildCommand;
            Actions.GetEnvironmentVariable["LGTM_INDEX_SOLUTION"]              = solution;
            Actions.GetEnvironmentVariable["LGTM_INDEX_IGNORE_ERRORS"]         = ignoreErrors;
            Actions.GetEnvironmentVariable["LGTM_INDEX_BUILDLESS"]             = buildless;
            Actions.GetEnvironmentVariable["LGTM_INDEX_ALL_SOLUTIONS"]         = allSolutions;
            Actions.GetEnvironmentVariable["LGTM_INDEX_NUGET_RESTORE"]         = nugetRestore;
            Actions.GetEnvironmentVariable["ProgramFiles(x86)"]                = isWindows ? @"C:\Program Files (x86)" : null;
            Actions.GetCurrentDirectory = cwd;
            Actions.IsWindows           = isWindows;

            var options = new AutobuildOptions(Actions, Language.Cpp);

            return(new CppAutobuilder(Actions, options));
        }
Пример #3
0
 static int Main()
 {
     try
     {
         var actions = SystemBuildActions.Instance;
         var options = new AutobuildOptions(actions, Language.Cpp);
         try
         {
             Console.WriteLine("CodeQL C++ autobuilder");
             var builder = new CppAutobuilder(actions, options);
             return(builder.AttemptBuild());
         }
         catch (InvalidEnvironmentException ex)
         {
             Console.WriteLine("The environment is invalid: {0}", ex.Message);
         }
     }
     catch (ArgumentOutOfRangeException ex)
     {
         Console.WriteLine("The value \"{0}\" for parameter \"{1}\" is invalid", ex.ActualValue, ex.ParamName);
     }
     return(1);
 }
Пример #4
0
 public CppAutobuilder(IBuildActions actions, AutobuildOptions options) : base(actions, options)
 {
 }