Revert "revert to unchanged plugin interface signature (#7938)" (#7977)

This reverts commit f08147acef.

# Conflicts:
#	plugin-api/build.gradle

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Justin Florentine <justin+github@florentine.us>
This commit is contained in:
Fabio Di Fabio
2024-12-03 20:13:10 +01:00
committed by GitHub
parent 2b654dd5da
commit 74929eb215
15 changed files with 21 additions and 39 deletions

View File

@@ -5,6 +5,7 @@
### Breaking Changes
- Removed Retesteth rpc service and commands [#7833](https://github.com/hyperledger/besu/pull/7783)
- TLS for P2P (early access feature) has been removed [#7942](https://github.com/hyperledger/besu/pull/7942)
- In the plugin API, `BesuContext` has been renamed to `ServiceManager` to better reflect its function, plugins must be updated to work with this version
- With the upgrade of the Prometheus Java Metrics library, there are the following changes:
- Gauge names are not allowed to end with `total`, therefore the metric `besu_blockchain_difficulty_total` is losing the `_total` suffix
- The `_created` timestamps are not returned by default, you can set the env var `BESU_OPTS="-Dio.prometheus.exporter.includeCreatedTimestamps=true"` to enable them

View File

@@ -16,8 +16,8 @@ package org.hyperledger.besu.tests.acceptance.plugins;
import static java.nio.charset.StandardCharsets.UTF_8;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
import java.io.File;
@@ -39,8 +39,7 @@ public class BadCLIOptionsPlugin implements BesuPlugin {
private File callbackDir;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
LOG.info("Registering BadCliOptionsPlugin");
callbackDir = new File(System.getProperty("besu.plugins.dir", "plugins"));
writeStatus("init");

View File

@@ -14,7 +14,6 @@
*/
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.data.BlockHeader;
@@ -43,8 +42,7 @@ public class TestBesuEventsPlugin implements BesuPlugin {
private File callbackDir;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
this.context = context;
LOG.info("Registered");
callbackDir = new File(System.getProperty("besu.plugins.dir", "plugins"));

View File

@@ -17,8 +17,8 @@ package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.datatypes.Hash;
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.JsonRpcParameter;
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.data.BlockContext;
import org.hyperledger.besu.plugin.services.BlockchainService;
import org.hyperledger.besu.plugin.services.RpcEndpointService;
@@ -40,8 +40,7 @@ public class TestBlockchainServiceFinalizedPlugin implements BesuPlugin {
private static final String RPC_METHOD_SAFE_BLOCK = "updateSafeBlockV1";
@Override
@SuppressWarnings("removal")
public void register(final BesuContext serviceManager) {
public void register(final ServiceManager serviceManager) {
LOG.trace("Registering plugin ...");
final RpcEndpointService rpcEndpointService =

View File

@@ -15,8 +15,8 @@
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.datatypes.Wei;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
import org.hyperledger.besu.plugin.services.RpcEndpointService;
import org.hyperledger.besu.plugin.services.rpc.RpcResponseType;
@@ -36,8 +36,7 @@ public class TestInProcessRpcServicePlugin implements BesuPlugin {
long minGasPrice = -1;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
final PicoCLIOptions cmdlineOptions =
context
.getService(PicoCLIOptions.class)

View File

@@ -14,7 +14,6 @@
*/
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.MetricsSystem;
@@ -34,8 +33,7 @@ public class TestMetricsPlugin implements BesuPlugin {
private ServiceManager serviceManager;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
LOG.info("Registering TestMetricsPlugin");
serviceManager = context;
context

View File

@@ -14,8 +14,8 @@
*/
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PermissioningService;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
@@ -40,8 +40,7 @@ public class TestPermissioningPlugin implements BesuPlugin {
PermissioningService service;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
context.getService(PicoCLIOptions.class).orElseThrow().addPicoCLIOptions("permissioning", this);
service = context.getService(PermissioningService.class).orElseThrow();
}

View File

@@ -14,8 +14,8 @@
*/
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
import java.io.File;
@@ -57,8 +57,7 @@ public class TestPicoCLIPlugin implements BesuPlugin {
private File callbackDir;
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
LOG.info("Registering. Test Option is '{}'", testOption);
state = "registering";

View File

@@ -14,7 +14,6 @@
*/
package org.hyperledger.besu.tests.acceptance.plugins;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
@@ -41,8 +40,7 @@ public class TestPrivacyServicePlugin implements BesuPlugin {
new TestSigningPrivateMarkerTransactionFactory();
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
this.context = context;
context

View File

@@ -16,8 +16,8 @@ package org.hyperledger.besu.tests.acceptance.plugins;
import static com.google.common.base.Preconditions.checkArgument;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.RpcEndpointService;
import org.hyperledger.besu.plugin.services.rpc.PluginRpcRequest;
@@ -51,8 +51,7 @@ public class TestRpcEndpointServicePlugin implements BesuPlugin {
}
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
context
.getService(RpcEndpointService.class)
.ifPresent(

View File

@@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
import org.hyperledger.besu.ethereum.core.plugins.PluginConfiguration;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.BesuService;
@@ -50,8 +49,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** The Besu plugin context implementation. */
@SuppressWarnings("removal")
public class BesuPluginContextImpl implements BesuContext, ServiceManager, PluginVersionsProvider {
public class BesuPluginContextImpl implements ServiceManager, PluginVersionsProvider {
private static final Logger LOG = LoggerFactory.getLogger(BesuPluginContextImpl.class);

View File

@@ -71,7 +71,7 @@ Calculated : ${currentHash}
tasks.register('checkAPIChanges', FileStateChecker) {
description = "Checks that the API for the Plugin-API project does not change without deliberate thought"
files = sourceSets.main.allJava.files
knownHash = 'zuu5jdZ35LcQyu3g2+p+4rcwUhCAY3woS+ZuAxSFCSg='
knownHash = 'dkhT5PziIX6nhIRA4EghMEGKkEB7NTAyqRaKDcAidKc='
}
check.dependsOn('checkAPIChanges')

View File

@@ -48,8 +48,7 @@ public interface BesuPlugin {
*
* @param context the context that provides access to Besu services.
*/
@SuppressWarnings("removal")
void register(BesuContext context);
void register(ServiceManager context);
/**
* Called once when besu has loaded configuration but before external services have been started

View File

@@ -14,7 +14,6 @@
*/
package org.hyperledger.besu.plugin.services.storage.rocksdb;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.PicoCLIOptions;
@@ -60,8 +59,7 @@ public class RocksDBPlugin implements BesuPlugin {
}
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
LOG.debug("Registering plugin");
this.context = context;

View File

@@ -14,7 +14,6 @@
*/
package org.hyperledger.besu.services.kvstore;
import org.hyperledger.besu.plugin.BesuContext;
import org.hyperledger.besu.plugin.BesuPlugin;
import org.hyperledger.besu.plugin.ServiceManager;
import org.hyperledger.besu.plugin.services.BesuConfiguration;
@@ -45,8 +44,7 @@ public class InMemoryStoragePlugin implements BesuPlugin {
public InMemoryStoragePlugin() {}
@Override
@SuppressWarnings("removal")
public void register(final BesuContext context) {
public void register(final ServiceManager context) {
LOG.debug("Registering plugin");
this.context = context;