...
-analyzeMultiModule
inspects the configuration for a specified multi-module and creates a setup file featuring application path (AppPath) references that reflect the inspection.
A Unified Agent command with the following parameters is required to create the setup file for the multi-module definitions:
Parameter | Description |
---|
-analyzeMultiModule | Instructs the command to inspect the structure of a specified multi-module (rather than run Effective Usage Analysis) and save the project name for each sub-module in a setup file |
-d | The argument text value specifies the path for the main module's pom (e.g., c:\test1) |
-overrideExistingSetup | When set to True, enables users to override an existing multi-module setup file when running the first step of the multi-module WhiteSource Prioritize (default is False). |
The following is the command that inspects the structure of a specified multi-module and generate a file ('setupFile.txt' or any other file name that the user defines) for multi-module analysis:
Code Block |
---|
java -jar wss-unified-agent.jar -d <Path For The Main Module's Project Directory> -analyzeMultiModule setupfileName |
A sample command:
Code Block |
---|
java -jar wss-unified-agent.jar -d C:\Users\JSmith\euaMultiModuleAnalyzer\ -analyzeMultiModule c:\test\samplefolder\sampleSetupFile.txt |
|
The following message is displayed after the setup file was created successfully:
[INFO] <time_stamp>] - The multi-module analysis setup file was created successfully. |
If any of the values were left blank, the following warning message is also displayed:
[WARN][<time_stamp>] - Analysis found multiple candidates for one or more appPath settings that are listed in the multi-module analysis setup file. Please review the setup file and set the appropriate appPath parameters. |
In such cases, the 'appPath' value(s) must be entered manually. See the next section for more information on the AppPath parameter.
...
The following is the structure of the setup file contents:
Code Block |
---|
DependencyManagerFilePath=<Path to the Dependency Manager file>
ProjectFolderPath1=<Path to the first file project folder>
AppPath1=<Path to the first file project application (e.g., Jar file>
defaultName1=<Default name of the first file project>
altName1=<Alternative name of the first file project>
ProjectFolderPath2=<Path to the second file project folder>
AppPath2=<Path to the second file project application (e.g., Jar file>
defaultName1=<Default name of the second file project>
altName1= <Alternative name of the second file project>
....
ProjectFolderPathN=<Path to the 'N' file project folder>
AppPathN=<Path to the 'N' file project application (e.g., jar file>
defaultNameN=<Default name of the 'N' file project>
altNameN= <Alternative name of the 'N' file project> |
|
The file includes the following contents:
...
The following is a sample of the setup file:
Code Block |
---|
DependencyManagerFilePath=C:/Users/JohnSmith/Documents/Apps/CloudApp/project
ProjectFolderPath1=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/buildSrc
AppPath1=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/buildSrc/build/libs/buildSrc.jar
defaultName1=buildSrc
altName1=buildSrc
ProjectFolderPath2=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/services/api
AppPath2=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/services/api/build/libs/api-1.0.jar
defaultName2=api
altName2=api
ProjectFolderPath3=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/services/webservice
AppPath3=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/services/webservice/build/libs/webservice-2.5.war
defaultName3=webservice
altName3=webservice
ProjectFolderPath4=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/api
AppPath4=C:/Users/JohnSmith/Documents/Apps/CloudApp/project/api/build/libs/api-1.0.jar
defaultName4=api
altName4=api_1
|
|
The following is a sample of the setup file that has missing 'AppPath' values:
Code Block |
---|
DependencyManagerFilePath=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa
AppPath1=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-service-root/ksa-logistics-service/target/ksa-logistics-service-3.9.0.jar
ProjectFolderPath1=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-web-root/ksa-bd-web
defaultName1=ksa
altName1=ksa
AppPath2=
ProjectFolderPath2=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-web-root/ksa-finance-web
defaultName2=ksa-finance-web
altName2=ksa-finance-web
AppPath3=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-web-root/ksa-finance-web/target/ksa-finance-web-3.9.0.jar
ProjectFolderPath3=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-dao-root/ksa-bd-dao
AppPath3=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-dao-root/ksa-bd-dao/target/ksa-bd-dao-3.9.0.jar
defaultName3=ksa-bd-dao
altName3=ksa-bd-dao
ProjectFolderPath4=C:/Users/JSmith/Desktop/euaMultiModuleAnalyzer/ksa/ksa-web-root/ksa-web
AppPath4=
defaultName4=ksa-web
altName4=ksa-web
|
|
In the above sample, 'AppPath2' and 'AppPath4' must be entered manually.
...
Refer here for the latest version of the xModuleAnalyzer:
Version | File | Release Date | Comments |
---|
21.8. |
129August1) Expand |
---|
title | Click here to expand the versions table. |
---|
|
|
Running the xModuleAnalyzer
Command Line Parameters
Parameter | Type | Description | Required? | Default |
---|
-xModulePath | String | Setup file pathname | Yes |
|
-fsaJarPath | String | Unified Agent .jar pathname | Yes |
|
-c | String | Configuration file for Unified Agent. | Yes |
|
-aggregateModules | Boolean | If True - aggregates the results of all scanned modules to a single unified Project. | No | False |
-statusDisplay | String | Screen display mode. See Threshold Mode Display and Dynamic Mode Display for details. | No | threshold |
-logPath | String | Path for storing logs created by the analysis. | No | <DependencyManagerFilePath>\Whitesource-Logs |
-productName | String | Product name. Overrides the -product value of Unified Agent. | No |
|
-runInParallel | Boolean | Whether to run the processes of the Unified Agent in parallel (faster) or serial (less prone to errors) mode. | No | true |
-EuaMaxTotalMemAlloc | String | EuaMaxTotalMemAlloc [custom_val] | DEFAULT | MAXIMIZE Governs the allowed memory allocation for WhiteSource Prioritize. Allowable values: [custom_val] : A value entered by the user (in GB) DEFAULT (default): The value provided by WhiteSource MAXIMIZE : Allocate all available memory for the new process (WhiteSource Prioritize will use the available memory as needed for all modules - not per module)
| No | The value provided by WhiteSource |
-ignoreEuaNotices | String | Specifies how WhiteSource Prioritizes codes will be handled. This parameter governs the ability to ignore specified Prioritizes codes for analyzed modules. Allowable values: all: xModuleAnalyzer will return 0 regardless of any codes returned by modules being analyzed informational (default): xModuleAnalyzer will return 0 only if the codes returned by all modules being analyzed are either [EUA000] or of class Informational. Otherwise, the code returned will be -100. none: xModuleAnalyzer will return 0 only if the codes returned by all modules being analyzed are [EUA000]. Otherwise the code returned will be -100.
| No | informational |
Command Structure
Code Block |
---|
java -jar xModuleAnalyzer-<x.x.x>.jar -xModulePath setupfileName -fsaJarPath unifiedAgentJarPathName -c configFileForUnifiedAgent -statusDisplay <dynamic|threshold> |
|
Info |
---|
<x.x.x> represents the latest version number of the specified Jar file. |
...
In this mode, the screen display is only refreshed whenever analysis progress for each Project crosses a specified threshold (25%, 50%, 75%, and 100% thresholds), and only if a specified interval of one minute has elapsed. The following is a sample command for a threshold mode display command that stores the logs in the path 'C:\logs\':
Code Block |
---|
java -jar xModuleAnalyzer.jar -xModulePath C:\Users\JSmith\Desktop\euaMultiModuleAnalyzer\ksa\setupFile.txt -fsaJarPath C:\Users\JSmith\git\unified-agent\target\wss-unified-agent.jar -c C:\Users\JSmith\Desktop\NPM-Plugin\wss-unified-agent.config -statusDisplay threshold |
|
Dynamic Mode Display
In this mode, the screen display is refreshed every 10 seconds to show the analysis progress for each Project. The following is a sample command for a dynamic mode display command:
Code Block |
---|
java -jar xModuleAnalyzer.jar -xModulePath C:\Users\JSmith\Desktop\euaMultiModuleAnalyzer\ksa\setupFile.txt -fsaJarPath C:\Users\JSmith\git\unified-agent\target\wss-unified-agent.jar -c C:\Users\JSmith\Desktop\NPM-Plugin\wss-unified-agent.config -statusDisplay dynamic |
|
Each analyzed Project has one of the following statuses for each phase of analysis: '
...
This path can be modified by using the optional -logPath parameter. For example, in the following command, the log path is C:\logs\.
Code Block |
---|
java -jar xModuleAnalyzer.jar -xModulePath C:\Users\JSmith\Desktop\euaMultiModuleAnalyzer\ksa\setupFile.txt -fsaJarPath C:\Users\JSmith\git\unified-agent\target\wss-unified-agent.jar -c C:\Users\JSmith\Desktop\NPM-Plugin\wss-unified-agent.config -statusDisplay threshold -logPath C:\logs\ |
|
When the analysis finishes with errors, an indication to examine the related log file is displayed. All completion statuses that include the '( * )' characters indicate that errors were detected.
...