Skip to content

Commit 83efdb8

Browse files
authored
Merge pull request #2008 from DependencyTrack/plugin-engine-module
Extract plugin infrastructure from apiserver module
2 parents fca4872 + 1313ec8 commit 83efdb8

File tree

75 files changed

+1057
-332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1057
-332
lines changed

apiserver/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@
110110
<artifactId>plugin-api</artifactId>
111111
<version>${project.version}</version>
112112
</dependency>
113+
<dependency>
114+
<groupId>org.dependencytrack</groupId>
115+
<artifactId>plugin-config</artifactId>
116+
<version>${project.version}</version>
117+
</dependency>
113118
<dependency>
114119
<groupId>org.dependencytrack</groupId>
115120
<artifactId>plugin-runtime</artifactId>

apiserver/src/main/java/org/dependencytrack/common/MdcKeys.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ public final class MdcKeys {
3030
public static final String MDC_BOM_VERSION = "bomVersion";
3131
public static final String MDC_COMPONENT_UUID = "componentUuid";
3232
public static final String MDC_EVENT_TOKEN = "eventToken";
33-
public static final String MDC_EXTENSION = "extension";
3433
public static final String MDC_EXTENSION_NAME = "extensionName";
35-
public static final String MDC_EXTENSION_POINT = "extensionPoint";
3634
public static final String MDC_EXTENSION_POINT_NAME = "extensionPointName";
3735
public static final String MDC_NOTIFICATION_GROUP = "notificationGroup";
3836
public static final String MDC_NOTIFICATION_ID = "notificationId";
@@ -41,7 +39,6 @@ public final class MdcKeys {
4139
public static final String MDC_NOTIFICATION_SCOPE = "notificationScope";
4240
public static final String MDC_PKG_METADATA_RESOLVER_NAME = "pkgMetadataResolverName";
4341
public static final String MDC_PKG_REPOSITORY_IDENTIFIER = "pkgRepositoryIdentifier";
44-
public static final String MDC_PLUGIN = "plugin";
4542
public static final String MDC_PURL = "purl";
4643
public static final String MDC_PROJECT_NAME = "projectName";
4744
public static final String MDC_PROJECT_UUID = "projectUuid";

apiserver/src/main/java/org/dependencytrack/dex/DexEngineInitializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
import org.dependencytrack.pkgmetadata.FetchPackageMetadataResolutionCandidatesActivity;
5757
import org.dependencytrack.pkgmetadata.ResolvePackageMetadataActivity;
5858
import org.dependencytrack.pkgmetadata.ResolvePackageMetadataWorkflow;
59-
import org.dependencytrack.plugin.PluginManager;
59+
import org.dependencytrack.plugin.runtime.PluginManager;
6060
import org.dependencytrack.policy.EvalProjectPoliciesActivity;
6161
import org.dependencytrack.policy.cel.CelPolicyEngine;
6262
import org.dependencytrack.policy.cel.CelVulnerabilityPolicyEvaluator;

apiserver/src/main/java/org/dependencytrack/notification/DefaultNotificationPublisherInitializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import org.dependencytrack.notification.api.publishing.NotificationPublisher;
2525
import org.dependencytrack.notification.api.publishing.NotificationPublisherFactory;
2626
import org.dependencytrack.notification.api.templating.NotificationTemplate;
27-
import org.dependencytrack.plugin.PluginManager;
27+
import org.dependencytrack.plugin.runtime.PluginManager;
2828
import org.jdbi.v3.core.statement.PreparedBatch;
2929
import org.slf4j.Logger;
3030
import org.slf4j.LoggerFactory;

apiserver/src/main/java/org/dependencytrack/notification/PublishNotificationActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@
3434
import org.dependencytrack.notification.api.templating.NotificationTemplate;
3535
import org.dependencytrack.notification.proto.v1.Notification;
3636
import org.dependencytrack.notification.templating.pebble.PebbleNotificationTemplateRendererFactory;
37-
import org.dependencytrack.plugin.NoSuchExtensionException;
38-
import org.dependencytrack.plugin.PluginManager;
3937
import org.dependencytrack.plugin.api.config.InvalidRuntimeConfigException;
4038
import org.dependencytrack.plugin.api.config.RuntimeConfig;
4139
import org.dependencytrack.plugin.api.config.RuntimeConfigSpec;
42-
import org.dependencytrack.plugin.runtime.config.RuntimeConfigMapper;
43-
import org.dependencytrack.plugin.runtime.config.UnresolvableSecretException;
40+
import org.dependencytrack.plugin.config.RuntimeConfigMapper;
41+
import org.dependencytrack.plugin.config.UnresolvableSecretException;
42+
import org.dependencytrack.plugin.runtime.NoSuchExtensionException;
43+
import org.dependencytrack.plugin.runtime.PluginManager;
4444
import org.dependencytrack.proto.internal.workflow.v1.PublishNotificationActivityArg;
4545
import org.jdbi.v3.core.statement.Query;
4646
import org.jspecify.annotations.Nullable;

apiserver/src/main/java/org/dependencytrack/persistence/jdbi/ExtensionConfigDao.java

Lines changed: 0 additions & 59 deletions
This file was deleted.

apiserver/src/main/java/org/dependencytrack/persistence/jdbi/JdbiFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private static Handle forApiRequest(final Handle handle, final AlpineRequest api
111111
*
112112
* @return The global {@link Jdbi} instance
113113
*/
114-
static Jdbi createJdbi() {
114+
public static Jdbi createJdbi() {
115115
return GLOBAL_INSTANCE_HOLDER
116116
.updateAndGet(previous -> {
117117
final DataSource dataSource = DataSourceRegistry.getInstance().getDefault();

apiserver/src/main/java/org/dependencytrack/pkgmetadata/FetchPackageMetadataResolutionCandidatesActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.dependencytrack.dex.api.ActivitySpec;
2626
import org.dependencytrack.pkgmetadata.resolution.api.PackageMetadataResolver;
2727
import org.dependencytrack.pkgmetadata.resolution.api.PackageMetadataResolverFactory;
28-
import org.dependencytrack.plugin.PluginManager;
28+
import org.dependencytrack.plugin.runtime.PluginManager;
2929
import org.dependencytrack.proto.internal.workflow.v1.FetchPackageMetadataResolutionCandidatesRes;
3030
import org.dependencytrack.proto.internal.workflow.v1.PackageMetadataResolutionCandidateGroup;
3131
import org.jspecify.annotations.Nullable;

apiserver/src/main/java/org/dependencytrack/pkgmetadata/ResolvePackageMetadataActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@
3737
import org.dependencytrack.pkgmetadata.resolution.api.PackageMetadataResolverFactory;
3838
import org.dependencytrack.pkgmetadata.resolution.api.PackageRepository;
3939
import org.dependencytrack.pkgmetadata.resolution.api.RetryableResolutionException;
40-
import org.dependencytrack.plugin.NoSuchExtensionException;
41-
import org.dependencytrack.plugin.NoSuchExtensionPointException;
42-
import org.dependencytrack.plugin.PluginManager;
40+
import org.dependencytrack.plugin.runtime.NoSuchExtensionException;
41+
import org.dependencytrack.plugin.runtime.NoSuchExtensionPointException;
42+
import org.dependencytrack.plugin.runtime.PluginManager;
4343
import org.dependencytrack.proto.internal.workflow.v1.ResolvePackageMetadataActivityArg;
4444
import org.dependencytrack.secret.management.SecretManager;
4545
import org.dependencytrack.util.InternalComponentIdentifier;

apiserver/src/main/java/org/dependencytrack/plugin/PluginInitializer.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@
2121
import jakarta.servlet.ServletContextEvent;
2222
import jakarta.servlet.ServletContextListener;
2323
import org.dependencytrack.cache.api.CacheManager;
24-
import org.dependencytrack.pkgmetadata.resolution.api.PackageMetadataResolver;
24+
import org.dependencytrack.common.HttpClient;
2525
import org.dependencytrack.notification.api.publishing.NotificationPublisher;
26+
import org.dependencytrack.persistence.jdbi.JdbiFactory;
27+
import org.dependencytrack.pkgmetadata.resolution.api.PackageMetadataResolver;
2628
import org.dependencytrack.plugin.api.Plugin;
29+
import org.dependencytrack.plugin.runtime.PluginManager;
2730
import org.dependencytrack.secret.management.SecretManager;
2831
import org.dependencytrack.vulnanalysis.api.VulnAnalyzer;
2932
import org.dependencytrack.vulndatasource.api.VulnDataSource;
@@ -78,6 +81,9 @@ public void contextInitialized(ServletContextEvent event) {
7881
config,
7982
cacheManager,
8083
secretManager::getSecretValue,
84+
JdbiFactory.createJdbi(),
85+
HttpClient.INSTANCE,
86+
HttpClient.INSTANCE.userAgent(),
8187
extensionPoints);
8288

8389
LOGGER.info("Discovering plugins");

0 commit comments

Comments
 (0)