Development

Release Guideline

Gradle+Gradlew+TVBuild

Useful Commands

Complete List of Tasks (./gradlew [-p DIR] TASK)

Retrieved May 18

-----------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Application tasks
-----------------
distShadowTar - Bundles the project as a JVM application with libs and OS specific scripts.
distShadowZip - Bundles the project as a JVM application with libs and OS specific scripts.
installShadowApp - Installs the project as a JVM application along with libs and OS specific scripts.
run - Runs this project as a JVM application
runShadow - Runs this project as a JVM application using the shadow jar
startShadowScripts - Creates OS specific scripts to run the project as a JVM application using the shadow jar

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles main classes.
clean - Deletes the build directory.
jar - Assembles a jar archive containing the main classes.
testClasses - Assembles test classes.

Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]

Distribution tasks
------------------
assembleDist - Assembles the main distributions
distTar - Bundles the project as a distribution.
distZip - Bundles the project as a distribution.
installDist - Installs the project as a distribution as-is.

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'repository'.
components - Displays the components produced by root project 'repository'. [incubating]
dependencies - Displays all dependencies declared in root project 'repository'.
dependencyInsight - Displays the insight into a specific dependency in root project 'repository'.
dependentComponents - Displays the dependent components of components in root project 'repository'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'repository'. [incubating]
projects - Displays the sub-projects of root project 'repository'.
properties - Displays the properties of root project 'repository'.
tasks - Displays the tasks runnable from root project 'repository' (some of the displayed tasks may belong to subprojects).

IDE tasks
---------
cleanIdea - Cleans IDEA project files (IML, IPR)
idea - Generates IDEA project files (IML, IPR, IWS)

Locking tasks
-------------
generateGlobalLock - Create a lock file in build/<configured name>
generateLock - Create a lock file in build/<configured name>
saveGlobalLock - Move the generated lock file into the project directory
saveLock - Move the generated lock file into the project directory
updateGlobalLock - Apply updates to a preexisting lock file and write to build/<specified name>
updateLock - Apply updates to a preexisting lock file and write to build/<specified name>

Node tasks
----------
nodeSetup - Download and install a local node/npm version.
npmInstall - Install node packages from package.json.
npmSetup - Setup a specific version of npm to be used by the build.

Publishing tasks
----------------
generatePomFileForMavenJavaPublication - Generates the Maven POM file for publication 'mavenJava'.
generatePomFileForMavenShadowPublication - Generates the Maven POM file for publication 'mavenShadow'.
publish - Publishes all publications produced by this project.
publishMavenJavaPublicationToMavenLocal - Publishes Maven publication 'mavenJava' to the local Maven repository.
publishMavenJavaPublicationToMavenRepository - Publishes Maven publication 'mavenJava' to Maven repository 'maven'.
publishMavenShadowPublicationToMavenLocal - Publishes Maven publication 'mavenShadow' to the local Maven repository.
publishMavenShadowPublicationToMavenRepository - Publishes Maven publication 'mavenShadow' to Maven repository 'maven'.
publishToMavenLocal - Publishes all Maven publications produced by this project to the local Maven cache.

Shadow tasks
------------
knows - Do you know who knows?
shadowJar - Create a combined JAR of project and runtime dependencies

Verification tasks
------------------
check - Runs all checks.
jacocoTestCoverageVerification - Verifies code coverage metrics based on specified rules for the test task.
jacocoTestReport - Generates code coverage report for the test task.
test - Runs the unit tests.

Rules
-----
Pattern: "npm_<command>": Executes an NPM command.

To see all tasks and more detail, run gradlew tasks --all

To see more detail about a task, run gradlew help --task <task>

Troubleshooting

Cannot Build Locally?

Check whether your branch is checked-out from a healthy branch.

Check whether your dependency(ies) can be fetched/downloaded and has been specified in build.gradle.