@@ -1,5 +1,8 @@ | |||
language: java | |||
jdk: | |||
- oraclejdk7 | |||
- openjdk7 | |||
# JDK7 is not supported anymore; https://github.com/travis-ci/travis-ci/issues/7884#issuecomment-308451879 | |||
# - oraclejdk7 | |||
- oraclejdk8 | |||
after_success: | |||
- mvn clean cobertura:cobertura coveralls:report |
@@ -5,12 +5,12 @@ Plugin Framework for Java (PF4J) | |||
[![Join the chat at https://gitter.im/decebals/pf4j](https://badges.gitter.im/decebals/pf4j.svg)](https://gitter.im/decebals/pf4j?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | |||
[![Travis CI Build Status](https://travis-ci.org/decebals/pf4j.png)](https://travis-ci.org/decebals/pf4j) | |||
[![Coverage Status](https://coveralls.io/repos/decebals/pf4j/badge.svg?branch=master&service=github)](https://coveralls.io/github/decebals/pf4j?branch=master) | |||
[![Maven Central](http://img.shields.io/maven-central/v/ro.fortsoft.pf4j/pf4j.svg)](http://search.maven.org/#search|ga|1|pf4j) | |||
[![Maven Central](http://img.shields.io/maven-central/v/org.pf4j/pf4j.svg)](http://search.maven.org/#search|ga|1|pf4j) | |||
A plugin is a way for a third party to extend the functionality of an application. A plugin implements extension points | |||
declared by application or other plugins. Also a plugin can define extension points. | |||
**NOTE:** Starting with version 0.9 you can define an extension directly in the application jar (you're not obligated to put the extension in a plugin - you can see this extension as a default/system extension). See [WhazzupGreeting](https://github.com/decebals/pf4j/blob/master/demo/app/src/main/java/ro/fortsoft/pf4j/demo/WhazzupGreeting.java) for a real example. | |||
**NOTE:** Starting with version 0.9 you can define an extension directly in the application jar (you're not obligated to put the extension in a plugin - you can see this extension as a default/system extension). See [WhazzupGreeting](https://github.com/decebals/pf4j/blob/master/demo/app/src/main/java/org/pf4j/demo/WhazzupGreeting.java) for a real example. | |||
Features/Benefits | |||
------------------- | |||
@@ -50,7 +50,7 @@ In your pom.xml you must define the dependencies to PF4J artifacts with: | |||
```xml | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j</artifactId> | |||
<version>${pf4j.version}</version> | |||
</dependency> | |||
@@ -119,14 +119,14 @@ Archiver-Version: Plexus Archiver | |||
Created-By: Apache Maven | |||
Built-By: decebal | |||
Build-Jdk: 1.6.0_17 | |||
Plugin-Class: ro.fortsoft.pf4j.demo.welcome.WelcomePlugin | |||
Plugin-Class: org.pf4j.demo.welcome.WelcomePlugin | |||
Plugin-Dependencies: x, y, z | |||
Plugin-Id: welcome-plugin | |||
Plugin-Provider: Decebal Suiu | |||
Plugin-Version: 0.0.1 | |||
``` | |||
In above manifest I described a plugin with id `welcome-plugin`, with class `ro.fortsoft.pf4j.demo.welcome.WelcomePlugin`, with version `0.0.1` and with dependencies | |||
In above manifest I described a plugin with id `welcome-plugin`, with class `org.pf4j.demo.welcome.WelcomePlugin`, with version `0.0.1` and with dependencies | |||
to plugins `x, y, z`. | |||
**NOTE:** The plugin version must be compliant with [Semantic Versioning](http://semver.org) (PF4J uses `jsemver` as implementation for SemVer because it comes with support for comparing versions) | |||
@@ -195,7 +195,7 @@ protected PluginDescriptorFinder createPluginDescriptorFinder() { | |||
and in plugin repository you must have a plugin.properties file with the below content: | |||
``` | |||
plugin.class=ro.fortsoft.pf4j.demo.welcome.WelcomePlugin | |||
plugin.class=org.pf4j.demo.welcome.WelcomePlugin | |||
plugin.dependencies=x, y, z | |||
plugin.id=welcome-plugin | |||
plugin.provider=Decebal Suiu | |||
@@ -219,7 +219,7 @@ The `maven-compiler-plugin` can be configured to do this like so: | |||
<version>2.5.1</version> | |||
<configuration> | |||
<annotationProcessors> | |||
<annotationProcessor>ro.fortsoft.pf4j.processor.ExtensionAnnotationProcessor</annotationProcessor> | |||
<annotationProcessor>org.pf4j.processor.ExtensionAnnotationProcessor</annotationProcessor> | |||
</annotationProcessors> | |||
</configuration> | |||
</plugin> | |||
@@ -240,7 +240,7 @@ If you use `apache ant` then your build.xml file must looks like [this](https:// | |||
Plugin lifecycle | |||
-------------------------- | |||
Each plugin passes through a pre-defined set of states. [PluginState](https://github.com/decebals/pf4j/blob/master/pf4j/src/main/java/ro/fortsoft/pf4j/PluginState.java) defines all possible states. | |||
Each plugin passes through a pre-defined set of states. [PluginState](https://github.com/decebals/pf4j/blob/master/pf4j/src/main/java/org/pf4j/PluginState.java) defines all possible states. | |||
The primary plugin states are: | |||
* CREATED | |||
* DISABLED | |||
@@ -342,7 +342,7 @@ Lets describe how DEVELOPMENT runtime mode works. | |||
First, you can change the runtime mode using the "pf4j.mode" system property or overriding `DefaultPluginManager.getRuntimeMode()`. | |||
For example I run the pf4j demo in eclipse in DEVELOPMENT mode adding only `"-Dpf4j.mode=development"` to the pf4j demo launcher. | |||
You can retrieve the current runtime mode using `PluginManager.getRuntimeMode()` or in your Plugin implementation with `getWrapper().getRuntimeMode()`(see [WelcomePlugin](https://github.com/decebals/pf4j/blob/master/demo/plugins/plugin1/src/main/java/ro/fortsoft/pf4j/demo/welcome/WelcomePlugin.java)). | |||
You can retrieve the current runtime mode using `PluginManager.getRuntimeMode()` or in your Plugin implementation with `getWrapper().getRuntimeMode()`(see [WelcomePlugin](https://github.com/decebals/pf4j/blob/master/demo/plugins/plugin1/src/main/java/org/pf4j/demo/welcome/WelcomePlugin.java)). | |||
The DefaultPluginManager determines automatically the correct runtime mode and for DEVELOPMENT mode overrides some components(pluginsDirectory is __"../plugins"__, __PropertiesPluginDescriptorFinder__ as PluginDescriptorFinder, __DevelopmentPluginClasspath__ as PluginClassPath). | |||
Another advantage of DEVELOPMENT runtime mode is that you can execute some code lines only in this mode (for example more debug messages). | |||
@@ -394,7 +394,7 @@ Default/System extension | |||
------------------- | |||
Starting with version 0.9 you can define an extension directly in the application jar (you're not obligated | |||
to put the extension in a plugin - you can see this extension as a default/system extension). | |||
See [WhazzupGreeting](https://github.com/decebals/pf4j/blob/master/demo/app/src/main/java/ro/fortsoft/pf4j/demo/WhazzupGreeting.java) | |||
See [WhazzupGreeting](https://github.com/decebals/pf4j/blob/master/demo/app/src/main/java/org/pf4j/demo/WhazzupGreeting.java) | |||
for a real example. | |||
This is great for starting application phase. In this scenario you have a minimalist plugin framework with one class loader | |||
@@ -441,20 +441,20 @@ calls from your application with `PluginManager.getExtensions()` and migrate smo | |||
Also you have the possibility to change the `ExtensionStorage` used in `ExtensionAnnotationProcessor`. | |||
By default we use the format with `META-INF/extensions.idx` | |||
``` | |||
ro.fortsoft.pf4j.demo.HowdyGreeting | |||
ro.fortsoft.pf4j.demo.WhazzupGreeting | |||
org.pf4j.demo.HowdyGreeting | |||
org.pf4j.demo.WhazzupGreeting | |||
``` | |||
but you can use a more standard location and format, `META-INF/services/<extension-point>`, used by Java Service Provider | |||
(see `java.util.ServiceLoader`) via `ServiceProviderExtensionStorage` implementation. | |||
In this case the format of `META-INF/services/ro.fortsoft.pf4j.demo.api.Greeting` is | |||
In this case the format of `META-INF/services/org.pf4j.demo.api.Greeting` is | |||
``` | |||
# Generated by PF4J | |||
ro.fortsoft.pf4j.demo.HowdyGreeting | |||
ro.fortsoft.pf4j.demo.WhazzupGreeting # pf4j extension | |||
org.pf4j.demo.HowdyGreeting | |||
org.pf4j.demo.WhazzupGreeting # pf4j extension | |||
``` | |||
where the `ro.fortsoft.pf4j.demo.HowdyGreeting` entry is legacy (it's not generated by PF4J) but it's seen as | |||
where the `org.pf4j.demo.HowdyGreeting` entry is legacy (it's not generated by PF4J) but it's seen as | |||
an extension of `Greeting` by PF4J (at runtime). | |||
You can plug your custom `ExtensionStorage` implementation in `ExtensionAnnotationProcessor` in two possible modes: | |||
@@ -462,7 +462,7 @@ You can plug your custom `ExtensionStorage` implementation in `ExtensionAnnotati | |||
- set the system property with key `pf4j.storageClassName` | |||
For example if I want to use `ServiceProviderExtensionStorage` then the value for the `pf4j.storageClassName` key must be | |||
`ro.fortsoft.pf4j.processor.ServiceProviderExtensionStorage` | |||
`org.pf4j.processor.ServiceProviderExtensionStorage` | |||
**NOTE:** `ServiceLoaderExtensionFinder`, the class that lookups for extensions stored in `META-INF/services` folder, is | |||
not added/enabled by default. To do this please override `createExtensionFinder` from `DefaultPluginManager`: |
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
@@ -26,7 +26,7 @@ | |||
<dependencies> | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j</artifactId> | |||
<version>${project.version}</version> | |||
<!-- !!! VERY IMPORTANT --> |
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.api; | |||
package org.pf4j.demo.api; | |||
import ro.fortsoft.pf4j.ExtensionPoint; | |||
import org.pf4j.ExtensionPoint; | |||
/** | |||
* @author Decebal Suiu |
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
@@ -14,7 +14,7 @@ | |||
<name>Demo App</name> | |||
<properties> | |||
<main.class>ro.fortsoft.pf4j.demo.Boot</main.class> | |||
<main.class>org.pf4j.demo.Boot</main.class> | |||
<slf4j.version>1.7.5</slf4j.version> | |||
</properties> | |||
@@ -68,13 +68,13 @@ | |||
<dependencies> | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-api</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> |
@@ -13,18 +13,18 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo; | |||
package org.pf4j.demo; | |||
import java.util.List; | |||
import java.util.Set; | |||
import org.apache.commons.lang.StringUtils; | |||
import ro.fortsoft.pf4j.DefaultPluginManager; | |||
import ro.fortsoft.pf4j.JarPluginManager; | |||
import ro.fortsoft.pf4j.PluginManager; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.PluginManager; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.demo.api.Greeting; | |||
import org.pf4j.DefaultPluginManager; | |||
import org.pf4j.JarPluginManager; | |||
/** | |||
* A boot class that start the demo. |
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo; | |||
package org.pf4j.demo; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* A Service Implementation (no @Extension) declared via Java Service Provider mechanism (using META-INF/services). |
@@ -13,10 +13,10 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo; | |||
package org.pf4j.demo; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* @author Decebal Suiu |
@@ -0,0 +1 @@ | |||
org.pf4j.demo.HowdyGreeting |
@@ -1 +0,0 @@ | |||
ro.fortsoft.pf4j.demo.HowdyGreeting |
@@ -3,13 +3,13 @@ log4j.rootLogger=DEBUG, Console | |||
# | |||
# PF4J log | |||
# | |||
log4j.logger.ro.fortsoft.pf4j=DEBUG, Console | |||
log4j.logger.org.pf4j=DEBUG, Console | |||
# !!! Put the bellow classes on level TRACE when you are in trouble | |||
log4j.logger.ro.fortsoft.pf4j.PluginClassLoader=DEBUG, Console | |||
log4j.logger.ro.fortsoft.pf4j.AbstractExtensionFinder=DEBUG, Console | |||
log4j.additivity.ro.fortsoft.pf4j=false | |||
log4j.additivity.ro.fortsoft.pf4j.PluginClassLoader=false | |||
log4j.additivity.ro.fortsoft.pf4j.AbstractExtensionFinder=false | |||
log4j.logger.org.pf4j.PluginClassLoader=DEBUG, Console | |||
log4j.logger.org.pf4j.AbstractExtensionFinder=DEBUG, Console | |||
log4j.additivity.org.pf4j=false | |||
log4j.additivity.org.pf4j.PluginClassLoader=false | |||
log4j.additivity.org.pf4j.AbstractExtensionFinder=false | |||
# | |||
# Appenders |
@@ -1,5 +1,5 @@ | |||
plugin.id=welcome-plugin | |||
plugin.class=ro.fortsoft.pf4j.demo.welcome.WelcomePlugin | |||
plugin.class=org.pf4j.demo.welcome.WelcomePlugin | |||
plugin.version=0.0.1 | |||
plugin.provider=Decebal Suiu | |||
plugin.dependencies= |
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-plugins</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
@@ -15,7 +15,7 @@ | |||
<properties> | |||
<plugin.id>welcome-plugin</plugin.id> | |||
<plugin.class>ro.fortsoft.pf4j.demo.welcome.WelcomePlugin</plugin.class> | |||
<plugin.class>org.pf4j.demo.welcome.WelcomePlugin</plugin.class> | |||
<plugin.version>0.0.1</plugin.version> | |||
<plugin.provider>Decebal Suiu</plugin.provider> | |||
<plugin.dependencies /> |
@@ -13,15 +13,15 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.welcome; | |||
package org.pf4j.demo.welcome; | |||
import org.apache.commons.lang.StringUtils; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.Plugin; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.RuntimeMode; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.RuntimeMode; | |||
import org.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.Plugin; | |||
/** | |||
* @author Decebal Suiu |
@@ -1,5 +1,5 @@ | |||
plugin.id=hello-plugin | |||
plugin.class=ro.fortsoft.pf4j.demo.hello.HelloPlugin | |||
plugin.class=org.pf4j.demo.hello.HelloPlugin | |||
plugin.version=0.0.1 | |||
plugin.provider=Decebal Suiu | |||
plugin.dependencies= |
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-plugins</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
@@ -15,7 +15,7 @@ | |||
<properties> | |||
<plugin.id>hello-plugin</plugin.id> | |||
<plugin.class>ro.fortsoft.pf4j.demo.hello.HelloPlugin</plugin.class> | |||
<plugin.class>org.pf4j.demo.hello.HelloPlugin</plugin.class> | |||
<plugin.version>0.0.1</plugin.version> | |||
<plugin.provider>Decebal Suiu</plugin.provider> | |||
<plugin.dependencies /> |
@@ -13,12 +13,12 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.hello; | |||
package org.pf4j.demo.hello; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.Plugin; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.Plugin; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* A very simple plugin. |
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
@@ -85,7 +85,7 @@ | |||
<dependencies> | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j</artifactId> | |||
<version>${project.version}</version> | |||
<!-- !!! VERY IMPORTANT --> | |||
@@ -93,7 +93,7 @@ | |||
</dependency> | |||
<dependency> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-api</artifactId> | |||
<version>${project.version}</version> | |||
<!-- !!! VERY IMPORTANT --> |
@@ -2,13 +2,13 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> | |||
<modelVersion>4.0.0</modelVersion> | |||
<groupId>ro.fortsoft.pf4j.demo</groupId> | |||
<groupId>org.pf4j.demo</groupId> | |||
<artifactId>pf4j-demo-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
<packaging>pom</packaging> |
@@ -1,5 +1,5 @@ | |||
dependencies { | |||
compile 'ro.fortsoft.pf4j:pf4j:1.3.0' | |||
compile 'org.apache.commons:commons-lang3:3.0' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
compile 'org.pf4j:pf4j:1.4.0-SNAPSHOT' | |||
compile 'org.apache.commons:commons-lang3:3.0' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
} |
@@ -13,15 +13,15 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.api; | |||
package org.pf4j.demo.api; | |||
import ro.fortsoft.pf4j.ExtensionPoint; | |||
import org.pf4j.ExtensionPoint; | |||
/** | |||
* @author Decebal Suiu | |||
*/ | |||
public interface Greeting extends ExtensionPoint { | |||
public String getGreeting(); | |||
String getGreeting(); | |||
} |
@@ -1,16 +1,16 @@ | |||
apply plugin:'application' | |||
apply plugin: 'application' | |||
mainClassName = 'ro.fortsoft.pf4j.demo.Boot' | |||
mainClassName = 'org.pf4j.demo.Boot' | |||
dependencies { | |||
compile project(':api') | |||
compile 'ro.fortsoft.pf4j:pf4j:1.3.0' | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25' | |||
compile project(':api') | |||
compile 'org.pf4j:pf4j:1.4.0-SNAPSHOT' | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25' | |||
} | |||
jar { | |||
baseName = 'Plugin Demo' | |||
version = '0.1.0' | |||
baseName = 'Plugin Demo' | |||
version = '0.1.0' | |||
} |
@@ -13,15 +13,15 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo; | |||
package org.pf4j.demo; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.DefaultPluginManager; | |||
import ro.fortsoft.pf4j.PluginManager; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.DefaultPluginManager; | |||
import org.pf4j.PluginManager; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.demo.api.Greeting; | |||
import java.util.List; | |||
@@ -13,10 +13,10 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo; | |||
package org.pf4j.demo; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* @author Decebal Suiu |
@@ -3,9 +3,9 @@ log4j.rootLogger=DEBUG, Console | |||
# | |||
# PF4J log | |||
# | |||
log4j.logger.ro.fortsoft.pf4j=DEBUG, Console | |||
log4j.logger.ro.fortsoft.pf4j.PluginClassLoader=WARN, Console | |||
log4j.additivity.ro.fortsoft.pf4j=false | |||
log4j.logger.org.pf4j=DEBUG, Console | |||
log4j.logger.org.pf4j.PluginClassLoader=WARN, Console | |||
log4j.additivity.org.pf4j=false | |||
# | |||
# Appenders |
@@ -1,10 +1,10 @@ | |||
subprojects { | |||
apply plugin: 'java' | |||
apply plugin: 'java' | |||
repositories { | |||
mavenLocal() | |||
mavenCentral() | |||
} | |||
repositories { | |||
mavenLocal() | |||
mavenCentral() | |||
} | |||
} | |||
task copyPlugins() { | |||
@@ -14,7 +14,7 @@ task copyPlugins() { | |||
subprojects.each { p -> | |||
if (p.path.contains(":plugins/")) { | |||
System.out.println("Copying plugin from " + p.path); | |||
System.out.println("Copying plugin from " + p.path); | |||
copy { | |||
from p.projectDir.toString() + '/build/libs' | |||
into 'app/plugins' |
@@ -2,31 +2,32 @@ jar { | |||
baseName = 'WelcomePlugin' | |||
version = '0.1.0' | |||
manifest { | |||
attributes 'Plugin-Class' : 'ro.fortsoft.pf4j.demo.welcome.WelcomePlugin', | |||
'Plugin-Id' : 'WelcomePlugin', | |||
'Plugin-Version' : '1.0.0', | |||
'Plugin-Provider' : 'Decebal Suiu' | |||
attributes 'Plugin-Class': 'org.pf4j.demo.welcome.WelcomePlugin', | |||
'Plugin-Id': 'WelcomePlugin', | |||
'Plugin-Version': '1.0.0', | |||
'Plugin-Provider': 'Decebal Suiu' | |||
} | |||
} | |||
task plugin(type: Jar) { | |||
baseName = 'WelcomePlugin' | |||
version = '0.1.0' | |||
into('classes'){ | |||
with jar | |||
} | |||
into('lib'){ | |||
from configurations.compile | |||
} | |||
extension('zip') | |||
baseName = 'WelcomePlugin' | |||
version = '0.1.0' | |||
into('classes') { | |||
with jar | |||
} | |||
into('lib') { | |||
from configurations.compile | |||
} | |||
extension('zip') | |||
} | |||
assemble.dependsOn plugin | |||
dependencies { | |||
compileOnly project(':api') // compileOnly important!!! We do not want to put the api into the zip file since the main program has it already! | |||
compile ('ro.fortsoft.pf4j:pf4j:1.3.0') { | |||
exclude group: "org.slf4j" | |||
} | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
compileOnly project(':api') | |||
// compileOnly important!!! We do not want to put the api into the zip file since the main program has it already! | |||
compile('org.pf4j:pf4j:1.4.0-SNAPSHOT') { | |||
exclude group: "org.slf4j" | |||
} | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
} |
@@ -1,5 +1,5 @@ | |||
plugin.id=welcome-plugin | |||
plugin.class=ro.fortsoft.pf4j.demo.welcome.WelcomePlugin | |||
plugin.class=org.pf4j.demo.welcome.WelcomePlugin | |||
plugin.version=0.0.1 | |||
plugin.provider=Decebal Suiu | |||
plugin.dependencies= |
@@ -13,16 +13,16 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.welcome; | |||
package org.pf4j.demo.welcome; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.Plugin; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.Plugin; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* @author Decebal Suiu |
@@ -1,32 +1,33 @@ | |||
jar { | |||
baseName = 'HelloPlugin' | |||
version = '0.1.0' | |||
manifest { | |||
attributes 'Plugin-Class' : 'ro.fortsoft.pf4j.demo.hello.HelloPlugin', | |||
'Plugin-Id' : 'HelloPlugin', | |||
'Plugin-Version' : '1.0.0', | |||
'Plugin-Provider' : 'Decebal Suiu' | |||
} | |||
baseName = 'HelloPlugin' | |||
version = '0.1.0' | |||
manifest { | |||
attributes 'Plugin-Class': 'org.pf4j.demo.hello.HelloPlugin', | |||
'Plugin-Id': 'HelloPlugin', | |||
'Plugin-Version': '1.0.0', | |||
'Plugin-Provider': 'Decebal Suiu' | |||
} | |||
} | |||
task plugin(type: Jar) { | |||
baseName = 'HelloPlugin' | |||
version = '0.1.0' | |||
into('classes'){ | |||
with jar | |||
} | |||
into('lib'){ | |||
from configurations.compile | |||
} | |||
extension('zip') | |||
baseName = 'HelloPlugin' | |||
version = '0.1.0' | |||
into('classes') { | |||
with jar | |||
} | |||
into('lib') { | |||
from configurations.compile | |||
} | |||
extension('zip') | |||
} | |||
assemble.dependsOn plugin | |||
dependencies { | |||
compileOnly project(':api') // compileOnly important!!! We do not want to put the api into the zip file since the main program has it already! | |||
compile ('ro.fortsoft.pf4j:pf4j:1.3.0') { | |||
exclude group: "org.slf4j" | |||
} | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
compileOnly project(':api') | |||
// compileOnly important!!! We do not want to put the api into the zip file since the main program has it already! | |||
compile('org.pf4j:pf4j:1.4.0-SNAPSHOT') { | |||
exclude group: "org.slf4j" | |||
} | |||
compile 'org.apache.commons:commons-lang3:3.5' | |||
testCompile group: 'junit', name: 'junit', version: '4.+' | |||
} |
@@ -1,5 +1,5 @@ | |||
plugin.id=hello-plugin | |||
plugin.class=ro.fortsoft.pf4j.demo.hello.HelloPlugin | |||
plugin.class=org.pf4j.demo.hello.HelloPlugin | |||
plugin.version=0.0.1 | |||
plugin.provider=Decebal Suiu | |||
plugin.dependencies= |
@@ -13,14 +13,14 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.hello; | |||
package org.pf4j.demo.hello; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.Plugin; | |||
import ro.fortsoft.pf4j.PluginWrapper; | |||
import ro.fortsoft.pf4j.demo.api.Greeting; | |||
import org.pf4j.Extension; | |||
import org.pf4j.Plugin; | |||
import org.pf4j.PluginWrapper; | |||
import org.pf4j.demo.api.Greeting; | |||
/** | |||
* A very simple plugin. |
@@ -13,20 +13,20 @@ jar { | |||
baseName = 'KotlinPlugin' | |||
version = '0.1.0' | |||
manifest { | |||
attributes 'Plugin-Class' : 'ro.fortsoft.pf4j.demo.kotlin.KotlinPlugin', | |||
'Plugin-Id' : 'KotlinPlugin', | |||
'Plugin-Version' : '1.0.0', | |||
'Plugin-Provider' : 'Anindya Chatterjee' | |||
attributes 'Plugin-Class': 'org.pf4j.demo.kotlin.KotlinPlugin', | |||
'Plugin-Id': 'KotlinPlugin', | |||
'Plugin-Version': '1.0.0', | |||
'Plugin-Provider': 'Anindya Chatterjee' | |||
} | |||
} | |||
task plugin(type: Jar) { | |||
baseName = 'KotlinPlugin' | |||
version = '0.1.0' | |||
into('classes'){ | |||
into('classes') { | |||
with jar | |||
} | |||
into('lib'){ | |||
into('lib') { | |||
from configurations.compile | |||
} | |||
extension('zip') | |||
@@ -42,7 +42,7 @@ repositories { | |||
dependencies { | |||
compileOnly project(':api') | |||
kapt ('ro.fortsoft.pf4j:pf4j:1.3.0') { | |||
kapt('org.pf4j:pf4j:1.4.0-SNAPSHOT') { | |||
exclude group: "org.slf4j" | |||
} | |||
compile 'org.apache.commons:commons-lang3:3.5' |
@@ -13,14 +13,14 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.demo.kotlin | |||
package org.pf4j.demo.kotlin | |||
import org.apache.commons.lang3.StringUtils | |||
import org.slf4j.LoggerFactory | |||
import ro.fortsoft.pf4j.Extension | |||
import ro.fortsoft.pf4j.Plugin | |||
import ro.fortsoft.pf4j.PluginWrapper | |||
import ro.fortsoft.pf4j.demo.api.Greeting | |||
import org.pf4j.Extension | |||
import org.pf4j.Plugin | |||
import org.pf4j.PluginWrapper | |||
import org.pf4j.demo.api.Greeting | |||
/** | |||
* A sample plugin written in Kotlin |
@@ -3,4 +3,3 @@ include 'app' | |||
include 'plugins/plugin1' | |||
include 'plugins/plugin2' | |||
include 'plugins/plugin3' | |||
@@ -2,7 +2,7 @@ | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<parent> | |||
<groupId>ro.fortsoft.pf4j</groupId> | |||
<groupId>org.pf4j</groupId> | |||
<artifactId>pf4j-parent</artifactId> | |||
<version>1.4.0-SNAPSHOT</version> | |||
</parent> |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.pf4j.util.ClassUtils; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.ClassUtils; | |||
import java.util.ArrayList; | |||
import java.util.Collections; |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.StringUtils; | |||
import org.pf4j.util.StringUtils; | |||
import java.io.Closeable; | |||
import java.io.IOException; |
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import ro.fortsoft.pf4j.util.FileUtils; | |||
import org.pf4j.util.FileUtils; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
import java.util.ArrayList; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.ArrayList; | |||
import java.util.HashSet; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* The default values are {@code classes} and {@code lib}. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; |
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import ro.fortsoft.pf4j.util.FileUtils; | |||
import org.pf4j.util.FileUtils; | |||
import java.io.File; | |||
import java.nio.file.Path; |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.pf4j.util.FileUtils; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.FileUtils; | |||
import java.io.File; | |||
import java.nio.file.Path; |
@@ -13,18 +13,18 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.pf4j.util.AndFileFilter; | |||
import org.pf4j.util.DirectoryFileFilter; | |||
import org.pf4j.util.FileUtils; | |||
import org.pf4j.util.HiddenFilter; | |||
import org.pf4j.util.NotFileFilter; | |||
import org.pf4j.util.OrFileFilter; | |||
import org.pf4j.util.ZipFileFilter; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.AndFileFilter; | |||
import ro.fortsoft.pf4j.util.DirectoryFileFilter; | |||
import ro.fortsoft.pf4j.util.FileUtils; | |||
import ro.fortsoft.pf4j.util.HiddenFilter; | |||
import ro.fortsoft.pf4j.util.NameFileFilter; | |||
import ro.fortsoft.pf4j.util.NotFileFilter; | |||
import ro.fortsoft.pf4j.util.OrFileFilter; | |||
import ro.fortsoft.pf4j.util.ZipFileFilter; | |||
import org.pf4j.util.NameFileFilter; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.pf4j.util.FileUtils; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.FileUtils; | |||
import java.io.IOException; | |||
import java.nio.file.Path; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import com.github.zafarkhaja.semver.Version; | |||
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.DirectedGraph; | |||
import org.pf4j.util.DirectedGraph; | |||
import java.util.ArrayList; | |||
import java.util.Collections; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* Overwrite classes directories to {@code target/classes} and lib directories to {@code target/lib}. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import static java.lang.annotation.ElementType.TYPE; | |||
import static java.lang.annotation.RetentionPolicy.RUNTIME; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* Creates an extension instance. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.List; | |||
import java.util.Set; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* A wrapper over extension instance. |
@@ -13,15 +13,15 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
import ro.fortsoft.pf4j.util.AndFileFilter; | |||
import ro.fortsoft.pf4j.util.DirectoryFileFilter; | |||
import ro.fortsoft.pf4j.util.HiddenFilter; | |||
import ro.fortsoft.pf4j.util.JarFileFilter; | |||
import ro.fortsoft.pf4j.util.NameFileFilter; | |||
import ro.fortsoft.pf4j.util.NotFileFilter; | |||
import ro.fortsoft.pf4j.util.OrFileFilter; | |||
package org.pf4j; | |||
import org.pf4j.util.AndFileFilter; | |||
import org.pf4j.util.DirectoryFileFilter; | |||
import org.pf4j.util.HiddenFilter; | |||
import org.pf4j.util.JarFileFilter; | |||
import org.pf4j.util.NotFileFilter; | |||
import org.pf4j.util.OrFileFilter; | |||
import org.pf4j.util.NameFileFilter; | |||
import java.io.FileFilter; | |||
import java.io.IOException; |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.processor.LegacyExtensionStorage; | |||
import org.pf4j.processor.LegacyExtensionStorage; | |||
import java.io.IOException; | |||
import java.io.InputStreamReader; |
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import ro.fortsoft.pf4j.util.StringUtils; | |||
import org.pf4j.util.StringUtils; | |||
import java.nio.file.Path; | |||
import java.util.jar.Attributes; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
@@ -35,7 +35,7 @@ public class PluginClassLoader extends URLClassLoader { | |||
private static final Logger log = LoggerFactory.getLogger(PluginClassLoader.class); | |||
private static final String PLUGIN_PACKAGE_PREFIX = "ro.fortsoft.pf4j."; | |||
private static final String PLUGIN_PACKAGE_PREFIX = "org.pf4j."; | |||
private PluginManager pluginManager; | |||
private PluginDescriptor pluginDescriptor; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.ArrayList; | |||
import java.util.Collections; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
@@ -13,9 +13,9 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import ro.fortsoft.pf4j.util.StringUtils; | |||
import org.pf4j.util.StringUtils; | |||
/** | |||
* An exception used to indicate that a plugin problem occurred. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* Creates a plugin instance. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
import java.util.List; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
import java.util.List; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.EventObject; | |||
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.EventListener; | |||
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.nio.file.Path; | |||
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.util.StringUtils; | |||
import org.pf4j.util.StringUtils; | |||
import java.io.IOException; | |||
import java.io.InputStream; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import java.util.HashMap; | |||
import java.util.Map; |
@@ -13,11 +13,11 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
import org.pf4j.processor.ServiceProviderExtensionStorage; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import ro.fortsoft.pf4j.processor.ServiceProviderExtensionStorage; | |||
import java.io.IOException; | |||
import java.io.Reader; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j; | |||
package org.pf4j; | |||
/** | |||
* Manager responsible for versions of plugins. |
@@ -13,10 +13,10 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.processor; | |||
package org.pf4j.processor; | |||
import ro.fortsoft.pf4j.Extension; | |||
import ro.fortsoft.pf4j.ExtensionPoint; | |||
import org.pf4j.Extension; | |||
import org.pf4j.ExtensionPoint; | |||
import javax.annotation.processing.AbstractProcessor; | |||
import javax.annotation.processing.ProcessingEnvironment; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.processor; | |||
package org.pf4j.processor; | |||
import javax.annotation.processing.Filer; | |||
import javax.lang.model.element.Element; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.processor; | |||
package org.pf4j.processor; | |||
import javax.annotation.processing.FilerException; | |||
import javax.tools.FileObject; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.processor; | |||
package org.pf4j.processor; | |||
import javax.annotation.processing.FilerException; | |||
import javax.tools.FileObject; |
@@ -13,14 +13,13 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collections; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
/** |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.lang.reflect.Modifier; | |||
import java.util.ArrayList; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.util.ArrayList; | |||
import java.util.Collections; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
/** | |||
* File filter that accepts all files ending with .JAR. |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileFilter; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
/** | |||
* @author Decebal Suiu |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
import java.io.File; | |||
import java.io.FileInputStream; |
@@ -13,7 +13,7 @@ | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package ro.fortsoft.pf4j.util; | |||
package org.pf4j.util; | |||
/** | |||
* File filter that accepts all files ending with .ZIP. |