Skip to content
This repository has been archived by the owner on Aug 14, 2020. It is now read-only.

Commit

Permalink
Add notrackdep suffix to scope dependencies (#4)
Browse files Browse the repository at this point in the history
* Add notrackdep suffix to scope dependencies

* Apply suggestions from code review

Co-Authored-By: Juan Antonio Fernández de Alba <[email protected]>

* Applying suggested changes

Co-authored-by: Juan Antonio Fernández de Alba <[email protected]>
  • Loading branch information
drodriguezhdez and juan-fernandez authored Apr 28, 2020
1 parent 164c927 commit fda065a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
13 changes: 6 additions & 7 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11914,19 +11914,18 @@ const tc = __importStar(__webpack_require__(602));
const version_parser_1 = __webpack_require__(368);
const scopeAgentMetadataURL = "https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-agent/maven-metadata.xml";
const scopeMavenInstrMetadataURL = "https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-instrumentation-for-maven/maven-metadata.xml";
const scopeNoTrackDep = "_scope_notrackdep";
function instrument(allowBeta) {
return __awaiter(this, void 0, void 0, function* () {
const workdir = process.cwd();
const [agentVersion, instrVersion] = yield Promise.all([version_parser_1.getVersionToUse(scopeAgentMetadataURL, allowBeta), version_parser_1.getVersionToUse(scopeMavenInstrMetadataURL, false)]);
const scopeAgentPath = yield tc.downloadTool(`https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-agent/${agentVersion}/scope-agent-${agentVersion}.jar`);
if (!scopeAgentPath.endsWith(".jar")) {
yield io.mv(scopeAgentPath, scopeAgentPath + ".jar");
}
const finalScopeAgentPath = `${scopeAgentPath.replace('.jar', '')}${scopeNoTrackDep}.jar`;
yield io.mv(scopeAgentPath, finalScopeAgentPath);
const mavenInstrumentatorPath = yield tc.downloadTool(`https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-instrumentation-for-maven/${instrVersion}/scope-instrumentation-for-maven-${instrVersion}.jar`);
if (!mavenInstrumentatorPath.endsWith(".jar")) {
yield io.mv(mavenInstrumentatorPath, mavenInstrumentatorPath + ".jar");
}
yield exec.exec("sh -c \"find " + workdir + " -name \\\"pom.xml\\\" -exec java -jar " + mavenInstrumentatorPath + ".jar \\\"" + scopeAgentPath + ".jar\\\" {} \\;\"");
const finalMavenInstrumentatorPath = `${mavenInstrumentatorPath.replace('.jar', '')}${scopeNoTrackDep}.jar`;
yield io.mv(mavenInstrumentatorPath, finalMavenInstrumentatorPath);
yield exec.exec(`sh -c "find ${workdir} -name \\"pom.xml\\" -exec java -jar ${finalMavenInstrumentatorPath} ${finalScopeAgentPath} {} \\;"`);
});
}
exports.instrument = instrument;
Expand Down
15 changes: 7 additions & 8 deletions src/executor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@ import {getVersionToUse} from "./version-parser";

const scopeAgentMetadataURL = "https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-agent/maven-metadata.xml";
const scopeMavenInstrMetadataURL = "https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-instrumentation-for-maven/maven-metadata.xml";
const scopeNoTrackDep = "_scope_notrackdep";

export async function instrument(allowBeta:boolean): Promise<void> {
const workdir = process.cwd();
const [agentVersion, instrVersion] = await Promise.all([getVersionToUse(scopeAgentMetadataURL, allowBeta), getVersionToUse(scopeMavenInstrMetadataURL, false)])

const scopeAgentPath = await tc.downloadTool(`https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-agent/${agentVersion}/scope-agent-${agentVersion}.jar`);
if(!scopeAgentPath.endsWith(".jar")) {
await io.mv(scopeAgentPath, scopeAgentPath+".jar");
}
const finalScopeAgentPath = `${scopeAgentPath.replace('.jar', '')}${scopeNoTrackDep}.jar`
await io.mv(scopeAgentPath, finalScopeAgentPath);

const mavenInstrumentatorPath = await tc.downloadTool(`https://repo1.maven.org/maven2/com/undefinedlabs/scope/scope-instrumentation-for-maven/${instrVersion}/scope-instrumentation-for-maven-${instrVersion}.jar`);
if(!mavenInstrumentatorPath.endsWith(".jar")){
await io.mv(mavenInstrumentatorPath, mavenInstrumentatorPath+".jar");
}
const finalMavenInstrumentatorPath = `${mavenInstrumentatorPath.replace('.jar', '')}${scopeNoTrackDep}.jar`
await io.mv(mavenInstrumentatorPath, finalMavenInstrumentatorPath);

await exec.exec("sh -c \"find "+workdir+" -name \\\"pom.xml\\\" -exec java -jar "+mavenInstrumentatorPath+".jar \\\""+scopeAgentPath+".jar\\\" {} \\;\"");
}
await exec.exec(`sh -c "find ${workdir} -name \\"pom.xml\\" -exec java -jar ${finalMavenInstrumentatorPath} ${finalScopeAgentPath} {} \\;"`);
}

0 comments on commit fda065a

Please sign in to comment.