summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--annotations/pom.xml1
-rw-r--r--application-deploy-plugin/pom.xml1
-rw-r--r--application-model/pom.xml1
-rw-r--r--application-preprocessor/pom.xml1
-rw-r--r--application/pom.xml1
-rw-r--r--athenz-identity-provider-service/pom.xml1
-rwxr-xr-xbootstrap.sh10
-rw-r--r--bundle-plugin-test/pom.xml1
-rw-r--r--bundle-plugin/pom.xml1
-rwxr-xr-xchain/pom.xml1
-rw-r--r--clustercontroller-apps/pom.xml1
-rw-r--r--clustercontroller-apputil/pom.xml1
-rw-r--r--clustercontroller-core/pom.xml1
-rw-r--r--clustercontroller-standalone/pom.xml1
-rw-r--r--clustercontroller-utils/pom.xml1
-rwxr-xr-xcomponent/pom.xml1
-rw-r--r--config-application-package/pom.xml1
-rw-r--r--config-bundle/pom.xml1
-rw-r--r--config-class-plugin/pom.xml1
-rw-r--r--config-lib/pom.xml1
-rw-r--r--config-model-api/pom.xml1
-rw-r--r--config-model-fat/pom.xml1
-rw-r--r--config-model/pom.xml1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java44
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java6
-rw-r--r--config-model/src/main/resources/schema/admin.rnc1
-rw-r--r--config-model/src/main/resources/schema/containercluster.rnc1
-rw-r--r--config-model/src/test/cfg/application/invalid_legacy_user_config/configs/qr-searchers.cfg5
-rw-r--r--config-model/src/test/cfg/application/invalid_legacy_user_config/services.xml10
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java55
-rw-r--r--config-model/src/test/schema-test-files/services.xml1
-rw-r--r--config-provisioning/pom.xml1
-rw-r--r--config-proxy/pom.xml1
-rwxr-xr-xconfig/pom.xml1
-rw-r--r--configdefinitions/pom.xml1
-rw-r--r--configgen/pom.xml1
-rw-r--r--configserver/pom.xml1
-rw-r--r--container-accesslogging/pom.xml1
-rw-r--r--container-core/pom.xml1
-rw-r--r--container-dependencies-enforcer/pom.xml45
-rw-r--r--container-dependency-versions/pom.xml369
-rw-r--r--container-dev/pom.xml1
-rw-r--r--container-di/pom.xml1
-rw-r--r--container-disc/pom.xml1
-rw-r--r--container-jersey2/pom.xml1
-rw-r--r--container-messagebus/pom.xml1
-rw-r--r--container-search-and-docproc/pom.xml1
-rw-r--r--container-search/pom.xml1
-rw-r--r--container-test-jars/pom.xml1
-rw-r--r--container-test/pom.xml1
-rw-r--r--container/pom.xml1
-rw-r--r--controller-api/pom.xml1
-rw-r--r--controller-server/pom.xml1
-rw-r--r--defaults/pom.xml7
-rw-r--r--docker-api/pom.xml1
-rw-r--r--docproc/pom.xml1
-rw-r--r--docprocs/pom.xml1
-rw-r--r--document/pom.xml1
-rw-r--r--documentapi/pom.xml1
-rw-r--r--documentgen-test/pom.xml1
-rw-r--r--fileacquirer/pom.xml1
-rw-r--r--filedistribution/pom.xml3
-rw-r--r--filedistribution_test/pom.xml1
-rw-r--r--filedistributionmanager/pom.xml1
-rw-r--r--fsa/pom.xml1
-rw-r--r--indexinglanguage/pom.xml1
-rw-r--r--jaxrs_client_utils/pom.xml1
-rw-r--r--jaxrs_utils/pom.xml1
-rw-r--r--jdisc_core/pom.xml1
-rw-r--r--jdisc_core_test/pom.xml1
-rw-r--r--jdisc_http_service/pom.xml1
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java89
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreConfigurator.java40
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreContext.java54
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreConfigurator.java14
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreContext.java16
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/guiceModules/ConnectorFactoryRegistryModule.java5
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactoryTest.java5
-rw-r--r--jdisc_jetty/pom.xml1
-rw-r--r--jdisc_messagebus_service/pom.xml1
-rw-r--r--jrt/pom.xml1
-rw-r--r--linguistics/pom.xml2
-rw-r--r--logd/pom.xml1
-rw-r--r--logserver/pom.xml1
-rw-r--r--maven-plugins/pom.xml1
-rw-r--r--messagebus-disc/pom.xml1
-rw-r--r--messagebus/pom.xml1
-rw-r--r--metrics/pom.xml1
-rw-r--r--node-admin/pom.xml1
-rw-r--r--node-maintainer/pom.xml1
-rw-r--r--node-repository/pom.xml1
-rw-r--r--orchestrator-restapi/pom.xml1
-rw-r--r--orchestrator/pom.xml1
-rw-r--r--parent/pom.xml758
-rw-r--r--pom.xml942
-rw-r--r--predicate-search-core/pom.xml1
-rw-r--r--predicate-search/pom.xml1
-rw-r--r--processing/pom.xml1
-rwxr-xr-xprovided-dependencies/pom.xml1
-rw-r--r--searchcore/pom.xml1
-rw-r--r--searchlib/pom.xml1
-rw-r--r--searchsummary/pom.xml1
-rw-r--r--service-monitor/pom.xml2
-rw-r--r--serviceview/pom.xml1
-rw-r--r--simplemetrics/pom.xml1
-rw-r--r--socket_test/pom.xml1
-rw-r--r--standalone-container/pom.xml1
-rw-r--r--statistics/pom.xml1
-rw-r--r--storage/pom.xml1
-rw-r--r--testutil/pom.xml2
-rw-r--r--vdslib/pom.xml1
-rw-r--r--vespa-application-maven-plugin/pom.xml1
-rw-r--r--vespa-documentgen-plugin/pom.xml1
-rw-r--r--vespa-hadoop/pom.xml1
-rw-r--r--vespa-http-client/pom.xml1
-rw-r--r--vespa_feed_perf/pom.xml1
-rw-r--r--vespa_jersey2/pom.xml1
-rw-r--r--vespaclient-container-plugin/pom.xml1
-rw-r--r--vespaclient-core/pom.xml1
-rw-r--r--vespaclient-java/pom.xml1
-rw-r--r--vespajlib/pom.xml1
-rw-r--r--vespalog/pom.xml1
-rw-r--r--vsm/pom.xml1
-rw-r--r--yolean/pom.xml1
-rw-r--r--zkfacade/pom.xml1
125 files changed, 1515 insertions, 1071 deletions
diff --git a/annotations/pom.xml b/annotations/pom.xml
index 146eb5e9be2..78f65b6d2b7 100644
--- a/annotations/pom.xml
+++ b/annotations/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>annotations</artifactId>
<packaging>jar</packaging>
diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml
index 3cae7cf7831..d402257fc7c 100644
--- a/application-deploy-plugin/pom.xml
+++ b/application-deploy-plugin/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>application-deploy-plugin</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/application-model/pom.xml b/application-model/pom.xml
index 13a2d3ea49b..5ea1ef7cd3b 100644
--- a/application-model/pom.xml
+++ b/application-model/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>application-model</artifactId>
<packaging>container-plugin</packaging>
diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml
index 4fa319a881a..22fd1688957 100644
--- a/application-preprocessor/pom.xml
+++ b/application-preprocessor/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>application-preprocessor</artifactId>
<packaging>jar</packaging>
diff --git a/application/pom.xml b/application/pom.xml
index 17e9ece3543..5445d57bf9f 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>application</artifactId>
<packaging>jar</packaging>
diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml
index c87589d7be2..82de5511238 100644
--- a/athenz-identity-provider-service/pom.xml
+++ b/athenz-identity-provider-service/pom.xml
@@ -11,6 +11,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<dependencies>
<!-- COMPILE -->
diff --git a/bootstrap.sh b/bootstrap.sh
index 075da74b7c7..b71af73c529 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -44,8 +44,16 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map
# The 'default' mode also builds some modules needed by C++ code.
# The 'full' mode also builds modules needed by C++ tests.
-# must install parent pom first:
+# must install parent poms first:
echo "Downloading all dependencies. This may take a few minutes with an empty Maven cache."
+(
+ cd container-dependency-versions
+ mvn_install
+)
+(
+ cd parent
+ mvn_install
+)
mvn_install -N
# and build plugins first:
diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml
index 8d8bf48cc07..b52f52b9b87 100644
--- a/bundle-plugin-test/pom.xml
+++ b/bundle-plugin-test/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa</groupId>
<artifactId>bundle-plugin-test</artifactId>
diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml
index 02f0ed2ccf5..d92df4eb78f 100644
--- a/bundle-plugin/pom.xml
+++ b/bundle-plugin/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>bundle-plugin</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/chain/pom.xml b/chain/pom.xml
index a3096d37748..da6cdd37ce4 100755
--- a/chain/pom.xml
+++ b/chain/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>chain</artifactId>
<packaging>jar</packaging>
diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml
index 26f466eb208..e882a2ebd79 100644
--- a/clustercontroller-apps/pom.xml
+++ b/clustercontroller-apps/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>clustercontroller-apps</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml
index 68adc82596f..b2657840d7a 100644
--- a/clustercontroller-apputil/pom.xml
+++ b/clustercontroller-apputil/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>clustercontroller-apputil</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml
index 499dee0d1de..059da070f3e 100644
--- a/clustercontroller-core/pom.xml
+++ b/clustercontroller-core/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>clustercontroller-core</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml
index f51555a92b6..2c3d77692bc 100644
--- a/clustercontroller-standalone/pom.xml
+++ b/clustercontroller-standalone/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>clustercontroller-standalone</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml
index f151a623ff9..16efc57bf7c 100644
--- a/clustercontroller-utils/pom.xml
+++ b/clustercontroller-utils/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>clustercontroller-utils</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/component/pom.xml b/component/pom.xml
index 92f852e4ba0..b9b0a76839a 100755
--- a/component/pom.xml
+++ b/component/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>component</artifactId>
<packaging>container-plugin</packaging>
diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml
index 90d4a2d9af6..5881401d940 100644
--- a/config-application-package/pom.xml
+++ b/config-application-package/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-application-package</artifactId>
<packaging>container-plugin</packaging>
diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml
index 7121756ce68..53c763e0097 100644
--- a/config-bundle/pom.xml
+++ b/config-bundle/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-bundle</artifactId>
<packaging>container-plugin</packaging>
diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml
index 5b3149a13da..b0345c5fa32 100644
--- a/config-class-plugin/pom.xml
+++ b/config-class-plugin/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-class-plugin</artifactId>
<packaging>maven-plugin</packaging>
diff --git a/config-lib/pom.xml b/config-lib/pom.xml
index 2ed993dd052..aa2a5cbad01 100644
--- a/config-lib/pom.xml
+++ b/config-lib/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-lib</artifactId>
<packaging>container-plugin</packaging>
diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml
index 6618612df31..dabe702d910 100644
--- a/config-model-api/pom.xml
+++ b/config-model-api/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-model-api</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml
index a4bbba0e6e8..2efed91e73d 100644
--- a/config-model-fat/pom.xml
+++ b/config-model-fat/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-model-fat</artifactId>
<packaging>bundle</packaging>
diff --git a/config-model/pom.xml b/config-model/pom.xml
index 0fdc09e1a61..2f85b559e5f 100644
--- a/config-model/pom.xml
+++ b/config-model/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-model</artifactId>
<packaging>container-plugin</packaging>
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java
index 22c42056b3f..33f5edded3c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/ConnectorFactory.java
@@ -5,6 +5,7 @@ import com.yahoo.component.ComponentId;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.jdisc.http.ConnectorConfig;
import com.yahoo.jdisc.http.ssl.DefaultSslKeyStoreConfigurator;
+import com.yahoo.jdisc.http.ssl.DefaultSslTrustStoreConfigurator;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.text.XML;
import com.yahoo.vespa.model.container.component.SimpleComponent;
@@ -24,10 +25,14 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig
private final Element legacyConfig;
public ConnectorFactory(String name, int listenPort) {
- this(name, listenPort, null, null);
+ this(name, listenPort, null, null, null);
}
- public ConnectorFactory(String name, int listenPort, Element legacyConfig, Element sslKeystoreConfigurator) {
+ public ConnectorFactory(String name,
+ int listenPort,
+ Element legacyConfig,
+ Element sslKeystoreConfigurator,
+ Element sslTruststoreConfigurator) {
super(new ComponentModel(
new BundleInstantiationSpecification(new ComponentId(name),
fromString("com.yahoo.jdisc.http.server.jetty.ConnectorFactory"),
@@ -35,9 +40,8 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig
this.name = name;
this.listenPort = listenPort;
this.legacyConfig = legacyConfig;
- SimpleComponent sslKeyStoreConfigurator = getSslKeyStoreConfigurator(name, sslKeystoreConfigurator);
- addChild(sslKeyStoreConfigurator);
- inject(sslKeyStoreConfigurator);
+ addSslKeyStoreConfigurator(name, sslKeystoreConfigurator);
+ addSslTrustStoreConfigurator(name, sslTruststoreConfigurator);
}
@Override
@@ -149,16 +153,30 @@ public class ConnectorFactory extends SimpleComponent implements ConnectorConfig
}
}
- private static SimpleComponent getSslKeyStoreConfigurator(String name, Element sslKeystoreConfigurator) {
- String idSpec = "ssl-keystore-configurator@" + name;
- if (sslKeystoreConfigurator != null) {
- String className = sslKeystoreConfigurator.getAttribute("class");
- String bundleName = sslKeystoreConfigurator.getAttribute("bundle");
- return new SimpleComponent(new ComponentModel(idSpec, className, bundleName));
+ private void addSslKeyStoreConfigurator(String name, Element sslKeystoreConfigurator) {
+ addSslConfigurator("ssl-keystore-configurator@" + name,
+ DefaultSslKeyStoreConfigurator.class,
+ sslKeystoreConfigurator);
+ }
+
+ private void addSslTrustStoreConfigurator(String name, Element sslKeystoreConfigurator) {
+ addSslConfigurator("ssl-truststore-configurator@" + name,
+ DefaultSslTrustStoreConfigurator.class,
+ sslKeystoreConfigurator);
+ }
+
+ private void addSslConfigurator(String idSpec, Class<?> defaultImplementation, Element configuratorElement) {
+ SimpleComponent configuratorComponent;
+ if (configuratorElement != null) {
+ String className = configuratorElement.getAttribute("class");
+ String bundleName = configuratorElement.getAttribute("bundle");
+ configuratorComponent = new SimpleComponent(new ComponentModel(idSpec, className, bundleName));
} else {
- return new SimpleComponent(
- new ComponentModel(idSpec, DefaultSslKeyStoreConfigurator.class.getName(), "jdisc_http_service"));
+ configuratorComponent =
+ new SimpleComponent(new ComponentModel(idSpec, defaultImplementation.getName(), "jdisc_http_service"));
}
+ addChild(configuratorComponent);
+ inject(configuratorComponent);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java
index f2012a609a7..f88c091cd37 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyConnectorBuilder.java
@@ -12,8 +12,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
/**
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
- * @since 5.21.0
+ * @author Einar M R Rosenvinge
*/
public class JettyConnectorBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ConnectorFactory> {
private static final Logger log = Logger.getLogger(JettyConnectorBuilder.class.getName());
@@ -34,7 +33,8 @@ public class JettyConnectorBuilder extends VespaDomBuilder.DomConfigProducerBuil
}
}
Element sslKeystoreConfigurator = XML.getChild(serverSpec, "ssl-keystore-configurator");
- return new ConnectorFactory(name, port, legacyServerConfig, sslKeystoreConfigurator);
+ Element sslTruststoreConfigurator = XML.getChild(serverSpec, "ssl-truststore-configurator");
+ return new ConnectorFactory(name, port, legacyServerConfig, sslKeystoreConfigurator, sslTruststoreConfigurator);
}
}
diff --git a/config-model/src/main/resources/schema/admin.rnc b/config-model/src/main/resources/schema/admin.rnc
index f787335d735..486f1e367e9 100644
--- a/config-model/src/main/resources/schema/admin.rnc
+++ b/config-model/src/main/resources/schema/admin.rnc
@@ -81,7 +81,6 @@ LogServer = element logserver {
FileDistribution = element filedistribution {
element uploadbitrate { xsd:string { pattern = "\d+(\.\d*)?\s*[kmgKMG]?" } }? &
element downloadbitrate { xsd:string { pattern = "\d+(\.\d*)?\s*[kmgKMG]?" } }? &
- element disabled { xsd:boolean }? & # Nov. 2017: Temporary, should not be documented, can be removed as soon as no config model is using it
element disableFiledistributor { xsd:boolean }? # Nov. 2017: Temporary, should not be documented
}
diff --git a/config-model/src/main/resources/schema/containercluster.rnc b/config-model/src/main/resources/schema/containercluster.rnc
index 6a90bef7bb2..95ac198adc4 100644
--- a/config-model/src/main/resources/schema/containercluster.rnc
+++ b/config-model/src/main/resources/schema/containercluster.rnc
@@ -62,6 +62,7 @@ HttpServer = element server {
attribute port { xsd:nonNegativeInteger } &
ComponentId &
element ssl-keystore-configurator { BundleSpec }? & # FOR INTERNAL USE ONLY - SUBJECT TO CHANGE
+ element ssl-truststore-configurator { BundleSpec }? & # FOR INTERNAL USE ONLY - SUBJECT TO CHANGE
GenericConfig*
}
diff --git a/config-model/src/test/cfg/application/invalid_legacy_user_config/configs/qr-searchers.cfg b/config-model/src/test/cfg/application/invalid_legacy_user_config/configs/qr-searchers.cfg
deleted file mode 100644
index 07538a1dce2..00000000000
--- a/config-model/src/test/cfg/application/invalid_legacy_user_config/configs/qr-searchers.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-builtin[StemmingSearcher].enabled false
-builtin[NoRankingSearcher].enabled false
-tag.bold.open "^_"
-tag.bold.close "^_"
-tag.separator " ... "
diff --git a/config-model/src/test/cfg/application/invalid_legacy_user_config/services.xml b/config-model/src/test/cfg/application/invalid_legacy_user_config/services.xml
deleted file mode 100644
index 9a13d936e46..00000000000
--- a/config-model/src/test/cfg/application/invalid_legacy_user_config/services.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
-<services version="1.0">
-
-
- <admin version="2.0">
- <adminserver hostalias="node1" />
- </admin>
-
-</services>
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
index 1e24b055095..54c4aabf44c 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
@@ -7,6 +7,7 @@ import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.container.jdisc.FilterBindingsProvider;
import com.yahoo.jdisc.http.ConnectorConfig;
import com.yahoo.jdisc.http.ssl.DefaultSslKeyStoreConfigurator;
+import com.yahoo.jdisc.http.ssl.DefaultSslTrustStoreConfigurator;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.SimpleComponent;
import com.yahoo.vespa.model.container.http.ConnectorFactory;
@@ -16,7 +17,9 @@ import org.w3c.dom.Element;
import org.xml.sax.SAXException;
import java.io.IOException;
+import java.util.Arrays;
import java.util.List;
+import java.util.Set;
import static com.yahoo.jdisc.http.ConnectorConfig.Ssl.KeyStoreType;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -28,7 +31,6 @@ import static org.junit.Assert.assertThat;
/**
* @author einarmr
- * @since 5.15
*/
public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBase {
@@ -190,12 +192,13 @@ public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBas
}
@Test
- public void ssl_keystore_configurator_can_be_overriden() throws IOException, SAXException {
+ public void ssl_keystore_and_truststore_configurator_can_be_overriden() throws IOException, SAXException {
Element clusterElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0' jetty='true'>",
" <http>",
" <server port='9000' id='foo'>",
" <ssl-keystore-configurator class='com.yahoo.MySslKeyStoreConfigurator' bundle='mybundle'/>",
+ " <ssl-truststore-configurator class='com.yahoo.MySslTrustStoreConfigurator' bundle='mybundle'/>",
" </server>",
" <server port='9001' id='bar'/>",
" </http>",
@@ -204,27 +207,47 @@ public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBas
createModel(root, clusterElem);
ContainerCluster cluster = (ContainerCluster) root.getChildren().get("default");
List<ConnectorFactory> connectorFactories = cluster.getChildrenByTypeRecursive(ConnectorFactory.class);
-
{
ConnectorFactory firstConnector = connectorFactories.get(0);
- assertThat(firstConnector.getInjectedComponentIds(), hasItem("ssl-keystore-configurator@foo"));
- assertThat(firstConnector.getInjectedComponentIds().size(), equalTo(1));
- SimpleComponent sslKeystoreConfigurator = firstConnector.getChildrenByTypeRecursive(SimpleComponent.class).get(0);
- BundleInstantiationSpecification spec = sslKeystoreConfigurator.model.bundleInstantiationSpec;
- assertThat(spec.classId.toString(), is("com.yahoo.MySslKeyStoreConfigurator"));
- assertThat(spec.bundle.toString(), is("mybundle"));
+ assertConnectorHasInjectedComponents(firstConnector, "ssl-keystore-configurator@foo", "ssl-truststore-configurator@foo");
+ assertComponentHasClassNameAndBundle(getChildComponent(firstConnector, 0),
+ "com.yahoo.MySslKeyStoreConfigurator",
+ "mybundle");
+ assertComponentHasClassNameAndBundle(getChildComponent(firstConnector, 1),
+ "com.yahoo.MySslTrustStoreConfigurator",
+ "mybundle");
}
{
- ConnectorFactory secondFactory = connectorFactories.get(1);
- assertThat(secondFactory.getInjectedComponentIds(), hasItem("ssl-keystore-configurator@bar"));
- assertThat(secondFactory.getInjectedComponentIds().size(), equalTo(1));
- SimpleComponent sslKeystoreConfigurator = secondFactory.getChildrenByTypeRecursive(SimpleComponent.class).get(0);
- BundleInstantiationSpecification spec = sslKeystoreConfigurator.model.bundleInstantiationSpec;
- assertThat(spec.classId.toString(), is(DefaultSslKeyStoreConfigurator.class.getName()));
- assertThat(spec.bundle.toString(), is("jdisc_http_service"));
+ ConnectorFactory secondConnector = connectorFactories.get(1);
+ assertConnectorHasInjectedComponents(secondConnector, "ssl-keystore-configurator@bar", "ssl-truststore-configurator@bar");
+ assertComponentHasClassNameAndBundle(getChildComponent(secondConnector, 0),
+ DefaultSslKeyStoreConfigurator.class.getName(),
+ "jdisc_http_service");
+ assertComponentHasClassNameAndBundle(getChildComponent(secondConnector, 1),
+ DefaultSslTrustStoreConfigurator.class.getName(),
+ "jdisc_http_service");
}
}
+ private static void assertConnectorHasInjectedComponents(ConnectorFactory connectorFactory, String... componentNames) {
+ Set<String> injectedComponentIds = connectorFactory.getInjectedComponentIds();
+ assertThat(injectedComponentIds.size(), equalTo(componentNames.length));
+ Arrays.stream(componentNames)
+ .forEach(name -> assertThat(injectedComponentIds, hasItem(name)));
+ }
+
+ private static SimpleComponent getChildComponent(ConnectorFactory connectorFactory, int index) {
+ return connectorFactory.getChildrenByTypeRecursive(SimpleComponent.class).get(index);
+ }
+
+ private static void assertComponentHasClassNameAndBundle(SimpleComponent simpleComponent,
+ String className,
+ String bundleName) {
+ BundleInstantiationSpecification spec = simpleComponent.model.bundleInstantiationSpec;
+ assertThat(spec.classId.toString(), is(className));
+ assertThat(spec.bundle.toString(), is(bundleName));
+ }
+
private void assertJettyServerInConfig() {
ContainerCluster cluster = (ContainerCluster) root.getChildren().get("default");
List<JettyHttpServer> jettyServers = cluster.getChildrenByTypeRecursive(JettyHttpServer.class);
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index a02346193cc..af316c2e3a7 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -108,6 +108,7 @@
<server port="4080" id="myServer">
<ssl-keystore-configurator class="com.yahoo.MySslKeyStoreConfigurator" bundle="mybundle" />
+ <ssl-truststore-configurator class="com.yahoo.MySslTrustStoreConfigurator" bundle="mybundle" />
</server>
<server port="4081" id="anotherServer">
<config name="container.jdisc.config.http-server">
diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml
index ebe7d460989..db804606290 100644
--- a/config-provisioning/pom.xml
+++ b/config-provisioning/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa</groupId>
<artifactId>config-provisioning</artifactId>
diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml
index 0aadb1bbb12..ea51d5089ca 100644
--- a/config-proxy/pom.xml
+++ b/config-proxy/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config-proxy</artifactId>
<packaging>jar</packaging>
diff --git a/config/pom.xml b/config/pom.xml
index f73c5b7bfd8..0f7ab6720c0 100755
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>config</artifactId>
<packaging>container-plugin</packaging>
diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml
index 92980a18899..5a754c100fa 100644
--- a/configdefinitions/pom.xml
+++ b/configdefinitions/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>configdefinitions</artifactId>
<packaging>container-plugin</packaging>
diff --git a/configgen/pom.xml b/configgen/pom.xml
index 6e550ec7321..2175fe6cc87 100644
--- a/configgen/pom.xml
+++ b/configgen/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>configgen</artifactId>
<packaging>jar</packaging>
diff --git a/configserver/pom.xml b/configserver/pom.xml
index 30d92dc7650..288a52eb9d8 100644
--- a/configserver/pom.xml
+++ b/configserver/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>configserver</artifactId>
<packaging>container-plugin</packaging>
diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml
index 45d7b4a2ed2..0c352818870 100644
--- a/container-accesslogging/pom.xml
+++ b/container-accesslogging/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-accesslogging</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-core/pom.xml b/container-core/pom.xml
index c608f35f26c..20e8a11a9fd 100644
--- a/container-core/pom.xml
+++ b/container-core/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-core</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml
index 61495384744..3b5377ee5d8 100644
--- a/container-dependencies-enforcer/pom.xml
+++ b/container-dependencies-enforcer/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-dependencies-enforcer</artifactId>
@@ -81,36 +82,36 @@
<include>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:[2.5.4, ${jackson2.version}]:jar:provided</include>
<include>com.fasterxml.jackson.module:jackson-module-jaxb-annotations:[2.5.4, ${jackson2.version}]:jar:provided</include>
- <include>com.google.code.findbugs:annotations:[1.3.9]:jar:provided</include>
- <include>com.google.code.findbugs:jsr305:[1.3.9]:jar:provided</include>
- <include>com.google.guava:guava:[18.0]:jar:provided</include>
- <include>com.google.inject.extensions:guice-assistedinject:[3.0]:jar:provided</include>
- <include>com.google.inject.extensions:guice-multibindings:[3.0]:jar:provided</include>
- <include>com.google.inject:guice:[3.0]:jar:provided:no_aop</include>
+ <include>com.google.code.findbugs:annotations:[${findbugs.version}]:jar:provided</include>
+ <include>com.google.code.findbugs:jsr305:[${findbugs.version}]:jar:provided</include>
+ <include>com.google.guava:guava:[${guava.version}]:jar:provided</include>
+ <include>com.google.inject.extensions:guice-assistedinject:[${guice.version}]:jar:provided</include>
+ <include>com.google.inject.extensions:guice-multibindings:[${guice.version}]:jar:provided</include>
+ <include>com.google.inject:guice:[${guice.version}]:jar:provided:no_aop</include>
<include>commons-codec:commons-codec:[1.4]:jar:provided</include>
<include>commons-daemon:commons-daemon:[1.0.3]:jar:provided</include>
<include>commons-logging:commons-logging:[1.1.1]:jar:provided</include>
- <include>javax.annotation:javax.annotation-api:[1.2]:jar:provided</include>
+ <include>javax.annotation:javax.annotation-api:[${javax.annotation-api.version}]:jar:provided</include>
<include>javax.inject:javax.inject:[1]:jar:provided</include>
<include>javax.servlet:javax.servlet-api:[3.1.0]:jar:provided</include>
- <include>javax.validation:validation-api:[1.1.0.Final]:jar:provided</include>
+ <include>javax.validation:validation-api:[${javax.validation-api.version}]:jar:provided</include>
<include>javax.ws.rs:javax.ws.rs-api:[${javax.ws.rs-api.version}]:jar:provided</include>
<include>net.jcip:jcip-annotations:[1.0]:jar:provided</include>
<include>net.jpountz.lz4:lz4:[1.3.0]:jar:provided</include>
- <include>org.apache.felix:org.apache.felix.framework:[4.2.1]:jar:provided</include>
+ <include>org.apache.felix:org.apache.felix.framework:[${felix.version}]:jar:provided</include>
<include>org.apache.felix:org.apache.felix.log:[1.0.1]:jar:provided</include>
- <include>org.apache.felix:org.apache.felix.main:[4.2.1]:jar:provided</include>
+ <include>org.apache.felix:org.apache.felix.main:[${felix.version}]:jar:provided</include>
<include>org.apache.httpcomponents:httpclient:[4.3.6]:jar:provided</include>
<include>org.apache.httpcomponents:httpcore:[4.3.3]:jar:provided</include>
<include>org.eclipse.jetty:jetty-http:[${jetty.version}]:jar:provided</include>
<include>org.eclipse.jetty:jetty-io:[${jetty.version}]:jar:provided</include>
<include>org.eclipse.jetty:jetty-util:[${jetty.version}]:jar:provided</include>
- <include>org.glassfish.hk2.external:aopalliance-repackaged:[2.5.0-b05]:jar:provided</include>
- <include>org.glassfish.hk2.external:javax.inject:[2.5.0-b05]:jar:provided</include>
- <include>org.glassfish.hk2:hk2-api:[2.5.0-b05]:jar:provided</include>
- <include>org.glassfish.hk2:hk2-locator:[2.5.0-b05]:jar:provided</include>
- <include>org.glassfish.hk2:hk2-utils:[2.5.0-b05]:jar:provided</include>
- <include>org.glassfish.hk2:osgi-resource-locator:[1.0.1]:jar:provided</include>
+ <include>org.glassfish.hk2.external:aopalliance-repackaged:[${hk2.version}]:jar:provided</include>
+ <include>org.glassfish.hk2.external:javax.inject:[${hk2.version}]:jar:provided</include>
+ <include>org.glassfish.hk2:hk2-api:[${hk2.version}]:jar:provided</include>
+ <include>org.glassfish.hk2:hk2-locator:[${hk2.version}]:jar:provided</include>
+ <include>org.glassfish.hk2:hk2-utils:[${hk2.version}]:jar:provided</include>
+ <include>org.glassfish.hk2:osgi-resource-locator:[${hk2.osgi-resource-locator.version}]:jar:provided</include>
<include>org.glassfish.jersey.bundles.repackaged:jersey-guava:[${jersey2.version}]:jar:provided</include>
<include>org.glassfish.jersey.containers:jersey-container-servlet-core:[${jersey2.version}]:jar:provided</include>
<include>org.glassfish.jersey.containers:jersey-container-servlet:[${jersey2.version}]:jar:provided</include>
@@ -122,13 +123,13 @@
<include>org.glassfish.jersey.media:jersey-media-jaxb:[${jersey2.version}]:jar:provided</include>
<include>org.glassfish.jersey.media:jersey-media-json-jackson:[${jersey2.version}]:jar:provided</include>
<include>org.glassfish.jersey.media:jersey-media-multipart:[${jersey2.version}]:jar:provided</include>
- <include>org.javassist:javassist:[3.20.0-GA]:jar:provided</include>
+ <include>org.javassist:javassist:[${javassist.version}]:jar:provided</include>
<include>org.json:json:[20090211]:jar:provided</include>
- <include>org.jvnet.mimepull:mimepull:[1.9.6]:jar:provided</include>
- <include>org.slf4j:jcl-over-slf4j:[1.7.5]:jar:provided</include>
- <include>org.slf4j:log4j-over-slf4j:[1.7.5]:jar:provided</include>
- <include>org.slf4j:slf4j-api:[1.7.5]:jar:provided</include>
- <include>org.slf4j:slf4j-jdk14:[1.7.5]:jar:provided</include>
+ <include>org.jvnet.mimepull:mimepull:[${mimepull.version}]:jar:provided</include>
+ <include>org.slf4j:jcl-over-slf4j:[${slf4j.version}]:jar:provided</include>
+ <include>org.slf4j:log4j-over-slf4j:[${slf4j.version}]:jar:provided</include>
+ <include>org.slf4j:slf4j-api:[${slf4j.version}]:jar:provided</include>
+ <include>org.slf4j:slf4j-jdk14:[${slf4j.version}]:jar:provided</include>
<include>xml-apis:xml-apis:[1.4.01]:jar:provided</include>
</includes>
</bannedDependencies>
diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml
new file mode 100644
index 00000000000..5007e91c916
--- /dev/null
+++ b/container-dependency-versions/pom.xml
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>container-dependency-versions</artifactId>
+ <packaging>pom</packaging>
+ <version>6-SNAPSHOT</version>
+ <description>Dependency versions for all Vespa maven projects.</description>
+ <url>https://github.com/vespa-engine</url>
+
+ <licenses>
+ <license>
+ <name>The Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+
+<!-- TODO: add pluginManagement for bundle-plugin and/or compiler-plugin?
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.6.1</version>
+ <configuration>
+ <source>1.8</source>
+ <target>1.8</target>
+ <optimize>true</optimize>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>bundle-plugin</artifactId>
+ <version>${project.version}</version>
+ <configuration>
+ <configGenVersion>${project.version}</configGenVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+-->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>aopalliance</groupId>
+ <artifactId>aopalliance</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jdk8</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-base</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-json-provider</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.module</groupId>
+ <artifactId>jackson-module-jaxb-annotations</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${findbugs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>${findbugs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guava.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-assistedinject</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject.extensions</groupId>
+ <artifactId>guice-multibindings</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>${guice.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>${guice.version}</version>
+ <classifier>no_aop</classifier>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-daemon</groupId>
+ <artifactId>commons-daemon</artifactId>
+ <version>1.0.3</version>
+ </dependency>
+ <dependency>
+ <!-- This version is exported by jdisc via jcl-over-slf4j. -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ <version>${javax.annotation-api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>${javax.validation-api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.ws.rs</groupId>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>${javax.ws.rs-api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.jcip</groupId>
+ <artifactId>jcip-annotations</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.jpountz.lz4</groupId>
+ <artifactId>lz4</artifactId>
+ <version>1.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>${felix.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.log</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.main</artifactId>
+ <version>${felix.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.3.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.3.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-http</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-io</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2.external</groupId>
+ <artifactId>aopalliance-repackaged</artifactId>
+ <version>${hk2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2.external</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>${hk2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2</groupId>
+ <artifactId>hk2-api</artifactId>
+ <version>${hk2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2</groupId>
+ <artifactId>hk2-locator</artifactId>
+ <version>${hk2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2</groupId>
+ <artifactId>hk2-utils</artifactId>
+ <version>${hk2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.hk2</groupId>
+ <artifactId>osgi-resource-locator</artifactId>
+ <version>${hk2.osgi-resource-locator.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
+ <artifactId>jersey-guava</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet-core</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.core</groupId>
+ <artifactId>jersey-client</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.core</groupId>
+ <artifactId>jersey-common</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.core</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.ext</groupId>
+ <artifactId>jersey-entity-filtering</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.ext</groupId>
+ <artifactId>jersey-proxy-client</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.media</groupId>
+ <artifactId>jersey-media-jaxb</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.media</groupId>
+ <artifactId>jersey-media-json-jackson</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.media</groupId>
+ <artifactId>jersey-media-multipart</artifactId>
+ <version>${jersey2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>${javassist.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ <version>20090211</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jvnet.mimepull</groupId>
+ <artifactId>mimepull</artifactId>
+ <version>${mimepull.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>1.4.01</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <properties>
+ <felix.version>4.2.1</felix.version>
+ <findbugs.version>1.3.9</findbugs.version>
+ <guava.version>18.0</guava.version>
+ <guice.version>3.0</guice.version>
+ <jetty.version>9.4.6.v20170531</jetty.version>
+ <slf4j.version>1.7.5</slf4j.version>
+
+ <!-- These must be kept in sync with version used by current jersey2.version. -->
+ <!-- MUST be updated each time jersey2 is upgraded! -->
+ <!-- Check versions by doing: ' ls -l vespa/vespa_jersey2/target/dependency' -->
+ <hk2.version>2.5.0-b05</hk2.version>
+ <hk2.osgi-resource-locator.version>1.0.1</hk2.osgi-resource-locator.version>
+ <jackson2.version>2.8.3</jackson2.version>
+ <javassist.version>3.20.0-GA</javassist.version>
+ <javax.annotation-api.version>1.2</javax.annotation-api.version>
+ <javax.validation-api.version>1.1.0.Final</javax.validation-api.version>
+ <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version>
+ <jersey2.version>2.23.2</jersey2.version>
+ <mimepull.version>1.9.6</mimepull.version>
+ </properties>
+
+</project>
diff --git a/container-dev/pom.xml b/container-dev/pom.xml
index d02ec233d96..80a109345ac 100644
--- a/container-dev/pom.xml
+++ b/container-dev/pom.xml
@@ -10,6 +10,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-dev</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-di/pom.xml b/container-di/pom.xml
index cf6a9e54daa..caa66193fca 100644
--- a/container-di/pom.xml
+++ b/container-di/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-di</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-disc/pom.xml b/container-disc/pom.xml
index ad86b3ffcff..dcdd2898c0b 100644
--- a/container-disc/pom.xml
+++ b/container-disc/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-disc</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml
index 8f579e49876..2e69d11c2d9 100644
--- a/container-jersey2/pom.xml
+++ b/container-jersey2/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-jersey2</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml
index 6058063daf3..7b9805ac9f4 100644
--- a/container-messagebus/pom.xml
+++ b/container-messagebus/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-messagebus</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml
index fb2794670a2..ea00ee1f98c 100644
--- a/container-search-and-docproc/pom.xml
+++ b/container-search-and-docproc/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-search-and-docproc</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container-search/pom.xml b/container-search/pom.xml
index f622567acde..8e41a576a27 100644
--- a/container-search/pom.xml
+++ b/container-search/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-search</artifactId>
<packaging>jar</packaging>
diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml
index dcde18fc8cf..431da458932 100644
--- a/container-test-jars/pom.xml
+++ b/container-test-jars/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa.container-test-jars</groupId>
<artifactId>container-test-jars</artifactId>
diff --git a/container-test/pom.xml b/container-test/pom.xml
index 7aaffed652e..b0ee9417381 100644
--- a/container-test/pom.xml
+++ b/container-test/pom.xml
@@ -11,6 +11,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container-test</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/container/pom.xml b/container/pom.xml
index 4726071db55..e340fed4d59 100644
--- a/container/pom.xml
+++ b/container/pom.xml
@@ -11,6 +11,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>container</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/controller-api/pom.xml b/controller-api/pom.xml
index 51666da0c03..97a239572f6 100644
--- a/controller-api/pom.xml
+++ b/controller-api/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>controller-api</artifactId>
<packaging>container-plugin</packaging>
diff --git a/controller-server/pom.xml b/controller-server/pom.xml
index 0cfcbc40601..16f639489c9 100644
--- a/controller-server/pom.xml
+++ b/controller-server/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>controller-server</artifactId>
<packaging>container-plugin</packaging>
diff --git a/defaults/pom.xml b/defaults/pom.xml
index 2f3f06780e7..1a184f46396 100644
--- a/defaults/pom.xml
+++ b/defaults/pom.xml
@@ -5,9 +5,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>parent</artifactId>
- <version>6-SNAPSHOT</version>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>parent</artifactId>
+ <version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa</groupId>
<artifactId>defaults</artifactId>
diff --git a/docker-api/pom.xml b/docker-api/pom.xml
index fc374a12dd2..20451b2d622 100644
--- a/docker-api/pom.xml
+++ b/docker-api/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>docker-api</artifactId>
diff --git a/docproc/pom.xml b/docproc/pom.xml
index 09635201e51..3a4f8f0c9c5 100644
--- a/docproc/pom.xml
+++ b/docproc/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>docproc</artifactId>
<packaging>jar</packaging>
diff --git a/docprocs/pom.xml b/docprocs/pom.xml
index 1b209ec39ee..01b3c343604 100644
--- a/docprocs/pom.xml
+++ b/docprocs/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>docprocs</artifactId>
<packaging>container-plugin</packaging>
diff --git a/document/pom.xml b/document/pom.xml
index 81b21487314..4dbe44e8439 100644
--- a/document/pom.xml
+++ b/document/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>document</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/documentapi/pom.xml b/documentapi/pom.xml
index c94337e8873..5c0c78304c1 100644
--- a/documentapi/pom.xml
+++ b/documentapi/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>documentapi</artifactId>
<packaging>container-plugin</packaging>
diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml
index 53b49cf1473..cf47027f13b 100644
--- a/documentgen-test/pom.xml
+++ b/documentgen-test/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>documentgen-test</artifactId>
<packaging>jar</packaging>
diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml
index eb040eddffb..f57d9d1ccc9 100644
--- a/fileacquirer/pom.xml
+++ b/fileacquirer/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>fileacquirer</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml
index 10b77b540e7..1b4fa06919a 100644
--- a/filedistribution/pom.xml
+++ b/filedistribution/pom.xml
@@ -9,7 +9,8 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
- </parent>
+ <relativePath>../parent</relativePath>
+ </parent>
<artifactId>filedistribution</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml
index c270eabb6cf..0feb32f7368 100644
--- a/filedistribution_test/pom.xml
+++ b/filedistribution_test/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>filedistribution_test</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml
index 9e3ecf95ecb..75785965f11 100644
--- a/filedistributionmanager/pom.xml
+++ b/filedistributionmanager/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>filedistributionmanager</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/fsa/pom.xml b/fsa/pom.xml
index a49845105cf..466637c8ba8 100644
--- a/fsa/pom.xml
+++ b/fsa/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>fsa</artifactId>
<packaging>container-plugin</packaging>
diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml
index 70cb9f6d8d0..af45256b884 100644
--- a/indexinglanguage/pom.xml
+++ b/indexinglanguage/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>indexinglanguage</artifactId>
<packaging>jar</packaging>
diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml
index 1c4bdde21a8..b9a97db8cb6 100644
--- a/jaxrs_client_utils/pom.xml
+++ b/jaxrs_client_utils/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jaxrs_client_utils</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml
index 249cbda992b..1aa505f99ed 100644
--- a/jaxrs_utils/pom.xml
+++ b/jaxrs_utils/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jaxrs_utils</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml
index fb8200eb610..85f44ae3188 100644
--- a/jdisc_core/pom.xml
+++ b/jdisc_core/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jdisc_core</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml
index 92e7a39fee0..c89c4300500 100644
--- a/jdisc_core_test/pom.xml
+++ b/jdisc_core_test/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa.jdisc_core</groupId>
<artifactId>parent</artifactId>
diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml
index d8c0b0bc29c..83e5d540b05 100644
--- a/jdisc_http_service/pom.xml
+++ b/jdisc_http_service/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jdisc_http_service</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java
index 8255e16e0ee..e4a21f2eb73 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactory.java
@@ -2,12 +2,19 @@
package com.yahoo.jdisc.http.server.jetty;
import com.google.inject.Inject;
+import com.yahoo.config.InnerNode;
import com.yahoo.jdisc.Metric;
import com.yahoo.jdisc.http.ConnectorConfig;
import com.yahoo.jdisc.http.ConnectorConfig.Ssl;
+import com.yahoo.jdisc.http.ConnectorConfig.Ssl.ExcludeCipherSuite;
+import com.yahoo.jdisc.http.ConnectorConfig.Ssl.ExcludeProtocol;
+import com.yahoo.jdisc.http.ConnectorConfig.Ssl.IncludeCipherSuite;
+import com.yahoo.jdisc.http.ConnectorConfig.Ssl.IncludeProtocol;
import com.yahoo.jdisc.http.SecretStore;
import com.yahoo.jdisc.http.ssl.DefaultSslKeyStoreContext;
+import com.yahoo.jdisc.http.ssl.DefaultSslTrustStoreContext;
import com.yahoo.jdisc.http.ssl.SslKeyStoreConfigurator;
+import com.yahoo.jdisc.http.ssl.SslTrustStoreConfigurator;
import org.eclipse.jetty.http.HttpVersion;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
@@ -18,6 +25,10 @@ import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import java.nio.channels.ServerSocketChannel;
+import java.util.List;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
/**
* @author Einar M R Rosenvinge
@@ -26,27 +37,16 @@ import java.nio.channels.ServerSocketChannel;
public class ConnectorFactory {
private final ConnectorConfig connectorConfig;
- private final SecretStore secretStore;
private final SslKeyStoreConfigurator sslKeyStoreConfigurator;
+ private final SslTrustStoreConfigurator sslTrustStoreConfigurator;
@Inject
public ConnectorFactory(ConnectorConfig connectorConfig,
- SecretStore secretStore,
- SslKeyStoreConfigurator sslKeyStoreConfigurator) {
+ SslKeyStoreConfigurator sslKeyStoreConfigurator,
+ SslTrustStoreConfigurator sslTrustStoreConfigurator) {
this.connectorConfig = connectorConfig;
- this.secretStore = secretStore;
this.sslKeyStoreConfigurator = sslKeyStoreConfigurator;
-
- if (connectorConfig.ssl().enabled())
- validateSslConfig(connectorConfig);
- }
-
- // TODO: can be removed when we have dedicated SSL config in services.xml
- private static void validateSslConfig(ConnectorConfig config) {
- ConnectorConfig.Ssl ssl = config.ssl();
- if (!ssl.trustStorePath().isEmpty() && ssl.useTrustStorePassword() && ssl.keyDbKey().isEmpty()) {
- throw new IllegalArgumentException("Missing password for JKS truststore");
- }
+ this.sslTrustStoreConfigurator = sslTrustStoreConfigurator;
}
public ConnectorConfig getConnectorConfig() {
@@ -93,13 +93,13 @@ public class ConnectorFactory {
return new HttpConnectionFactory(httpConfig);
}
- //TODO: does not support loading non-yahoo readable JKS key stores.
private SslConnectionFactory newSslConnectionFactory() {
Ssl sslConfig = connectorConfig.ssl();
SslContextFactory factory = new SslContextFactory();
sslKeyStoreConfigurator.configure(new DefaultSslKeyStoreContext(factory));
+ sslTrustStoreConfigurator.configure(new DefaultSslTrustStoreContext(factory));
switch (sslConfig.clientAuth()) {
case NEED_AUTH:
@@ -114,49 +114,28 @@ public class ConnectorFactory {
factory.setSecureRandomAlgorithm(sslConfig.prng());
}
- if (!sslConfig.excludeProtocol().isEmpty()) {
- String[] prots = new String[sslConfig.excludeProtocol().size()];
- for (int i = 0; i < prots.length; i++) {
- prots[i] = sslConfig.excludeProtocol(i).name();
- }
- factory.setExcludeProtocols(prots);
- }
- if (!sslConfig.includeProtocol().isEmpty()) {
- String[] prots = new String[sslConfig.includeProtocol().size()];
- for (int i = 0; i < prots.length; i++) {
- prots[i] = sslConfig.includeProtocol(i).name();
- }
- factory.setIncludeProtocols(prots);
- }
- if (!sslConfig.excludeCipherSuite().isEmpty()) {
- String[] ciphs = new String[sslConfig.excludeCipherSuite().size()];
- for (int i = 0; i < ciphs.length; i++) {
- ciphs[i] = sslConfig.excludeCipherSuite(i).name();
- }
- factory.setExcludeCipherSuites(ciphs);
-
- }
- if (!sslConfig.includeCipherSuite().isEmpty()) {
- String[] ciphs = new String[sslConfig.includeCipherSuite().size()];
- for (int i = 0; i < ciphs.length; i++) {
- ciphs[i] = sslConfig.includeCipherSuite(i).name();
- }
- factory.setIncludeCipherSuites(ciphs);
- }
-
- String keyDbPassword = sslConfig.keyDbKey();
-
- if (!sslConfig.trustStorePath().isEmpty()) {
- factory.setTrustStorePath(sslConfig.trustStorePath());
- factory.setTrustStoreType(sslConfig.trustStoreType().toString());
- if (sslConfig.useTrustStorePassword()) {
- factory.setTrustStorePassword(secretStore.getSecret(keyDbPassword));
- }
- }
+ setStringArrayParameter(
+ factory, sslConfig.excludeProtocol(), ExcludeProtocol::name, SslContextFactory::setExcludeProtocols);
+ setStringArrayParameter(
+ factory, sslConfig.includeProtocol(), IncludeProtocol::name, SslContextFactory::setIncludeProtocols);
+ setStringArrayParameter(
+ factory, sslConfig.excludeCipherSuite(), ExcludeCipherSuite::name, SslContextFactory::setExcludeCipherSuites);
+ setStringArrayParameter(
+ factory, sslConfig.includeCipherSuite(), IncludeCipherSuite::name, SslContextFactory::setIncludeCipherSuites);
factory.setKeyManagerFactoryAlgorithm(sslConfig.sslKeyManagerFactoryAlgorithm());
factory.setProtocol(sslConfig.protocol());
return new SslConnectionFactory(factory, HttpVersion.HTTP_1_1.asString());
}
+ private static <T extends InnerNode> void setStringArrayParameter(SslContextFactory sslContextFactory,
+ List<T> configValues,
+ Function<T, String> nameProperty,
+ BiConsumer<SslContextFactory, String[]> setter) {
+ if (!configValues.isEmpty()) {
+ String[] nameArray = configValues.stream().map(nameProperty).toArray(String[]::new);
+ setter.accept(sslContextFactory, nameArray);
+ }
+ }
+
}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreConfigurator.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreConfigurator.java
new file mode 100644
index 00000000000..8af21d48e9a
--- /dev/null
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreConfigurator.java
@@ -0,0 +1,40 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.ssl;
+
+import com.google.inject.Inject;
+import com.yahoo.jdisc.http.ConnectorConfig;
+import com.yahoo.jdisc.http.SecretStore;
+
+/**
+ * @author bjorncs
+ */
+public class DefaultSslTrustStoreConfigurator implements SslTrustStoreConfigurator {
+
+ private final SecretStore secretStore;
+ private final ConnectorConfig.Ssl config;
+
+ @Inject
+ public DefaultSslTrustStoreConfigurator(ConnectorConfig config, SecretStore secretStore) {
+ validateConfig(config.ssl());
+ this.secretStore = secretStore;
+ this.config = config.ssl();
+ }
+
+ @Override
+ public void configure(SslTrustStoreContext context) {
+ if (!config.enabled()) return;
+ String keyDbPassword = config.keyDbKey();
+ if (!config.trustStorePath().isEmpty()) {
+ String password = config.useTrustStorePassword() ? secretStore.getSecret(keyDbPassword) : null;
+ context.updateTrustStore(config.trustStorePath(), config.trustStoreType().toString(), password);
+ }
+ }
+
+ private static void validateConfig(ConnectorConfig.Ssl config) {
+ if (!config.enabled()) return;
+ if (!config.trustStorePath().isEmpty() && config.useTrustStorePassword() && config.keyDbKey().isEmpty()) {
+ throw new IllegalArgumentException("Missing password for JKS truststore");
+ }
+ }
+
+}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreContext.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreContext.java
new file mode 100644
index 00000000000..c2d91cca3ea
--- /dev/null
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/DefaultSslTrustStoreContext.java
@@ -0,0 +1,54 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.ssl;
+
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+
+import java.security.KeyStore;
+import java.util.function.Consumer;
+
+/**
+ * @author bjorncs
+ */
+public class DefaultSslTrustStoreContext implements SslTrustStoreContext {
+
+ private final SslContextFactory sslContextFactory;
+
+ public DefaultSslTrustStoreContext(SslContextFactory sslContextFactory) {
+ this.sslContextFactory = sslContextFactory;
+ }
+
+ @Override
+ public void updateTrustStore(KeyStore trustStore) {
+ updateTrustStore(trustStore, null);
+ }
+
+ @Override
+ public void updateTrustStore(KeyStore trustStore, String password) {
+ updateTrustStore(sslContextFactory -> {
+ sslContextFactory.setTrustStore(trustStore);
+ if (password != null) {
+ sslContextFactory.setTrustStorePassword(password);
+ }
+ });
+ }
+
+ @Override
+ public void updateTrustStore(String trustStorePath, String trustStoreType, String trustStorePassword) {
+ updateTrustStore(sslContextFactory -> {
+ sslContextFactory.setTrustStorePath(trustStorePath);
+ sslContextFactory.setTrustStoreType(trustStoreType);
+ if (trustStorePassword != null) {
+ sslContextFactory.setTrustStorePassword(trustStorePassword);
+ }
+ });
+ }
+
+ private void updateTrustStore(Consumer<SslContextFactory> reloader) {
+ try {
+ sslContextFactory.reload(reloader);
+ } catch (Exception e) {
+ throw new RuntimeException("Could not update truststore: " + e.getMessage(), e);
+ }
+ }
+
+}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreConfigurator.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreConfigurator.java
new file mode 100644
index 00000000000..de1119a5275
--- /dev/null
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreConfigurator.java
@@ -0,0 +1,14 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.ssl;
+
+/**
+ * An interface for an component that can configure an {@link SslTrustStoreContext}. The implementor can assume that
+ * the {@link SslTrustStoreContext} instance is thread-safe and be updated at any time
+ * during and after the call to{@link #configure(SslTrustStoreContext)}.
+ * Modifying the {@link SslKeyStoreContext} instance will trigger a hot reload of the truststore in JDisc.
+ *
+ * @author bjorncs
+ */
+public interface SslTrustStoreConfigurator {
+ void configure(SslTrustStoreContext context);
+}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreContext.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreContext.java
new file mode 100644
index 00000000000..fc8cf397b24
--- /dev/null
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/ssl/SslTrustStoreContext.java
@@ -0,0 +1,16 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc.http.ssl;
+
+import java.security.KeyStore;
+
+/**
+ * An interface to update the truststore in JDisc. Any update will trigger a hot reload and new connections will
+ * authenticated using the update truststore.
+ *
+ * @author bjorncs
+ */
+public interface SslTrustStoreContext {
+ void updateTrustStore(KeyStore trustStore);
+ void updateTrustStore(KeyStore trustStore, String password);
+ void updateTrustStore(String trustStorePath, String trustStoreType, String trustStorePassword);
+}
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/guiceModules/ConnectorFactoryRegistryModule.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/guiceModules/ConnectorFactoryRegistryModule.java
index 0d8f433cc39..6281907e083 100644
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/guiceModules/ConnectorFactoryRegistryModule.java
+++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/guiceModules/ConnectorFactoryRegistryModule.java
@@ -12,6 +12,7 @@ import com.yahoo.jdisc.http.SecretStore;
import com.yahoo.jdisc.http.server.jetty.ConnectorFactory;
import com.yahoo.jdisc.http.server.jetty.TestDrivers;
import com.yahoo.jdisc.http.ssl.DefaultSslKeyStoreConfigurator;
+import com.yahoo.jdisc.http.ssl.DefaultSslTrustStoreConfigurator;
/**
* Guice module for test ConnectorFactories
@@ -48,8 +49,8 @@ public class ConnectorFactoryRegistryModule implements Module {
public StaticKeyDbConnectorFactory(ConnectorConfig connectorConfig) {
super(connectorConfig,
- new MockSecretStore(),
- new DefaultSslKeyStoreConfigurator(connectorConfig, new MockSecretStore()));
+ new DefaultSslKeyStoreConfigurator(connectorConfig, new MockSecretStore()),
+ new DefaultSslTrustStoreConfigurator(connectorConfig, new MockSecretStore()));
}
}
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactoryTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactoryTest.java
index 781bc6a7b5f..103a317094b 100644
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactoryTest.java
+++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/ConnectorFactoryTest.java
@@ -5,6 +5,7 @@ import com.yahoo.jdisc.Metric;
import com.yahoo.jdisc.http.ConnectorConfig;
import com.yahoo.jdisc.http.SecretStore;
import com.yahoo.jdisc.http.ssl.DefaultSslKeyStoreConfigurator;
+import com.yahoo.jdisc.http.ssl.DefaultSslTrustStoreConfigurator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
@@ -107,7 +108,9 @@ public class ConnectorFactoryTest {
private static ConnectorFactory createConnectorFactory(ConnectorConfig config) {
ThrowingSecretStore secretStore = new ThrowingSecretStore();
- return new ConnectorFactory(config, secretStore, new DefaultSslKeyStoreConfigurator(config, secretStore));
+ return new ConnectorFactory(config,
+ new DefaultSslKeyStoreConfigurator(config, secretStore),
+ new DefaultSslTrustStoreConfigurator(config, secretStore));
}
private static class HelloWorldHandler extends AbstractHandler {
diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml
index 4e739aae8cc..b88751f1390 100644
--- a/jdisc_jetty/pom.xml
+++ b/jdisc_jetty/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jdisc_jetty</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml
index e9531a73861..f5741ad7ded 100644
--- a/jdisc_messagebus_service/pom.xml
+++ b/jdisc_messagebus_service/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jdisc_messagebus_service</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/jrt/pom.xml b/jrt/pom.xml
index 0d6be56fdab..b940e6c6cb0 100644
--- a/jrt/pom.xml
+++ b/jrt/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>jrt</artifactId>
<packaging>container-plugin</packaging>
diff --git a/linguistics/pom.xml b/linguistics/pom.xml
index 328742f483a..3b33e100d6f 100644
--- a/linguistics/pom.xml
+++ b/linguistics/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>linguistics</artifactId>
<packaging>container-plugin</packaging>
@@ -59,6 +60,7 @@
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>provided</scope>
+ <classifier>no_aop</classifier>
</dependency>
</dependencies>
<build>
diff --git a/logd/pom.xml b/logd/pom.xml
index e21931efc5a..962ae2f2d43 100644
--- a/logd/pom.xml
+++ b/logd/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>logd</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/logserver/pom.xml b/logserver/pom.xml
index 6acdd8ed1d7..6d714014d22 100644
--- a/logserver/pom.xml
+++ b/logserver/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>logserver</artifactId>
<packaging>jar</packaging>
diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml
index 2f7343e753c..41ff9c23af8 100644
--- a/maven-plugins/pom.xml
+++ b/maven-plugins/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa</groupId>
<artifactId>bundle-plugins</artifactId>
diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml
index 46158b0ca60..f2e001166b2 100644
--- a/messagebus-disc/pom.xml
+++ b/messagebus-disc/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>messagebus-disc</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/messagebus/pom.xml b/messagebus/pom.xml
index 7fb44787cdf..2c6b1c4fe46 100644
--- a/messagebus/pom.xml
+++ b/messagebus/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>messagebus</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/metrics/pom.xml b/metrics/pom.xml
index ec64d0d392c..fd7128db021 100644
--- a/metrics/pom.xml
+++ b/metrics/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<groupId>com.yahoo.vespa</groupId>
<artifactId>metrics</artifactId>
diff --git a/node-admin/pom.xml b/node-admin/pom.xml
index f7691cda3f7..607b71154b9 100644
--- a/node-admin/pom.xml
+++ b/node-admin/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>node-admin</artifactId>
diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml
index d56e12d92c6..4305778878e 100644
--- a/node-maintainer/pom.xml
+++ b/node-maintainer/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>node-maintainer</artifactId>
diff --git a/node-repository/pom.xml b/node-repository/pom.xml
index 09b0d3df3d9..714ca9a644c 100644
--- a/node-repository/pom.xml
+++ b/node-repository/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>node-repository</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml
index db823f3fb15..4629b69c01c 100644
--- a/orchestrator-restapi/pom.xml
+++ b/orchestrator-restapi/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>orchestrator-restapi</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml
index c50f9ddcb29..b770a767be6 100644
--- a/orchestrator/pom.xml
+++ b/orchestrator/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>orchestrator</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/parent/pom.xml b/parent/pom.xml
new file mode 100644
index 00000000000..0daf82efe6d
--- /dev/null
+++ b/parent/pom.xml
@@ -0,0 +1,758 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>parent</artifactId>
+ <packaging>pom</packaging>
+ <version>6-SNAPSHOT</version>
+ <name>parent</name>
+ <description>Parent artifact for all Vespa maven projects.</description>
+ <url>https://github.com/vespa-engine</url>
+
+ <parent>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>container-dependency-versions</artifactId>
+ <version>6-SNAPSHOT</version>
+ <relativePath>../container-dependency-versions</relativePath>
+ </parent>
+
+ <licenses>
+ <license>
+ <name>The Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>Vespa</name>
+ <url>https://github.com/vespa-engine</url>
+ </developer>
+ </developers>
+
+ <distributionManagement>
+ <repository>
+ <id>bintray-vespa-repo</id>
+ <url>https://api.bintray.com/maven/yahoo/maven/vespa;publish=1</url>
+ </repository>
+ </distributionManagement>
+
+ <repositories>
+ <!-- Required for Athenz libraries -->
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>bintray-yahoo-maven</id>
+ <name>bintray</name>
+ <url>https://yahoo.bintray.com/maven</url>
+ </repository>
+ </repositories>
+
+ <scm>
+ <connection>scm:git:git@github.com:vespa-engine/vespa.git</connection>
+ <developerConnection>scm:git:git@github.com:vespa-engine/vespa.git</developerConnection>
+ <url>git@github.com:vespa-engine/vespa.git</url>
+ </scm>
+
+ <build>
+ <finalName>${project.artifactId}</finalName>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>2.7</version>
+ </extension>
+ <extension>
+ <groupId>org.apache.maven.archetype</groupId>
+ <artifactId>archetype-packaging</artifactId>
+ <version>2.0</version>
+ </extension>
+ </extensions>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr3-maven-plugin</artifactId>
+ <version>${antlr.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.4.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.6.1</version>
+ <configuration>
+ <source>1.8</source>
+ <target>1.8</target>
+ <showWarnings>true</showWarnings>
+ <optimize>true</optimize>
+ <showDeprecation>false</showDeprecation>
+ <compilerArgs>
+ <arg>-Xlint:all</arg>
+ <arg>-Xlint:-serial</arg>
+ <arg>-Xlint:-try</arg>
+ <arg>-Xlint:-processing</arg>
+ <arg>-Xlint:-varargs</arg>
+ <arg>-Werror</arg>
+ </compilerArgs>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.10</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.5.2</version>
+ <configuration>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <additionalparam>-Xdoclint:${doclint} -Xdoclint:-missing</additionalparam>
+ </configuration>
+ <version>2.10.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>3.5</version>
+ <configuration>
+ <!-- see http://jira.codehaus.org/browse/MNG-5346 -->
+ <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+ </configuration>
+ <executions>
+ <execution>
+ <id>mojo-descriptor</id>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.7</version>
+ <configuration>
+ <escapeString>\</escapeString>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.1.2</version>
+ <configuration>
+ <includePom>true</includePom>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
+ <configuration>
+ <redirectTestOutputToFile>${test.hide}</redirectTestOutputToFile>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${surefire.version}</version>
+ <configuration>
+ <alwaysGenerateSurefireReport>false</alwaysGenerateSurefireReport>
+ <showSuccess>false</showSuccess>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.9.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.6.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>properties-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
+ <version>3.2.2</version>
+ <configuration>
+ <args>
+ <arg>-unchecked</arg>
+ <arg>-deprecation</arg>
+ <arg>-feature</arg>
+ <arg>-Xfatal-warnings</arg>
+ </args>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>bundle-plugin</artifactId>
+ <version>${project.version}</version>
+ <configuration>
+ <configGenVersion>${project.version}</configGenVersion>
+ <useCommonAssemblyIds>true</useCommonAssemblyIds>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>attach-sources</id>
+ <activation>
+ <property>
+ <name>!skipSources</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>generate-javadoc</id>
+ <activation>
+ <property>
+ <name>!skipJavadoc</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-javadoc</id>
+ <phase>package</phase>
+ <goals>
+ <goal>javadoc</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <additionalparam>-Xdoclint:${doclint} -Xdoclint:-missing</additionalparam>
+ <failOnError>${javadoc.failOnError}</failOnError>
+ <quiet>true</quiet>
+ <show>private</show>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>coverage</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <configuration>
+ <includePluginDependencies>true</includePluginDependencies>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>src/main/scala</source>
+ </sources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>add-test-source</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>src/test/scala</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>sign-artifacts</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>2.7</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.cverges.expect4j</groupId>
+ <artifactId>expect4j</artifactId>
+ <version>1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-compress</artifactId>
+ <version>1.11</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-exec</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
+ <groupId>io.airlift</groupId>
+ <artifactId>airline</artifactId>
+ <version>0.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>5.2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava-testlib</artifactId>
+ <version>18.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>2.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.jmockit</groupId>
+ <artifactId>jmockit</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.goldmansachs</groupId>
+ <artifactId>gs-collections</artifactId>
+ <version>6.1.0</version>
+ </dependency>
+ <dependency>
+ <!-- NOT available from jdisc runtime -->
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-xml-provider</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <!-- NOT available from jdisc runtime -->
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-xml</artifactId>
+ <version>${jackson2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.infradna.tool</groupId>
+ <artifactId>bridge-method-annotation</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-configuration</groupId>
+ <artifactId>commons-configuration</artifactId>
+ <version>1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>${commons-lang.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.5.6</version>
+ </dependency>
+ <!-- Explicitly included to get Zookeeper version 3.4.10,
+ can be excluded if you want the Zookeeper version
+ used by curator by default
+ -->
+ <dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <version>3.4.10</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.curator</groupId>
+ <artifactId>curator-recipes</artifactId>
+ <version>${curator.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.curator</groupId>
+ <artifactId>curator-test</artifactId>
+ <version>${curator.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.12</version>
+ </dependency>
+ <dependency>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr-runtime</artifactId>
+ <version>${antlr.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr4-runtime</artifactId>
+ <version>${antlr4.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.aries.spifly</groupId>
+ <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
+ <version>${aries.spifly.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>fluent-hc</artifactId>
+ <version>4.3.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpmime</artifactId>
+ <version>4.3.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>3.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>3.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>3.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
+ <version>3.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-junit4</artifactId>
+ <version>${surefire.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire-providers</artifactId>
+ <version>${surefire.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.cthul</groupId>
+ <artifactId>cthul-matchers</artifactId>
+ <version>1.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-continuation</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlets</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-jmx</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-all</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <version>1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>uk.co.datumedge</groupId>
+ <artifactId>hamcrest-json</artifactId>
+ <version>0.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hdrhistogram</groupId>
+ <artifactId>HdrHistogram</artifactId>
+ <version>2.1.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>4.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-library</artifactId>
+ <version>${scala.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+ <artifactId>scala-parser-combinators_${scala.major-version}</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+ <artifactId>scala-xml_${scala.major-version}</artifactId>
+ <version>1.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scalatest</groupId>
+ <artifactId>scalatest_${scala.major-version}</artifactId>
+ <version>2.2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>4.0.6.RELEASE</version>
+ </dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>6.10</version>
+ </dependency>
+ <dependency>
+ <groupId>org.twdata.maven</groupId>
+ <artifactId>mojo-executor</artifactId>
+ <version>2.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.spy</groupId>
+ <artifactId>spymemcached</artifactId>
+ <version>2.10.1</version>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.11.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcpkix-jdk15on</artifactId>
+ <version>${bouncycastle.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk15on</artifactId>
+ <version>${bouncycastle.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ <version>57.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.yahoo.athenz</groupId>
+ <artifactId>athenz-zms-java-client</artifactId>
+ <version>${athenz.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.yahoo.athenz</groupId>
+ <artifactId>athenz-zts-java-client</artifactId>
+ <version>${athenz.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <properties>
+ <antlr.version>3.5.2</antlr.version>
+ <antlr4.version>4.5</antlr4.version>
+ <aries.spifly.version>1.0.8</aries.spifly.version>
+ <aries.util.version>1.0.0</aries.util.version>
+ <asm-debug-all.version>5.0.3</asm-debug-all.version>
+ <!-- Athenz dependencies. Make sure these dependencies matches those in Vespa's internal repositories -->
+ <athenz.version>1.7.28</athenz.version>
+ <bouncycastle.version>1.58</bouncycastle.version>
+ <commons-lang.version>2.6</commons-lang.version>
+ <!-- WARNING: If you change curator version, you also need to update
+ zkfacade/src/main/java/org/apache/curator/**/package-info.java
+ using something like
+ find zkfacade/src/main/java/org/apache/curator -name package-info.java | \
+ xargs perl -pi -e 's/major = [0-9]+, minor = [0-9]+, micro = [0-9]+/major = 2, minor = 9, micro = 1/g'
+ -->
+ <curator.version>2.9.1</curator.version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <test.hide>true</test.hide>
+ <doclint>all</doclint>
+ <scala.major-version>2.11</scala.major-version>
+ <scala.version>${scala.major-version}.4</scala.version>
+ <surefire.version>2.19.1</surefire.version> <!-- NOTE bjorncs 15.06.2017: Version 2.20 has OoM issues -->
+ </properties>
+
+</project>
diff --git a/pom.xml b/pom.xml
index 2b7c1abc0d4..eb1f954ce13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,11 +3,10 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yahoo.vespa</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>vespa</artifactId>
<packaging>pom</packaging>
<version>6-SNAPSHOT</version>
- <name>parent</name>
- <description>Parent artifact for all Vespa maven projects.</description>
+ <description>Aggregator pom for vespa.</description>
<url>https://github.com/vespa-engine</url>
<licenses>
@@ -24,941 +23,6 @@
</developer>
</developers>
- <distributionManagement>
- <repository>
- <id>bintray-vespa-repo</id>
- <url>https://api.bintray.com/maven/yahoo/maven/vespa;publish=1</url>
- </repository>
- </distributionManagement>
-
- <repositories>
- <!-- Required for Athenz libraries -->
- <repository>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>bintray-yahoo-maven</id>
- <name>bintray</name>
- <url>https://yahoo.bintray.com/maven</url>
- </repository>
- </repositories>
-
- <scm>
- <connection>scm:git:git@github.com:vespa-engine/vespa.git</connection>
- <developerConnection>scm:git:git@github.com:vespa-engine/vespa.git</developerConnection>
- <url>git@github.com:vespa-engine/vespa.git</url>
- </scm>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>2.7</version>
- </extension>
- <extension>
- <groupId>org.apache.maven.archetype</groupId>
- <artifactId>archetype-packaging</artifactId>
- <version>2.0</version>
- </extension>
- </extensions>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.antlr</groupId>
- <artifactId>antlr3-maven-plugin</artifactId>
- <version>${antlr.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.4.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.6.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- <showWarnings>true</showWarnings>
- <optimize>true</optimize>
- <showDeprecation>false</showDeprecation>
- <compilerArgs>
- <arg>-Xlint:all</arg>
- <arg>-Xlint:-serial</arg>
- <arg>-Xlint:-try</arg>
- <arg>-Xlint:-processing</arg>
- <arg>-Xlint:-varargs</arg>
- <arg>-Werror</arg>
- </compilerArgs>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.10</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.2</version>
- <configuration>
- <updateReleaseInfo>true</updateReleaseInfo>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <additionalparam>-Xdoclint:${doclint} -Xdoclint:-missing</additionalparam>
- </configuration>
- <version>2.10.4</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>3.5</version>
- <configuration>
- <!-- see http://jira.codehaus.org/browse/MNG-5346 -->
- <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
- </configuration>
- <executions>
- <execution>
- <id>mojo-descriptor</id>
- <goals>
- <goal>descriptor</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <escapeString>\</escapeString>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.3</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.1.2</version>
- <configuration>
- <includePom>true</includePom>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <redirectTestOutputToFile>${test.hide}</redirectTestOutputToFile>
- <systemPropertyVariables>
- <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
- </systemPropertyVariables>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration>
- <alwaysGenerateSurefireReport>false</alwaysGenerateSurefireReport>
- <showSuccess>false</showSuccess>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.9.1</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.6.0</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javacc-maven-plugin</artifactId>
- <version>2.6</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>properties-maven-plugin</artifactId>
- <version>1.0.0</version>
- </plugin>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <args>
- <arg>-unchecked</arg>
- <arg>-deprecation</arg>
- <arg>-feature</arg>
- <arg>-Xfatal-warnings</arg>
- </args>
- </configuration>
- </plugin>
- <plugin>
- <groupId>com.yahoo.vespa</groupId>
- <artifactId>bundle-plugin</artifactId>
- <version>${project.version}</version>
- <configuration>
- <configGenVersion>${project.version}</configGenVersion>
- <useCommonAssemblyIds>true</useCommonAssemblyIds>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <profiles>
- <profile>
- <id>attach-sources</id>
- <activation>
- <property>
- <name>!skipSources</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>generate-javadoc</id>
- <activation>
- <property>
- <name>!skipJavadoc</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-javadoc</id>
- <phase>package</phase>
- <goals>
- <goal>javadoc</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <additionalparam>-Xdoclint:${doclint} -Xdoclint:-missing</additionalparam>
- <failOnError>${javadoc.failOnError}</failOnError>
- <quiet>true</quiet>
- <show>private</show>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>coverage</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <configuration>
- <includePluginDependencies>true</includePluginDependencies>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src/main/scala</source>
- </sources>
- </configuration>
- </execution>
- <execution>
- <id>add-test-source</id>
- <phase>generate-test-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src/test/scala</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>sign-artifacts</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>2.7</version>
- </dependency>
- <dependency>
- <groupId>com.github.cverges.expect4j</groupId>
- <artifactId>expect4j</artifactId>
- <version>1.6</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-compress</artifactId>
- <version>1.11</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-exec</artifactId>
- <version>1.3</version>
- </dependency>
- <dependency>
- <groupId>io.airlift</groupId>
- <artifactId>airline</artifactId>
- <version>0.7</version>
- </dependency>
- <dependency>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>5.2</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>annotations</artifactId>
- <version>1.3.9</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- <version>1.3.9</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>18.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava-testlib</artifactId>
- <version>18.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <version>3.0</version>
- <classifier>no_aop</classifier>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-assistedinject</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.inject.extensions</groupId>
- <artifactId>guice-multibindings</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>2.4.1</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.jmockit</groupId>
- <artifactId>jmockit</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>com.goldmansachs</groupId>
- <artifactId>gs-collections</artifactId>
- <version>6.1.0</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.jaxrs</groupId>
- <artifactId>jackson-jaxrs-json-provider</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.module</groupId>
- <artifactId>jackson-module-jaxb-annotations</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.jaxrs</groupId>
- <artifactId>jackson-jaxrs-base</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.jaxrs</groupId>
- <artifactId>jackson-jaxrs-xml-provider</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-xml</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-jdk8</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.datatype</groupId>
- <artifactId>jackson-datatype-jsr310</artifactId>
- <version>${jackson2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.infradna.tool</groupId>
- <artifactId>bridge-method-annotation</artifactId>
- <version>1.4</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2.1</version>
- </dependency>
- <dependency>
- <groupId>commons-configuration</groupId>
- <artifactId>commons-configuration</artifactId>
- <version>1.6</version>
- </dependency>
- <dependency>
- <groupId>commons-daemon</groupId>
- <artifactId>commons-daemon</artifactId>
- <version>1.0.3</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>${commons-lang.version}</version>
- </dependency>
- <dependency>
- <!-- This version is exported by jdisc via jcl-over-slf4j. -->
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>commons-pool</groupId>
- <artifactId>commons-pool</artifactId>
- <version>1.5.6</version>
- </dependency>
- <!-- Explicitly included to get Zookeeper version 3.4.10,
- can be excluded if you want the Zookeeper version
- used by curator by default
- -->
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>3.4.10</version>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-recipes</artifactId>
- <version>${curator.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-test</artifactId>
- <version>${curator.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.1.0</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr-runtime</artifactId>
- <version>${antlr.version}</version>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr4-runtime</artifactId>
- <version>${antlr4.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.aries.spifly</groupId>
- <artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
- <version>${aries.spifly.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.framework</artifactId>
- <version>4.2.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.log</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.main</artifactId>
- <version>4.2.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>fluent-hc</artifactId>
- <version>4.3.6</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.3.6</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>4.3.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpmime</artifactId>
- <version>4.3.6</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>3.5.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-core</artifactId>
- <version>3.5.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <version>3.5.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.plugin-tools</groupId>
- <artifactId>maven-plugin-annotations</artifactId>
- <version>3.5</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>3.5.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>2.2.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-junit4</artifactId>
- <version>${surefire.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>surefire-providers</artifactId>
- <version>${surefire.version}</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.3.1</version>
- </dependency>
- <dependency>
- <groupId>org.cthul</groupId>
- <artifactId>cthul-matchers</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-continuation</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-http</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-jmx</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>uk.co.datumedge</groupId>
- <artifactId>hamcrest-json</artifactId>
- <version>0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hdrhistogram</groupId>
- <artifactId>HdrHistogram</artifactId>
- <version>2.1.8</version>
- </dependency>
- <dependency>
- <groupId>org.json</groupId>
- <artifactId>json</artifactId>
- <version>20090211</version>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.5</version>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>1.9.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>4.3.0</version>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>4.3.0</version>
- </dependency>
- <dependency>
- <groupId>org.scala-lang</groupId>
- <artifactId>scala-library</artifactId>
- <version>${scala.version}</version>
- </dependency>
- <dependency>
- <groupId>org.scala-lang.modules</groupId>
- <artifactId>scala-parser-combinators_${scala.major-version}</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.scala-lang.modules</groupId>
- <artifactId>scala-xml_${scala.major-version}</artifactId>
- <version>1.0.2</version>
- </dependency>
- <dependency>
- <groupId>org.scalatest</groupId>
- <artifactId>scalatest_${scala.major-version}</artifactId>
- <version>2.2.2</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>4.0.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>6.10</version>
- </dependency>
- <dependency>
- <groupId>org.twdata.maven</groupId>
- <artifactId>mojo-executor</artifactId>
- <version>2.3.0</version>
- </dependency>
- <dependency>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>net.jpountz.lz4</groupId>
- <artifactId>lz4</artifactId>
- <version>1.3.0</version>
- </dependency>
- <dependency>
- <groupId>net.spy</groupId>
- <artifactId>spymemcached</artifactId>
- <version>2.10.1</version>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.11.0</version>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcpkix-jdk15on</artifactId>
- <version>${bouncycastle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk15on</artifactId>
- <version>${bouncycastle.version}</version>
- </dependency>
- <!-- jersey 2 support -->
- <dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>javax.ws.rs-api</artifactId>
- <version>${javax.ws.rs-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet-core</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.media</groupId>
- <artifactId>jersey-media-json-jackson</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.media</groupId>
- <artifactId>jersey-media-multipart</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.ext</groupId>
- <artifactId>jersey-proxy-client</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.core</groupId>
- <artifactId>jersey-client</artifactId>
- <version>${jersey2.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ibm.icu</groupId>
- <artifactId>icu4j</artifactId>
- <version>57.1</version>
- </dependency>
- <dependency>
- <groupId>com.yahoo.athenz</groupId>
- <artifactId>athenz-zms-java-client</artifactId>
- <version>${athenz.version}</version>
- </dependency>
- <dependency>
- <groupId>com.yahoo.athenz</groupId>
- <artifactId>athenz-zts-java-client</artifactId>
- <version>${athenz.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <properties>
- <javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version> <!-- must be kept in sync with version used by current jersey2.version -->
- <antlr.version>3.5.2</antlr.version>
- <antlr4.version>4.5</antlr4.version>
- <aries.spifly.version>1.0.8</aries.spifly.version>
- <aries.util.version>1.0.0</aries.util.version>
- <asm-debug-all.version>5.0.3</asm-debug-all.version>
- <!-- Athenz dependencies. Make sure these dependencies matches those in Vespa's internal repositories -->
- <athenz.version>1.7.28</athenz.version>
- <bouncycastle.version>1.58</bouncycastle.version>
- <commons-lang.version>2.6</commons-lang.version>
- <!-- WARNING: If you change curator version, you also need to update
- zkfacade/src/main/java/org/apache/curator/**/package-info.java
- using something like
- find zkfacade/src/main/java/org/apache/curator -name package-info.java | \
- xargs perl -pi -e 's/major = [0-9]+, minor = [0-9]+, micro = [0-9]+/major = 2, minor = 9, micro = 1/g'
- -->
- <curator.version>2.9.1</curator.version>
- <jackson2.version>2.8.3</jackson2.version>
- <jersey2.version>2.23.2</jersey2.version>
- <jetty.version>9.4.6.v20170531</jetty.version>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <test.hide>true</test.hide>
- <doclint>all</doclint>
- <scala.major-version>2.11</scala.major-version>
- <scala.version>${scala.major-version}.4</scala.version>
- <surefire.version>2.19.1</surefire.version> <!-- NOTE bjorncs 15.06.2017: Version 2.20 has OoM issues -->
- </properties>
-
<modules>
<module>application</module>
<module>application-deploy-plugin</module>
@@ -989,6 +53,7 @@
<module>container-core</module>
<module>container-accesslogging</module>
<module>container-dependencies-enforcer</module>
+ <module>container-dependency-versions</module>
<module>container-dev</module>
<module>container-di</module>
<module>container-disc</module>
@@ -1033,6 +98,7 @@
<module>node-maintainer</module>
<module>orchestrator-restapi</module>
<module>orchestrator</module>
+ <module>parent</module>
<module>predicate-search</module>
<module>predicate-search-core</module>
<module>processing</module>
diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml
index ea2995c4770..ebeca5d3562 100644
--- a/predicate-search-core/pom.xml
+++ b/predicate-search-core/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>predicate-search-core</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml
index ca79544c766..3cf52609b17 100644
--- a/predicate-search/pom.xml
+++ b/predicate-search/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>predicate-search</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/processing/pom.xml b/processing/pom.xml
index 15aa984cbd2..404e58334f8 100644
--- a/processing/pom.xml
+++ b/processing/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>processing</artifactId>
<packaging>jar</packaging>
diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml
index 18cdd294b87..50ba91b3768 100755
--- a/provided-dependencies/pom.xml
+++ b/provided-dependencies/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>provided-dependencies</artifactId>
<packaging>jar</packaging>
diff --git a/searchcore/pom.xml b/searchcore/pom.xml
index f31617cfe53..107586d0d97 100644
--- a/searchcore/pom.xml
+++ b/searchcore/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>searchcore</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/searchlib/pom.xml b/searchlib/pom.xml
index c669903c3da..a3ebf712873 100644
--- a/searchlib/pom.xml
+++ b/searchlib/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>searchlib</artifactId>
<packaging>container-plugin</packaging>
diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml
index 97a29655ad1..e5ead509803 100644
--- a/searchsummary/pom.xml
+++ b/searchsummary/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>searchsummary</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml
index c63bdf35574..6fe4b4e2b18 100644
--- a/service-monitor/pom.xml
+++ b/service-monitor/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>service-monitor</artifactId>
<packaging>container-plugin</packaging>
@@ -66,6 +67,7 @@
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>provided</scope>
+ <classifier>no_aop</classifier>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
diff --git a/serviceview/pom.xml b/serviceview/pom.xml
index c3620ecfc9d..4f6d5fa34f5 100644
--- a/serviceview/pom.xml
+++ b/serviceview/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>serviceview</artifactId>
<packaging>container-plugin</packaging>
diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml
index d027fda82ce..27d45d7611d 100644
--- a/simplemetrics/pom.xml
+++ b/simplemetrics/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>simplemetrics</artifactId>
<packaging>container-plugin</packaging>
diff --git a/socket_test/pom.xml b/socket_test/pom.xml
index 60d8b3713e9..39bbc04611c 100644
--- a/socket_test/pom.xml
+++ b/socket_test/pom.xml
@@ -12,6 +12,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<packaging>jar</packaging>
<build>
diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml
index 9300181e00b..816708a4fe2 100644
--- a/standalone-container/pom.xml
+++ b/standalone-container/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>standalone-container</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/statistics/pom.xml b/statistics/pom.xml
index 7bbef0ea3c0..e2d97989448 100644
--- a/statistics/pom.xml
+++ b/statistics/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>statistics</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/storage/pom.xml b/storage/pom.xml
index 49b103cbe34..ecfb69eb19c 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>storage</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/testutil/pom.xml b/testutil/pom.xml
index 9f98f40c2d0..95da44c610e 100644
--- a/testutil/pom.xml
+++ b/testutil/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>testutil</artifactId>
<packaging>jar</packaging>
@@ -23,6 +24,7 @@
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>provided</scope>
+ <classifier>no_aop</classifier>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
diff --git a/vdslib/pom.xml b/vdslib/pom.xml
index 48681b8ce83..979fcb5f1dd 100644
--- a/vdslib/pom.xml
+++ b/vdslib/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vdslib</artifactId>
<packaging>container-plugin</packaging>
diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml
index 2464c8208ad..6bfaf55d7e1 100644
--- a/vespa-application-maven-plugin/pom.xml
+++ b/vespa-application-maven-plugin/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa-application-maven-plugin</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml
index 4e96a0475f7..04a1b3e68b4 100644
--- a/vespa-documentgen-plugin/pom.xml
+++ b/vespa-documentgen-plugin/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa-documentgen-plugin</artifactId>
<packaging>maven-plugin</packaging>
diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml
index b9fbd589525..45c28d8665a 100644
--- a/vespa-hadoop/pom.xml
+++ b/vespa-hadoop/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa-hadoop</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml
index 15d72b7c1c2..7f40beddf9f 100644
--- a/vespa-http-client/pom.xml
+++ b/vespa-http-client/pom.xml
@@ -7,6 +7,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa-http-client</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml
index f54b2df9b8a..9ca51c39227 100644
--- a/vespa_feed_perf/pom.xml
+++ b/vespa_feed_perf/pom.xml
@@ -13,6 +13,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa_feed_perf</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml
index 3250cd8a41f..a225838c0f0 100644
--- a/vespa_jersey2/pom.xml
+++ b/vespa_jersey2/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespa_jersey2</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml
index 59895438038..b5757b68da3 100644
--- a/vespaclient-container-plugin/pom.xml
+++ b/vespaclient-container-plugin/pom.xml
@@ -9,6 +9,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespaclient-container-plugin</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml
index bdb15825fbb..e3491d41dff 100644
--- a/vespaclient-core/pom.xml
+++ b/vespaclient-core/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespaclient-core</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml
index 8cde41d53d7..7fa941fbed3 100644
--- a/vespaclient-java/pom.xml
+++ b/vespaclient-java/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespaclient-java</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml
index 1f98a5e4c02..f3d1c42c39e 100644
--- a/vespajlib/pom.xml
+++ b/vespajlib/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespajlib</artifactId>
<packaging>container-plugin</packaging>
diff --git a/vespalog/pom.xml b/vespalog/pom.xml
index 6cea5ab83d9..e59f5b4dc47 100644
--- a/vespalog/pom.xml
+++ b/vespalog/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vespalog</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/vsm/pom.xml b/vsm/pom.xml
index 8c5b006aeec..1d131b2912e 100644
--- a/vsm/pom.xml
+++ b/vsm/pom.xml
@@ -8,6 +8,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>vsm</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/yolean/pom.xml b/yolean/pom.xml
index d64ea29a95c..53289ffe9bc 100644
--- a/yolean/pom.xml
+++ b/yolean/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>yolean</artifactId>
<version>6-SNAPSHOT</version>
diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml
index 45ba8c32372..69efa1fe31c 100644
--- a/zkfacade/pom.xml
+++ b/zkfacade/pom.xml
@@ -6,6 +6,7 @@
<groupId>com.yahoo.vespa</groupId>
<artifactId>parent</artifactId>
<version>6-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
</parent>
<artifactId>zkfacade</artifactId>
<packaging>container-plugin</packaging>