This directory contains assignments and examples with the focus on standalone Gradle binary plugins.
Module | Description | Lectures |
---|---|---|
binary-plugin-example | Example showing necessary components of binary plugin, utilities that gradle-java-plugin plugin offers to ease up binary plugin compilation and packaging. Publishing of plugin with maven-publish plugin to local, private/remote Maven repository or Gradle Plugin Portal is also covered. |
Binary Plugin Publishing - Local Maven Repository Publishing - Private Maven Repository |
binary-plugin-assignment-done | Solved assignment for the binary plugin lecture. It shows how can script plugin from the previous lectures for sorting files be overwritten into binary plugin. | Binary Plugin Assignment |
binary-plugin-assignment-test-project | Simple project that demonstrates application of the binary plugin created in binary-plugin-assignment-done. | Binary Plugin Assignment |
binary-plugin-gradle-plugin-portal | Extended binary plugin from the assignment with the option to upload the plugin to official Gradle Plugin Portal. | Publishing - Gradle Plugin Portal |
binary-plugin-extension | Binary plugin that uses its own extension for the configuration of plugin logic. | Binary Plugin - Extension |
binary-plugin-extension-test-project | Example project where plugin is applies and configured wiht the help of sortFiles extension. |
Binary Plugin - Extension |
binary-plugin-with-tests | Project containing plugin tests. There are simple JUnit and functional tests that require to run Gradle project with plugin applied. Functional tests are executed with the help of Gradle TestKit library. |
Binary Plugin - Tests |
Public GitHub examples using binary Gradle plugins:
Project | Description |
---|---|
gradle-dependency-analyze | This is really practical binary Gradle plugin for spotting unused dependencies and can be perfect match for writing clean gradle scripts. Uses java-gradle-plugin for developing a plugin, while the source code is written in Groovy. Definition of plugin ID and implementation class. Main AnalyzeDependenciesPlugin Plugin class. |
micronaut-gradle-plugin | Binary plugin for development of Micronaut applications. There are multiple plugins packed into one artifact. All plugins extend simple MicronautBasePlugin, its whole purpose is to apply Micronaut Plugin specific extension. Other plugins then don't extend this plugin but they apply it themselves in the apply() method. Source code for the plugin is written in Java. |