diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7b7e44539d3a..f4127611d8ec 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -375,6 +375,7 @@ jobs:
!:trino-redis,
!:trino-redshift,
!:trino-resource-group-managers,
+ !:trino-server-core,
!:trino-server,
!:trino-singlestore,
!:trino-snowflake,
diff --git a/core/trino-server/NOTICE b/core/trino-server-core/NOTICE
similarity index 100%
rename from core/trino-server/NOTICE
rename to core/trino-server-core/NOTICE
diff --git a/core/trino-server-core/README.txt b/core/trino-server-core/README.txt
new file mode 100644
index 000000000000..47bda8ea36fb
--- /dev/null
+++ b/core/trino-server-core/README.txt
@@ -0,0 +1,7 @@
+Trino is a distributed SQL query engine
+
+Trino supports data lakes and other data sources with a focus on high
+performance for analytics workloads. Numerous client applications and other
+integrations are available.
+
+Find more information on the Trino website at https://trino.io/
diff --git a/core/trino-server-core/pom.xml b/core/trino-server-core/pom.xml
new file mode 100644
index 000000000000..6f0115236b53
--- /dev/null
+++ b/core/trino-server-core/pom.xml
@@ -0,0 +1,86 @@
+
+
+ 4.0.0
+
+
+ io.trino
+ trino-root
+ 472-SNAPSHOT
+ ../../pom.xml
+
+
+ trino-server-core
+ provisio
+ Trino - Server core package
+
+
+ false
+ true
+ true
+ true
+
+
+ io.trino.server.TrinoServer
+ ${project.artifactId}
+
+
+
+ false
+
+
+
+
+ io.airlift
+ junit-extensions
+ test
+
+
+
+
+
+
+
+ false
+
+ confluent
+ https://packages.confluent.io/maven/
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+
+
+ 1073741824
+
+ ${project.build.directory}/${project.artifactId}-${project.version}.tar.gz
+
+
+
+
+
+
+
+ enforce
+
+ verify
+
+
+
+
+ io.takari.maven.plugins
+ takari-lifecycle-plugin
+ ${dep.takari.version}
+
+ none
+ ${takari.skip}
+
+
+
+
+
diff --git a/core/trino-server-core/src/main/provisio/trino-core.xml b/core/trino-server-core/src/main/provisio/trino-core.xml
new file mode 100644
index 000000000000..83e3975ee57e
--- /dev/null
+++ b/core/trino-server-core/src/main/provisio/trino-core.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+ NOTICE
+ README.txt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/trino-server-core/src/test/java/io/trino/server/TestDummy.java b/core/trino-server-core/src/test/java/io/trino/server/TestDummy.java
new file mode 100644
index 000000000000..b560df431cb6
--- /dev/null
+++ b/core/trino-server-core/src/test/java/io/trino/server/TestDummy.java
@@ -0,0 +1,22 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.trino.server;
+
+import org.junit.jupiter.api.Test;
+
+public class TestDummy
+{
+ @Test
+ public void buildRequiresTestToExist() {}
+}
diff --git a/core/trino-server/README.txt b/core/trino-server/README.txt
deleted file mode 100644
index 7d6ca9ae5363..000000000000
--- a/core/trino-server/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Trino is a distributed SQL query engine.
-
-Please see the website for installation instructions:
-
-https://trino.io/
diff --git a/core/trino-server/pom.xml b/core/trino-server/pom.xml
index 6d9f3c5afd58..e28615783506 100644
--- a/core/trino-server/pom.xml
+++ b/core/trino-server/pom.xml
@@ -29,6 +29,12 @@
+
+ io.trino
+ trino-server-core
+ ${project.version}
+ tar.gz
+
io.airlift
junit-extensions
@@ -53,6 +59,8 @@
org.apache.maven.plugins
maven-enforcer-plugin
+
+ true
diff --git a/core/trino-server/src/main/provisio/trino.xml b/core/trino-server/src/main/provisio/trino.xml
index 17272e70cafd..dbb7144c5d32 100644
--- a/core/trino-server/src/main/provisio/trino.xml
+++ b/core/trino-server/src/main/provisio/trino.xml
@@ -2,32 +2,9 @@
-
-
-
- NOTICE
- README.txt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -96,48 +73,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -159,12 +106,6 @@
-
-
-
-
-
-
@@ -231,12 +172,6 @@
-
-
-
-
-
-
@@ -279,18 +214,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -321,18 +244,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -345,24 +256,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/main/sphinx/connector/phoenix.md b/docs/src/main/sphinx/connector/phoenix.md
index 5fde1a4d5681..b0ad6d861531 100644
--- a/docs/src/main/sphinx/connector/phoenix.md
+++ b/docs/src/main/sphinx/connector/phoenix.md
@@ -14,6 +14,14 @@ The Phoenix connector allows querying data stored in
[Apache HBase](https://hbase.apache.org/) using
[Apache Phoenix](https://phoenix.apache.org/).
+## Installation
+
+The Phoenix connector plugin is optional and must be downloaded and installed
+as part of your Trino cluster provisioning.
+
+Download the plugin archive {maven_download}`phoenix` and follow the plugin
+installation instructions.
+
## Requirements
To query HBase data through Phoenix, you need:
diff --git a/docs/src/main/sphinx/develop/example-http.md b/docs/src/main/sphinx/develop/example-http.md
index d68d5bb00a8d..064168d9f378 100644
--- a/docs/src/main/sphinx/develop/example-http.md
+++ b/docs/src/main/sphinx/develop/example-http.md
@@ -5,6 +5,14 @@ data over HTTP. For example, if you have a large amount of data in a
CSV format, you can point the example HTTP connector at this data and
write a query to process it.
+## Installation
+
+The example HTTP connector plugin is optional and must be downloaded and
+installed as part of your Trino cluster provisioning.
+
+Download the plugin archive {maven_download}`example-http` and follow the plugin
+installation instructions.
+
## Code
The Example HTTP connector can be found in the [trino-example-http](https://github.com/trinodb/trino/tree/master/plugin/trino-example-http)
diff --git a/docs/src/main/sphinx/ext/download.py b/docs/src/main/sphinx/ext/download.py
index 0fa37b7d849b..dbb4cc41ffba 100644
--- a/docs/src/main/sphinx/ext/download.py
+++ b/docs/src/main/sphinx/ext/download.py
@@ -22,7 +22,9 @@
'server': ('trino-server', 'tar.gz', None),
'cli': ('trino-cli', 'jar', 'executable'),
'jdbc': ('trino-jdbc', 'jar', None),
-
+ 'teradata-functions': ('trino-teradata-functions', 'zip', None),
+ 'example-http': ('trino-example-http', 'zip', None),
+ 'phoenix': ('trino-phoenix5', 'zip', None),
}
diff --git a/docs/src/main/sphinx/functions/teradata.md b/docs/src/main/sphinx/functions/teradata.md
index d1218deb0cd6..71a11259e81e 100644
--- a/docs/src/main/sphinx/functions/teradata.md
+++ b/docs/src/main/sphinx/functions/teradata.md
@@ -2,6 +2,14 @@
These functions provide compatibility with Teradata SQL.
+## Installation
+
+The Teradata functions plugin is optional and must be downloaded and installed
+as part of your Trino cluster provisioning.
+
+Download the plugin archive {maven_download}`teradata-functions`
+and follow the plugin installation instructions.
+
## String functions
:::{function} char2hexint(string) -> varchar
diff --git a/plugin/trino-http-server-event-listener/README.md b/plugin/trino-http-server-event-listener/README.md
new file mode 100644
index 000000000000..7cdfc917f85d
--- /dev/null
+++ b/plugin/trino-http-server-event-listener/README.md
@@ -0,0 +1,9 @@
+# Trino HTTP server event listener plugin
+
+The HTTP server event listener plugin is optional and must be downloaded and
+installed as part of your Trino cluster provisioning.
+
+Download the plugin archive from the Maven Central Repository and follow the
+plugin installation instructions from the documentation.
+
+https://central.sonatype.com/artifact/io.trino/trino-http-server-event-listener
diff --git a/pom.xml b/pom.xml
index fe27f73e9758..eb701aa8bbc3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,6 +35,7 @@
core/trino-main
core/trino-parser
core/trino-server
+ core/trino-server-core
core/trino-server-main
core/trino-spi
core/trino-web-ui
@@ -1403,6 +1404,12 @@
${project.version}
+
+ io.trino
+ trino-server-core
+ ${project.version}
+
+
io.trino
trino-session-property-managers