Skip to content

Commit 72f0520

Browse files
authored
Merge pull request #1 from microsoft/dev/daknis/Renames
Rename to msdo
2 parents 7548860 + e542013 commit 72f0520

13 files changed

Lines changed: 191 additions & 163 deletions

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Microsoft Security Code Analysis AzDevOps Task Library
1+
# Microsoft Security DevOps AzDevOps Task Library
22

3-
An Azure DevOps javascript library for running the [Microsoft Security Code Analysis CLI](https://aka.ms/msca-nuget).
3+
An Azure DevOps javascript library for running the [Microsoft Security DevOps CLI](https://aka.ms/msdo-nuget).
44

55
## Related
66

7-
* [MSCA Toolkit for GitHub Actions](https://github.com/microsoft/msca-actions-toolkit)
7+
* [Microsoft Security DevOps Toolkit for GitHub Actions](https://github.com/microsoft/security-devops-actions-toolkit)
88

99
## Contributing
1010

build.proj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
</Target>
2323

2424
<Target Name="Build" DependsOnTargets="Clean;NpmInstall">
25-
<Message Text="Compiling msca-azdevops-task-lib." />
26-
<Exec Command="tsc" WorkingDirectory="$(RepoDirectory)" />
25+
<Message Text="Compiling microsoft-security-devops-azdevops-task-lib." />
26+
<Exec Command="npx tsc" WorkingDirectory="$(RepoDirectory)" />
2727

28-
<Copy SourceFiles="$(SrcDirectory)/msca-task-lib.proj" DestinationFolder="$(LibDirectory)" />
28+
<Copy SourceFiles="$(SrcDirectory)/msdo-task-lib.proj" DestinationFolder="$(LibDirectory)" />
2929
<Copy SourceFiles="$(RepoDirectory)/package.json" DestinationFolder="$(LibDirectory)" />
3030
</Target>
3131

lib/msca-task-lib.proj

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,23 @@
11
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5+
}) : (function(o, m, k, k2) {
6+
if (k2 === undefined) k2 = k;
7+
o[k2] = m[k];
8+
}));
9+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10+
Object.defineProperty(o, "default", { enumerable: true, value: v });
11+
}) : function(o, v) {
12+
o["default"] = v;
13+
});
14+
var __importStar = (this && this.__importStar) || function (mod) {
15+
if (mod && mod.__esModule) return mod;
16+
var result = {};
17+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18+
__setModuleDefault(result, mod);
19+
return result;
20+
};
221
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
322
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
423
return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,46 +27,40 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
827
step((generator = generator.apply(thisArg, _arguments || [])).next());
928
});
1029
};
11-
var __importStar = (this && this.__importStar) || function (mod) {
12-
if (mod && mod.__esModule) return mod;
13-
var result = {};
14-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
15-
result["default"] = mod;
16-
return result;
17-
};
1830
Object.defineProperty(exports, "__esModule", { value: true });
31+
exports.MsdoClient = void 0;
1932
const path = __importStar(require("path"));
2033
const process = __importStar(require("process"));
2134
const tl = __importStar(require("azure-pipelines-task-lib/task"));
22-
const msca_installer_1 = require("./msca-installer");
23-
class MscaClient {
35+
const msdo_installer_1 = require("./msdo-installer");
36+
class MsdoClient {
2437
constructor() {
2538
this.cliVersion = '0.*';
2639
}
2740
setupEnvironment() {
2841
return __awaiter(this, void 0, void 0, function* () {
2942
process.env.DOTNET_NOLOGO = 'true';
3043
console.log('------------------------------------------------------------------------------');
31-
if (!process.env.MSCA_FILEPATH) {
44+
if (!process.env.MSDO_FILEPATH) {
3245
let cliVersion = this.resolveCliVersion();
33-
let mscaInstaller = new msca_installer_1.MscaInstaller();
34-
yield mscaInstaller.install(cliVersion);
46+
let msdoInstaller = new msdo_installer_1.MsdoInstaller();
47+
yield msdoInstaller.install(cliVersion);
3548
}
3649
console.log('------------------------------------------------------------------------------');
3750
});
3851
}
3952
resolveCliVersion() {
4053
let cliVersion = this.cliVersion;
41-
if (process.env.MSCA_VERSION) {
42-
cliVersion = process.env.MSCA_VERSION;
54+
if (process.env.MSDO_VERSION) {
55+
cliVersion = process.env.MSDO_VERSION;
4356
}
4457
return cliVersion;
4558
}
4659
isNullOrWhiteSpace(value) {
4760
return !value || !value.trim();
4861
}
4962
getCliFilePath() {
50-
let cliFilePath = process.env.MSCA_FILEPATH;
63+
let cliFilePath = process.env.MSDO_FILEPATH;
5164
tl.debug(`cliFilePath = ${cliFilePath}`);
5265
return cliFilePath;
5366
}
@@ -90,14 +103,14 @@ class MscaClient {
90103
else if (loggerLevel) {
91104
tool.arg('--logger-level').arg(loggerLevel);
92105
}
93-
let sarifFile = path.join(process.env.BUILD_STAGINGDIRECTORY, '.gdn', 'msca.sarif');
106+
let sarifFile = path.join(process.env.BUILD_STAGINGDIRECTORY, '.gdn', 'msdo.sarif');
94107
tl.debug(`sarifFile = ${sarifFile}`);
95-
tl.setVariable('MSCA_SARIF_FILE', sarifFile);
108+
tl.setVariable('MSDO_SARIF_FILE', sarifFile);
96109
args.push('--export-breaking-results-to-file');
97110
args.push(`${sarifFile}`);
98111
}
99112
catch (error) {
100-
error('Exception occurred while initializing MSCA:');
113+
error('Exception occurred while initializing MSDO:');
101114
error(error);
102115
tl.setResult(tl.TaskResult.Failed, error);
103116
return;
@@ -106,7 +119,7 @@ class MscaClient {
106119
let options = {
107120
ignoreReturnCode: true
108121
};
109-
tl.debug('Running Microsoft Security Code Analysis...');
122+
tl.debug('Running Microsoft Security DevOps...');
110123
let exitCode = yield tool.exec(options);
111124
let success = false;
112125
for (let i = 0; i < successfulExitCodes.length; i++) {
@@ -116,7 +129,7 @@ class MscaClient {
116129
}
117130
}
118131
if (!success) {
119-
throw `MSCA CLI exited with an error exit code: ${exitCode}`;
132+
throw `MSDO CLI exited with an error exit code: ${exitCode}`;
120133
}
121134
}
122135
catch (error) {
@@ -126,4 +139,4 @@ class MscaClient {
126139
});
127140
}
128141
}
129-
exports.MscaClient = MscaClient;
142+
exports.MsdoClient = MsdoClient;
Lines changed: 59 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,23 @@
11
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5+
}) : (function(o, m, k, k2) {
6+
if (k2 === undefined) k2 = k;
7+
o[k2] = m[k];
8+
}));
9+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10+
Object.defineProperty(o, "default", { enumerable: true, value: v });
11+
}) : function(o, v) {
12+
o["default"] = v;
13+
});
14+
var __importStar = (this && this.__importStar) || function (mod) {
15+
if (mod && mod.__esModule) return mod;
16+
var result = {};
17+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18+
__setModuleDefault(result, mod);
19+
return result;
20+
};
221
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
322
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
423
return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,42 +27,36 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
827
step((generator = generator.apply(thisArg, _arguments || [])).next());
928
});
1029
};
11-
var __importStar = (this && this.__importStar) || function (mod) {
12-
if (mod && mod.__esModule) return mod;
13-
var result = {};
14-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
15-
result["default"] = mod;
16-
return result;
17-
};
1830
Object.defineProperty(exports, "__esModule", { value: true });
31+
exports.MsdoInstaller = void 0;
1932
const fs = __importStar(require("fs"));
2033
const path = __importStar(require("path"));
2134
const process = __importStar(require("process"));
2235
const tl = __importStar(require("azure-pipelines-task-lib/task"));
23-
class MscaInstaller {
36+
class MsdoInstaller {
2437
install(cliVersion) {
2538
return __awaiter(this, void 0, void 0, function* () {
26-
console.log('Installing Microsoft Security Code Analysis Cli...');
27-
if (process.env.MSCA_FILEPATH) {
28-
console.log(`MSCA CLI File Path overriden by %MSCA_FILEPATH%: ${process.env.MSCA_FILEPATH}`);
39+
console.log('Installing Microsoft Security DevOps Cli...');
40+
if (process.env.MSDO_FILEPATH) {
41+
console.log(`MSDO CLI File Path overriden by %MSDO_FILEPATH%: ${process.env.MSDO_FILEPATH}`);
2942
return;
3043
}
31-
if (process.env.MSCA_DIRECTORY) {
32-
console.log(`MSCA CLI Directory overriden by %MSCA_DIRECTORY%: ${process.env.MSCA_DIRECTORY}`);
33-
let mscaFilePath = path.join(process.env.MSCA_DIRECTORY, 'guardian');
34-
tl.debug(`mscaFilePath = ${mscaFilePath}`);
35-
process.env.MSCA_FILEPATH = mscaFilePath;
44+
if (process.env.MSDO_DIRECTORY) {
45+
console.log(`MSDO CLI Directory overriden by %MSDO_DIRECTORY%: ${process.env.MSDO_DIRECTORY}`);
46+
let msdoFilePath = path.join(process.env.MSDO_DIRECTORY, 'guardian');
47+
tl.debug(`msdoFilePath = ${msdoFilePath}`);
48+
process.env.MSDO_FILEPATH = msdoFilePath;
3649
return;
3750
}
38-
let mscaDirectory = path.join(process.env.AGENT_ROOTDIRECTORY, '_msca');
39-
tl.debug(`mscaDirectory = ${mscaDirectory}`);
40-
this.ensureDirectory(mscaDirectory);
41-
let mscaPackagesDirectory = path.join(mscaDirectory, 'versions');
42-
tl.debug(`mscaPackagesDirectory = ${mscaPackagesDirectory}`);
43-
this.ensureDirectory(mscaPackagesDirectory);
44-
let mscaVersionsDirectory = path.join(mscaPackagesDirectory, 'microsoft.security.codeanalysis.cli');
45-
tl.debug(`mscaVersionsDirectory = ${mscaVersionsDirectory}`);
46-
if (this.isInstalled(mscaVersionsDirectory, cliVersion)) {
51+
let msdoDirectory = path.join(process.env.AGENT_ROOTDIRECTORY, '_msdo');
52+
tl.debug(`msdoDirectory = ${msdoDirectory}`);
53+
this.ensureDirectory(msdoDirectory);
54+
let msdoPackagesDirectory = path.join(msdoDirectory, 'versions');
55+
tl.debug(`msdoPackagesDirectory = ${msdoPackagesDirectory}`);
56+
this.ensureDirectory(msdoPackagesDirectory);
57+
let msdoVersionsDirectory = path.join(msdoPackagesDirectory, 'microsoft.security.codeanalysis.cli');
58+
tl.debug(`msdoVersionsDirectory = ${msdoVersionsDirectory}`);
59+
if (this.isInstalled(msdoVersionsDirectory, cliVersion)) {
4760
return;
4861
}
4962
let failed = false;
@@ -52,16 +65,16 @@ class MscaInstaller {
5265
do {
5366
try {
5467
failed = false;
55-
const mscaTaskLibDirectory = path.resolve(__dirname);
56-
tl.debug(`mscaTaskLibDirectory = ${mscaTaskLibDirectory}`);
57-
const mscaProjectFile = path.join(mscaTaskLibDirectory, 'msca-task-lib.proj');
58-
tl.debug(`mscaProjectFile = ${mscaProjectFile}`);
68+
const msdoTaskLibDirectory = path.resolve(__dirname);
69+
tl.debug(`msdoTaskLibDirectory = ${msdoTaskLibDirectory}`);
70+
const msdoProjectFile = path.join(msdoTaskLibDirectory, 'msdo-task-lib.proj');
71+
tl.debug(`msdoProjectFile = ${msdoProjectFile}`);
5972
let tool = tl.tool('dotnet')
6073
.arg('restore')
61-
.arg(mscaProjectFile)
62-
.arg(`/p:MscaPackageVersion=${cliVersion}`)
74+
.arg(msdoProjectFile)
75+
.arg(`/p:MsdoPackageVersion=${cliVersion}`)
6376
.arg('--packages')
64-
.arg(mscaPackagesDirectory)
77+
.arg(msdoPackagesDirectory)
6578
.arg('--source')
6679
.arg('https://api.nuget.org/v3/index.json');
6780
yield tool.exec();
@@ -75,7 +88,7 @@ class MscaInstaller {
7588
}
7689
}
7790
} while (failed);
78-
this.resolvePackageDirectory(mscaVersionsDirectory, cliVersion);
91+
this.resolvePackageDirectory(msdoVersionsDirectory, cliVersion);
7992
});
8093
}
8194
ensureDirectory(directory) {
@@ -86,12 +99,12 @@ class MscaInstaller {
8699
isInstalled(versionsDirectory, cliVersion) {
87100
let installed = false;
88101
if (cliVersion.includes("*")) {
89-
tl.debug(`MSCA CLI version contains a latest quantifier: ${cliVersion}. Continuing with install...`);
102+
tl.debug(`MSDO CLI version contains a latest quantifier: ${cliVersion}. Continuing with install...`);
90103
return installed;
91104
}
92105
this.setVariablesWithVersion(versionsDirectory, cliVersion);
93-
if (fs.existsSync(process.env.MSCA_DIRECTORY)) {
94-
console.log(`MSCA CLI v${cliVersion} already installed.`);
106+
if (fs.existsSync(process.env.MSDO_DIRECTORY)) {
107+
console.log(`MSDO CLI v${cliVersion} already installed.`);
95108
installed = true;
96109
}
97110
return installed;
@@ -104,8 +117,8 @@ class MscaInstaller {
104117
else {
105118
this.setVariablesWithVersion(versionDirectory, cliVersion);
106119
}
107-
if (!fs.existsSync(process.env.MSCA_DIRECTORY)) {
108-
throw `MSCA CLI v${cliVersion} was not found after installation.`;
120+
if (!fs.existsSync(process.env.MSDO_DIRECTORY)) {
121+
throw `MSDO CLI v${cliVersion} was not found after installation.`;
109122
}
110123
}
111124
findLatestVersionDirectory(versionsDirectory, isPreRelease = false) {
@@ -121,7 +134,7 @@ class MscaInstaller {
121134
tl.debug(`Skipping null or empty directory: ${dir}`);
122135
continue;
123136
}
124-
tl.debug(`Evaluating MSCA directory: ${dir}`);
137+
tl.debug(`Evaluating MSDO directory: ${dir}`);
125138
const dirRegex = new RegExp(/^(\d+\.?){1,6}(\-\w+)?$/g);
126139
if (dirRegex.exec(dir) == null) {
127140
tl.debug(`Skipping invalid version directory: ${dir}`);
@@ -199,12 +212,12 @@ class MscaInstaller {
199212
this.setVariables(packageDirectory);
200213
}
201214
setVariables(packageDirectory) {
202-
let mscaDirectory = path.join(packageDirectory, 'tools');
203-
tl.debug(`mscaDirectory = ${mscaDirectory}`);
204-
let mscaFilePath = path.join(mscaDirectory, 'guardian');
205-
tl.debug(`mscaFilePath = ${mscaFilePath}`);
206-
process.env.MSCA_DIRECTORY = mscaDirectory;
207-
process.env.MSCA_FILEPATH = mscaFilePath;
215+
let msdoDirectory = path.join(packageDirectory, 'tools');
216+
tl.debug(`msdoDirectory = ${msdoDirectory}`);
217+
let msdoFilePath = path.join(msdoDirectory, 'guardian');
218+
tl.debug(`msdoFilePath = ${msdoFilePath}`);
219+
process.env.MSDO_DIRECTORY = msdoDirectory;
220+
process.env.MSDO_FILEPATH = msdoFilePath;
208221
}
209222
}
210-
exports.MscaInstaller = MscaInstaller;
223+
exports.MsdoInstaller = MsdoInstaller;

lib/msdo-task-lib.proj

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework Condition=" '$(TargetFramework)' == '' ">netcoreapp3.1</TargetFramework>
5+
<MsdoPackageName Condition=" '$(MsdoPackageName)' == '' ">Microsoft.Security.CodeAnalysis.Cli</MsdoPackageName>
6+
<MsdoPackageVersion Condition=" '$(MsdoPackageVersion)' == '' ">0.*</MsdoPackageVersion>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<PackageReference Include="$(MsdoPackageName)" Version="$(MsdoPackageVersion)" />
11+
</ItemGroup>
12+
13+
</Project>

lib/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
2-
"name": "msca-azdevops-task-lib",
3-
"version": "1.0.2",
4-
"description": "Microsoft Security Code Analysis for Azure DevOps task library.",
2+
"name": "microsoft-security-devops-azdevops-task-lib",
3+
"version": "1.0.0",
4+
"description": "Microsoft Security DevOps for Azure DevOps task library.",
55
"author": "Microsoft Corporation",
66
"license": "MIT",
7-
"homepage": "https://github.com/microsoft/msca-azdevops-task-lib",
7+
"homepage": "https://github.com/microsoft/security-devops-azdevops-task-lib",
88
"dependencies": {
99
"azure-pipelines-task-lib": "3.1.0",
1010
"azure-pipelines-tool-lib": "1.0.1"
1111
},
1212
"devDependencies": {
1313
"typescript": "^4.1.5"
1414
},
15-
"main": "msca-client.js"
15+
"main": "msdo-client.js"
1616
}

package-lock.json

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)