From 5ab09ae291e04344bf18121a816e7edda440e588 Mon Sep 17 00:00:00 2001 From: Robert Brignull Date: Thu, 2 Jul 2020 14:45:14 +0100 Subject: [PATCH] Make parameter names more descriptive --- lib/autobuild.js | 13 +---------- lib/autobuild.js.map | 2 +- lib/codeql.js | 36 +++++++++++++++++++---------- lib/codeql.js.map | 2 +- lib/finalize-db.js | 4 ++-- lib/finalize-db.js.map | 2 +- src/autobuild.ts | 16 ++----------- src/codeql.ts | 52 ++++++++++++++++++++++++++++-------------- src/finalize-db.ts | 4 ++-- 9 files changed, 69 insertions(+), 62 deletions(-) diff --git a/lib/autobuild.js b/lib/autobuild.js index f851a4007..f8daec74f 100644 --- a/lib/autobuild.js +++ b/lib/autobuild.js @@ -8,8 +8,6 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(require("@actions/core")); -const exec = __importStar(require("@actions/exec")); -const path = __importStar(require("path")); const codeql_1 = require("./codeql"); const sharedEnv = __importStar(require("./shared-environment")); const util = __importStar(require("./util")); @@ -35,16 +33,7 @@ async function run() { } core.startGroup(`Attempting to automatically build ${language} code`); const codeQL = codeql_1.getCodeQL(); - const cmdName = process.platform === 'win32' ? 'autobuild.cmd' : 'autobuild.sh'; - const autobuildCmd = path.join(codeQL.getDir(), language, 'tools', cmdName); - // Update JAVA_TOOL_OPTIONS to contain '-Dhttp.keepAlive=false' - // This is because of an issue with Azure pipelines timing out connections after 4 minutes - // and Maven not properly handling closed connections - // Otherwise long build processes will timeout when pulling down Java packages - // https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html - let javaToolOptions = process.env['JAVA_TOOL_OPTIONS'] || ""; - process.env['JAVA_TOOL_OPTIONS'] = [...javaToolOptions.split(/\s+/), '-Dhttp.keepAlive=false', '-Dmaven.wagon.http.pool=false'].join(' '); - await exec.exec(autobuildCmd); + await codeQL.runAutobuild(language); core.endGroup(); } catch (error) { diff --git a/lib/autobuild.js.map b/lib/autobuild.js.map index a22fcdf44..789f37343 100644 --- a/lib/autobuild.js.map +++ b/lib/autobuild.js.map @@ -1 +1 @@ -{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AACtC,oDAAsC;AACtC,2CAA6B;AAE7B,qCAAqC;AACrC,gEAAkD;AAClD,6CAA+B;AAE/B,KAAK,UAAU,GAAG;;IAChB,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;YACzF,OAAO;SACR;QAED,0CAA0C;QAC1C,mFAAmF;QACnF,oFAAoF;QACpF,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,OAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,8BAA8B,CAAC,0CAAE,KAAK,CAAC,GAAG,MAAK,EAAE,CAAC;QACnG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAC7E,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAE7D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,oCAAoC,QAAQ,8BAA8B,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;SAC3L;QAED,IAAI,CAAC,UAAU,CAAC,qCAAqC,QAAQ,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,kBAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5E,+DAA+D;QAC/D,0FAA0F;QAC1F,qDAAqD;QACrD,8EAA8E;QAC9E,gHAAgH;QAChH,IAAI,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,wBAAwB,EAAE,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1I,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;KAEjB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,SAAS,CAAC,kIAAkI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACnK,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;KACR;IAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACd,IAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsC;AAEtC,qCAAqC;AACrC,gEAAkD;AAClD,6CAA+B;AAE/B,KAAK,UAAU,GAAG;;IAChB,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;YACzF,OAAO;SACR;QAED,0CAA0C;QAC1C,mFAAmF;QACnF,oFAAoF;QACpF,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,OAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,8BAA8B,CAAC,0CAAE,KAAK,CAAC,GAAG,MAAK,EAAE,CAAC;QACnG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAC7E,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QAE7D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,oCAAoC,QAAQ,8BAA8B,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;SAC3L;QAED,IAAI,CAAC,UAAU,CAAC,qCAAqC,QAAQ,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,kBAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;KAEjB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,SAAS,CAAC,kIAAkI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACnK,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;KACR;IAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACd,IAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/lib/codeql.js b/lib/codeql.js index ed41cc853..a39c792d4 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -81,13 +81,13 @@ function getCodeQLForCmd(cmd) { '--format=json' ]); }, - getTracerEnv: async function (database, compilerSpec) { - let envFile = path.resolve(database, 'working', 'env.tmp'); - const compilerSpecArg = compilerSpec ? "--compiler-spec=" + compilerSpec : []; + getTracerEnv: async function (databasePath, compilerSpec) { + let envFile = path.resolve(databasePath, 'working', 'env.tmp'); + const compilerSpecArg = compilerSpec ? ["--compiler-spec=" + compilerSpec] : []; await exec.exec(cmd, [ 'database', 'trace-command', - database, + databasePath, ...compilerSpecArg, process.execPath, path.resolve(__dirname, 'tracer-env.js'), @@ -95,16 +95,28 @@ function getCodeQLForCmd(cmd) { ]); return JSON.parse(fs.readFileSync(envFile, 'utf-8')); }, - databaseInit: async function (database, language, sourceRoot) { + databaseInit: async function (databasePath, language, sourceRoot) { await exec.exec(cmd, [ 'database', 'init', - database, + databasePath, '--language=' + language, '--source-root=' + sourceRoot, ]); }, - extractScannedLanguage: async function (database, language) { + runAutobuild: async function (language) { + const cmdName = process.platform === 'win32' ? 'autobuild.cmd' : 'autobuild.sh'; + const autobuildCmd = path.join(path.dirname(cmd), language, 'tools', cmdName); + // Update JAVA_TOOL_OPTIONS to contain '-Dhttp.keepAlive=false' + // This is because of an issue with Azure pipelines timing out connections after 4 minutes + // and Maven not properly handling closed connections + // Otherwise long build processes will timeout when pulling down Java packages + // https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html + let javaToolOptions = process.env['JAVA_TOOL_OPTIONS'] || ""; + process.env['JAVA_TOOL_OPTIONS'] = [...javaToolOptions.split(/\s+/), '-Dhttp.keepAlive=false', '-Dmaven.wagon.http.pool=false'].join(' '); + await exec.exec(autobuildCmd); + }, + extractScannedLanguage: async function (databasePath, language) { // Get extractor location let extractorPath = ''; await exec.exec(cmd, [ @@ -126,16 +138,16 @@ function getCodeQLForCmd(cmd) { await exec.exec(cmd, [ 'database', 'trace-command', - path.join(database, language), + databasePath, '--', traceCommand ]); }, - finalizeDatabase: async function (database, language) { + finalizeDatabase: async function (databasePath) { await exec.exec(cmd, [ 'database', 'finalize', - path.join(database, language) + databasePath ]); }, resolveQueries: async function (queries) { @@ -154,13 +166,13 @@ function getCodeQLForCmd(cmd) { }); return JSON.parse(output); }, - databaseAnalyze: async function (database, sarifFile, querySuite) { + databaseAnalyze: async function (databasePath, sarifFile, querySuite) { await exec.exec(cmd, [ 'database', 'analyze', util.getMemoryFlag(), util.getThreadsFlag(), - database, + databasePath, '--format=sarif-latest', '--output=' + sarifFile, '--no-sarif-add-snippets', diff --git a/lib/codeql.js.map b/lib/codeql.js.map index c540e7a8d..e3f39a8e0 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/finalize-db.js b/lib/finalize-db.js index f7264d64b..f1800499a 100644 --- a/lib/finalize-db.js +++ b/lib/finalize-db.js @@ -42,7 +42,7 @@ async function createdDBForScannedLanguages(databaseFolder) { const codeql = codeql_1.getCodeQL(); for (const language of scannedLanguages.split(',')) { core.startGroup('Extracting ' + language); - await codeql.extractScannedLanguage(databaseFolder, language); + await codeql.extractScannedLanguage(path.join(databaseFolder, language), language); core.endGroup(); } } @@ -53,7 +53,7 @@ async function finalizeDatabaseCreation(databaseFolder) { const codeql = codeql_1.getCodeQL(); for (const language of languages.split(',')) { core.startGroup('Finalizing ' + language); - await codeql.finalizeDatabase(databaseFolder, language); + await codeql.finalizeDatabase(path.join(databaseFolder, language)); core.endGroup(); } } diff --git a/lib/finalize-db.js.map b/lib/finalize-db.js.map index 6a5410ae3..617e58422 100644 --- a/lib/finalize-db.js.map +++ b/lib/finalize-db.js.map @@ -1 +1 @@ -{"version":3,"file":"finalize-db.js","sourceRoot":"","sources":["../src/finalize-db.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"finalize-db.js","sourceRoot":"","sources":["../src/finalize-db.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/autobuild.ts b/src/autobuild.ts index 6d3d35e50..ee2c753ce 100644 --- a/src/autobuild.ts +++ b/src/autobuild.ts @@ -1,6 +1,4 @@ import * as core from '@actions/core'; -import * as exec from '@actions/exec'; -import * as path from 'path'; import { getCodeQL } from './codeql'; import * as sharedEnv from './shared-environment'; @@ -32,18 +30,8 @@ async function run() { core.startGroup(`Attempting to automatically build ${language} code`); const codeQL = getCodeQL(); - const cmdName = process.platform === 'win32' ? 'autobuild.cmd' : 'autobuild.sh'; - const autobuildCmd = path.join(codeQL.getDir(), language, 'tools', cmdName); - - // Update JAVA_TOOL_OPTIONS to contain '-Dhttp.keepAlive=false' - // This is because of an issue with Azure pipelines timing out connections after 4 minutes - // and Maven not properly handling closed connections - // Otherwise long build processes will timeout when pulling down Java packages - // https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html - let javaToolOptions = process.env['JAVA_TOOL_OPTIONS'] || ""; - process.env['JAVA_TOOL_OPTIONS'] = [...javaToolOptions.split(/\s+/), '-Dhttp.keepAlive=false', '-Dmaven.wagon.http.pool=false'].join(' '); - - await exec.exec(autobuildCmd); + await codeQL.runAutobuild(language); + core.endGroup(); } catch (error) { diff --git a/src/codeql.ts b/src/codeql.ts index c03fe4fab..78a85737c 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -20,11 +20,15 @@ export interface CodeQL { * Run 'codeql database trace-command' on 'tracer-env.js' and parse * the result to get environment variables set by CodeQL. */ - getTracerEnv(database: string, compilerSpec: string | undefined): Promise<{ [key: string]: string }>; + getTracerEnv(databasePath: string, compilerSpec: string | undefined): Promise<{ [key: string]: string }>; /** * Run 'codeql database init'. */ - databaseInit(database: string, language: string, sourceRoot: string): Promise; + databaseInit(databasePath: string, language: string, sourceRoot: string): Promise; + /** + * Runs the autobuilder for the given language. + */ + runAutobuild(language: string): Promise; /** * Extract code for a scanned language using 'codeql database trace-command' * and running the language extracter. @@ -33,15 +37,15 @@ export interface CodeQL { /** * Finalize a database using 'codeql database finalize'. */ - finalizeDatabase(database: string, language: string): Promise; + finalizeDatabase(databasePath: string): Promise; /** * Run 'codeql resolve queries'. */ - resolveQueries(queries): Promise; + resolveQueries(queries: string[]): Promise; /** * Run 'codeql database analyze'. */ - databaseAnalyze(database: string, sarifFile: string, querySuite: string): Promise; + databaseAnalyze(databasePath: string, sarifFile: string, querySuite: string): Promise; } export interface ResolveQueriesOutput { @@ -132,13 +136,13 @@ function getCodeQLForCmd(cmd: string): CodeQL { '--format=json' ]); }, - getTracerEnv: async function(database: string, compilerSpec: string | undefined) { - let envFile = path.resolve(database, 'working', 'env.tmp'); - const compilerSpecArg = compilerSpec ? "--compiler-spec=" + compilerSpec : []; + getTracerEnv: async function(databasePath: string, compilerSpec: string | undefined) { + let envFile = path.resolve(databasePath, 'working', 'env.tmp'); + const compilerSpecArg = compilerSpec ? ["--compiler-spec=" + compilerSpec] : []; await exec.exec(cmd, [ 'database', 'trace-command', - database, + databasePath, ...compilerSpecArg, process.execPath, path.resolve(__dirname, 'tracer-env.js'), @@ -146,16 +150,30 @@ function getCodeQLForCmd(cmd: string): CodeQL { ]); return JSON.parse(fs.readFileSync(envFile, 'utf-8')); }, - databaseInit: async function(database: string, language: string, sourceRoot: string) { + databaseInit: async function(databasePath: string, language: string, sourceRoot: string) { await exec.exec(cmd, [ 'database', 'init', - database, + databasePath, '--language=' + language, '--source-root=' + sourceRoot, ]); }, - extractScannedLanguage: async function(database: string, language: string) { + runAutobuild: async function(language: string) { + const cmdName = process.platform === 'win32' ? 'autobuild.cmd' : 'autobuild.sh'; + const autobuildCmd = path.join(path.dirname(cmd), language, 'tools', cmdName); + + // Update JAVA_TOOL_OPTIONS to contain '-Dhttp.keepAlive=false' + // This is because of an issue with Azure pipelines timing out connections after 4 minutes + // and Maven not properly handling closed connections + // Otherwise long build processes will timeout when pulling down Java packages + // https://developercommunity.visualstudio.com/content/problem/292284/maven-hosted-agent-connection-timeout.html + let javaToolOptions = process.env['JAVA_TOOL_OPTIONS'] || ""; + process.env['JAVA_TOOL_OPTIONS'] = [...javaToolOptions.split(/\s+/), '-Dhttp.keepAlive=false', '-Dmaven.wagon.http.pool=false'].join(' '); + + await exec.exec(autobuildCmd); + }, + extractScannedLanguage: async function(databasePath: string, language: string) { // Get extractor location let extractorPath = ''; await exec.exec( @@ -182,16 +200,16 @@ function getCodeQLForCmd(cmd: string): CodeQL { await exec.exec(cmd, [ 'database', 'trace-command', - path.join(database, language), + databasePath, '--', traceCommand ]); }, - finalizeDatabase: async function(database: string, language: string) { + finalizeDatabase: async function(databasePath: string) { await exec.exec(cmd, [ 'database', 'finalize', - path.join(database, language) + databasePath ]); }, resolveQueries: async function(queries: string[]) { @@ -214,13 +232,13 @@ function getCodeQLForCmd(cmd: string): CodeQL { return JSON.parse(output); }, - databaseAnalyze: async function(database: string, sarifFile: string, querySuite: string) { + databaseAnalyze: async function(databasePath: string, sarifFile: string, querySuite: string) { await exec.exec(cmd, [ 'database', 'analyze', util.getMemoryFlag(), util.getThreadsFlag(), - database, + databasePath, '--format=sarif-latest', '--output=' + sarifFile, '--no-sarif-add-snippets', diff --git a/src/finalize-db.ts b/src/finalize-db.ts index 52a4b3843..d29d4ee44 100644 --- a/src/finalize-db.ts +++ b/src/finalize-db.ts @@ -37,7 +37,7 @@ async function createdDBForScannedLanguages(databaseFolder: string) { const codeql = getCodeQL(); for (const language of scannedLanguages.split(',')) { core.startGroup('Extracting ' + language); - await codeql.extractScannedLanguage(databaseFolder, language); + await codeql.extractScannedLanguage(path.join(databaseFolder, language), language); core.endGroup(); } } @@ -50,7 +50,7 @@ async function finalizeDatabaseCreation(databaseFolder: string) { const codeql = getCodeQL(); for (const language of languages.split(',')) { core.startGroup('Finalizing ' + language); - await codeql.finalizeDatabase(databaseFolder, language); + await codeql.finalizeDatabase(path.join(databaseFolder, language)); core.endGroup(); } }