@cyclonedx/cdxgen 10.9.9 → 10.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -55,7 +55,7 @@ Sections include:
55
55
  ## Installing
56
56
 
57
57
  ```shell
58
- npm install -g @cyclonedx/cdxgen@10.9.9
58
+ npm install -g @cyclonedx/cdxgen@10.9.11
59
59
  ```
60
60
 
61
61
  If you are a [Homebrew][homebrew-homepage] user, you can also install [cdxgen][homebrew-cdxgen] via:
@@ -312,7 +312,7 @@ cdxgen can retain the dependency tree under the `dependencies` attribute for a s
312
312
  - Gradle
313
313
  - Scala SBT
314
314
  - Python (requirements.txt, setup.py, pyproject.toml, poetry.lock)
315
- - .NET (packages.lock.json, project.assets.json, paket.lock)
315
+ - .NET (packages.lock.json, project.assets.json, paket.lock, .nuspec/.nupkg)
316
316
  - Go (go.mod)
317
317
  - PHP (composer.lock)
318
318
  - Ruby (Gemfile.lock)
@@ -403,7 +403,7 @@ To generate test public/private key pairs, you can run cdxgen by passing the arg
403
403
  Use the bundled `cdx-verify` command, which supports verifying a single signature added at the bom level.
404
404
 
405
405
  ```shell
406
- npm install -g @cyclonedx/cdxgen@10.9.9
406
+ npm install -g @cyclonedx/cdxgen@10.9.11
407
407
  cdx-verify -i bom.json --public-key public.key
408
408
  ```
409
409
 
