<build> | <build> | ||||
<plugins> | <plugins> | ||||
<plugin> | |||||
<groupId>org.codehaus.mojo</groupId> | |||||
<artifactId>templating-maven-plugin</artifactId> | |||||
<executions> | |||||
<execution> | |||||
<id>filter-src</id> | |||||
<goals> | |||||
<goal>filter-sources</goal> | |||||
</goals> | |||||
</execution> | |||||
</executions> | |||||
</plugin> | |||||
<plugin> | <plugin> | ||||
<groupId>org.apache.maven.plugins</groupId> | <groupId>org.apache.maven.plugins</groupId> | ||||
<artifactId>maven-compiler-plugin</artifactId> | <artifactId>maven-compiler-plugin</artifactId> |
/* | |||||
* Copyright (C) 2012-present the original author or authors. | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
package org.pf4j; | |||||
/** | |||||
* This class provides access to the current Pf4j version which might otherwise not be possible: | |||||
* e.g. in Uber-Jars where the Manifest was merged and the Pf4j info was overridden | |||||
* @author Wolfram Haussig | |||||
*/ | |||||
public class Pf4jInfo { | |||||
/** | |||||
* the current Pf4j version | |||||
*/ | |||||
public static final String VERSION = "${project.version}"; | |||||
} |
} | } | ||||
public String getVersion() { | public String getVersion() { | ||||
String version = null; | |||||
Package pf4jPackage = PluginManager.class.getPackage(); | |||||
if (pf4jPackage != null) { | |||||
version = pf4jPackage.getImplementationVersion(); | |||||
if (version == null) { | |||||
version = pf4jPackage.getSpecificationVersion(); | |||||
} | |||||
} | |||||
return (version != null) ? version : "0.0.0"; | |||||
return Pf4jInfo.VERSION; | |||||
} | } | ||||
protected abstract PluginRepository createPluginRepository(); | protected abstract PluginRepository createPluginRepository(); |
import java.util.List; | import java.util.List; | ||||
import static org.junit.jupiter.api.Assertions.assertEquals; | import static org.junit.jupiter.api.Assertions.assertEquals; | ||||
import static org.junit.jupiter.api.Assertions.assertNotEquals; | |||||
import static org.mockito.Mockito.CALLS_REAL_METHODS; | import static org.mockito.Mockito.CALLS_REAL_METHODS; | ||||
import static org.mockito.Mockito.mock; | import static org.mockito.Mockito.mock; | ||||
import static org.mockito.Mockito.when; | import static org.mockito.Mockito.when; | ||||
List<TestExtensionPoint> extensions = pluginManager.getExtensions(TestExtensionPoint.class); | List<TestExtensionPoint> extensions = pluginManager.getExtensions(TestExtensionPoint.class); | ||||
assertEquals(1, extensions.size()); | assertEquals(1, extensions.size()); | ||||
} | } | ||||
@Test | |||||
public void getVersion() { | |||||
AbstractPluginManager pluginManager = mock(AbstractPluginManager.class, CALLS_REAL_METHODS); | |||||
assertNotEquals("0.0.0", pluginManager.getVersion()); | |||||
} | |||||
} | } |