summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2017-09-27 18:00:09 +0200
committerGitHub <noreply@github.com>2017-09-27 18:00:09 +0200
commit71ed3686430c8e47a9d1a7576382f6c7de2c0cee (patch)
treee0d4d09af32e87b49ab2ad2f44810b4a5d4aa334
parent96466df8750a5459d9d7505a78d19d03db20d312 (diff)
Revert "Revert "Aressem/remove post install script""
-rw-r--r--CMakeLists.txt44
-rw-r--r--application-preprocessor/CMakeLists.txt4
-rw-r--r--chain/CMakeLists.txt (renamed from dist/CMakeLists.txt)2
-rw-r--r--clustercontroller-apps/CMakeLists.txt2
-rw-r--r--clustercontroller-apputil/CMakeLists.txt2
-rw-r--r--clustercontroller-core/CMakeLists.txt2
-rw-r--r--clustercontroller-utils/CMakeLists.txt2
-rw-r--r--component/CMakeLists.txt2
-rw-r--r--config-bundle/CMakeLists.txt2
-rw-r--r--config-model-api/CMakeLists.txt2
-rw-r--r--config-model-fat/CMakeLists.txt5
-rw-r--r--config-model/CMakeLists.txt10
-rw-r--r--config-provisioning/CMakeLists.txt3
-rw-r--r--config-proxy/CMakeLists.txt6
-rw-r--r--configdefinitions/CMakeLists.txt2
-rw-r--r--configdefinitions/src/vespa/CMakeLists.txt64
-rw-r--r--configserver/CMakeLists.txt12
-rwxr-xr-xconfigserver/src/main/sh/start-configserver1
-rw-r--r--container-accesslogging/CMakeLists.txt2
-rw-r--r--container-core/CMakeLists.txt16
-rw-r--r--container-di/CMakeLists.txt5
-rw-r--r--container-disc/CMakeLists.txt12
-rw-r--r--container-jersey2/CMakeLists.txt2
-rw-r--r--container-messagebus/CMakeLists.txt3
-rw-r--r--container-search-and-docproc/CMakeLists.txt4
-rw-r--r--container-search/CMakeLists.txt28
-rw-r--r--defaults/CMakeLists.txt2
-rwxr-xr-xdist.sh2
-rwxr-xr-xdist/post_install.sh76
-rw-r--r--docker-api/CMakeLists.txt2
-rw-r--r--docproc/CMakeLists.txt4
-rw-r--r--docprocs/CMakeLists.txt2
-rw-r--r--document/CMakeLists.txt2
-rw-r--r--document/src/vespa/document/config/CMakeLists.txt6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt2
-rw-r--r--fileacquirer/CMakeLists.txt2
-rw-r--r--filedistribution/src/vespa/filedistribution/distributor/CMakeLists.txt2
-rw-r--r--filedistribution/src/vespa/filedistribution/model/CMakeLists.txt2
-rw-r--r--functions.cmake20
-rw-r--r--install_java.cmake161
-rw-r--r--jdisc_core/CMakeLists.txt4
-rw-r--r--jdisc_http_service/CMakeLists.txt10
-rw-r--r--jdisc_jetty/CMakeLists.txt3
-rw-r--r--logd/src/logd/CMakeLists.txt2
-rw-r--r--logserver/CMakeLists.txt4
-rw-r--r--messagebus/src/vespa/messagebus/CMakeLists.txt2
-rw-r--r--metrics/src/vespa/metrics/CMakeLists.txt2
-rw-r--r--node-repository/CMakeLists.txt5
-rw-r--r--orchestrator/CMakeLists.txt2
-rw-r--r--persistence/CMakeLists.txt3
-rw-r--r--searchcore/src/vespa/searchcore/config/CMakeLists.txt8
-rw-r--r--searchlib/CMakeLists.txt7
-rw-r--r--searchlib/src/vespa/searchlib/config/CMakeLists.txt2
-rw-r--r--searchsummary/src/vespa/searchsummary/config/CMakeLists.txt2
-rw-r--r--simplemetrics/CMakeLists.txt4
-rw-r--r--standalone-container/CMakeLists.txt2
-rw-r--r--statistics/CMakeLists.txt2
-rw-r--r--storage/src/vespa/storage/bucketdb/CMakeLists.txt4
-rw-r--r--storage/src/vespa/storage/config/CMakeLists.txt24
-rw-r--r--storage/src/vespa/storage/visiting/CMakeLists.txt2
-rw-r--r--storageserver/src/apps/storaged/CMakeLists.txt2
-rw-r--r--vespa-http-client/CMakeLists.txt2
-rw-r--r--vespa_jersey2/CMakeLists.txt2
-rw-r--r--vespabase/CMakeLists.txt4
-rw-r--r--vespabase/conf/default-env.txt.in2
-rwxr-xr-xvespabase/src/rhel-prestart.sh1
-rw-r--r--vespaclient-container-plugin/CMakeLists.txt2
-rw-r--r--vespaclient-core/CMakeLists.txt3
-rw-r--r--vespaclient-java/CMakeLists.txt12
-rw-r--r--vespajlib/CMakeLists.txt2
-rw-r--r--vsm/src/vespa/vsm/config/CMakeLists.txt6
-rw-r--r--zkfacade/CMakeLists.txt2
72 files changed, 349 insertions, 309 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 413d232c00d..f7752d5915e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,6 @@ find_package(JNI REQUIRED)
include(functions.cmake)
include(build_settings.cmake)
-include(install_java.cmake)
# Enable CTest unit testing
enable_testing()
@@ -24,12 +23,36 @@ enable_testing()
# Include vespa config definitions in every target
include_directories(BEFORE ${CMAKE_BINARY_DIR}/configdefinitions/src)
+add_subdirectory(application-preprocessor)
+add_subdirectory(chain)
+add_subdirectory(component)
+add_subdirectory(config-bundle)
+add_subdirectory(config-model)
+add_subdirectory(config-model-api)
+add_subdirectory(config-provisioning)
+add_subdirectory(config-proxy)
add_subdirectory(config)
+add_subdirectory(config-model-fat)
add_subdirectory(configd)
add_subdirectory(configdefinitions)
add_subdirectory(configserver)
add_subdirectory(configutil)
+add_subdirectory(container-accesslogging)
+add_subdirectory(container-core)
+add_subdirectory(container-di)
+add_subdirectory(container-disc)
+add_subdirectory(container-jersey2)
+add_subdirectory(container-messagebus)
+add_subdirectory(container-search)
+add_subdirectory(container-search-and-docproc)
+add_subdirectory(clustercontroller-apps)
+add_subdirectory(clustercontroller-apputil)
+add_subdirectory(clustercontroller-utils)
+add_subdirectory(clustercontroller-core)
add_subdirectory(defaults)
+add_subdirectory(docker-api)
+add_subdirectory(docproc)
+add_subdirectory(docprocs)
add_subdirectory(document)
add_subdirectory(documentapi)
add_subdirectory(eval)
@@ -41,14 +64,20 @@ add_subdirectory(filedistribution)
add_subdirectory(fnet)
add_subdirectory(frtstream)
add_subdirectory(fsa)
+add_subdirectory(jdisc_core)
+add_subdirectory(jdisc_http_service)
+add_subdirectory(jdisc_jetty)
add_subdirectory(jrt_test)
add_subdirectory(juniper)
add_subdirectory(logd)
+add_subdirectory(logserver)
add_subdirectory(lowercasing_test)
add_subdirectory(memfilepersistence)
add_subdirectory(messagebus)
add_subdirectory(messagebus_test)
add_subdirectory(metrics)
+add_subdirectory(node-repository)
+add_subdirectory(orchestrator)
add_subdirectory(persistence)
add_subdirectory(persistencetypes)
add_subdirectory(searchcommon)
@@ -56,25 +85,32 @@ add_subdirectory(searchcore)
add_subdirectory(searchcorespi)
add_subdirectory(searchlib)
add_subdirectory(searchsummary)
+add_subdirectory(simplemetrics)
add_subdirectory(slobrok)
add_subdirectory(staging_vespalib)
+add_subdirectory(standalone-container)
add_subdirectory(storage)
add_subdirectory(storageapi)
add_subdirectory(storageframework)
add_subdirectory(storageserver)
+add_subdirectory(statistics)
add_subdirectory(streamingvisitors)
add_subdirectory(vbench)
add_subdirectory(vdslib)
add_subdirectory(vdstestlib)
+add_subdirectory(vespa-http-client)
+add_subdirectory(vespa_jersey2)
add_subdirectory(vespabase)
add_subdirectory(vespaclient)
+add_subdirectory(vespaclient-core)
+add_subdirectory(vespaclient-container-plugin)
+add_subdirectory(vespaclient-java)
+add_subdirectory(vespajlib)
add_subdirectory(vespalib)
add_subdirectory(vespalog)
add_subdirectory(vespamalloc)
add_subdirectory(vsm)
-# Note: Change when cmake gets proper post-install support.
-# Post installation steps are run from dist subdirectory which needs to be the last add_subdirectory(...) call in this file.
-add_subdirectory(dist)
+add_subdirectory(zkfacade)
# Create module targets with name ${MODULE}+module depending on every target defined within that module
__create_module_targets(TARGETS "module")
diff --git a/application-preprocessor/CMakeLists.txt b/application-preprocessor/CMakeLists.txt
new file mode 100644
index 00000000000..e40fd4a6736
--- /dev/null
+++ b/application-preprocessor/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(application-preprocessor)
+vespa_install_script(src/main/sh/vespa-preprocess-application bin)
+
diff --git a/dist/CMakeLists.txt b/chain/CMakeLists.txt
index d06074074df..3b5b5fd2c99 100644
--- a/dist/CMakeLists.txt
+++ b/chain/CMakeLists.txt
@@ -1,2 +1,2 @@
# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-install(CODE "execute_process(COMMAND ${CMAKE_CURRENT_LIST_DIR}/post_install.sh ${CMAKE_INSTALL_PREFIX})")
+install_config_definition(src/main/resources/configdefinitions/chains.def container.core.chains.def)
diff --git a/clustercontroller-apps/CMakeLists.txt b/clustercontroller-apps/CMakeLists.txt
new file mode 100644
index 00000000000..f59ffbfa7bf
--- /dev/null
+++ b/clustercontroller-apps/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(clustercontroller-apps)
diff --git a/clustercontroller-apputil/CMakeLists.txt b/clustercontroller-apputil/CMakeLists.txt
new file mode 100644
index 00000000000..bdfb3ab3ed7
--- /dev/null
+++ b/clustercontroller-apputil/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(clustercontroller-apputil)
diff --git a/clustercontroller-core/CMakeLists.txt b/clustercontroller-core/CMakeLists.txt
new file mode 100644
index 00000000000..6754e893009
--- /dev/null
+++ b/clustercontroller-core/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(clustercontroller-core)
diff --git a/clustercontroller-utils/CMakeLists.txt b/clustercontroller-utils/CMakeLists.txt
new file mode 100644
index 00000000000..250a8e7e693
--- /dev/null
+++ b/clustercontroller-utils/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(clustercontroller-utils)
diff --git a/component/CMakeLists.txt b/component/CMakeLists.txt
new file mode 100644
index 00000000000..87d0a4989ba
--- /dev/null
+++ b/component/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(component)
diff --git a/config-bundle/CMakeLists.txt b/config-bundle/CMakeLists.txt
new file mode 100644
index 00000000000..8d4878920a4
--- /dev/null
+++ b/config-bundle/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(config-bundle)
diff --git a/config-model-api/CMakeLists.txt b/config-model-api/CMakeLists.txt
new file mode 100644
index 00000000000..f69e5242e2e
--- /dev/null
+++ b/config-model-api/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(config-model-api)
diff --git a/config-model-fat/CMakeLists.txt b/config-model-fat/CMakeLists.txt
new file mode 100644
index 00000000000..1e2364556dc
--- /dev/null
+++ b/config-model-fat/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_java_artifact(config-model-fat)
+
+install(FILES src/main/resources/config-models.xml
+ DESTINATION conf/configserver-app)
diff --git a/config-model/CMakeLists.txt b/config-model/CMakeLists.txt
new file mode 100644
index 00000000000..274ab8a763b
--- /dev/null
+++ b/config-model/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(config-model)
+
+vespa_install_script(src/main/perl/vespa-deploy bin)
+vespa_install_script(src/main/perl/vespa-expand-config.pl bin)
+vespa_install_script(src/main/perl/vespa-replicate-log-stream bin)
+vespa_install_script(src/main/sh/vespa-validate-application bin)
+
+install(DIRECTORY src/main/resources/schema DESTINATION share/vespa PATTERN ".gitignore" EXCLUDE)
+install(DIRECTORY src/main/resources/schema DESTINATION share/vespa/schema/version/6.x PATTERN ".gitignore" EXCLUDE)
diff --git a/config-provisioning/CMakeLists.txt b/config-provisioning/CMakeLists.txt
new file mode 100644
index 00000000000..829ba87fab8
--- /dev/null
+++ b/config-provisioning/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(config-provisioning)
+install_config_definition(src/main/resources/configdefinitions/flavors.def config.provisioning.flavors.def)
diff --git a/config-proxy/CMakeLists.txt b/config-proxy/CMakeLists.txt
new file mode 100644
index 00000000000..a87f10573be
--- /dev/null
+++ b/config-proxy/CMakeLists.txt
@@ -0,0 +1,6 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(config-proxy)
+
+vespa_install_script(src/main/sh/vespa-config-ctl.sh vespa-config-ctl bin)
+vespa_install_script(src/main/sh/vespa-config-loadtester.sh vespa-config-loadtester bin)
+vespa_install_script(src/main/sh/vespa-config-verification.sh vespa-config-verification bin)
diff --git a/configdefinitions/CMakeLists.txt b/configdefinitions/CMakeLists.txt
index d8f89e04cc1..ee78759254a 100644
--- a/configdefinitions/CMakeLists.txt
+++ b/configdefinitions/CMakeLists.txt
@@ -8,3 +8,5 @@ vespa_define_module(
LIBS
src/vespa
)
+
+install_fat_java_artifact(configdefinitions)
diff --git a/configdefinitions/src/vespa/CMakeLists.txt b/configdefinitions/src/vespa/CMakeLists.txt
index 016739f4594..4ed4dc06d41 100644
--- a/configdefinitions/src/vespa/CMakeLists.txt
+++ b/configdefinitions/src/vespa/CMakeLists.txt
@@ -5,66 +5,66 @@ vespa_add_library(configdefinitions
DEPENDS
)
vespa_generate_config(configdefinitions application-id.def)
-install(FILES application-id.def RENAME cloud.config.application-id.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(application-id.def cloud.config.application-id.def)
vespa_generate_config(configdefinitions attributes.def)
-install(FILES attributes.def RENAME vespa.config.search.attributes.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(attributes.def vespa.config.search.attributes.def)
vespa_generate_config(configdefinitions cluster-info.def)
-install(FILES cluster-info.def RENAME cloud.config.cluster-info.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(cluster-info.def cloud.config.cluster-info.def)
vespa_generate_config(configdefinitions cluster-list.def)
-install(FILES cluster-list.def RENAME cloud.config.cluster-list.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(cluster-list.def cloud.config.cluster-list.def)
vespa_generate_config(configdefinitions configserver.def)
-install(FILES configserver.def RENAME cloud.config.configserver.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(configserver.def cloud.config.configserver.def)
vespa_generate_config(configdefinitions dispatch.def)
-install(FILES dispatch.def RENAME vespa.config.search.dispatch.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(dispatch.def vespa.config.search.dispatch.def)
vespa_generate_config(configdefinitions fleetcontroller.def)
-install(FILES fleetcontroller.def RENAME vespa.config.content.fleetcontroller.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(fleetcontroller.def vespa.config.content.fleetcontroller.def)
vespa_generate_config(configdefinitions ilscripts.def)
-install(FILES ilscripts.def RENAME vespa.configdefinition.ilscripts.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(ilscripts.def vespa.configdefinition.ilscripts.def)
vespa_generate_config(configdefinitions imported-fields.def)
-install(FILES imported-fields.def RENAME vespa.config.search.imported-fields.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(imported-fields.def vespa.config.search.imported-fields.def)
vespa_generate_config(configdefinitions indexschema.def)
-install(FILES indexschema.def RENAME vespa.config.search.indexschema.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(indexschema.def vespa.config.search.indexschema.def)
vespa_generate_config(configdefinitions lb-services.def)
-install(FILES lb-services.def RENAME cloud.config.lb-services.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(lb-services.def cloud.config.lb-services.def)
vespa_generate_config(configdefinitions load-type.def)
-install(FILES load-type.def RENAME vespa.config.content.load-type.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(load-type.def vespa.config.content.load-type.def)
vespa_generate_config(configdefinitions messagetyperouteselectorpolicy.def)
-install(FILES messagetyperouteselectorpolicy.def RENAME vespa.config.content.messagetyperouteselectorpolicy.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(messagetyperouteselectorpolicy.def vespa.config.content.messagetyperouteselectorpolicy.def)
vespa_generate_config(configdefinitions model.def)
-install(FILES model.def RENAME cloud.config.model.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(model.def cloud.config.model.def)
vespa_generate_config(configdefinitions orchestrator.def)
-install(FILES orchestrator.def RENAME vespa.orchestrator.config.orchestrator.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(orchestrator.def vespa.orchestrator.config.orchestrator.def)
vespa_generate_config(configdefinitions persistence.def)
-install(FILES persistence.def RENAME vespa.config.content.persistence.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(persistence.def vespa.config.content.persistence.def)
vespa_generate_config(configdefinitions rank-profiles.def)
-install(FILES rank-profiles.def RENAME vespa.config.search.rank-profiles.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(rank-profiles.def vespa.config.search.rank-profiles.def)
vespa_generate_config(configdefinitions routing.def)
-install(FILES routing.def RENAME cloud.config.routing.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(routing.def cloud.config.routing.def)
vespa_generate_config(configdefinitions routing-provider.def)
-install(FILES routing-provider.def RENAME cloud.config.routing-provider.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(routing-provider.def cloud.config.routing-provider.def)
vespa_generate_config(configdefinitions sentinel.def)
-install(FILES sentinel.def RENAME cloud.config.sentinel.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(sentinel.def cloud.config.sentinel.def)
vespa_generate_config(configdefinitions slobroks.def)
-install(FILES slobroks.def RENAME cloud.config.slobroks.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(slobroks.def cloud.config.slobroks.def)
vespa_generate_config(configdefinitions specialtokens.def)
-install(FILES specialtokens.def RENAME vespa.configdefinition.specialtokens.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(specialtokens.def vespa.configdefinition.specialtokens.def)
vespa_generate_config(configdefinitions stor-devices.def)
-install(FILES stor-devices.def RENAME vespa.config.storage.stor-devices.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-devices.def vespa.config.storage.stor-devices.def)
vespa_generate_config(configdefinitions stor-distribution.def)
-install(FILES stor-distribution.def RENAME vespa.config.content.stor-distribution.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-distribution.def vespa.config.content.stor-distribution.def)
vespa_generate_config(configdefinitions stor-filestor.def)
-install(FILES stor-filestor.def RENAME vespa.config.content.stor-filestor.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-filestor.def vespa.config.content.stor-filestor.def)
vespa_generate_config(configdefinitions stor-memfilepersistence.def)
-install(FILES stor-memfilepersistence.def RENAME vespa.config.storage.stor-memfilepersistence.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-memfilepersistence.def vespa.config.storage.stor-memfilepersistence.def)
vespa_generate_config(configdefinitions summary.def)
-install(FILES summary.def RENAME vespa.config.search.summary.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(summary.def vespa.config.search.summary.def)
vespa_generate_config(configdefinitions summarymap.def)
-install(FILES summarymap.def RENAME vespa.config.search.summarymap.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(summarymap.def vespa.config.search.summarymap.def)
vespa_generate_config(configdefinitions upgrading.def)
-install(FILES upgrading.def RENAME vespa.config.content.upgrading.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(upgrading.def vespa.config.content.upgrading.def)
vespa_generate_config(configdefinitions ymon.def)
-install(FILES ymon.def RENAME cloud.config.ymon.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(ymon.def cloud.config.ymon.def)
vespa_generate_config(configdefinitions zookeeper-server.def)
-install(FILES zookeeper-server.def RENAME cloud.config.zookeeper-server.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(zookeeper-server.def cloud.config.zookeeper-server.def)
vespa_generate_config(configdefinitions zookeepers.def)
-install(FILES zookeepers.def RENAME cloud.config.zookeepers.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(zookeepers.def cloud.config.zookeepers.def)
diff --git a/configserver/CMakeLists.txt b/configserver/CMakeLists.txt
index e54a93b3d28..8134fde2105 100644
--- a/configserver/CMakeLists.txt
+++ b/configserver/CMakeLists.txt
@@ -1,9 +1,21 @@
# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(configserver)
+
vespa_install_script(src/main/sh/vespa-configserver-remove-state bin)
vespa_install_script(src/main/sh/start-filedistribution libexec/vespa)
vespa_install_script(src/main/sh/ping-configserver libexec/vespa)
vespa_install_script(src/main/sh/start-configserver libexec/vespa)
vespa_install_script(src/main/sh/start-logd libexec/vespa)
vespa_install_script(src/main/sh/stop-configserver libexec/vespa)
+
install(DIRECTORY src/main/resources/logd DESTINATION conf)
install(DIRECTORY src/main/resources/configserver-app DESTINATION conf)
+
+install(CODE "execute_process(COMMAND mkdir -p $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components)")
+install(CODE "execute_process(COMMAND mkdir -p $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/config-models)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/lib/jars/config-model-fat.jar $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components/config-model-fat.jar)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/lib/jars/configserver-jar-with-dependencies.jar $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components/configserver.jar)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/lib/jars/orchestrator-jar-with-dependencies.jar $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components/orchestrator.jar)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/lib/jars/node-repository-jar-with-dependencies.jar $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components/node-repository.jar)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/lib/jars/zkfacade-jar-with-dependencies.jar $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components/zkfacade.jar)")
+install(CODE "execute_process(COMMAND ln -snf ${CMAKE_INSTALL_PREFIX}/conf/configserver-app/components $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/lib/jars/config-models)")
diff --git a/configserver/src/main/sh/start-configserver b/configserver/src/main/sh/start-configserver
index 43bb6b2ba83..3b168b14c41 100755
--- a/configserver/src/main/sh/start-configserver
+++ b/configserver/src/main/sh/start-configserver
@@ -80,6 +80,7 @@ fixddir () {
chmod 755 $1
}
+fixddir ${VESPA_HOME}/conf/zookeeper
fixfile ${VESPA_HOME}/conf/zookeeper/zookeeper.cfg
fixfile ${VESPA_HOME}/var/zookeeper/myid
fixddir ${VESPA_HOME}/var/zookeeper/version-2
diff --git a/container-accesslogging/CMakeLists.txt b/container-accesslogging/CMakeLists.txt
new file mode 100644
index 00000000000..fb2ba9ac031
--- /dev/null
+++ b/container-accesslogging/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/access-log.def container.core.access-log.def)
diff --git a/container-core/CMakeLists.txt b/container-core/CMakeLists.txt
new file mode 100644
index 00000000000..2d5723865eb
--- /dev/null
+++ b/container-core/CMakeLists.txt
@@ -0,0 +1,16 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/application-metadata.def container.core.application-metadata.def)
+install_config_definition(src/main/resources/configdefinitions/container-document.def container.core.document.container-document.def)
+install_config_definition(src/main/resources/configdefinitions/container-http.def container.core.container-http.def)
+install_config_definition(src/main/resources/configdefinitions/diagnostics.def container.core.diagnostics.def)
+install_config_definition(src/main/resources/configdefinitions/health-monitor.def container.jdisc.config.health-monitor.def)
+install_config_definition(src/main/resources/configdefinitions/http-filter.def container.core.http.http-filter.def)
+install_config_definition(src/main/resources/configdefinitions/metrics-presentation.def metrics.metrics-presentation.def)
+install_config_definition(src/main/resources/configdefinitions/mockservice.def container.handler.test.mockservice.def)
+install_config_definition(src/main/resources/configdefinitions/qr-logging.def container.core.qr-logging.def)
+install_config_definition(src/main/resources/configdefinitions/qr-searchers.def container.qr-searchers.def)
+install_config_definition(src/main/resources/configdefinitions/qr-templates.def container.core.qr-templates.def)
+install_config_definition(src/main/resources/configdefinitions/qr.def container.qr.def)
+install_config_definition(src/main/resources/configdefinitions/servlet-config.def container.servlet.servlet-config.def)
+install_config_definition(src/main/resources/configdefinitions/threadpool.def container.handler.threadpool.def)
+install_config_definition(src/main/resources/configdefinitions/vip-status.def container.core.vip-status.def)
diff --git a/container-di/CMakeLists.txt b/container-di/CMakeLists.txt
new file mode 100644
index 00000000000..c2b033baa92
--- /dev/null
+++ b/container-di/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/bundles.def container.bundles.def)
+install_config_definition(src/main/resources/configdefinitions/components.def container.components.def)
+install_config_definition(src/main/resources/configdefinitions/jersey-bundles.def container.di.config.jersey-bundles.def)
+install_config_definition(src/main/resources/configdefinitions/jersey-injection.def container.di.config.jersey-injection.def)
diff --git a/container-disc/CMakeLists.txt b/container-disc/CMakeLists.txt
new file mode 100644
index 00000000000..1b661020166
--- /dev/null
+++ b/container-disc/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(container-disc)
+
+vespa_install_script(src/main/sh/vespa-start-container-daemon.sh vespa-start-container-daemon bin)
+
+install_config_definition(src/main/resources/configdefinitions/container.jdisc.config.http-server.def)
+install_config_definition(src/main/resources/configdefinitions/jdisc-bindings.def container.jdisc.jdisc-bindings.def)
+install_config_definition(src/main/resources/configdefinitions/jersey-connection.def container.config.jersey.jersey-connection.def)
+install_config_definition(src/main/resources/configdefinitions/jersey-init.def container.config.jersey.jersey-init.def)
+install_config_definition(src/main/resources/configdefinitions/jersey-web-app-pool.def container.config.jersey.jersey-web-app-pool.def)
+install_config_definition(src/main/resources/configdefinitions/metric-defaults.def container.jdisc.config.metric-defaults.def)
+install_config_definition(src/main/resources/configdefinitions/score-board.def jdisc.metrics.yamasconsumer.cloud.score-board.def)
diff --git a/container-jersey2/CMakeLists.txt b/container-jersey2/CMakeLists.txt
new file mode 100644
index 00000000000..d2490563372
--- /dev/null
+++ b/container-jersey2/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(container-jersey2)
diff --git a/container-messagebus/CMakeLists.txt b/container-messagebus/CMakeLists.txt
new file mode 100644
index 00000000000..3cd62d83b73
--- /dev/null
+++ b/container-messagebus/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/container-mbus.def container.jdisc.container-mbus.def)
+install_config_definition(src/main/resources/configdefinitions/session.def container.jdisc.config.session.def)
diff --git a/container-search-and-docproc/CMakeLists.txt b/container-search-and-docproc/CMakeLists.txt
new file mode 100644
index 00000000000..29bbe5bdb0f
--- /dev/null
+++ b/container-search-and-docproc/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(container-search-and-docproc)
+
+install_config_definition(src/main/resources/configdefinitions/application-userdata.def container.handler.observability.application-userdata.def)
diff --git a/container-search/CMakeLists.txt b/container-search/CMakeLists.txt
new file mode 100644
index 00000000000..dcf6c3461d3
--- /dev/null
+++ b/container-search/CMakeLists.txt
@@ -0,0 +1,28 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/cluster.def search.config.cluster.def)
+install_config_definition(src/main/resources/configdefinitions/documentdb-info.def prelude.fastsearch.documentdb-info.def)
+install_config_definition(src/main/resources/configdefinitions/emulation.def prelude.emulation.def)
+install_config_definition(src/main/resources/configdefinitions/federation.def search.federation.federation.def)
+install_config_definition(src/main/resources/configdefinitions/fs4.def container.search.fs4.def)
+install_config_definition(src/main/resources/configdefinitions/index-info.def search.config.index-info.def)
+install_config_definition(src/main/resources/configdefinitions/keyvalue.def prelude.searcher.keyvalue.def)
+install_config_definition(src/main/resources/configdefinitions/legacy-emulation.def container.search.legacy-emulation.def)
+install_config_definition(src/main/resources/configdefinitions/lowercasing.def search.querytransform.lowercasing.def)
+install_config_definition(src/main/resources/configdefinitions/measure-qps.def search.statistics.measure-qps.def)
+install_config_definition(src/main/resources/configdefinitions/page-templates.def search.pagetemplates.page-templates.def)
+install_config_definition(src/main/resources/configdefinitions/provider.def search.federation.provider.def)
+install_config_definition(src/main/resources/configdefinitions/qr-binary-cache-region.def search.cache.qr-binary-cache-region.def)
+install_config_definition(src/main/resources/configdefinitions/qr-binary-cache.def search.cache.qr-binary-cache.def)
+install_config_definition(src/main/resources/configdefinitions/qr-monitor.def prelude.cluster.qr-monitor.def)
+install_config_definition(src/main/resources/configdefinitions/qr-quotetable.def prelude.searcher.qr-quotetable.def)
+install_config_definition(src/main/resources/configdefinitions/qr-start.def search.config.qr-start.def)
+install_config_definition(src/main/resources/configdefinitions/query-profiles.def search.query.profile.config.query-profiles.def)
+install_config_definition(src/main/resources/configdefinitions/rate-limiting.def search.config.rate-limiting.def)
+install_config_definition(src/main/resources/configdefinitions/resolvers.def search.pagetemplates.resolvers.def)
+install_config_definition(src/main/resources/configdefinitions/rewrites.def search.query.rewrite.rewrites.def)
+install_config_definition(src/main/resources/configdefinitions/search-nodes.def search.config.dispatchprototype.search-nodes.def)
+install_config_definition(src/main/resources/configdefinitions/search-with-renderer-handler.def search.handler.search-with-renderer-handler.def)
+install_config_definition(src/main/resources/configdefinitions/searchchain-forward.def search.federation.searchchain-forward.def)
+install_config_definition(src/main/resources/configdefinitions/semantic-rules.def prelude.semantics.semantic-rules.def)
+install_config_definition(src/main/resources/configdefinitions/strict-contracts.def search.federation.strict-contracts.def)
+install_config_definition(src/main/resources/configdefinitions/timing-searcher.def search.statistics.timing-searcher.def)
diff --git a/defaults/CMakeLists.txt b/defaults/CMakeLists.txt
index 2b7f719d297..c42e5402688 100644
--- a/defaults/CMakeLists.txt
+++ b/defaults/CMakeLists.txt
@@ -6,3 +6,5 @@ vespa_define_module(
APPS
src/apps/printdefault
)
+
+install_fat_java_artifact(defaults)
diff --git a/dist.sh b/dist.sh
index 6396ce35368..c1fd499fdf9 100755
--- a/dist.sh
+++ b/dist.sh
@@ -9,5 +9,5 @@ fi
VERSION="$1"
mkdir -p ~/rpmbuild/{SOURCES,SPECS}
-GZIP=-1 tar -zcf ~/rpmbuild/SOURCES/vespa-$VERSION.tar.gz --transform "flags=r;s,^,vespa-$VERSION/," *
+GZIP=-1 tar -zcf ~/rpmbuild/SOURCES/vespa-$VERSION.tar.gz --exclude target --exclude cmake-build-debug --transform "flags=r;s,^,vespa-$VERSION/," *
sed -e "s,VESPA_VERSION,$VERSION," < dist/vespa.spec > ~/rpmbuild/SPECS/vespa-$VERSION.spec
diff --git a/dist/post_install.sh b/dist/post_install.sh
deleted file mode 100755
index fb0e19370ee..00000000000
--- a/dist/post_install.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-if [ $# -ne 1 ]; then
- echo "Usage: $0 <install prefix>"
- exit 1
-fi
-
-declare -r PREFIX="$1"
-declare -r INSTALLPATH="$DESTDIR/$PREFIX"
-
-# Rewrite config def file names
-for path in $INSTALLPATH/var/db/vespa/config_server/serverdb/classes/*.def; do
- dir=$(dirname $path)
- filename=$(basename $path)
- namespace=$(grep '^ *namespace *=' $path | sed 's/ *namespace *= *//')
- if [ "$namespace" ]; then
- case $filename in
- $namespace.*)
- ;;
- *)
- mv $path $dir/$namespace.$filename ;;
- esac
- fi
-done
-
-mkdir -p $INSTALLPATH/conf/configserver/
-mkdir -p $INSTALLPATH/conf/configserver-app/
-mkdir -p $INSTALLPATH/conf/configserver-app/config-models/
-mkdir -p $INSTALLPATH/conf/configserver-app/components/
-mkdir -p $INSTALLPATH/conf/filedistributor/
-mkdir -p $INSTALLPATH/conf/node-admin-app/
-mkdir -p $INSTALLPATH/conf/node-admin-app/components/
-mkdir -p $INSTALLPATH/conf/zookeeper/
-mkdir -p $INSTALLPATH/libexec/jdisc_core/
-mkdir -p $INSTALLPATH/libexec/vespa/modelplugins/
-mkdir -p $INSTALLPATH/libexec/vespa/plugins/qrs/
-mkdir -p $INSTALLPATH/logs/jdisc_core/
-mkdir -p $INSTALLPATH/logs/vespa/
-mkdir -p $INSTALLPATH/logs/vespa/
-mkdir -p $INSTALLPATH/logs/vespa/configserver/
-mkdir -p $INSTALLPATH/logs/vespa/search/
-mkdir -p $INSTALLPATH/logs/vespa/qrs/
-mkdir -p $INSTALLPATH/share/vespa/
-mkdir -p $INSTALLPATH/share/vespa/schema/version/6.x/schema/
-mkdir -p $INSTALLPATH/tmp/vespa/
-mkdir -p $INSTALLPATH/var/db/jdisc/logcontrol/
-mkdir -p $INSTALLPATH/var/db/vespa/
-mkdir -p $INSTALLPATH/var/db/vespa/config_server/serverdb/applications/
-mkdir -p $INSTALLPATH/var/db/vespa/logcontrol/
-mkdir -p $INSTALLPATH/var/jdisc_container/
-mkdir -p $INSTALLPATH/var/jdisc_core/
-mkdir -p $INSTALLPATH/var/run/
-mkdir -p $INSTALLPATH/var/spool/vespa/
-mkdir -p $INSTALLPATH/var/spool/master/inbox/
-mkdir -p $INSTALLPATH/var/vespa/bundlecache/
-mkdir -p $INSTALLPATH/var/vespa/cache/config/
-mkdir -p $INSTALLPATH/var/vespa/cmdlines/
-mkdir -p $INSTALLPATH/var/zookeeper/version-2/
-mkdir -p $INSTALLPATH/sbin
-
-ln -sf $PREFIX/lib/jars/config-model-fat.jar $INSTALLPATH/conf/configserver-app/components/config-model-fat.jar
-ln -sf $PREFIX/lib/jars/configserver-jar-with-dependencies.jar $INSTALLPATH/conf/configserver-app/components/configserver.jar
-ln -sf $PREFIX/lib/jars/orchestrator-jar-with-dependencies.jar $INSTALLPATH/conf/configserver-app/components/orchestrator.jar
-ln -sf $PREFIX/lib/jars/node-repository-jar-with-dependencies.jar $INSTALLPATH/conf/configserver-app/components/node-repository.jar
-ln -sf $PREFIX/lib/jars/zkfacade-jar-with-dependencies.jar $INSTALLPATH/conf/configserver-app/components/zkfacade.jar
-ln -snf $PREFIX/conf/configserver-app/components $INSTALLPATH/lib/jars/config-models
-ln -sf vespa-storaged-bin $INSTALLPATH/sbin/vespa-distributord-bin
-
-# Setup default enviroment
-mkdir -p $INSTALLPATH/conf/vespa
-cat > $INSTALLPATH/conf/vespa/default-env.txt <<EOF
-fallback VESPA_HOME $PREFIX
-override VESPA_USER vespa
-EOF
-
diff --git a/docker-api/CMakeLists.txt b/docker-api/CMakeLists.txt
new file mode 100644
index 00000000000..25957c81e4c
--- /dev/null
+++ b/docker-api/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/docker.def vespa.hosted.dockerapi.docker.def)
diff --git a/docproc/CMakeLists.txt b/docproc/CMakeLists.txt
new file mode 100644
index 00000000000..bacb45df319
--- /dev/null
+++ b/docproc/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/docproc.def config.docproc.docproc.def)
+install_config_definition(src/main/resources/configdefinitions/schemamapping.def config.docproc.schemamapping.def)
+install_config_definition(src/main/resources/configdefinitions/splitter-joiner-document-processor.def config.docproc.splitter-joiner-document-processor.def)
diff --git a/docprocs/CMakeLists.txt b/docprocs/CMakeLists.txt
new file mode 100644
index 00000000000..8786a77cbf8
--- /dev/null
+++ b/docprocs/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(docprocs)
diff --git a/document/CMakeLists.txt b/document/CMakeLists.txt
index ca2ee029c87..72f4ee445fb 100644
--- a/document/CMakeLists.txt
+++ b/document/CMakeLists.txt
@@ -40,3 +40,5 @@ vespa_define_module(
src/tests/struct_anno
src/tests/tensor_fieldvalue
)
+
+install_java_artifact(document)
diff --git a/document/src/vespa/document/config/CMakeLists.txt b/document/src/vespa/document/config/CMakeLists.txt
index 32bbce210a5..fc711c5e57a 100644
--- a/document/src/vespa/document/config/CMakeLists.txt
+++ b/document/src/vespa/document/config/CMakeLists.txt
@@ -4,7 +4,5 @@ vespa_add_library(document_documentconfig OBJECT
DEPENDS
)
vespa_generate_config(document_documentconfig documenttypes.def)
-install(FILES documenttypes.def RENAME document.documenttypes.def
- DESTINATION var/db/vespa/config_server/serverdb/classes)
-install(FILES documentmanager.def RENAME document.config.documentmanager.def
- DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(documenttypes.def document.documenttypes.def)
+install_config_definition(documentmanager.def document.config.documentmanager.def)
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt b/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt
index 143310d1f67..f1a691bc46d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt
@@ -20,4 +20,4 @@ vespa_add_library(documentapi_documentapipolicies OBJECT
DEPENDS
)
vespa_generate_config(documentapi_documentapipolicies ../../../../main/resources/configdefinitions/documentrouteselectorpolicy.def)
-install(FILES ../../../../main/resources/configdefinitions/documentrouteselectorpolicy.def RENAME documentapi.messagebus.protocol.documentrouteselectorpolicy.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(../../../../main/resources/configdefinitions/documentrouteselectorpolicy.def documentapi.messagebus.protocol.documentrouteselectorpolicy.def)
diff --git a/fileacquirer/CMakeLists.txt b/fileacquirer/CMakeLists.txt
index 1ae83a6f6c2..7a366aa3882 100644
--- a/fileacquirer/CMakeLists.txt
+++ b/fileacquirer/CMakeLists.txt
@@ -9,3 +9,5 @@ vespa_define_module(
LIBS
src/vespa/fileacquirer
)
+
+install_config_definition(src/main/resources/configdefinitions/filedistributorrpc.def cloud.config.filedistribution.filedistributorrpc.def)
diff --git a/filedistribution/src/vespa/filedistribution/distributor/CMakeLists.txt b/filedistribution/src/vespa/filedistribution/distributor/CMakeLists.txt
index 5345cba1e3f..f85ab85fb39 100644
--- a/filedistribution/src/vespa/filedistribution/distributor/CMakeLists.txt
+++ b/filedistribution/src/vespa/filedistribution/distributor/CMakeLists.txt
@@ -12,4 +12,4 @@ vespa_add_library(filedistribution_distributor STATIC
)
target_compile_options(filedistribution_distributor PRIVATE -DTORRENT_DISABLE_ENCRYPTION -DTORRENT_DISABLE_DHT -DWITH_SHIPPED_GEOIP_H -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_EXCEPTION_DISABLE -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_DYN_LINK -DTORRENT_LINKING_SHARED)
vespa_generate_config(filedistribution_distributor filedistributor.def)
-install(FILES filedistributor.def RENAME cloud.config.filedistribution.filedistributor.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(filedistributor.def cloud.config.filedistribution.filedistributor.def)
diff --git a/filedistribution/src/vespa/filedistribution/model/CMakeLists.txt b/filedistribution/src/vespa/filedistribution/model/CMakeLists.txt
index 7136aba475b..5b92aa4086d 100644
--- a/filedistribution/src/vespa/filedistribution/model/CMakeLists.txt
+++ b/filedistribution/src/vespa/filedistribution/model/CMakeLists.txt
@@ -17,4 +17,4 @@ vespa_add_library(filedistribution_filedistributionmodel STATIC
vespa_generate_config(filedistribution_filedistributionmodel filereferences.def)
vespa_add_target_external_dependency(filedistribution_filedistributionmodel zookeeper_mt)
-install(FILES filereferences.def RENAME cloud.config.filedistribution.filereferences.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(filereferences.def cloud.config.filedistribution.filereferences.def)
diff --git a/functions.cmake b/functions.cmake
index 38ae339cd53..1c3d1ff7a6e 100644
--- a/functions.cmake
+++ b/functions.cmake
@@ -536,3 +536,23 @@ function(__export_include_directories TARGET)
target_include_directories(${TARGET} PUBLIC ${LOCAL_INCLUDE_DIRS})
endif()
endfunction()
+
+function(install_config_definition)
+ if(ARGC GREATER 1)
+ install(FILES ${ARGV0} RENAME ${ARGV1} DESTINATION var/db/vespa/config_server/serverdb/classes)
+ else()
+ install(FILES ${ARGV0} DESTINATION var/db/vespa/config_server/serverdb/classes)
+ endif()
+endfunction()
+
+function(install_java_artifact NAME)
+ install(FILES "target/${NAME}.jar" DESTINATION lib/jars/)
+endfunction()
+
+function(install_java_artifact_dependencies NAME)
+ install(DIRECTORY "target/dependency/" DESTINATION lib/jars FILES_MATCHING PATTERN "*.jar")
+endfunction()
+
+function(install_fat_java_artifact NAME)
+ install(FILES "target/${NAME}-jar-with-dependencies.jar" DESTINATION lib/jars/)
+endfunction()
diff --git a/install_java.cmake b/install_java.cmake
deleted file mode 100644
index e0611306b5f..00000000000
--- a/install_java.cmake
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-function(install_java_artifact NAME)
- install(FILES "${NAME}/target/${NAME}.jar" DESTINATION lib/jars/)
-endfunction()
-
-function(install_java_artifact_dependencies NAME)
- install(DIRECTORY "${NAME}/target/dependency/" DESTINATION lib/jars FILES_MATCHING PATTERN "*.jar")
-endfunction()
-
-function(install_fat_java_artifact NAME)
- install(FILES "${NAME}/target/${NAME}-jar-with-dependencies.jar" DESTINATION lib/jars/)
-endfunction()
-
-install_java_artifact(config-model-fat)
-install_java_artifact(document)
-install_java_artifact(jdisc_jetty)
-install_java_artifact_dependencies(jdisc_jetty)
-install_java_artifact_dependencies(vespa_jersey2)
-install_java_artifact(searchlib)
-install_java_artifact(vespajlib)
-
-install_fat_java_artifact(application-preprocessor)
-install_fat_java_artifact(clustercontroller-apps)
-install_fat_java_artifact(clustercontroller-apputil)
-install_fat_java_artifact(clustercontroller-utils)
-install_fat_java_artifact(clustercontroller-core)
-install_fat_java_artifact(component)
-install_fat_java_artifact(config-bundle)
-install_fat_java_artifact(config-model-api)
-install_fat_java_artifact(config-model)
-install_fat_java_artifact(config-provisioning)
-install_fat_java_artifact(config-proxy)
-install_fat_java_artifact(configdefinitions)
-install_fat_java_artifact(configserver)
-install_fat_java_artifact(container-disc)
-install_fat_java_artifact(container-jersey2)
-install_fat_java_artifact(container-search-and-docproc)
-install_fat_java_artifact(defaults)
-install_fat_java_artifact(docprocs)
-install_fat_java_artifact(jdisc_core)
-install_fat_java_artifact(jdisc_http_service)
-install_fat_java_artifact(logserver)
-install_fat_java_artifact(node-repository)
-install_fat_java_artifact(orchestrator)
-install_fat_java_artifact(persistence)
-install_fat_java_artifact(searchlib)
-install_fat_java_artifact(simplemetrics)
-install_fat_java_artifact(standalone-container)
-install_fat_java_artifact(vespa-http-client)
-install_fat_java_artifact(vespaclient-container-plugin)
-install_fat_java_artifact(vespaclient-java)
-install_fat_java_artifact(zkfacade)
-
-vespa_install_script(application-preprocessor/src/main/sh/vespa-preprocess-application bin)
-vespa_install_script(config-proxy/src/main/sh/vespa-config-ctl.sh vespa-config-ctl bin)
-vespa_install_script(config-proxy/src/main/sh/vespa-config-loadtester.sh vespa-config-loadtester bin)
-vespa_install_script(config-proxy/src/main/sh/vespa-config-verification.sh vespa-config-verification bin)
-vespa_install_script(config-model/src/main/perl/vespa-deploy bin)
-vespa_install_script(config-model/src/main/perl/vespa-expand-config.pl bin)
-vespa_install_script(config-model/src/main/perl/vespa-replicate-log-stream bin)
-vespa_install_script(config-model/src/main/sh/vespa-validate-application bin)
-vespa_install_script(container-disc/src/main/sh/vespa-start-container-daemon.sh vespa-start-container-daemon bin)
-vespa_install_script(searchlib/src/main/sh/vespa-gbdt-converter bin)
-vespa_install_script(searchlib/src/main/sh/vespa-treenet-converter bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-document-statistics.sh vespa-document-statistics bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-stat.sh vespa-stat bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-query-profile-dump-tool.sh vespa-query-profile-dump-tool bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-summary-benchmark.sh vespa-summary-benchmark bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-destination.sh vespa-destination bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-feeder.sh vespa-feeder bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-get.sh vespa-get bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-visit.sh vespa-visit bin)
-vespa_install_script(vespaclient-java/src/main/sh/vespa-visit-target.sh vespa-visit-target bin)
-
-vespa_install_script(logserver/bin/logserver-start.sh vespa-logserver-start bin)
-
-install(DIRECTORY config-model/src/main/resources/schema DESTINATION share/vespa PATTERN ".gitignore" EXCLUDE)
-install(DIRECTORY config-model/src/main/resources/schema DESTINATION share/vespa/schema/version/6.x PATTERN ".gitignore" EXCLUDE)
-
-install(FILES jdisc_core/src/main/perl/vespa-jdisc-logfmt.1 DESTINATION man/man1)
-
-install(FILES
- config-model-fat/src/main/resources/config-models.xml
- node-repository/src/main/config/node-repository.xml
- DESTINATION conf/configserver-app)
-
-install(FILES
- chain/src/main/resources/configdefinitions/chains.def
- config-provisioning/src/main/resources/configdefinitions/flavors.def
- container-accesslogging/src/main/resources/configdefinitions/access-log.def
- container-core/src/main/resources/configdefinitions/application-metadata.def
- container-core/src/main/resources/configdefinitions/container-document.def
- container-core/src/main/resources/configdefinitions/container-http.def
- container-core/src/main/resources/configdefinitions/diagnostics.def
- container-core/src/main/resources/configdefinitions/health-monitor.def
- container-core/src/main/resources/configdefinitions/http-filter.def
- container-core/src/main/resources/configdefinitions/metrics-presentation.def
- container-core/src/main/resources/configdefinitions/mockservice.def
- container-core/src/main/resources/configdefinitions/qr-logging.def
- container-core/src/main/resources/configdefinitions/qr-searchers.def
- container-core/src/main/resources/configdefinitions/qr-templates.def
- container-core/src/main/resources/configdefinitions/qr.def
- container-core/src/main/resources/configdefinitions/servlet-config.def
- container-core/src/main/resources/configdefinitions/threadpool.def
- container-core/src/main/resources/configdefinitions/vip-status.def
- container-di/src/main/resources/configdefinitions/bundles.def
- container-di/src/main/resources/configdefinitions/components.def
- container-di/src/main/resources/configdefinitions/jersey-bundles.def
- container-di/src/main/resources/configdefinitions/jersey-injection.def
- container-disc/src/main/resources/configdefinitions/container.jdisc.config.http-server.def
- container-disc/src/main/resources/configdefinitions/jdisc-bindings.def
- container-disc/src/main/resources/configdefinitions/jersey-connection.def
- container-disc/src/main/resources/configdefinitions/jersey-init.def
- container-disc/src/main/resources/configdefinitions/jersey-web-app-pool.def
- container-disc/src/main/resources/configdefinitions/metric-defaults.def
- container-disc/src/main/resources/configdefinitions/score-board.def
- container-messagebus/src/main/resources/configdefinitions/container-mbus.def
- container-messagebus/src/main/resources/configdefinitions/session.def
- container-search-and-docproc/src/main/resources/configdefinitions/application-userdata.def
- container-search/src/main/resources/configdefinitions/cluster.def
- container-search/src/main/resources/configdefinitions/documentdb-info.def
- container-search/src/main/resources/configdefinitions/emulation.def
- container-search/src/main/resources/configdefinitions/federation.def
- container-search/src/main/resources/configdefinitions/fs4.def
- container-search/src/main/resources/configdefinitions/index-info.def
- container-search/src/main/resources/configdefinitions/keyvalue.def
- container-search/src/main/resources/configdefinitions/legacy-emulation.def
- container-search/src/main/resources/configdefinitions/lowercasing.def
- container-search/src/main/resources/configdefinitions/measure-qps.def
- container-search/src/main/resources/configdefinitions/page-templates.def
- container-search/src/main/resources/configdefinitions/provider.def
- container-search/src/main/resources/configdefinitions/qr-binary-cache-region.def
- container-search/src/main/resources/configdefinitions/qr-binary-cache.def
- container-search/src/main/resources/configdefinitions/qr-monitor.def
- container-search/src/main/resources/configdefinitions/qr-quotetable.def
- container-search/src/main/resources/configdefinitions/qr-start.def
- container-search/src/main/resources/configdefinitions/query-profiles.def
- container-search/src/main/resources/configdefinitions/rate-limiting.def
- container-search/src/main/resources/configdefinitions/resolvers.def
- container-search/src/main/resources/configdefinitions/rewrites.def
- container-search/src/main/resources/configdefinitions/search-nodes.def
- container-search/src/main/resources/configdefinitions/search-with-renderer-handler.def
- container-search/src/main/resources/configdefinitions/searchchain-forward.def
- container-search/src/main/resources/configdefinitions/semantic-rules.def
- container-search/src/main/resources/configdefinitions/strict-contracts.def
- container-search/src/main/resources/configdefinitions/timing-searcher.def
- docproc/src/main/resources/configdefinitions/docproc.def
- docproc/src/main/resources/configdefinitions/schemamapping.def
- docproc/src/main/resources/configdefinitions/splitter-joiner-document-processor.def
- fileacquirer/src/main/resources/configdefinitions/filedistributorrpc.def
- jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.http-client.def
- jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def
- jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def
- jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.servlet-paths.def
- persistence/src/main/resources/configdefinitions/persistence-rpc.def
- simplemetrics/src/main/resources/configdefinitions/manager.def
- statistics/src/main/resources/configdefinitions/statistics.def
- vespaclient-core/src/main/resources/configdefinitions/feeder.def
- vespaclient-core/src/main/resources/configdefinitions/spooler.def
- docker-api/src/main/resources/configdefinitions/docker.def
- DESTINATION var/db/vespa/config_server/serverdb/classes)
diff --git a/jdisc_core/CMakeLists.txt b/jdisc_core/CMakeLists.txt
new file mode 100644
index 00000000000..b56d6ce1e5b
--- /dev/null
+++ b/jdisc_core/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(jdisc_core)
+
+install(FILES src/main/perl/vespa-jdisc-logfmt.1 DESTINATION man/man1)
diff --git a/jdisc_http_service/CMakeLists.txt b/jdisc_http_service/CMakeLists.txt
new file mode 100644
index 00000000000..06af545bf34
--- /dev/null
+++ b/jdisc_http_service/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(jdisc_http_service)
+
+install(FILES
+ src/main/resources/configdefinitions/jdisc.http.client.http-client.def
+ src/main/resources/configdefinitions/jdisc.http.connector.def
+ src/main/resources/configdefinitions/jdisc.http.server.def
+ src/main/resources/configdefinitions/jdisc.http.servlet-paths.def
+ DESTINATION var/db/vespa/config_server/serverdb/classes)
+
diff --git a/jdisc_jetty/CMakeLists.txt b/jdisc_jetty/CMakeLists.txt
new file mode 100644
index 00000000000..9059f68d953
--- /dev/null
+++ b/jdisc_jetty/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_java_artifact(jdisc_jetty)
+install_java_artifact_dependencies(jdisc_jetty)
diff --git a/logd/src/logd/CMakeLists.txt b/logd/src/logd/CMakeLists.txt
index 03ade1d66c8..be3fe2d1794 100644
--- a/logd/src/logd/CMakeLists.txt
+++ b/logd/src/logd/CMakeLists.txt
@@ -12,4 +12,4 @@ vespa_add_library(logd STATIC
DEPENDS
)
vespa_generate_config(logd ../main/resources/configdefinitions/logd.def)
-install(FILES ../main/resources/configdefinitions/logd.def RENAME cloud.config.log.logd.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(../main/resources/configdefinitions/logd.def cloud.config.log.logd.def)
diff --git a/logserver/CMakeLists.txt b/logserver/CMakeLists.txt
new file mode 100644
index 00000000000..736878948fb
--- /dev/null
+++ b/logserver/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(logserver)
+
+vespa_install_script(bin/logserver-start.sh vespa-logserver-start bin)
diff --git a/messagebus/src/vespa/messagebus/CMakeLists.txt b/messagebus/src/vespa/messagebus/CMakeLists.txt
index 7c922f36a8c..9ff3bae67c8 100644
--- a/messagebus/src/vespa/messagebus/CMakeLists.txt
+++ b/messagebus/src/vespa/messagebus/CMakeLists.txt
@@ -37,4 +37,4 @@ vespa_add_library(messagebus
DEPENDS
)
vespa_generate_config(messagebus ../../main/config/messagebus.def)
-install(FILES ../../main/config/messagebus.def RENAME messagebus.messagebus.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(../../main/config/messagebus.def messagebus.messagebus.def)
diff --git a/metrics/src/vespa/metrics/CMakeLists.txt b/metrics/src/vespa/metrics/CMakeLists.txt
index 27a1f25e887..6eae8cd75e4 100644
--- a/metrics/src/vespa/metrics/CMakeLists.txt
+++ b/metrics/src/vespa/metrics/CMakeLists.txt
@@ -24,4 +24,4 @@ vespa_add_library(metrics
DEPENDS
)
vespa_generate_config(metrics metricsmanager.def)
-install(FILES metricsmanager.def RENAME metrics.metricsmanager.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(metricsmanager.def metrics.metricsmanager.def)
diff --git a/node-repository/CMakeLists.txt b/node-repository/CMakeLists.txt
new file mode 100644
index 00000000000..24a8f7e4177
--- /dev/null
+++ b/node-repository/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(node-repository)
+
+install(FILES src/main/config/node-repository.xml
+ DESTINATION conf/configserver-app)
diff --git a/orchestrator/CMakeLists.txt b/orchestrator/CMakeLists.txt
new file mode 100644
index 00000000000..5ff6a7ac576
--- /dev/null
+++ b/orchestrator/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(orchestrator)
diff --git a/persistence/CMakeLists.txt b/persistence/CMakeLists.txt
index b773fccc09a..b4cb36e8bcf 100644
--- a/persistence/CMakeLists.txt
+++ b/persistence/CMakeLists.txt
@@ -29,3 +29,6 @@ vespa_define_module(
src/tests/proxy
src/tests/spi
)
+
+install_fat_java_artifact(persistence)
+install_config_definition(src/main/resources/configdefinitions/persistence-rpc.def persistence.persistence-rpc.def)
diff --git a/searchcore/src/vespa/searchcore/config/CMakeLists.txt b/searchcore/src/vespa/searchcore/config/CMakeLists.txt
index c7669efc876..3d62309161c 100644
--- a/searchcore/src/vespa/searchcore/config/CMakeLists.txt
+++ b/searchcore/src/vespa/searchcore/config/CMakeLists.txt
@@ -4,11 +4,11 @@ vespa_add_library(searchcore_fconfig STATIC
DEPENDS
)
vespa_generate_config(searchcore_fconfig partitions.def)
-install(FILES partitions.def RENAME vespa.config.search.core.partitions.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(partitions.def vespa.config.search.core.partitions.def)
vespa_generate_config(searchcore_fconfig fdispatchrc.def)
-install(FILES fdispatchrc.def RENAME vespa.config.search.core.fdispatchrc.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(fdispatchrc.def vespa.config.search.core.fdispatchrc.def)
vespa_generate_config(searchcore_fconfig proton.def)
-install(FILES proton.def RENAME vespa.config.search.core.proton.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(proton.def vespa.config.search.core.proton.def)
vespa_generate_config(searchcore_fconfig ranking-constants.def)
-install(FILES ranking-constants.def RENAME vespa.config.search.core.ranking-constants.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(ranking-constants.def vespa.config.search.core.ranking-constants.def)
vespa_generate_config(searchcore_fconfig hwinfo.def)
diff --git a/searchlib/CMakeLists.txt b/searchlib/CMakeLists.txt
index 787ca6ed008..d77ec346cef 100644
--- a/searchlib/CMakeLists.txt
+++ b/searchlib/CMakeLists.txt
@@ -225,3 +225,10 @@ vespa_define_module(
src/tests/util/statefile
src/tests/vespa-fileheader-inspect
)
+
+install_java_artifact(searchlib)
+install_fat_java_artifact(searchlib)
+
+vespa_install_script(src/main/sh/vespa-gbdt-converter bin)
+vespa_install_script(src/main/sh/vespa-treenet-converter bin)
+
diff --git a/searchlib/src/vespa/searchlib/config/CMakeLists.txt b/searchlib/src/vespa/searchlib/config/CMakeLists.txt
index 2f34d228f60..571cd3ad9f1 100644
--- a/searchlib/src/vespa/searchlib/config/CMakeLists.txt
+++ b/searchlib/src/vespa/searchlib/config/CMakeLists.txt
@@ -4,4 +4,4 @@ vespa_add_library(searchlib_sconfig OBJECT
DEPENDS
)
vespa_generate_config(searchlib_sconfig translogserver.def)
-install(FILES translogserver.def RENAME searchlib.translogserver.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(translogserver.def searchlib.translogserver.def)
diff --git a/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt b/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt
index 7f6dc5c4cdd..a01938d8ad4 100644
--- a/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt
+++ b/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt
@@ -4,4 +4,4 @@ vespa_add_library(searchsummary_config OBJECT
DEPENDS
)
vespa_generate_config(searchsummary_config juniperrc.def)
-install(FILES juniperrc.def RENAME vespa.config.search.summary.juniperrc.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(juniperrc.def vespa.config.search.summary.juniperrc.def)
diff --git a/simplemetrics/CMakeLists.txt b/simplemetrics/CMakeLists.txt
new file mode 100644
index 00000000000..c145fbb2ec7
--- /dev/null
+++ b/simplemetrics/CMakeLists.txt
@@ -0,0 +1,4 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(simplemetrics)
+
+install_config_definition(src/main/resources/configdefinitions/manager.def metrics.manager.def)
diff --git a/standalone-container/CMakeLists.txt b/standalone-container/CMakeLists.txt
new file mode 100644
index 00000000000..83c58e09945
--- /dev/null
+++ b/standalone-container/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(standalone-container)
diff --git a/statistics/CMakeLists.txt b/statistics/CMakeLists.txt
new file mode 100644
index 00000000000..3b187b72d6e
--- /dev/null
+++ b/statistics/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/statistics.def container.statistics.def)
diff --git a/storage/src/vespa/storage/bucketdb/CMakeLists.txt b/storage/src/vespa/storage/bucketdb/CMakeLists.txt
index 5c818631d54..6e3a0c2e986 100644
--- a/storage/src/vespa/storage/bucketdb/CMakeLists.txt
+++ b/storage/src/vespa/storage/bucketdb/CMakeLists.txt
@@ -17,6 +17,6 @@ vespa_add_library(storage_bucketdb OBJECT
storage_storageconfig
)
vespa_generate_config(storage_bucketdb stor-bucketdb.def)
-install(FILES stor-bucketdb.def RENAME vespa.config.content.core.stor-bucketdb.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-bucketdb.def vespa.config.content.core.stor-bucketdb.def)
vespa_generate_config(storage_bucketdb stor-bucket-init.def)
-install(FILES stor-bucket-init.def RENAME vespa.config.content.core.stor-bucket-init.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-bucket-init.def vespa.config.content.core.stor-bucket-init.def)
diff --git a/storage/src/vespa/storage/config/CMakeLists.txt b/storage/src/vespa/storage/config/CMakeLists.txt
index 0f3f392f324..4a20d510043 100644
--- a/storage/src/vespa/storage/config/CMakeLists.txt
+++ b/storage/src/vespa/storage/config/CMakeLists.txt
@@ -5,26 +5,26 @@ vespa_add_library(storage_storageconfig OBJECT
DEPENDS
)
vespa_generate_config(storage_storageconfig stor-communicationmanager.def)
-install(FILES stor-communicationmanager.def RENAME vespa.config.content.core.stor-communicationmanager.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-communicationmanager.def vespa.config.content.core.stor-communicationmanager.def)
vespa_generate_config(storage_storageconfig stor-distributormanager.def)
-install(FILES stor-distributormanager.def RENAME vespa.config.content.core.stor-distributormanager.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-distributormanager.def vespa.config.content.core.stor-distributormanager.def)
vespa_generate_config(storage_storageconfig stor-server.def)
-install(FILES stor-server.def RENAME vespa.config.content.core.stor-server.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-server.def vespa.config.content.core.stor-server.def)
vespa_generate_config(storage_storageconfig stor-status.def)
-install(FILES stor-status.def RENAME vespa.config.content.core.stor-status.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-status.def vespa.config.content.core.stor-status.def)
vespa_generate_config(storage_storageconfig stor-messageforwarder.def)
-install(FILES stor-messageforwarder.def RENAME vespa.config.content.core.stor-messageforwarder.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-messageforwarder.def vespa.config.content.core.stor-messageforwarder.def)
vespa_generate_config(storage_storageconfig stor-opslogger.def)
-install(FILES stor-opslogger.def RENAME vespa.config.content.core.stor-opslogger.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-opslogger.def vespa.config.content.core.stor-opslogger.def)
vespa_generate_config(storage_storageconfig stor-visitordispatcher.def)
-install(FILES stor-visitordispatcher.def RENAME vespa.config.content.core.stor-visitordispatcher.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-visitordispatcher.def vespa.config.content.core.stor-visitordispatcher.def)
vespa_generate_config(storage_storageconfig stor-integritychecker.def)
-install(FILES stor-integritychecker.def RENAME vespa.config.content.core.stor-integritychecker.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-integritychecker.def vespa.config.content.core.stor-integritychecker.def)
vespa_generate_config(storage_storageconfig stor-bucketmover.def)
-install(FILES stor-bucketmover.def RENAME vespa.config.content.core.stor-bucketmover.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-bucketmover.def vespa.config.content.core.stor-bucketmover.def)
vespa_generate_config(storage_storageconfig stor-bouncer.def)
-install(FILES stor-bouncer.def RENAME vespa.config.content.core.stor-bouncer.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-bouncer.def vespa.config.content.core.stor-bouncer.def)
vespa_generate_config(storage_storageconfig stor-prioritymapping.def)
-install(FILES stor-prioritymapping.def RENAME vespa.config.content.core.stor-prioritymapping.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-prioritymapping.def vespa.config.content.core.stor-prioritymapping.def)
vespa_generate_config(storage_storageconfig rpc-provider.def)
-install(FILES rpc-provider.def RENAME vespa.config.content.core.rpc-provider.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(rpc-provider.def vespa.config.content.core.rpc-provider.def)
diff --git a/storage/src/vespa/storage/visiting/CMakeLists.txt b/storage/src/vespa/storage/visiting/CMakeLists.txt
index ee10bbd58ab..6d93d96114d 100644
--- a/storage/src/vespa/storage/visiting/CMakeLists.txt
+++ b/storage/src/vespa/storage/visiting/CMakeLists.txt
@@ -17,4 +17,4 @@ vespa_add_library(storage_visitor OBJECT
storage_storageconfig
)
vespa_generate_config(storage_visitor stor-visitor.def)
-install(FILES stor-visitor.def RENAME vespa.config.content.core.stor-visitor.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(stor-visitor.def vespa.config.content.core.stor-visitor.def)
diff --git a/storageserver/src/apps/storaged/CMakeLists.txt b/storageserver/src/apps/storaged/CMakeLists.txt
index b971ce44339..2c5c837d3cd 100644
--- a/storageserver/src/apps/storaged/CMakeLists.txt
+++ b/storageserver/src/apps/storaged/CMakeLists.txt
@@ -9,3 +9,5 @@ vespa_add_executable(storageserver_storaged_app
storageserver_storageapp
searchlib_searchlib_uca
)
+
+install(CODE "execute_process(COMMAND ln -snf vespa-storaged-bin $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/sbin/vespa-distributord-bin)")
diff --git a/vespa-http-client/CMakeLists.txt b/vespa-http-client/CMakeLists.txt
new file mode 100644
index 00000000000..511b4a4c985
--- /dev/null
+++ b/vespa-http-client/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(vespa-http-client)
diff --git a/vespa_jersey2/CMakeLists.txt b/vespa_jersey2/CMakeLists.txt
new file mode 100644
index 00000000000..f4f6c44202c
--- /dev/null
+++ b/vespa_jersey2/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_java_artifact_dependencies(vespa_jersey2)
diff --git a/vespabase/CMakeLists.txt b/vespabase/CMakeLists.txt
index e658a959d84..ea007b130f9 100644
--- a/vespabase/CMakeLists.txt
+++ b/vespabase/CMakeLists.txt
@@ -31,3 +31,7 @@ configure_file(src/vespa-configserver.service.in src/vespa-configserver.service
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/src/vespa.service ${CMAKE_CURRENT_BINARY_DIR}/src/vespa-configserver.service DESTINATION etc/systemd/system)
install(FILES src/Defaults.pm DESTINATION lib/perl5/site_perl/Yahoo/Vespa)
+
+configure_file(conf/default-env.txt.in conf/default-env.txt @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/conf/default-env.txt DESTINATION conf/vespa)
+
diff --git a/vespabase/conf/default-env.txt.in b/vespabase/conf/default-env.txt.in
new file mode 100644
index 00000000000..4855ac9f571
--- /dev/null
+++ b/vespabase/conf/default-env.txt.in
@@ -0,0 +1,2 @@
+fallback VESPA_HOME @CMAKE_INSTALL_PREFIX@
+override VESPA_USER vespa
diff --git a/vespabase/src/rhel-prestart.sh b/vespabase/src/rhel-prestart.sh
index c00557243a7..37fc5e98533 100755
--- a/vespabase/src/rhel-prestart.sh
+++ b/vespabase/src/rhel-prestart.sh
@@ -97,6 +97,7 @@ fixdir ${VESPA_USER} wheel 755 var/db/vespa/config_server/serverdb/application
fixdir ${VESPA_USER} wheel 755 var/db/vespa/index
fixdir ${VESPA_USER} wheel 755 var/db/vespa/logcontrol
fixdir ${VESPA_USER} wheel 755 var/db/vespa/search
+fixdir ${VESPA_USER} wheel 755 var/jdisc_core
fixdir ${VESPA_USER} wheel 755 var/vespa/bundlecache
fixdir ${VESPA_USER} wheel 755 var/vespa/bundlecache/configserver
fixdir ${VESPA_USER} wheel 755 var/vespa/cache/config/
diff --git a/vespaclient-container-plugin/CMakeLists.txt b/vespaclient-container-plugin/CMakeLists.txt
new file mode 100644
index 00000000000..4c8a8647b23
--- /dev/null
+++ b/vespaclient-container-plugin/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(vespaclient-container-plugin)
diff --git a/vespaclient-core/CMakeLists.txt b/vespaclient-core/CMakeLists.txt
new file mode 100644
index 00000000000..facea0b447d
--- /dev/null
+++ b/vespaclient-core/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_config_definition(src/main/resources/configdefinitions/feeder.def vespaclient.config.feeder.def)
+install_config_definition(src/main/resources/configdefinitions/spooler.def vespa.config.content.spooler.spooler.def)
diff --git a/vespaclient-java/CMakeLists.txt b/vespaclient-java/CMakeLists.txt
new file mode 100644
index 00000000000..b9240adee8a
--- /dev/null
+++ b/vespaclient-java/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(vespaclient-java)
+
+vespa_install_script(src/main/sh/vespa-document-statistics.sh vespa-document-statistics bin)
+vespa_install_script(src/main/sh/vespa-stat.sh vespa-stat bin)
+vespa_install_script(src/main/sh/vespa-query-profile-dump-tool.sh vespa-query-profile-dump-tool bin)
+vespa_install_script(src/main/sh/vespa-summary-benchmark.sh vespa-summary-benchmark bin)
+vespa_install_script(src/main/sh/vespa-destination.sh vespa-destination bin)
+vespa_install_script(src/main/sh/vespa-feeder.sh vespa-feeder bin)
+vespa_install_script(src/main/sh/vespa-get.sh vespa-get bin)
+vespa_install_script(src/main/sh/vespa-visit.sh vespa-visit bin)
+vespa_install_script(src/main/sh/vespa-visit-target.sh vespa-visit-target bin)
diff --git a/vespajlib/CMakeLists.txt b/vespajlib/CMakeLists.txt
new file mode 100644
index 00000000000..7235535ace8
--- /dev/null
+++ b/vespajlib/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_java_artifact(vespajlib)
diff --git a/vsm/src/vespa/vsm/config/CMakeLists.txt b/vsm/src/vespa/vsm/config/CMakeLists.txt
index ea65d8c8fb4..e3bd2db68e2 100644
--- a/vsm/src/vespa/vsm/config/CMakeLists.txt
+++ b/vsm/src/vespa/vsm/config/CMakeLists.txt
@@ -4,8 +4,8 @@ vespa_add_library(vsm_vconfig OBJECT
DEPENDS
)
vespa_generate_config(vsm_vconfig vsmfields.def)
-install(FILES vsmfields.def RENAME vespa.config.search.vsm.vsmfields.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(vsmfields.def vespa.config.search.vsm.vsmfields.def)
vespa_generate_config(vsm_vconfig vsm.def)
-install(FILES vsm.def RENAME vespa.config.search.vsm.vsm.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(vsm.def vespa.config.search.vsm.vsm.def)
vespa_generate_config(vsm_vconfig vsmsummary.def)
-install(FILES vsmsummary.def RENAME vespa.config.search.vsm.vsmsummary.def DESTINATION var/db/vespa/config_server/serverdb/classes)
+install_config_definition(vsmsummary.def vespa.config.search.vsm.vsmsummary.def)
diff --git a/zkfacade/CMakeLists.txt b/zkfacade/CMakeLists.txt
new file mode 100644
index 00000000000..6610356c0fd
--- /dev/null
+++ b/zkfacade/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+install_fat_java_artifact(zkfacade)