You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 3.1KB

PF4J Gradle Demo

This demo assumes that you know the basics of Gradle (Please look at gradle for more info)

Setup/Build

  1. Clone the repo
  2. Go to demo_gradle cd demo_gradle
  3. run gradle build
  • This will produce one jar, named app-plugin-demo-uberjar.jar, located in the app/build/libs/ directory and three plugins zips located in build/plugins directory.
  • The plugins are plugin-hello-plugin-0.0.1.zip, plugin-KotlinPlugin-1.0.0.zip and plugin-welcome-plugin-0.0.1.zip

Run the demo

  1. Run
 java -jar -Dpf4j.pluginsDir=build/plugins app/build/libs/app-plugin-demo-uberjar.jar 
  • pf4j.pluginsDir: is where the plugins are located
  1. The demo’s output should look similar to: (Please see Boot#main() for more details) ``` demo_gradle $ java -jar -Dpf4j.pluginsDir=build/plugins app/build/libs/app-plugin-demo-uberjar.jar [main] INFO org.pf4j.demo.Boot - ######################################## [main] INFO org.pf4j.demo.Boot - PF4J-DEMO
    [main] INFO org.pf4j.demo.Boot - ######################################## [main] INFO org.pf4j.DefaultPluginStatusProvider - Enabled plugins: [] [main] INFO org.pf4j.DefaultPluginStatusProvider - Disabled plugins: [] [main] INFO org.pf4j.DefaultPluginManager - PF4J version 0.0.0 in ‘deployment’ mode [main] INFO org.pf4j.AbstractPluginManager - Plugin ‘welcome-plugin@0.0.1’ resolved [main] INFO org.pf4j.AbstractPluginManager - Plugin ‘KotlinPlugin@1.0.0’ resolved [main] INFO org.pf4j.AbstractPluginManager - Plugin ‘hello-plugin@0.0.1’ resolved [main] INFO org.pf4j.AbstractPluginManager - Start plugin ‘welcome-plugin@0.0.1’ [main] INFO org.pf4j.demo.welcome.WelcomePlugin - WelcomePlugin.start() [main] INFO org.pf4j.demo.welcome.WelcomePlugin - WELCOMEPLUGIN [main] INFO org.pf4j.AbstractPluginManager - Start plugin ‘KotlinPlugin@1.0.0’ [main] INFO org.pf4j.demo.kotlin.KotlinPlugin - KotlinPlugin.start() [main] INFO org.pf4j.demo.kotlin.KotlinPlugin - KOTLINPLUGIN [main] INFO org.pf4j.AbstractPluginManager - Start plugin ‘hello-plugin@0.0.1’ [main] INFO org.pf4j.demo.hello.HelloPlugin - HelloPlugin.start() [main] INFO org.pf4j.demo.Boot - Plugindirectory: [main] INFO org.pf4j.demo.Boot - build/plugins

[main] INFO org.pf4j.demo.Boot - Found 3 extensions for extension point ‘org.pf4j.demo.api.Greeting’ [main] INFO org.pf4j.demo.Boot - >>> Whazzup [main] INFO org.pf4j.demo.Boot - >>> Welcome [main] INFO org.pf4j.demo.Boot - >>> Hello [main] INFO org.pf4j.demo.Boot - Extensions added by plugin ‘welcome-plugin’: [main] INFO org.pf4j.demo.Boot - Extensions added by plugin ‘KotlinPlugin’: [main] INFO org.pf4j.demo.Boot - Extensions added by plugin ‘hello-plugin’: [main] INFO org.pf4j.AbstractPluginManager - Stop plugin ‘hello-plugin@0.0.1’ [main] INFO org.pf4j.demo.hello.HelloPlugin - HelloPlugin.stop() [main] INFO org.pf4j.AbstractPluginManager - Stop plugin ‘KotlinPlugin@1.0.0’ [main] INFO org.pf4j.demo.kotlin.KotlinPlugin - KotlinPlugin.stop() [main] INFO org.pf4j.AbstractPluginManager - Stop plugin ‘welcome-plugin@0.0.1’ [main] INFO org.pf4j.demo.welcome.WelcomePlugin - WelcomePlugin.stop()

```