package/index.js CHANGED
@@ -42,6 +42,8 @@ import {
42
42
  addEvidenceForDotnet,
43
43
  addEvidenceForImports,
44
44
  addPlugin,
45
+ buildGradleCommandArguments,
46
+ buildObjectForGradleModule,
45
47
  checksumFile,
46
48
  cleanupPlugin,
47
49
  collectGradleDependencies,
@@ -1604,6 +1606,7 @@ export async function createJavaBom(path, options) {
1604
1606
  const allProjects = [];
1605
1607
  const allProjectsAddedPurls = [];
1606
1608
  const rootDependsOn = [];
1609
+ const gradleModules = new Map();
1607
1610
  // Determine the root path for gradle
1608
1611
  // Fixes gradle invocation for microservices-demo
1609
1612
  let gradleRootPath = path;
@@ -1621,32 +1624,21 @@ export async function createJavaBom(path, options) {
1621
1624
  gradleFiles?.length &&
1622
1625
  isPackageManagerAllowed("gradle", ["maven", "bazel", "sbt"], options)
1623
1626
  ) {
1624
- let retMap = executeGradleProperties(gradleRootPath, null, null);
1627
+ let retMap = executeGradleProperties(gradleRootPath, null);
1625
1628
  const allProjectsStr = retMap.projects || [];
1626
1629
  const rootProject = retMap.rootProject;
1627
1630
  if (rootProject) {
1628
- parentComponent = {
1629
- name: rootProject,
1630
- type: "application",
1631
- ...retMap.metadata,
1632
- };
1633
- const parentPurl = new PackageURL(
1634
- "maven",
1635
- parentComponent.group || "",
1636
- parentComponent.name,
1637
- parentComponent.version,
1638
- { type: "jar" },
1639
- null,
1640
- ).toString();
1641
- parentComponent["purl"] = parentPurl;
1642
- parentComponent["bom-ref"] = decodeURIComponent(parentPurl);
1631
+ parentComponent = await buildObjectForGradleModule(
1632
+ rootProject,
1633
+ retMap.metadata,
1634
+ );
1635
+ gradleModules.set(rootProject, parentComponent);
1643
1636
  }
1644
1637
  // Get the sub-project properties and set the root dependencies
1645
1638
  if (allProjectsStr?.length) {
1646
1639
  if (process.env.GRADLE_MULTI_THREADED) {
1647
1640
  const parallelPropTaskOut = executeParallelGradleProperties(
1648
1641
  gradleRootPath,
1649
- null,
1650
1642
  allProjectsStr,
1651
1643
  );
1652
1644
  const splitPropTaskOut = splitOutputByGradleProjects(
@@ -1672,66 +1664,34 @@ export async function createJavaBom(path, options) {
1672
1664
  const rootSubProject = retMap.rootProject;
1673
1665
  if (rootSubProject) {
1674
1666
  const rspName = rootSubProject.replace(/^:/, "");
1675
- const rootSubProjectObj = {
1676
- name: rspName,
1677
- type: "application",
1678
- qualifiers: { type: "jar" },
1679
- ...retMap.metadata,
1680
- };
1681
- const rootSubProjectPurl = new PackageURL(
1682
- "maven",
1683
- rootSubProjectObj.group?.length
1684
- ? rootSubProjectObj.group
1685
- : parentComponent.group,
1686
- rootSubProjectObj.name,
1687
- retMap.metadata.version && retMap.metadata.version !== "latest"
1688
- ? retMap.metadata.version
1689
- : parentComponent.version,
1690
- rootSubProjectObj.qualifiers,
1691
- null,
1692
- ).toString();
1693
- rootSubProjectObj["purl"] = rootSubProjectPurl;
1694
- const rootSubProjectBomRef = decodeURIComponent(rootSubProjectPurl);
1695
- rootSubProjectObj["bom-ref"] = rootSubProjectBomRef;
1696
- if (!allProjectsAddedPurls.includes(rootSubProjectPurl)) {
1667
+ const rootSubProjectObj = await buildObjectForGradleModule(
1668
+ rspName,
1669
+ retMap.metadata,
1670
+ );
1671
+ if (!allProjectsAddedPurls.includes(rootSubProjectObj["purl"])) {
1697
1672
  allProjects.push(rootSubProjectObj);
1698
- rootDependsOn.push(rootSubProjectBomRef);
1699
- allProjectsAddedPurls.push(rootSubProjectPurl);
1673
+ rootDependsOn.push(rootSubProjectObj["bom-ref"]);
1674
+ allProjectsAddedPurls.push(rootSubProjectObj["purl"]);
1700
1675
  }
1676
+ gradleModules.set(rspName, rootSubProjectObj);
1701
1677
  }
1702
1678
  }
1703
1679
  } else {
1704
1680
  for (const spstr of allProjectsStr) {
1705
- retMap = executeGradleProperties(gradleRootPath, null, spstr);
1681
+ retMap = executeGradleProperties(gradleRootPath, spstr);
1706
1682
  const rootSubProject = retMap.rootProject;
1707
1683
  if (rootSubProject) {
1708
1684
  const rspName = rootSubProject.replace(/^:/, "");
1709
- const rootSubProjectObj = {
1710
- name: rspName,
1711
- type: "application",
1712
- qualifiers: { type: "jar" },
1713
- ...retMap.metadata,
1714
- };
1715
- const rootSubProjectPurl = new PackageURL(
1716
- "maven",
1717
- rootSubProjectObj.group?.length
1718
- ? rootSubProjectObj.group
1719
- : parentComponent.group,
1720
- rootSubProjectObj.name,
1721
- retMap.metadata.version && retMap.metadata.version !== "latest"
1722
- ? retMap.metadata.version
1723
- : parentComponent.version,
1724
- rootSubProjectObj.qualifiers,
1725
- null,
1726
- ).toString();
1727
- rootSubProjectObj["purl"] = rootSubProjectPurl;
1728
- const rootSubProjectBomRef = decodeURIComponent(rootSubProjectPurl);
1729
- rootSubProjectObj["bom-ref"] = rootSubProjectBomRef;
1730
- if (!allProjectsAddedPurls.includes(rootSubProjectPurl)) {
1685
+ const rootSubProjectObj = await buildObjectForGradleModule(
1686
+ rspName,
1687
+ retMap.metadata,
1688
+ );
1689
+ if (!allProjectsAddedPurls.includes(rootSubProjectObj["purl"])) {
1731
1690
  allProjects.push(rootSubProjectObj);
1732
- rootDependsOn.push(rootSubProjectBomRef);
1733
- allProjectsAddedPurls.push(rootSubProjectPurl);
1691
+ rootDependsOn.push(rootSubProjectObj["bom-ref"]);
1692
+ allProjectsAddedPurls.push(rootSubProjectObj["purl"]);
1734
1693
  }
1694
+ gradleModules.set(rspName, rootSubProjectObj);
1735
1695
  }
1736
1696
  }
1737
1697
  } //end else
@@ -1752,46 +1712,44 @@ export async function createJavaBom(path, options) {
1752
1712
  options.installDeps &&
1753
1713
  isPackageManagerAllowed("gradle", ["maven", "bazel", "sbt"], options)
1754
1714
  ) {
1755
- const gradleCmd = getGradleCommand(gradleRootPath, null);
1756
- const defaultDepTaskArgs = ["--console", "plain", "--build-cache"];
1757
1715
  allProjects.push(parentComponent);
1758
- let depTaskWithArgs = ["dependencies"];
1759
- let relevantTasks = ["dependencies"];
1760
- if (process.env.GRADLE_DEPENDENCY_TASK) {
1761
- depTaskWithArgs = process.env.GRADLE_DEPENDENCY_TASK.split(" ");
1762
- relevantTasks = process.env.GRADLE_DEPENDENCY_TASK.split(" ");
1763
- }
1764
- let gradleDepArgs = [];
1765
- gradleDepArgs = gradleDepArgs
1766
- .concat(depTaskWithArgs.slice(1))
1767
- .concat(defaultDepTaskArgs);
1768
- // Support custom GRADLE_ARGS such as --configuration runtimeClassPath (used for all tasks)
1769
- if (process.env.GRADLE_ARGS) {
1770
- const addArgs = process.env.GRADLE_ARGS.split(" ");
1771
- gradleDepArgs = gradleDepArgs.concat(addArgs);
1772
- }
1773
- // gradle args only for the dependencies task
1774
- if (process.env.GRADLE_ARGS_DEPENDENCIES) {
1775
- const addArgs = process.env.GRADLE_ARGS_DEPENDENCIES.split(" ");
1776
- gradleDepArgs = gradleDepArgs.concat(addArgs);
1777
- }
1716
+ const gradleCmd = getGradleCommand(gradleRootPath, null);
1717
+ const gradleDepTask = process.env.GRADLE_DEPENDENCY_TASK
1718
+ ? process.env.GRADLE_DEPENDENCY_TASK
1719
+ : "dependencies";
1778
1720
 
1779
1721
  if (process.env.GRADLE_MULTI_THREADED) {
1780
- gradleDepArgs.push(depTaskWithArgs[0]);
1722
+ const gradleSubCommands = [];
1723
+ const modulesToSkip = process.env.GRADLE_SKIP_MODULES
1724
+ ? process.env.GRADLE_SKIP_MODULES.split(",")
1725
+ : [];
1726
+ if (!modulesToSkip.includes("root")) {
1727
+ gradleSubCommands.push(gradleDepTask);
1728
+ }
1781
1729
  for (const sp of allProjects) {
1782
1730
  //create single command for dependencies tasks on all subprojects
1783
- if (sp.purl !== parentComponent.purl) {
1784
- gradleDepArgs.push(`:${sp.name}:${depTaskWithArgs[0]}`);
1731
+ if (
1732
+ sp.purl !== parentComponent.purl &&
1733
+ !modulesToSkip.includes(sp.name)
1734
+ ) {
1735
+ gradleSubCommands.push(`:${sp.name}:${gradleDepTask}`);
1785
1736
  }
1786
1737
  }
1738
+ const gradleArguments = buildGradleCommandArguments(
1739
+ process.env.GRADLE_ARGS ? process.env.GRADLE_ARGS.split(" ") : [],
1740
+ gradleSubCommands,
1741
+ process.env.GRADLE_ARGS_DEPENDENCIES
1742
+ ? process.env.GRADLE_ARGS_DEPENDENCIES.split(" ")
1743
+ : [],
1744
+ );
1787
1745
  console.log(
1788
1746
  "Executing",
1789
1747
  gradleCmd,
1790
- gradleDepArgs.join(" "),
1748
+ gradleArguments.join(" "),
1791
1749
  "in",
1792
1750
  gradleRootPath,
1793
1751
  );
1794
- const sresult = spawnSync(gradleCmd, gradleDepArgs, {
1752
+ const sresult = spawnSync(gradleCmd, gradleArguments, {
1795
1753
  cwd: gradleRootPath,
1796
1754
  encoding: "utf-8",
1797
1755
  timeout: TIMEOUT_MS,
@@ -1807,21 +1765,15 @@ export async function createJavaBom(path, options) {
1807
1765
  const sstdout = sresult.stdout;
1808
1766
  if (sstdout) {
1809
1767
  const cmdOutput = Buffer.from(sstdout).toString();
1810
- const perProjectOutput = splitOutputByGradleProjects(
1811
- cmdOutput,
1812
- relevantTasks,
1813
- );
1814
- for (const [key, singleProjectDepOut] of perProjectOutput.entries()) {
1815
- const sp = allProjects
1816
- .filter((project) => project.name === key)
1817
- .pop();
1818
- const parsedList = parseGradleDep(
1819
- singleProjectDepOut,
1820
- sp.group || parentComponent.group,
1768
+ const perProjectOutput = splitOutputByGradleProjects(cmdOutput, [
1769
+ gradleDepTask,
1770
+ ]);
1771
+ for (const sp of allProjects) {
1772
+ const parsedList = await parseGradleDep(
1773
+ perProjectOutput.has(sp.name) ? perProjectOutput.get(sp.name) : "",
1821
1774
  sp.name,
1822
- sp.version?.length && sp.version !== "latest"
1823
- ? sp.version
1824
- : parentComponent.version,
1775
+ gradleModules,
1776
+ gradleRootPath,
1825
1777
  );
1826
1778
  const dlist = parsedList.pkgList;
1827
1779
  if (parsedList.dependenciesList && parsedList.dependenciesList) {
@@ -1851,22 +1803,26 @@ export async function createJavaBom(path, options) {
1851
1803
  );
1852
1804
  }
1853
1805
  for (const sp of allProjects) {
1854
- let gradleSubProjectDepArgs = [
1855
- sp.purl === parentComponent.purl
1856
- ? depTaskWithArgs[0]
1857
- : `:${sp.name}:${depTaskWithArgs[0]}`,
1858
- ];
1859
- gradleSubProjectDepArgs = gradleSubProjectDepArgs.concat(gradleDepArgs);
1806
+ const gradleArguments = buildGradleCommandArguments(
1807
+ process.env.GRADLE_ARGS ? process.env.GRADLE_ARGS.split(" ") : [],
1808
+ [
1809
+ sp.purl === parentComponent.purl
1810
+ ? gradleDepTask
1811
+ : `:${sp.name}:${gradleDepTask}`,
1812
+ ],
1813
+ process.env.GRADLE_ARGS_DEPENDENCIES
1814
+ ? process.env.GRADLE_ARGS_DEPENDENCIES.split(" ")
1815
+ : [],
1816
+ );
1860
1817
 
1861
- gradleSubProjectDepArgs.push("-q");
1862
1818
  console.log(
1863
1819
  "Executing",
1864
1820
  gradleCmd,
1865
- gradleSubProjectDepArgs.join(" "),
1821
+ gradleArguments.join(" "),
1866
1822
  "in",
1867
1823
  gradleRootPath,
1868
1824
  );
1869
- const sresult = spawnSync(gradleCmd, gradleSubProjectDepArgs, {
1825
+ const sresult = spawnSync(gradleCmd, gradleArguments, {
1870
1826
  cwd: gradleRootPath,
1871
1827
  encoding: "utf-8",
1872
1828
  timeout: TIMEOUT_MS,
@@ -1881,13 +1837,11 @@ export async function createJavaBom(path, options) {
1881
1837
  const sstdout = sresult.stdout;
1882
1838
  if (sstdout) {
1883
1839
  const cmdOutput = Buffer.from(sstdout).toString();
1884
- const parsedList = parseGradleDep(
1840
+ const parsedList = await parseGradleDep(
1885
1841
  cmdOutput,
1886
- sp.group || parentComponent.group,
1887
1842
  sp.name,
1888
- sp.version?.length && sp.version !== "latest"
1889
- ? sp.version
1890
- : parentComponent.version,
1843
+ gradleModules,
1844
+ gradleRootPath,
1891
1845
  );
1892
1846
  const dlist = parsedList.pkgList;
1893
1847
  if (parsedList.dependenciesList && parsedList.dependenciesList) {
@@ -1944,7 +1898,7 @@ export async function createJavaBom(path, options) {
1944
1898
  // NOTE: This can match BUILD files used by perl, so could lead to errors in some projects
1945
1899
  const bazelFiles = getAllFiles(
1946
1900
  path,
1947
- `${options.multiProject ? "**/" : ""}BUILD*`,
1901
+ `${options.multiProject ? "**/" : ""}BUILD{,.bazel}`,
1948
1902
  options,
1949
1903
  );
1950
1904
  if (
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclonedx/cdxgen",
3
- "version": "10.9.9",
3
+ "version": "10.9.11",
4
4
  "description": "Creates CycloneDX Software Bill of Materials (SBOM) from source or container image",
5
5
  "homepage": "http://github.com/cyclonedx/cdxgen",
6
6
  "author": "Prabhu Subramanian <prabhu@appthreat.com>",
package/server.js CHANGED
@@ -31,32 +31,21 @@ const gitClone = (repoUrl, branch = null) => {
31
31
  path.join(os.tmpdir(), path.basename(repoUrl)),
32
32
  );
33
33
 
34
- if (branch == null) {
35
- console.log("Cloning Repo", "to", tempDir);
36
- const result = spawnSync(
37
- "git",
38
- ["clone", repoUrl, "--depth", "1", tempDir],
39
- {
40
- encoding: "utf-8",
41
- shell: false,
42
- },
43
- );
44
- if (result.status !== 0 || result.error) {
45
- console.log(result.error);
46
- }
47
- } else {
48
- console.log("Cloning repo with optional branch", "to", tempDir);
49
- const result = spawnSync(
50
- "git",
51
- ["clone", repoUrl, "--branch", branch, "--depth", "1", tempDir],
52
- {
53
- encoding: "utf-8",
54
- shell: false,
55
- },
56
- );
57
- if (result.status !== 0 || result.error) {
58
- console.log(result.error);
59
- }
34
+ const gitArgs = ["clone", repoUrl, "--depth", "1", tempDir];
35
+ if (branch) {
36
+ gitArgs.splice(2, 0, "--branch", branch);
37
+ }
38
+
39
+ console.log(
40
+ `Cloning Repo${branch ? ` with branch ${branch}` : ""} to ${tempDir}`,
41
+ );
42
+
43
+ const result = spawnSync("git", gitArgs, {
44
+ encoding: "utf-8",
45
+ shell: false,
46
+ });
47
+ if (result.status !== 0) {
48
+ console.log(result.stderr);
60
49
  }
61
50
 
62
51
  return tempDir;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AA8vBA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAyUD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAiEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BA8/BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA2chB;AAED;;;;;;;;;;GAUG;AACH,+DAyEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA2bhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA6YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAiDhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBAsHhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,qBAuBhB;AAED;;;;;GAKG;AACH,oEAkDC;AAED;;;;;GAKG;AACH,uCAHW,MAAM,8BA4ChB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BAwFhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAiUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAwJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAmFhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA6XhB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDA2CC;AAED;;;;;;;;;GASG;AACH,2GA6BC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BAmclB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAiUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBAsOhB;AAED;;;;;;GAMG;AACH,wDAFY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAwHxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AAgwBA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAyUD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAiEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BA88BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA2chB;AAED;;;;;;;;;;GAUG;AACH,+DAyEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA2bhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA6YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAiDhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBAsHhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,qBAuBhB;AAED;;;;;GAKG;AACH,oEAkDC;AAED;;;;;GAKG;AACH,uCAHW,MAAM,8BA4ChB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BAwFhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAiUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAwJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAmFhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA6XhB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDA2CC;AAED;;;;;;;;;GASG;AACH,2GA6BC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BAmclB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAiUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBAsOhB;AAED;;;;;;GAMG;AACH,wDAFY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAwHxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.js"],"names":[],"mappings":"AAuIA,yDAKC;AAED,0CAuEC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.js"],"names":[],"mappings":"AA4HA,yDAKC;AAED,0CAuEC"}
package/types/utils.d.ts CHANGED
@@ -210,19 +210,12 @@ export function parseMavenTree(rawOutput: string, pomFile: string): any;
210
210
  /**
211
211
  * Parse gradle dependencies output
212
212
  * @param {string} rawOutput Raw string output
213
- * @param {string} rootProjectGroup Root project group
214
213
  * @param {string} rootProjectName Root project name
215
- * @param {string} rootProjectVersion Root project version
214
+ * @param {map} gradleModules Cache with all gradle modules that have already been read
215
+ * @param {string} gradleRootPath Root path where Gradle is to be run when getting module information
216
216
  */
217
- export function parseGradleDep(rawOutput: string, rootProjectGroup?: string, rootProjectName?: string, rootProjectVersion?: string): {
218
- pkgList: {
219
- group: any;
220
- name: any;
221
- version: any;
222
- qualifiers: {
223
- type: string;
224
- };
225
- }[];
217
+ export function parseGradleDep(rawOutput: string, rootProjectName?: string, gradleModules?: map, gradleRootPath?: string): Promise<{
218
+ pkgList: any[];
226
219
  dependenciesList: {
227
220
  ref: string;
228
221
  dependsOn: any;
@@ -230,7 +223,7 @@ export function parseGradleDep(rawOutput: string, rootProjectGroup?: string, roo
230
223
  } | {
231
224
  pkgList?: undefined;
232
225
  dependenciesList?: undefined;
233
- };
226
+ }>;
234
227
  /**
235
228
  * Parse clojure cli dependencies output
236
229
  * @param {string} rawOutput Raw string output
@@ -269,20 +262,18 @@ export function parseGradleProperties(rawOutput: string): {
269
262
  * Execute gradle properties command using multi-threading and return parsed output
270
263
  *
271
264
  * @param {string} dir Directory to execute the command
272
- * @param {string} rootPath Root directory
273
265
  * @param {array} allProjectsStr List of all sub-projects (including the preceding `:`)
274
266
  *
275
267
  * @returns {string} The combined output for all subprojects of the Gradle properties task
276
268
  */
277
- export function executeParallelGradleProperties(dir: string, rootPath: string, allProjectsStr: any[]): string;
269
+ export function executeParallelGradleProperties(dir: string, allProjectsStr: any[]): string;
278
270
  /**
279
271
  * Execute gradle properties command and return parsed output
280
272
  *
281
273
  * @param {string} dir Directory to execute the command
282
- * @param {string} rootPath Root directory
283
274
  * @param {string} subProject Sub project name
284
275
  */
285
- export function executeGradleProperties(dir: string, rootPath: string, subProject: string): {};
276
+ export function executeGradleProperties(dir: string, subProject: string): {};
286
277
  /**
287
278
  * Parse bazel action graph output
288
279
  * @param {string} rawOutput Raw string output
@@ -1052,6 +1043,16 @@ export function getJarClasses(jarFile: string): Promise<any[]>;
1052
1043
  * @param {string} rootPath Root directory to look for gradlew wrapper
1053
1044
  */
1054
1045
  export function getGradleCommand(srcPath: string, rootPath: string): string;
1046
+ /**
1047
+ * Method to combine the general gradle arguments, the sub-commands and the sub-commands' arguments in the correct way
1048
+ *
1049
+ * @param {string[]} gradleArguments The general gradle arguments, which must only be added once
1050
+ * @param {string[]} gradleSubCommands The sub-commands that are to be executed by gradle
1051
+ * @param {string[]} gradleSubCommandArguments The arguments specific to the sub-command(s), which much be added PER sub-command
1052
+ *
1053
+ * @returns {string[]} Array of arguments to be added to the gradle command
1054
+ */
1055
+ export function buildGradleCommandArguments(gradleArguments: string[], gradleSubCommands: string[], gradleSubCommandArguments: string[]): string[];
1055
1056
  /**
1056
1057
  * Method to split the output produced by Gradle using parallel processing by project
1057
1058
  *
@@ -1060,6 +1061,14 @@ export function getGradleCommand(srcPath: string, rootPath: string): string;
1060
1061
  * @returns {map} Map with subProject names as keys and corresponding dependency task outputs as values.
1061
1062
  */
1062
1063
  export function splitOutputByGradleProjects(rawOutput: string, relevantTasks: string[]): map;
1064
+ /**
1065
+ * Method that handles object creation for gradle modules.
1066
+ *
1067
+ * @param {string} name The simple name of the module
1068
+ * @param {object} metadata Object with all other parsed data for the gradle module
1069
+ * @returns {object} An object representing the gradle module in SBOM-format
1070
+ */
1071
+ export function buildObjectForGradleModule(name: string, metadata: object): object;
1063
1072
  /**
1064
1073
  * Method to return the maven command to use.
1065
1074
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"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"}