Permalink
Find file Copy path
60a1e38 Feb 14, 2018
1 contributor

Users who have contributed to this file

18 lines (14 sloc) 831 Bytes

Adding New Languages

How language integrations work

You can add support for a languages by creating a Builder for that language. The Builder interface describes key functionality that FOSSA CLI relies on to perform dependency analysis:

  • Initialize does initialization for the builder and gathers environment context (e.g. binary paths).
  • Build runs a default build of the module if the user requests it.
  • Analyze returns a list of dependencies in a standard format.
  • IsBuilt detects whether a module requires a build.

A Dependency is a component with a locator. Locators are built out of 3 parts:

  • Fetcher: the component's source ecosystem (e.g. npm or mvn).
  • Package: the package name in the ecosystem's registries.
  • Revision: the revision (or version) name in the ecosystem's registries.