You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the tool that supports the analysis of dependencies for multiple package managers. It detects the manifest file of package managers automatically and analyzes the dependencies with using open source tools. Then, it generates the report file that contains OSS information of dependencies.
12
13
13
14
Currently, it supports the following package managers.
Please see the [**User Guide**](https://github.com/fosslight/fosslight_dependency/blob/main/docs/user-guide.md) for more information on how to install and run it.
24
24
25
+
Please see the [**User Guide**](https://github.com/fosslight/fosslight_dependency/blob/main/docs/user-guide.md) for more information on how to install and run it.
25
26
26
27
## 👏 Contributing Guide
28
+
27
29
We always welcome your contributions.
28
30
Please see the [CONTRIBUTING guide](https://github.com/fosslight/fosslight_dependency/blob/main/CONTRIBUTING.md) for how to contribute.
-[How to analyze the dependencies](#-how-to-analyze-the-dependencies)
13
14
-[Prerequisite](#-prerequisite)
14
-
-[NPM](#npm)
15
-
-[Gradle](#gradle)
16
-
-[Pypi](#pypi)
17
-
-[Maven](#maven-optional)
18
-
-[Pub](#pub)
19
-
-[Cocoapods](#cocoapods)
15
+
-[NPM](#npm)
16
+
-[Gradle](#gradle)
17
+
-[Gradle - Android](#Android)
18
+
-[Pypi](#pypi)
19
+
-[Maven](#maven-optional)
20
+
-[Pub](#pub)
21
+
-[Cocoapods](#cocoapods)
20
22
-[How to install](#-how-to-install)
21
23
-[How to run](#-how-to-run)
22
24
-[Result](#-result)
23
25
24
26
<br>
25
27
26
28
## 🧐 How to analyze the dependencies
29
+
27
30
FOSSLight Dependency utilizes the open source software for analyzing each package manager dependencies. We choose the open source software for each package manager that shows not only the direct dependencies but also the transitive dependencies including the information of dependencies such as oss name, oss version and license name.
28
31
29
32
Each package manager uses the results of the following software:
@@ -38,44 +42,83 @@ Because we utilizes the different open source software to analyze the dependenci
38
42
<br>
39
43
40
44
## 📋 Prerequisite
45
+
41
46
### NPM
47
+
42
48
1. Install the NPM License Checker to ananlyze the npm dependencies.
49
+
43
50
```
44
51
$ npm install -g license-checker
45
52
```
53
+
46
54
2. Run the command to install the dependencies. (optional)
55
+
47
56
```
48
57
$ npm install
49
58
```
59
+
50
60
> - If the 'package.json' file exists in the input directory, it will be executed automatically by FOSSLight Dependency. So you can skip it.
51
61
> - If the 'node_modules' directory already exists, you can run FOSSLight dependency by setting the input directory to the path where node_modules is located.
52
62
53
63
<br>
54
64
55
65
### Gradle
66
+
56
67
1. Add the License Gradle Plugin in build.gradle file.
68
+
57
69
```
58
70
plugins {
59
71
id 'com.github.hierynomus.license' version '0.15.0'
60
72
}
61
-
73
+
62
74
downloadLicenses {
63
75
includeProjectDependencies = true
64
76
dependencyConfiguration = 'runtimeClasspath'
65
77
}
66
78
```
79
+
67
80
> - If the gradle version is 4.6 or lower, then add the 'runtime' instead of 'runtimeClasspath' in the dependencyConfiguration.
68
81
69
82
2. Run the 'downloadLicenses' task.
83
+
70
84
```
71
85
$ gradle downloadLicenses
72
86
```
73
87
74
88
<br>
75
89
90
+
### Android (gradle)
91
+
92
+
1. Add the Android License Plugin in build.gradle file.
> - If the 'pom.xml' is located in the input directory, FOSSLight dependency will automatically add and execute the license-maven-plugin. So you can skip the prerequisites below.
144
+
98
145
1. Add the license-maven-plugin into pom.xml file.
In other words, the input directory('-p' option) should be designated as the top directory of the project where the package manager's manifest file exists as above.
252
+
The manifest file of android project is 'build.gradle' as same as the gradle project. But for differenciating with other java projects, it checks 'gradlew' files.
190
253
191
254
<br>
192
255
193
256
## 📁 Result
257
+
194
258
FOSSLight Dependency creates the result file that has xlsx extension (Microsoft Excel file).
195
259
196
260
It prints the OSS information based on manifest file(package.json, pom.xml) of dependencies (including transitive dependenices).
197
261
For a unique OSS name, OSS name is printed such as (package_manager):(oss name) or (group id):(artifact id).
0 commit comments