Integrating into the build.gradle files
java -jar sl-build-scanner.jar -gradle -configfile <arg> -workspacepath <arg> [-pluginversion <arg>] [-repoConfig <arg>] [-includedProjects <arg>] [-excludedProjects <arg>]
Parameter | description |
---|---|
configfile | The path to the JSON configuration you created with the parameters to be provided to the SeaLights Gradle Plugin |
workspacepath | The base path to the location of the build.gradle files to update |
pluginversion | (Optional) Version of the Gradle SeaLights Plugin to insert into the build.gradle. |
repoConfig | (Optional) Configuration of repositories from which the SeaLights Gradle plugin will be taken. |
includedProjects | (Optional) Comma-separated list of Gradle (sub)projects to include in SeaLights integration. |
excludedProjects | (Optional) Comma-separated list of Gradle (sub)projects to exclude from SeaLights integration. |
Restoring the build.gradle file to its previous state
java -jar sl-build-scanner.jar -restoreGradle -workspacepath <arg>
Flag | Use |
---|---|
workspacepath | The base path to the location of the build.gradle files to update |
JSON Configuration file parameters
Create a JSON configuration file with the following parameters in order to provide the necessary configuration fields to the SeaLights Gradle plugin:
token or tokenFile - set with a token or a file containing the token obtained from the SeaLights dashboard
If you create a Build Session ID externally, provide the following fields:
buildSessionId or buildSessionIdFile - Set with a build session id or a file containing the build session id created by the config step
createBuildSessionId - Set to false
If you want to create a Build Session ID using the SeaLights Gradle plugin, provide the following fields:
createBuildSessionId - Set to true
appName - Name of the application as you want to see it on the SeaLights dashboard
branchName - Name of the branch as you want to see it on the SeaLights dashboard
buildName - Name of the build as you want to see it on the SeaLights dashboard
packagesIncluded - Comma-separated list of packages to include in scan. Note: This is defining a subset, so it must include the astrix to include all sub packages/classes
packagesExcluded - (Optional) Comma-separated list of packages to include in scan. Note: This is defining a subset, so it must include the astrix to include all sub packages/classes
executionType - Provide which executions need to handled by the Gradle plugin
full - Execute both the build scanner and the test listener. This will appear as
runTestOnly=false
in the integrated gradle file.testsonly - Execute only the test listener. This will appear as
runTestOnly=true
in the integrated gradle file.scanonly - Execute only the build scanner
filesincluded - (Optional) Set to the binary files to scan. Default: *.class
filesexcluded - (Optional) Set to the binary files to excluded from the scan. Default: *test-classes*
workspacepath - Set to the path to the binary files to scan. Default: project.buildDir
recursive - (Optional) Set to true to scan all the subdirectories of workspacepath. Default: true
includeResources - (Optional) Set to include the token and build session ID files in the built resources
testTasksAndStages - (Optional) Mapping of test tasks’s names to test stage names as they will be displayed on the SeaLights dashboard. It should be of the format {"testTask1":"testStage1", "testTask2":"testStage2"}
labId - (Optional) Unique ID for a set of test labs in case multiple labs are running simultaneously
filesStorage - Set to the temp folder for the agent to create temporary files in. For example /tmp
logEnabled - Set to true if you want a log to be created
logLevel - Set the log level to create. For example INFO
logToFile - Set to true if you want the log to written to a file
logToConsole - Set to true if you want the log to written to the console
proxy - (Optional) Address of proxy to run connection through
sealightsJvmParams - Containing and array of all the JVM parameters you want to pass to all the SeaLights execution steps (build&test).
Note: the key and values must always be strings. It should be of the format {"key1":"val1", "key2":"val2"}buildScannerParams - Containing a map of all the parameters you want to pass to all the SeaLights build execution step only. Note: the key and values must always be strings
testListenerJvmParams - Containing a map of all the parameters you want to pass to all the SeaLights test execution step only, Note: the key and values must always be strings
pluginVersion - (Optional) version of the SeaLights Gradle plugin. Default: latest.release
gradleProjectConfig - (Optional) JSON elment with definitions of following Gradle project’s integration properties:
includedProjects - (Optional) array of names of (sub)projects to include in integration.
Projects from outside this array will not be built with SeaLights integration. E.g. ["subProject1", "subProject3"]. Default: all projects included.excludedProjects - (Optional) array of names of (sub)projects to exclude in integration.
Projects from this array will not be built with SeaLights integration. E.g. ["subProject1", "subProject3"]. Default: []repoConfig - (Optional) The configuration of repositories from which the SeaLights Gradle plugin will be taken. This will be put as is in a Gradle script's buildScript { repositories { /* repoConfig */ } } block.
For multi-line configuration, use the \n character in JSON string. Default: mavenCentral()useOnlyProjectRepoSection - (Optional) Flag to skip injecting
repositories
section to resultbuild.gradle
file to allow use only customer-defined list of repositories.
metadata section with CI details
jobName - Set to the name of the build job. For example ${JOB_NAME}
logsUrl - Set to the link that the SeaLights dashboard should provide to view the build log. For example ${BUILD_URL}/console
Additional Configuration Options
Tagging
You can add tags to be viewed in the Sealights Cockpit for the agents started by this Gradle job by passing them through the sl.tags property in the sealightsJvmParams field
"sealightsJvmParams": { "sl.tags": "mytag", }