Skip to content

Migration from pf4j-update

If you’re currently using pf4j-update, migrating to Plugwerk is straightforward.

See Installation for dependency coordinates.

Step 2: Replace UpdateManager with Plugwerk Extensions

Section titled “Step 2: Replace UpdateManager with Plugwerk Extensions”

Replace your pf4j-update UpdateManager with the Plugwerk extension points:

// Before (pf4j-update)
var repo = new DefaultUpdateRepository(
"my-repo",
new URL("https://example.com/plugins.json")
);
var updateManager = new UpdateManager(
pluginManager, List.of(repo)
);
var updates = updateManager.getUpdates();
// After (Plugwerk)
var config = new PlugwerkConfig.Builder(
"https://myplugwerk.host", "acme-corp"
)
.apiKey("pwk_...")
.build();
var marketplace = pluginManager
.getExtensions(PlugwerkMarketplace.class)
.getFirst();
// Check for updates
var installed = Map.of("my-plugin", "1.0.0");
var updates = marketplace.updateChecker()
.checkForUpdates(installed);
// Install an update
var result = marketplace.installer()
.install("my-plugin", "2.0.0");

Beyond update checking, the Plugwerk SDK offers catalog browsing and search. See the Configuration guide for details.

Plugwerk serves a plugins.json endpoint that returns the catalog in a format inspired by pf4j-update. This can be useful for read-only tooling that consumes plugin feeds, but it is not intended as a drop-in for UpdateRepository.