New Upstream Snapshot - libpf4j-update-java
Ready changes
Summary
Merged new upstream version: 2.3.0+git20211127.1.c02f111+dfsg (was: 2.3.0+dfsg).
Resulting package
Built on 2022-12-20T13:57 (took 8m0s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-snapshots libpf4j-update-java
Diff
diff --git a/README.md b/README.md
index 5abe5d7..218c054 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ You may want to check for the latest released version using [Maven Search](http:
How to use
-------------------
It's very simple to add pf4j-update in your application.
-The whole code of below snippet is available on [Github](https://github.com/pf4j/pf4j-update/blob/master/src/test/java/org/pf4j/update/UpdateTest.java).
+The whole code of below snippet is available on [Github](https://github.com/pf4j/pf4j-update/blob/master/src/test/java/org/pf4j/update/util/TestApplication.java).
```java
public static void main(String[] args) {
diff --git a/debian/changelog b/debian/changelog
index 4f192f9..2614bb1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libpf4j-update-java (2.3.0+git20211127.1.c02f111+dfsg-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Tue, 20 Dec 2022 13:51:22 -0000
+
libpf4j-update-java (2.3.0+dfsg-3) unstable; urgency=medium
* Correcting d/watch to get the latest version from tags
diff --git a/debian/patches/omit_test_downloading_data.patch b/debian/patches/omit_test_downloading_data.patch
index 040ef06..95206dc 100644
--- a/debian/patches/omit_test_downloading_data.patch
+++ b/debian/patches/omit_test_downloading_data.patch
@@ -3,9 +3,11 @@ Author: Pierre Gruet <pgt@debian.org>
Forwarded: not-needed
Last-Update: 2021-05-09
---- a/src/test/java/org/pf4j/update/UpdateIntegrationTest.java
-+++ b/src/test/java/org/pf4j/update/UpdateIntegrationTest.java
-@@ -19,6 +19,7 @@
+Index: libpf4j-update-java.git/src/test/java/org/pf4j/update/UpdateIntegrationTest.java
+===================================================================
+--- libpf4j-update-java.git.orig/src/test/java/org/pf4j/update/UpdateIntegrationTest.java
++++ libpf4j-update-java.git/src/test/java/org/pf4j/update/UpdateIntegrationTest.java
+@@ -19,6 +19,7 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.junit.After;
import org.junit.Before;
@@ -13,7 +15,7 @@ Last-Update: 2021-05-09
import org.junit.Test;
import org.pf4j.update.util.TestApplication;
import org.pf4j.update.util.TestPluginsFixture;
-@@ -57,6 +58,7 @@
+@@ -57,6 +58,7 @@ public class UpdateIntegrationTest {
webServer.shutdown();
}
diff --git a/pom.xml b/pom.xml
index cea1445..b496f0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.pf4j</groupId>
<artifactId>pf4j-update</artifactId>
- <version>2.3.0</version>
+ <version>2.4.0-SNAPSHOT</version>
<licenses>
<license>
@@ -24,7 +24,7 @@
<connection>scm:git:https://github.com/pf4j/pf4j-update.git</connection>
<developerConnection>scm:git:https://github.com/pf4j/pf4j-update.git</developerConnection>
<url>git@github.com/pf4j/pf4j-update.git</url>
- <tag>release-2.3.0</tag>
+ <tag>HEAD</tag>
</scm>
<distributionManagement>
@@ -42,13 +42,13 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
- <pf4j.version>3.2.0</pf4j.version>
+ <pf4j.version>3.6.0</pf4j.version>
<slf4j.version>1.7.25</slf4j.version>
<gson.version>2.2.4</gson.version>
<commons-codec.version>1.10</commons-codec.version>
- <jetty.version>9.3.24.v20180605</jetty.version>
+ <jetty.version>9.4.41.v20210516</jetty.version>
- <junit.version>4.12</junit.version>
+ <junit.version>4.13.1</junit.version>
<mockito.version>2.0.28-beta</mockito.version>
<cobertura.version>2.7</cobertura.version>
<coveralls.version>3.1.0</coveralls.version>
diff --git a/src/main/java/org/pf4j/update/DefaultUpdateRepository.java b/src/main/java/org/pf4j/update/DefaultUpdateRepository.java
index e8e9a2e..f3e5fd0 100644
--- a/src/main/java/org/pf4j/update/DefaultUpdateRepository.java
+++ b/src/main/java/org/pf4j/update/DefaultUpdateRepository.java
@@ -24,6 +24,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.InputStreamReader;
+import java.io.InputStream;
+import java.io.IOException;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
@@ -31,16 +33,18 @@ import java.util.*;
/**
* The default implementation of {@link UpdateRepository}.
+ * This implementation reads information about plugins from a JSON file ({@code plugins.json} by default).
*
* @author Decebal Suiu
*/
public class DefaultUpdateRepository implements UpdateRepository {
- private static final String DEFAULT_PLUGINS_JSON_FILENAME = "plugins.json";
private static final Logger log = LoggerFactory.getLogger(DefaultUpdateRepository.class);
- private String id;
- private URL url;
+ public static final String DEFAULT_PLUGINS_JSON_FILENAME = "plugins.json";
+
+ private final String id;
+ private final URL url;
private String pluginsJsonFileName;
private Map<String, PluginInfo> plugins;
@@ -59,9 +63,9 @@ public class DefaultUpdateRepository implements UpdateRepository {
}
public DefaultUpdateRepository(String id, URL url, String pluginsJsonFileName) {
- this.id = id;
- this.url = url;
- this.pluginsJsonFileName = pluginsJsonFileName;
+ this.id = id;
+ this.url = url;
+ this.pluginsJsonFileName = pluginsJsonFileName;
}
@Override
@@ -88,12 +92,16 @@ public class DefaultUpdateRepository implements UpdateRepository {
return getPlugins().get(id);
}
+ protected InputStream openURL(URL url) throws IOException {
+ return url.openStream();
+ }
+
private void initPlugins() {
Reader pluginsJsonReader;
try {
URL pluginsUrl = new URL(getUrl(), getPluginsJsonFileName());
log.debug("Read plugins of '{}' repository from '{}'", id, pluginsUrl);
- pluginsJsonReader = new InputStreamReader(pluginsUrl.openStream());
+ pluginsJsonReader = new InputStreamReader(openURL(pluginsUrl));
} catch (Exception e) {
log.error(e.getMessage(), e);
plugins = Collections.emptyMap();
@@ -160,7 +168,7 @@ public class DefaultUpdateRepository implements UpdateRepository {
* Choose another file name than {@code plugins.json}.
*
* @param pluginsJsonFileName the name (relative) of plugins.json file.
- * If null, will default to {@code plugins.json}
+ * If null, will default to {@code plugins.json}
*/
public void setPluginsJsonFileName(String pluginsJsonFileName) {
this.pluginsJsonFileName = pluginsJsonFileName;
diff --git a/src/main/java/org/pf4j/update/FileVerifier.java b/src/main/java/org/pf4j/update/FileVerifier.java
index 87f6513..758943f 100644
--- a/src/main/java/org/pf4j/update/FileVerifier.java
+++ b/src/main/java/org/pf4j/update/FileVerifier.java
@@ -47,7 +47,7 @@ public interface FileVerifier {
public String requires;
public String url;
public String sha512sum;
- public Map<String,Object> meta = new HashMap<>();
+ public Map<String, Object> meta = new HashMap<>();
public Context(String id, PluginInfo.PluginRelease pluginRelease) {
this.id = id;
diff --git a/src/main/java/org/pf4j/update/UpdateManager.java b/src/main/java/org/pf4j/update/UpdateManager.java
index b7507de..c66db5c 100644
--- a/src/main/java/org/pf4j/update/UpdateManager.java
+++ b/src/main/java/org/pf4j/update/UpdateManager.java
@@ -43,15 +43,21 @@ import java.util.Map;
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
/**
+ * Handles the PF4J install, uninstall and update process.
+ * This class works with multiple {@link UpdateRepository} to retrieve information about plugins.
+ * By default, the repositories are loaded from {@code repositories.json} file.
+ *
* @author Decebal Suiu
*/
public class UpdateManager {
private static final Logger log = LoggerFactory.getLogger(UpdateManager.class);
- private PluginManager pluginManager;
- private VersionManager versionManager;
- private String systemVersion;
+ public static final String DEFAULT_REPOSITORIES_JSON_FILENAME = "repositories.json";
+
+ private final PluginManager pluginManager;
+ private final VersionManager versionManager;
+ private final String systemVersion;
private Path repositoriesJson;
// cache last plugin release per plugin id (the key)
@@ -64,7 +70,7 @@ public class UpdateManager {
versionManager = pluginManager.getVersionManager();
systemVersion = pluginManager.getSystemVersion();
- repositoriesJson = Paths.get("repositories.json");
+ repositoriesJson = Paths.get(DEFAULT_REPOSITORIES_JSON_FILENAME);
}
public UpdateManager(PluginManager pluginManager, Path repositoriesJson) {
diff --git a/src/main/java/org/pf4j/update/UpdateRepository.java b/src/main/java/org/pf4j/update/UpdateRepository.java
index ea64ec5..781d06a 100644
--- a/src/main/java/org/pf4j/update/UpdateRepository.java
+++ b/src/main/java/org/pf4j/update/UpdateRepository.java
@@ -64,7 +64,8 @@ public interface UpdateRepository {
/**
* Gets a file verifier to execute on the downloaded file for it to be claimed valid.
- * May be a CompoundVerifier in order to chain several verifiers.
+ * Maybe a CompoundVerifier in order to chain several verifiers.
+ *
* @return {@link FileVerifier}
*/
FileVerifier getFileVerifier();
diff --git a/src/test/java/org/pf4j/update/util/PropertiesPluginManager.java b/src/test/java/org/pf4j/update/util/PropertiesPluginManager.java
index adb89ee..9b8a301 100644
--- a/src/test/java/org/pf4j/update/util/PropertiesPluginManager.java
+++ b/src/test/java/org/pf4j/update/util/PropertiesPluginManager.java
@@ -23,7 +23,6 @@ import java.nio.file.Path;
/**
* Manager using properties instead of manifest, for testing.
- *
*/
public class PropertiesPluginManager extends DefaultPluginManager {
@@ -36,9 +35,4 @@ public class PropertiesPluginManager extends DefaultPluginManager {
return new PropertiesPluginDescriptorFinder("my.properties");
}
- @Override
- protected PluginDescriptorFinder getPluginDescriptorFinder() {
- return new PropertiesPluginDescriptorFinder("my.properties");
- }
-
}
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/share/maven-repo/org/pf4j/pf4j-update/2.4.0-SNAPSHOT/pf4j-update-2.4.0-SNAPSHOT.pom lrwxrwxrwx root/root /usr/share/java/pf4j-update-2.4.0-SNAPSHOT.jar -> pf4j-update.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/pf4j/pf4j-update/2.4.0-SNAPSHOT/pf4j-update-2.4.0-SNAPSHOT.jar -> ../../../../../java/pf4j-update.jar
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/share/maven-repo/org/pf4j/pf4j-update/2.3.0/pf4j-update-2.3.0.pom lrwxrwxrwx root/root /usr/share/java/pf4j-update-2.3.0.jar -> pf4j-update.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/pf4j/pf4j-update/2.3.0/pf4j-update-2.3.0.jar -> ../../../../../java/pf4j-update.jar
No differences were encountered in the control files