diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-04-06 14:19:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-06 14:19:35 +0200 |
commit | 778894b29b13831115c19ff13285541a10ab2d30 (patch) | |
tree | 62ea7aa8689a3d5421f54cd0ac6c5290e82f23dc | |
parent | 5df00bb90a04082847440716bcb6146bdda0ca06 (diff) |
Revert "Gjoranv/merge di into core (rebased)"
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | Code-map.md | 3 | ||||
-rw-r--r-- | bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java | 11 | ||||
-rw-r--r-- | cloud-tenant-base-dependencies-enforcer/pom.xml | 1 | ||||
-rw-r--r-- | component/CMakeLists.txt | 2 | ||||
-rw-r--r-- | component/abi-spec.json | 15 | ||||
-rwxr-xr-x | component/pom.xml | 7 | ||||
-rw-r--r-- | component/src/main/java/com/yahoo/container/di/componentgraph/package-info.java | 12 | ||||
-rw-r--r-- | container-core/pom.xml | 33 | ||||
-rw-r--r-- | container-di/.gitignore | 2 | ||||
-rw-r--r-- | container-di/CMakeLists.txt | 2 | ||||
-rw-r--r-- | container-di/OWNERS | 1 | ||||
-rw-r--r-- | container-di/README.md | 4 | ||||
-rw-r--r-- | container-di/abi-spec.json | 17 | ||||
-rw-r--r-- | container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java | 50 | ||||
-rw-r--r-- | container-di/pom.xml | 127 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java (renamed from container-core/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/bundle/MockBundle.java (renamed from container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/bundle/package-info.java (renamed from container-core/src/main/java/com/yahoo/container/bundle/package-info.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java (renamed from container-core/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java (renamed from container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java (renamed from container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/Container.java (renamed from container-core/src/main/java/com/yahoo/container/di/Container.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/Osgi.java (renamed from container-core/src/main/java/com/yahoo/container/di/Osgi.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/Provider.java (renamed from component/src/main/java/com/yahoo/container/di/componentgraph/Provider.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java (renamed from container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/componentgraph/package-info.java | 7 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java (renamed from container-core/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/config/RestApiContext.java (renamed from container-core/src/main/java/com/yahoo/container/di/config/RestApiContext.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/config/Subscriber.java (renamed from container-core/src/main/java/com/yahoo/container/di/config/Subscriber.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java (renamed from container-core/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/config/package-info.java (renamed from container-core/src/main/java/com/yahoo/container/di/config/package-info.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java (renamed from container-core/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java (renamed from container-core/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/osgi/package-info.java (renamed from container-core/src/main/java/com/yahoo/container/di/osgi/package-info.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java (renamed from container-core/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/java/com/yahoo/osgi/provider/model/package-info.java (renamed from container-core/src/main/java/com/yahoo/osgi/provider/model/package-info.java) | 0 | ||||
-rw-r--r-- | container-di/src/main/resources/configdefinitions/application-bundles.def (renamed from container-core/src/main/resources/configdefinitions/application-bundles.def) | 0 | ||||
-rw-r--r-- | container-di/src/main/resources/configdefinitions/container.components.def (renamed from container-core/src/main/resources/configdefinitions/container.components.def) | 0 | ||||
-rw-r--r-- | container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def (renamed from container-core/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def) | 0 | ||||
-rw-r--r-- | container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def (renamed from container-core/src/main/resources/configdefinitions/container.di.config.jersey-injection.def) | 0 | ||||
-rw-r--r-- | container-di/src/main/resources/configdefinitions/platform-bundles.def (renamed from container-core/src/main/resources/configdefinitions/platform-bundles.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/component/ComponentSpecTestCase.java (renamed from container-core/src/test/java/com/yahoo/component/ComponentSpecTestCase.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java (renamed from container-core/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java (renamed from container-core/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/ContainerTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/ContainerTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/ContainerTestBase.java (renamed from container-core/src/test/java/com/yahoo/container/di/ContainerTestBase.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/DirConfigSource.java (renamed from container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java (renamed from container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.di.int.def (renamed from container-core/src/test/vespa-configdef/config.di.int.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.di.string.def (renamed from container-core/src/test/vespa-configdef/config.di.string.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.bootstrap1.def (renamed from container-core/src/test/vespa-configdef/config.test.bootstrap1.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.bootstrap2.def (renamed from container-core/src/test/vespa-configdef/config.test.bootstrap2.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.components1.def (renamed from container-core/src/test/vespa-configdef/config.test.components1.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.test.def (renamed from container-core/src/test/vespa-configdef/config.test.test.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.test2.def (renamed from container-core/src/test/vespa-configdef/config.test.test2.def) | 0 | ||||
-rw-r--r-- | container-di/src/test/vespa-configdef/config.test.thread-pool.def (renamed from container-core/src/test/vespa-configdef/config.test.thread-pool.def) | 0 | ||||
-rw-r--r-- | container-disc/pom.xml | 3 | ||||
-rw-r--r-- | container-jersey2/pom.xml | 2 | ||||
-rw-r--r-- | container-messagebus/pom.xml | 6 | ||||
-rw-r--r-- | dist/vespa.spec | 1 | ||||
-rw-r--r-- | metrics-proxy/pom.xml | 6 | ||||
-rw-r--r-- | metrics/pom.xml | 33 | ||||
-rw-r--r-- | pom.xml | 1 | ||||
-rw-r--r-- | simplemetrics/pom.xml | 6 |
81 files changed, 314 insertions, 40 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 059851205cb..1b4a87aa39c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,7 @@ include_directories(BEFORE ${CMAKE_BINARY_DIR}/configdefinitions/src) add_subdirectory(application-model) add_subdirectory(application-preprocessor) add_subdirectory(athenz-identity-provider-service) +add_subdirectory(component) add_subdirectory(config-bundle) add_subdirectory(config-model) add_subdirectory(config-model-api) @@ -59,6 +60,7 @@ add_subdirectory(configserver) add_subdirectory(configserver-flags) add_subdirectory(configutil) add_subdirectory(container-core) +add_subdirectory(container-di) add_subdirectory(container-disc) add_subdirectory(container-jersey2) add_subdirectory(container-messagebus) diff --git a/Code-map.md b/Code-map.md index fd5a583bc79..a02b52c76a8 100644 --- a/Code-map.md +++ b/Code-map.md @@ -44,8 +44,9 @@ jDisc core modules: jDisc container modules, layered on jDisc core: - [container-disc](https://github.com/vespa-engine/vespa/tree/master/container-disc) - integration between the jDisc container and jDisc core layers. -- [container-core](https://github.com/vespa-engine/vespa/tree/master/container-core) - core jDisc container functionality: Metrics, OSGi integration for component bundles, dependency injection, HTTP connector, etc. +- [container-core](https://github.com/vespa-engine/vespa/tree/master/container-core) - core jDisc container functionality: Metrics, OSGi integration for component bundles, HTTP connector, etc. - [component](https://github.com/vespa-engine/vespa/tree/master/component) - the component model. Components (in Java) will implement or subclass a type for this module. +- [container-di](https://github.com/vespa-engine/vespa/tree/master/container-di) - component dependency injection framework for the container, compatible with Guice annotations but an separate implementation which handles injection of config and injection of component collections. Search container, layered on jDisc container: diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java index e1d199c4c9b..31c8049b0dd 100644 --- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java @@ -61,13 +61,12 @@ public class GenerateOsgiManifestMojo extends AbstractGenerateOsgiManifestMojo { public void execute() throws MojoExecutionException { try { - if (discPreInstallBundle != null && ! buildLegacyVespaPlatformBundle) + if (discPreInstallBundle != null && !buildLegacyVespaPlatformBundle) throw new MojoExecutionException("The 'discPreInstallBundle' parameter can only be used by legacy Vespa platform bundles."); Artifacts.ArtifactSet artifactSet = Artifacts.getArtifacts(project); warnOnUnsupportedArtifacts(artifactSet.getNonJarArtifacts()); - if (! isContainerDiscArtifact(project.getArtifact())) - throwIfInternalContainerArtifactsAreIncluded(artifactSet.getJarArtifactsToInclude()); + warnIfInternalContainerArtifactsAreIncluded(artifactSet.getJarArtifactsToInclude()); List<Export> exportedPackagesFromProvidedJars = exportedPackagesAggregated( artifactSet.getJarArtifactsProvided().stream().map(Artifact::getFile).collect(Collectors.toList())); @@ -189,7 +188,7 @@ public class GenerateOsgiManifestMojo extends AbstractGenerateOsgiManifestMojo { artifact.getId(), artifact.getType()))); } - private void throwIfInternalContainerArtifactsAreIncluded(Collection<Artifact> includedArtifacts) throws MojoExecutionException { + private void warnIfInternalContainerArtifactsAreIncluded(Collection<Artifact> includedArtifacts) throws MojoExecutionException { /* In most cases it's sufficient to test for 'component', as it's the lowest level container artifact, * Embedding container artifacts will cause class loading issues at runtime, because the classes will * not be equal to those seen by the framework (e.g. AbstractComponent). */ @@ -205,10 +204,6 @@ public class GenerateOsgiManifestMojo extends AbstractGenerateOsgiManifestMojo { return a.getArtifactId().equals("component") && a.getGroupId().equals("com.yahoo.vespa"); } - private boolean isContainerDiscArtifact(Artifact a) { - return a.getArtifactId().equals("container-disc") && a.getGroupId().equals("com.yahoo.vespa"); - } - private PackageTally getProjectClassesTally() { File outputDirectory = new File(project.getBuild().getOutputDirectory()); diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml index 0299afd001d..8a504635f25 100644 --- a/cloud-tenant-base-dependencies-enforcer/pom.xml +++ b/cloud-tenant-base-dependencies-enforcer/pom.xml @@ -150,6 +150,7 @@ <include>com.yahoo.vespa:configgen:*:jar:provided</include> <include>com.yahoo.vespa:container-core:*:jar:provided</include> <include>com.yahoo.vespa:container-dev:*:jar:provided</include> + <include>com.yahoo.vespa:container-di:*:jar:provided</include> <include>com.yahoo.vespa:container-disc:*:jar:provided</include> <include>com.yahoo.vespa:container-documentapi:*:jar:provided</include> <include>com.yahoo.vespa:container-jersey2:*:jar:provided</include> diff --git a/component/CMakeLists.txt b/component/CMakeLists.txt new file mode 100644 index 00000000000..87d0a4989ba --- /dev/null +++ b/component/CMakeLists.txt @@ -0,0 +1,2 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +install_fat_java_artifact(component) diff --git a/component/abi-spec.json b/component/abi-spec.json index 0e33fde3c5a..2dfa3e0d71d 100644 --- a/component/abi-spec.json +++ b/component/abi-spec.json @@ -348,20 +348,5 @@ "public bridge synthetic java.lang.Object clone()" ], "fields": [] - }, - "com.yahoo.container.di.componentgraph.Provider": { - "superClass": "java.lang.Object", - "interfaces": [ - "com.yahoo.component.Deconstructable" - ], - "attributes": [ - "public", - "interface", - "abstract" - ], - "methods": [ - "public abstract java.lang.Object get()" - ], - "fields": [] } }
\ No newline at end of file diff --git a/component/pom.xml b/component/pom.xml index 4d7b716445a..75b07643c7e 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -12,7 +12,7 @@ <relativePath>../parent/pom.xml</relativePath> </parent> <artifactId>component</artifactId> - <packaging>jar</packaging> + <packaging>container-plugin</packaging> <version>7-SNAPSHOT</version> <dependencies> <dependency> @@ -59,6 +59,11 @@ <build> <plugins> <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>bundle-plugin</artifactId> + <extensions>true</extensions> + </plugin> + <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> diff --git a/component/src/main/java/com/yahoo/container/di/componentgraph/package-info.java b/component/src/main/java/com/yahoo/container/di/componentgraph/package-info.java deleted file mode 100644 index 054abe9cff9..00000000000 --- a/component/src/main/java/com/yahoo/container/di/componentgraph/package-info.java +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -/** - * Note that this package also exists in another Vespa module, for historical - * reasons. All Java classes should be kept in this module, and the other - * module's package should remain empty. - */ -@ExportPackage -@PublicApi -package com.yahoo.container.di.componentgraph; - -import com.yahoo.api.annotations.PublicApi; -import com.yahoo.osgi.annotation.ExportPackage; diff --git a/container-core/pom.xml b/container-core/pom.xml index bc40984d934..d0722a081d1 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -13,7 +13,7 @@ </parent> <artifactId>container-core</artifactId> <version>7-SNAPSHOT</version> - <packaging>jar</packaging> + <packaging>container-plugin</packaging> <dependencies> <!-- COMPILE scope --> @@ -24,6 +24,11 @@ </dependency> <dependency> <groupId>com.yahoo.vespa</groupId> + <artifactId>container-di</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> <artifactId>container-documentapi</artifactId> <version>${project.version}</version> </dependency> @@ -144,6 +149,16 @@ <artifactId>httpclient</artifactId> </dependency> <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> <!-- TODO Vespa 8: stop providing org.json:json --> <groupId>org.json</groupId> <artifactId>json</artifactId> @@ -312,6 +327,17 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <archive> + <manifestEntries> + <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> + </manifestEntries> + </archive> + </configuration> + </plugin> + <plugin> <groupId>com.yahoo.vespa</groupId> <artifactId>config-class-plugin</artifactId> <version>${project.version}</version> @@ -336,6 +362,11 @@ </executions> </plugin> <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>bundle-plugin</artifactId> + <extensions>true</extensions> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> diff --git a/container-di/.gitignore b/container-di/.gitignore new file mode 100644 index 00000000000..3cc25b51fc4 --- /dev/null +++ b/container-di/.gitignore @@ -0,0 +1,2 @@ +/pom.xml.build +/target diff --git a/container-di/CMakeLists.txt b/container-di/CMakeLists.txt new file mode 100644 index 00000000000..7bb25e6a420 --- /dev/null +++ b/container-di/CMakeLists.txt @@ -0,0 +1,2 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +install_config_definitions() diff --git a/container-di/OWNERS b/container-di/OWNERS new file mode 100644 index 00000000000..3b2ba1ede81 --- /dev/null +++ b/container-di/OWNERS @@ -0,0 +1 @@ +gjoranv diff --git a/container-di/README.md b/container-di/README.md new file mode 100644 index 00000000000..0eeb9d7280f --- /dev/null +++ b/container-di/README.md @@ -0,0 +1,4 @@ +<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> +# Container DI + +JDisc's dependency injection framework. diff --git a/container-di/abi-spec.json b/container-di/abi-spec.json new file mode 100644 index 00000000000..02cc29cd07f --- /dev/null +++ b/container-di/abi-spec.json @@ -0,0 +1,17 @@ +{ + "com.yahoo.container.di.componentgraph.Provider": { + "superClass": "java.lang.Object", + "interfaces": [ + "com.yahoo.component.Deconstructable" + ], + "attributes": [ + "public", + "interface", + "abstract" + ], + "methods": [ + "public abstract java.lang.Object get()" + ], + "fields": [] + } +}
\ No newline at end of file diff --git a/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java b/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java new file mode 100644 index 00000000000..bcdaff110e1 --- /dev/null +++ b/container-di/benchmarks/src/test/java/com/yahoo/component/ComponentIdBenchmark.java @@ -0,0 +1,50 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.component; + +/** + * @author baldersheim + */ +public class ComponentIdBenchmark { + public void run() { + boolean result=true; + String strings[] = createStrings(1000); + // Warm-up + out("Warming up..."); + for (int i=0; i<30*1000; i++) + result = result ^ createComponentId(strings); + + long startTime=System.currentTimeMillis(); + out("Running..."); + for (int i=0; i<100*1000; i++) + result = result ^ createComponentId(strings); + out("Ignore this: " + result); // Make sure we are not fooled by optimization by creating an observable result + long endTime=System.currentTimeMillis(); + out("Create anonymous component ids of 1000 strings 100.000 times took " + (endTime-startTime) + " ms"); + } + + private final String [] createStrings(int num) { + String strings [] = new String [num]; + for(int i=0; i < strings.length; i++) { + strings[i] = "this.is.a.short.compound.name." + i; + } + return strings; + } + + private final boolean createComponentId(String [] strings) { + boolean retval = true; + for (int i=0; i < strings.length; i++) { + ComponentId n = ComponentId.createAnonymousComponentId(strings[i]); + retval = retval ^ n.isAnonymous(); + } + return retval; + } + + private void out(String string) { + System.out.println(string); + } + + public static void main(String[] args) { + new ComponentIdBenchmark().run(); + } + +} diff --git a/container-di/pom.xml b/container-di/pom.xml new file mode 100644 index 00000000000..f0778f7d45e --- /dev/null +++ b/container-di/pom.xml @@ -0,0 +1,127 @@ +<?xml version="1.0"?> +<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.yahoo.vespa</groupId> + <artifactId>parent</artifactId> + <version>7-SNAPSHOT</version> + <relativePath>../parent/pom.xml</relativePath> + </parent> + <artifactId>container-di</artifactId> + <version>7-SNAPSHOT</version> + <packaging>container-plugin</packaging> + <dependencies> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>annotations</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>jdisc_core</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>vespajlib</artifactId> + <version>${project.version}</version> + <exclusions> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>config-bundle</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>config</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.inject</groupId> + <artifactId>guice</artifactId> + <classifier>no_aop</classifier> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>component</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>bundle-plugin</artifactId> + <extensions>true</extensions> + </plugin> + <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>config-class-plugin</artifactId> + <version>${project.version}</version> + <executions> + <execution> + <goals> + <goal>config-gen</goal> + </goals> + </execution> + <execution> + <id>configgen-test-defs</id> + <phase>generate-test-sources</phase> + <goals> + <goal>config-gen</goal> + </goals> + <configuration> + <defFilesDirectories>src/test/vespa-configdef</defFilesDirectories> + <outputDirectory>target/generated-test-sources/vespa-configgen-plugin</outputDirectory> + <testConfig>true</testConfig> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <forkMode>once</forkMode> + </configuration> + </plugin> + <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>abi-check-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> diff --git a/container-core/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java b/container-di/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java index 0fb8a99a957..0fb8a99a957 100644 --- a/container-core/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java +++ b/container-di/src/main/java/com/yahoo/container/bundle/BundleInstantiationSpecification.java diff --git a/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java b/container-di/src/main/java/com/yahoo/container/bundle/MockBundle.java index a6524b41886..a6524b41886 100644 --- a/container-core/src/main/java/com/yahoo/container/bundle/MockBundle.java +++ b/container-di/src/main/java/com/yahoo/container/bundle/MockBundle.java diff --git a/container-core/src/main/java/com/yahoo/container/bundle/package-info.java b/container-di/src/main/java/com/yahoo/container/bundle/package-info.java index c9707371626..c9707371626 100644 --- a/container-core/src/main/java/com/yahoo/container/bundle/package-info.java +++ b/container-di/src/main/java/com/yahoo/container/bundle/package-info.java diff --git a/container-core/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java index 065733a719a..065733a719a 100644 --- a/container-core/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java +++ b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java diff --git a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java b/container-di/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java index 4e3881a6fe6..4e3881a6fe6 100644 --- a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java +++ b/container-di/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java diff --git a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java b/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java index a7ff6c46a8b..a7ff6c46a8b 100644 --- a/container-core/src/main/java/com/yahoo/container/di/ConfigRetriever.java +++ b/container-di/src/main/java/com/yahoo/container/di/ConfigRetriever.java diff --git a/container-core/src/main/java/com/yahoo/container/di/Container.java b/container-di/src/main/java/com/yahoo/container/di/Container.java index 82c7f65bc2a..82c7f65bc2a 100644 --- a/container-core/src/main/java/com/yahoo/container/di/Container.java +++ b/container-di/src/main/java/com/yahoo/container/di/Container.java diff --git a/container-core/src/main/java/com/yahoo/container/di/Osgi.java b/container-di/src/main/java/com/yahoo/container/di/Osgi.java index 940986e2f38..940986e2f38 100644 --- a/container-core/src/main/java/com/yahoo/container/di/Osgi.java +++ b/container-di/src/main/java/com/yahoo/container/di/Osgi.java diff --git a/component/src/main/java/com/yahoo/container/di/componentgraph/Provider.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/Provider.java index 3fd3195e5dd..3fd3195e5dd 100644 --- a/component/src/main/java/com/yahoo/container/di/componentgraph/Provider.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/Provider.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java index fef2809f236..fef2809f236 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentGraph.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java index b6fa4241e26..b6fa4241e26 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentNode.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java index 429052c0039..429052c0039 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/ComponentRegistryNode.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java index b0d9d1f3921..b0d9d1f3921 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Exceptions.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java index 61d0d9bba8d..61d0d9bba8d 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/GuiceNode.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java index 0f8aa678934..0f8aa678934 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/JerseyNode.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java index be80fc1616d..be80fc1616d 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Keys.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java index 3afc8bb817c..3afc8bb817c 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/Node.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java index e9b5b14d5d8..e9b5b14d5d8 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/core/package-info.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java index 327949bb8d0..327949bb8d0 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/CycleFinder.java diff --git a/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java index 946330668bd..946330668bd 100644 --- a/container-core/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/cycle/Graph.java diff --git a/container-di/src/main/java/com/yahoo/container/di/componentgraph/package-info.java b/container-di/src/main/java/com/yahoo/container/di/componentgraph/package-info.java new file mode 100644 index 00000000000..0c11cfb5ba4 --- /dev/null +++ b/container-di/src/main/java/com/yahoo/container/di/componentgraph/package-info.java @@ -0,0 +1,7 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +@ExportPackage +@PublicApi +package com.yahoo.container.di.componentgraph; + +import com.yahoo.api.annotations.PublicApi; +import com.yahoo.osgi.annotation.ExportPackage; diff --git a/container-core/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java b/container-di/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java index c88f851909c..c88f851909c 100644 --- a/container-core/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java +++ b/container-di/src/main/java/com/yahoo/container/di/config/ResolveDependencyException.java diff --git a/container-core/src/main/java/com/yahoo/container/di/config/RestApiContext.java b/container-di/src/main/java/com/yahoo/container/di/config/RestApiContext.java index bfb9a8f9160..bfb9a8f9160 100644 --- a/container-core/src/main/java/com/yahoo/container/di/config/RestApiContext.java +++ b/container-di/src/main/java/com/yahoo/container/di/config/RestApiContext.java diff --git a/container-core/src/main/java/com/yahoo/container/di/config/Subscriber.java b/container-di/src/main/java/com/yahoo/container/di/config/Subscriber.java index 60207447bfd..60207447bfd 100644 --- a/container-core/src/main/java/com/yahoo/container/di/config/Subscriber.java +++ b/container-di/src/main/java/com/yahoo/container/di/config/Subscriber.java diff --git a/container-core/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java b/container-di/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java index c1c36a1b3de..c1c36a1b3de 100644 --- a/container-core/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java +++ b/container-di/src/main/java/com/yahoo/container/di/config/SubscriberFactory.java diff --git a/container-core/src/main/java/com/yahoo/container/di/config/package-info.java b/container-di/src/main/java/com/yahoo/container/di/config/package-info.java index b8f65b1c3c8..b8f65b1c3c8 100644 --- a/container-core/src/main/java/com/yahoo/container/di/config/package-info.java +++ b/container-di/src/main/java/com/yahoo/container/di/config/package-info.java diff --git a/container-core/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java b/container-di/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java index bca3ed73d0b..bca3ed73d0b 100644 --- a/container-core/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java +++ b/container-di/src/main/java/com/yahoo/container/di/osgi/BundleClasses.java diff --git a/container-core/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java b/container-di/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java index e1854155e5b..e1854155e5b 100644 --- a/container-core/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java +++ b/container-di/src/main/java/com/yahoo/container/di/osgi/OsgiUtil.java diff --git a/container-core/src/main/java/com/yahoo/container/di/osgi/package-info.java b/container-di/src/main/java/com/yahoo/container/di/osgi/package-info.java index 9685cf571bd..9685cf571bd 100644 --- a/container-core/src/main/java/com/yahoo/container/di/osgi/package-info.java +++ b/container-di/src/main/java/com/yahoo/container/di/osgi/package-info.java diff --git a/container-core/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java b/container-di/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java index 8c501963db3..8c501963db3 100644 --- a/container-core/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java +++ b/container-di/src/main/java/com/yahoo/osgi/provider/model/ComponentModel.java diff --git a/container-core/src/main/java/com/yahoo/osgi/provider/model/package-info.java b/container-di/src/main/java/com/yahoo/osgi/provider/model/package-info.java index f930f56ae4a..f930f56ae4a 100644 --- a/container-core/src/main/java/com/yahoo/osgi/provider/model/package-info.java +++ b/container-di/src/main/java/com/yahoo/osgi/provider/model/package-info.java diff --git a/container-core/src/main/resources/configdefinitions/application-bundles.def b/container-di/src/main/resources/configdefinitions/application-bundles.def index 7e03b1e3ac8..7e03b1e3ac8 100644 --- a/container-core/src/main/resources/configdefinitions/application-bundles.def +++ b/container-di/src/main/resources/configdefinitions/application-bundles.def diff --git a/container-core/src/main/resources/configdefinitions/container.components.def b/container-di/src/main/resources/configdefinitions/container.components.def index f27abc2fa5a..f27abc2fa5a 100644 --- a/container-core/src/main/resources/configdefinitions/container.components.def +++ b/container-di/src/main/resources/configdefinitions/container.components.def diff --git a/container-core/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def index a226420274d..a226420274d 100644 --- a/container-core/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def +++ b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def diff --git a/container-core/src/main/resources/configdefinitions/container.di.config.jersey-injection.def b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def index 9f5be59abbd..9f5be59abbd 100644 --- a/container-core/src/main/resources/configdefinitions/container.di.config.jersey-injection.def +++ b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def diff --git a/container-core/src/main/resources/configdefinitions/platform-bundles.def b/container-di/src/main/resources/configdefinitions/platform-bundles.def index a30a846b565..a30a846b565 100644 --- a/container-core/src/main/resources/configdefinitions/platform-bundles.def +++ b/container-di/src/main/resources/configdefinitions/platform-bundles.def diff --git a/container-core/src/test/java/com/yahoo/component/ComponentSpecTestCase.java b/container-di/src/test/java/com/yahoo/component/ComponentSpecTestCase.java index 6fe58e99fda..6fe58e99fda 100644 --- a/container-core/src/test/java/com/yahoo/component/ComponentSpecTestCase.java +++ b/container-di/src/test/java/com/yahoo/component/ComponentSpecTestCase.java diff --git a/container-core/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java b/container-di/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java index 69eec95b746..69eec95b746 100644 --- a/container-core/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java +++ b/container-di/src/test/java/com/yahoo/component/provider/test/ComponentRegistryTestCase.java diff --git a/container-core/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java b/container-di/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java index 0842ee4a797..0842ee4a797 100644 --- a/container-core/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java +++ b/container-di/src/test/java/com/yahoo/component/test/ComponentIdTestCase.java diff --git a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java b/container-di/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java index 290836d7842..290836d7842 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/ConfigRetrieverTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java b/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java index b596246a43d..b596246a43d 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/ContainerTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/ContainerTestBase.java b/container-di/src/test/java/com/yahoo/container/di/ContainerTestBase.java index 2106a1f3671..2106a1f3671 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ContainerTestBase.java +++ b/container-di/src/test/java/com/yahoo/container/di/ContainerTestBase.java diff --git a/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java b/container-di/src/test/java/com/yahoo/container/di/DirConfigSource.java index ec937a1a4ef..ec937a1a4ef 100644 --- a/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java +++ b/container-di/src/test/java/com/yahoo/container/di/DirConfigSource.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java index 70dc4c8665c..70dc4c8665c 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ComponentGraphTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java index 7c517d67960..7c517d67960 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/FallbackToGuiceInjectorTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java index f30f9260830..f30f9260830 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/JerseyNodeTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java index e61e90cd718..e61e90cd718 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/core/ReuseComponentsTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java index 174ca301c59..174ca301c59 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/CycleFinderTest.java diff --git a/container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java b/container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java index 069f72ad8e7..069f72ad8e7 100644 --- a/container-core/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java +++ b/container-di/src/test/java/com/yahoo/container/di/componentgraph/cycle/GraphTest.java diff --git a/container-core/src/test/vespa-configdef/config.di.int.def b/container-di/src/test/vespa-configdef/config.di.int.def index a34539c4a0f..a34539c4a0f 100644 --- a/container-core/src/test/vespa-configdef/config.di.int.def +++ b/container-di/src/test/vespa-configdef/config.di.int.def diff --git a/container-core/src/test/vespa-configdef/config.di.string.def b/container-di/src/test/vespa-configdef/config.di.string.def index 396afe54f3f..396afe54f3f 100644 --- a/container-core/src/test/vespa-configdef/config.di.string.def +++ b/container-di/src/test/vespa-configdef/config.di.string.def diff --git a/container-core/src/test/vespa-configdef/config.test.bootstrap1.def b/container-di/src/test/vespa-configdef/config.test.bootstrap1.def index bdee16d99ea..bdee16d99ea 100644 --- a/container-core/src/test/vespa-configdef/config.test.bootstrap1.def +++ b/container-di/src/test/vespa-configdef/config.test.bootstrap1.def diff --git a/container-core/src/test/vespa-configdef/config.test.bootstrap2.def b/container-di/src/test/vespa-configdef/config.test.bootstrap2.def index b4fbffd8ae6..b4fbffd8ae6 100644 --- a/container-core/src/test/vespa-configdef/config.test.bootstrap2.def +++ b/container-di/src/test/vespa-configdef/config.test.bootstrap2.def diff --git a/container-core/src/test/vespa-configdef/config.test.components1.def b/container-di/src/test/vespa-configdef/config.test.components1.def index bdee16d99ea..bdee16d99ea 100644 --- a/container-core/src/test/vespa-configdef/config.test.components1.def +++ b/container-di/src/test/vespa-configdef/config.test.components1.def diff --git a/container-core/src/test/vespa-configdef/config.test.test.def b/container-di/src/test/vespa-configdef/config.test.test.def index d3e0ed17748..d3e0ed17748 100644 --- a/container-core/src/test/vespa-configdef/config.test.test.def +++ b/container-di/src/test/vespa-configdef/config.test.test.def diff --git a/container-core/src/test/vespa-configdef/config.test.test2.def b/container-di/src/test/vespa-configdef/config.test.test2.def index d3e0ed17748..d3e0ed17748 100644 --- a/container-core/src/test/vespa-configdef/config.test.test2.def +++ b/container-di/src/test/vespa-configdef/config.test.test2.def diff --git a/container-core/src/test/vespa-configdef/config.test.thread-pool.def b/container-di/src/test/vespa-configdef/config.test.thread-pool.def index 9e6b6694e84..9e6b6694e84 100644 --- a/container-core/src/test/vespa-configdef/config.test.thread-pool.def +++ b/container-di/src/test/vespa-configdef/config.test.thread-pool.def diff --git a/container-disc/pom.xml b/container-disc/pom.xml index 92207802ed5..a78657b7f09 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -56,6 +56,7 @@ <groupId>com.yahoo.vespa</groupId> <artifactId>component</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> @@ -166,6 +167,7 @@ <buildLegacyVespaPlatformBundle>true</buildLegacyVespaPlatformBundle> <discPreInstallBundle> <!-- Vespa bundles --> + component-jar-with-dependencies.jar, configgen.jar, config-bundle-jar-with-dependencies.jar, configdefinitions-jar-with-dependencies.jar, @@ -182,6 +184,7 @@ security-utils-jar-with-dependencies.jar, simplemetrics-jar-with-dependencies.jar, defaults-jar-with-dependencies.jar, + component-jar-with-dependencies.jar, zkfacade-jar-with-dependencies.jar, zookeeper-server-jar-with-dependencies.jar, <!-- Jetty --> diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 8f24b5edcb7..e94e2a46bba 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -38,7 +38,7 @@ </dependency> <dependency> <groupId>com.yahoo.vespa</groupId> - <artifactId>container-core</artifactId> + <artifactId>container-di</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index adaf64a0a03..f98607015f9 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -60,6 +60,12 @@ </dependency> <dependency> <groupId>com.yahoo.vespa</groupId> + <artifactId>container-di</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> <artifactId>jdisc_core</artifactId> <version>${project.version}</version> <scope>provided</scope> diff --git a/dist/vespa.spec b/dist/vespa.spec index bd7dcde21bd..3707d4afb9c 100644 --- a/dist/vespa.spec +++ b/dist/vespa.spec @@ -625,6 +625,7 @@ fi %{_prefix}/lib/jars/aopalliance-repackaged-*.jar %{_prefix}/lib/jars/bcpkix-jdk15on-*.jar %{_prefix}/lib/jars/bcprov-jdk15on-*.jar +%{_prefix}/lib/jars/component-jar-with-dependencies.jar %{_prefix}/lib/jars/config-bundle-jar-with-dependencies.jar %{_prefix}/lib/jars/configdefinitions-jar-with-dependencies.jar %{_prefix}/lib/jars/configgen.jar diff --git a/metrics-proxy/pom.xml b/metrics-proxy/pom.xml index 83d9a3424db..928179a6124 100644 --- a/metrics-proxy/pom.xml +++ b/metrics-proxy/pom.xml @@ -65,6 +65,12 @@ <scope>provided</scope> </dependency> <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>container-di</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> <!-- Not directly used in this module, but needed to get Import-Packages for JDK packages it exports. --> <groupId>com.yahoo.vespa</groupId> <artifactId>jdisc_core</artifactId> diff --git a/metrics/pom.xml b/metrics/pom.xml index a021454a049..4121467985c 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -8,14 +8,45 @@ <version>7-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> + <groupId>com.yahoo.vespa</groupId> <artifactId>metrics</artifactId> <packaging>jar</packaging> <version>7-SNAPSHOT</version> <name>metrics</name> + <description></description> <dependencies> <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>vespajlib</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>config-bundle</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>jdisc_core</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>container-di</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> <groupId>com.yahoo.vespa</groupId> - <artifactId>config-lib</artifactId> + <artifactId>container-core</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> @@ -56,6 +56,7 @@ <module>container-dependencies-enforcer</module> <module>container-dependency-versions</module> <module>container-dev</module> + <module>container-di</module> <module>container-disc</module> <module>container-documentapi</module> <module>container-integration-test</module> diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index 3e27ee4ffa3..6ca02febefd 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -49,6 +49,12 @@ </dependency> <dependency> <groupId>com.yahoo.vespa</groupId> + <artifactId>container-di</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.yahoo.vespa</groupId> <artifactId>container-core</artifactId> <version>${project.version}</version> <scope>provided</scope> |