Skip to content

Commit

Permalink
GUC-63 Add 2 examples for binary plugins (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
rivancic authored Feb 5, 2022
1 parent affab97 commit 7e85cf4
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion binary-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,15 @@ This directory contains assignments and examples with the focus on standalone Gr

| Module | Description | Lectures |
| ------------- |:-------------:|-------------:|
| **[binary-plugin-example](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](https://plugins.gradle.org/) is also covered. | [Binary Plugin](https://www.udemy.com/course/gradle-development/learn/lecture/28264772#overview) <br> <br> [Local Maven Publish](https://www.udemy.com/course/gradle-development/learn/lecture/29080272#overview) <br> <br> [Private Maven Publish](https://www.udemy.com/course/gradle-development/learn/lecture/29429886)|
| **[binary-plugin-example](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](https://plugins.gradle.org/) is also covered. | [Binary Plugin](https://www.udemy.com/course/gradle-development/learn/lecture/28264772#overview) <br> <br> [Local Maven Publish](https://www.udemy.com/course/gradle-development/learn/lecture/29080272#overview) <br> <br> [Private Maven Publish](https://www.udemy.com/course/gradle-development/learn/lecture/29429886)|

# Resources

### Examples

Public GitHub examples using binary Gradle plugins:

| Project | Description |
| ------------- | ------------- |
| **<a href="https://github.com/gradle-dependency-analyze/gradle-dependency-analyze" target="_blank">gradle-dependency-analyze</a>** | This is really practical binary Gradle plugin for spotting unused dependencies and can be perfect match for writing clean gradle scripts. Uses <a href="https://github.com/gradle-dependency-analyze/gradle-dependency-analyze/blob/master/build.gradle#L3" target="_blank">java-gradle-plugin</a> for developing a plugin, while the source code is written in Groovy. Definition of <a href="https://github.com/gradle-dependency-analyze/gradle-dependency-analyze/blob/master/build.gradle#L33" target="_blank">plugin ID and implementation class</a>. Main <a href="https://github.com/gradle-dependency-analyze/gradle-dependency-analyze/blob/master/src/main/groovy/ca/cutterslade/gradle/analyze/AnalyzeDependenciesPlugin.groovy#L14" target="_blank">AnalyzeDependenciesPlugin Plugin class. |
| **<a href="https://github.com/micronaut-projects/micronaut-gradle-plugin" target="_blank">micronaut-gradle-plugin</a>** | Binary plugin for development of Micronaut applications. There are <a href="https://github.com/micronaut-projects/micronaut-gradle-plugin/blob/master/build.gradle#L28" target="_blank">multiple plugins</a> packed into one artifact. All plugins extend simple <a href="https://github.com/micronaut-projects/micronaut-gradle-plugin/blob/master/src/main/java/io/micronaut/gradle/MicronautBasePlugin.java" target="_blank">MicronautBasePlugin</a>, 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 <a href="https://github.com/micronaut-projects/micronaut-gradle-plugin/blob/master/src/main/java/io/micronaut/gradle/MicronautComponentPlugin.java#L74" target="_blank">apply() method<a>. Source code for the plugin is written in Java. |

0 comments on commit 7e85cf4

Please sign in to comment.