aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-telemetry-core/build.gradle24
-rw-r--r--server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Dimension.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/Dimension.java)2
-rw-r--r--server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Granularity.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/Granularity.java)2
-rw-r--r--server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataProvider.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataProvider.java)2
-rw-r--r--server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataType.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataType.java)2
-rw-r--r--server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/package-info.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/package-info.java)2
-rw-r--r--server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/DimensionTest.java (renamed from server/sonar-telemetry/src/test/java/org/sonar/telemetry/DimensionTest.java)2
-rw-r--r--server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/GranularityTest.java (renamed from server/sonar-telemetry/src/test/java/org/sonar/telemetry/GranularityTest.java)2
-rw-r--r--server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/TelemetryDataTypeTest.java (renamed from server/sonar-telemetry/src/test/java/org/sonar/telemetry/TelemetryDataTypeTest.java)2
-rw-r--r--server/sonar-telemetry/build.gradle14
-rw-r--r--server/sonar-telemetry/src/it/java/org/sonar/telemetry/metrics/TelemetryMetricsLoaderIT.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsMapper.java2
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/BaseMessage.java2
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/InstallationMetric.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/LanguageMetric.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/Metric.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/ProjectMetric.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/UserMetric.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/util/SentMetricsStorage.java4
-rw-r--r--server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/package-info.java23
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TelemetryMetricsMapperTest.java8
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TestTelemetryBean.java8
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/BaseMessageTest.java6
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/InstallationMetricTest.java4
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/LanguageMetricTest.java4
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/ProjectMetricTest.java4
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/UserMetricTest.java4
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/MessageSerializerTest.java6
-rw-r--r--server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/SentMetricsStorageTest.java4
-rw-r--r--server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderIT.java (renamed from server/sonar-telemetry/src/it/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderIT.java)3
-rw-r--r--server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderIT.java (renamed from server/sonar-telemetry/src/it/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderIT.java)2
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java4
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProvider.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProvider.java)10
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryNclocProvider.java8
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProvider.java (renamed from server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/TelemetryUserEnabledProvider.java)10
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryVersionProvider.java8
-rw-r--r--server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderTest.java (renamed from server/sonar-telemetry/src/test/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderTest.java)8
-rw-r--r--server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryNclocProviderTest.java4
-rw-r--r--server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderTest.java (renamed from server/sonar-telemetry/src/test/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderTest.java)8
-rw-r--r--server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryVersionProviderTest.java6
-rw-r--r--settings.gradle1
42 files changed, 118 insertions, 115 deletions
diff --git a/server/sonar-telemetry-core/build.gradle b/server/sonar-telemetry-core/build.gradle
new file mode 100644
index 00000000000..010d750923a
--- /dev/null
+++ b/server/sonar-telemetry-core/build.gradle
@@ -0,0 +1,24 @@
+description = 'Module providing the core classes and interfaces for telemetry metrics in SonarQube.'
+
+sonar {
+ properties {
+ property 'sonar.projectName', "${projectTitle} :: Server :: Telemetry Core"
+ }
+}
+
+dependencies {
+ compileOnlyApi 'com.github.spotbugs:spotbugs-annotations'
+
+ implementation 'com.fasterxml.jackson.core:jackson-databind'
+
+ testImplementation(platform("org.junit:junit-bom:5.9.1"))
+ testImplementation 'org.assertj:assertj-core'
+ testImplementation 'org.junit.jupiter:junit-jupiter-api'
+ testImplementation 'org.junit.jupiter:junit-jupiter-params'
+
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
+}
+
+tasks.test {
+ useJUnitPlatform()
+} \ No newline at end of file
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/Dimension.java b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Dimension.java
index b30efed0fca..96f9ce5b5fd 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/Dimension.java
+++ b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Dimension.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import com.fasterxml.jackson.annotation.JsonValue;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/Granularity.java b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Granularity.java
index 7c350868406..be5cd22bb93 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/Granularity.java
+++ b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/Granularity.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import com.fasterxml.jackson.annotation.JsonValue;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataProvider.java b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataProvider.java
index fb0f7f8ebef..a464014e767 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataProvider.java
+++ b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataProvider.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import java.util.Map;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataType.java b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataType.java
index a59bd03e34e..5f096d0dcfa 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/TelemetryDataType.java
+++ b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/TelemetryDataType.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import com.fasterxml.jackson.annotation.JsonValue;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/package-info.java b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/package-info.java
index a8fd2a249b9..1b573068f64 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/package-info.java
+++ b/server/sonar-telemetry-core/src/main/java/org/sonar/telemetry/core/package-info.java
@@ -18,6 +18,6 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
@ParametersAreNonnullByDefault
-package org.sonar.telemetry.user;
+package org.sonar.telemetry.core;
import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/DimensionTest.java b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/DimensionTest.java
index 6c30ec72758..6c2c74b5892 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/DimensionTest.java
+++ b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/DimensionTest.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import org.junit.jupiter.api.Test;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/GranularityTest.java b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/GranularityTest.java
index dc3946d8a57..a4b01e93305 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/GranularityTest.java
+++ b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/GranularityTest.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import org.junit.jupiter.api.Test;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/TelemetryDataTypeTest.java b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/TelemetryDataTypeTest.java
index 7d3a3cc19a5..4749a858364 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/TelemetryDataTypeTest.java
+++ b/server/sonar-telemetry-core/src/test/java/org/sonar/telemetry/core/TelemetryDataTypeTest.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry;
+package org.sonar.telemetry.core;
import org.junit.jupiter.api.Test;
diff --git a/server/sonar-telemetry/build.gradle b/server/sonar-telemetry/build.gradle
index 4ab65454207..273895ca6db 100644
--- a/server/sonar-telemetry/build.gradle
+++ b/server/sonar-telemetry/build.gradle
@@ -7,6 +7,14 @@ sonar {
}
dependencies {
+ api project(':server:sonar-telemetry-core')
+
+ implementation project(':server:sonar-process')
+ implementation project(':server:sonar-server-common')
+ implementation project(':server:sonar-webserver-core')
+ implementation project(':server:sonar-webserver-webapi')
+ implementation project(':sonar-core')
+
testImplementation(platform("org.junit:junit-bom:5.9.1"))
testImplementation 'com.squareup.okhttp3:mockwebserver'
testImplementation 'com.tngtech.java:junit-dataprovider'
@@ -18,12 +26,6 @@ dependencies {
testImplementation project(':sonar-testing-harness')
testImplementation testFixtures(project(':server:sonar-server-common'))
- api project(':server:sonar-process')
- api project(':server:sonar-server-common')
- api project(':server:sonar-webserver-core')
- api project(':server:sonar-webserver-webapi')
- api project(':sonar-core')
-
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
diff --git a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/metrics/TelemetryMetricsLoaderIT.java b/server/sonar-telemetry/src/it/java/org/sonar/telemetry/metrics/TelemetryMetricsLoaderIT.java
index 91743dc5fb0..f264fc8c107 100644
--- a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/metrics/TelemetryMetricsLoaderIT.java
+++ b/server/sonar-telemetry/src/it/java/org/sonar/telemetry/metrics/TelemetryMetricsLoaderIT.java
@@ -25,9 +25,9 @@ import org.junit.jupiter.api.Test;
import org.sonar.api.impl.utils.TestSystem2;
import org.sonar.core.util.UuidFactory;
import org.sonar.db.DbTester;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.TelemetryDataProvider;
import org.sonar.telemetry.FakeServer;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.TelemetryDataProvider;
import org.sonar.telemetry.metrics.schema.BaseMessage;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java
index e7cf201a73a..5cb2e69e242 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsLoader.java
@@ -32,8 +32,8 @@ import org.sonar.core.util.UuidFactory;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.telemetry.TelemetryMetricsSentDto;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.TelemetryDataProvider;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.TelemetryDataProvider;
import org.sonar.telemetry.metrics.schema.BaseMessage;
import org.sonar.telemetry.metrics.schema.Metric;
import org.sonar.telemetry.metrics.util.SentMetricsStorage;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsMapper.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsMapper.java
index 645798bf721..f6ff629effb 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsMapper.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/TelemetryMetricsMapper.java
@@ -22,7 +22,7 @@ package org.sonar.telemetry.metrics;
import java.util.Collections;
import java.util.Set;
import java.util.stream.Collectors;
-import org.sonar.telemetry.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataProvider;
import org.sonar.telemetry.metrics.schema.InstallationMetric;
import org.sonar.telemetry.metrics.schema.LanguageMetric;
import org.sonar.telemetry.metrics.schema.Metric;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/BaseMessage.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/BaseMessage.java
index 2bbbbf2753f..2c4ad2b725d 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/BaseMessage.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/BaseMessage.java
@@ -22,7 +22,7 @@ package org.sonar.telemetry.metrics.schema;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Objects;
import java.util.Set;
-import org.sonar.telemetry.Dimension;
+import org.sonar.telemetry.core.Dimension;
public class BaseMessage {
@JsonProperty("message_uuid")
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/InstallationMetric.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/InstallationMetric.java
index 0c3eea43c09..0f0a2abc0fe 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/InstallationMetric.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/InstallationMetric.java
@@ -19,8 +19,8 @@
*/
package org.sonar.telemetry.metrics.schema;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
public class InstallationMetric extends Metric {
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/LanguageMetric.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/LanguageMetric.java
index 766dcf9cbe6..236c31d7d38 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/LanguageMetric.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/LanguageMetric.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
public class LanguageMetric extends Metric {
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/Metric.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/Metric.java
index efdf43d0dd7..ad5c17f5194 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/Metric.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/Metric.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
public abstract class Metric {
@JsonProperty("key")
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/ProjectMetric.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/ProjectMetric.java
index 421d2e79ca6..fc9ff8e4cd4 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/ProjectMetric.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/ProjectMetric.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
public class ProjectMetric extends Metric {
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/UserMetric.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/UserMetric.java
index a9ff05657df..2af08ca023e 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/UserMetric.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/schema/UserMetric.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
public class UserMetric extends Metric {
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/util/SentMetricsStorage.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/util/SentMetricsStorage.java
index 36ab85505b1..3f8b7c73cc6 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/util/SentMetricsStorage.java
+++ b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/metrics/util/SentMetricsStorage.java
@@ -29,8 +29,8 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.sonar.db.telemetry.TelemetryMetricsSentDto;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
public class SentMetricsStorage {
private final Map<Dimension, Map<String, TelemetryMetricsSentDto>> dimensionMetricKeyMap = new EnumMap<>(Dimension.class);
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/package-info.java b/server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/package-info.java
deleted file mode 100644
index 3d6bbd23974..00000000000
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-@ParametersAreNonnullByDefault
-package org.sonar.telemetry.project;
-
-import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TelemetryMetricsMapperTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TelemetryMetricsMapperTest.java
index 276948bd360..a4ef44b09c3 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TelemetryMetricsMapperTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TelemetryMetricsMapperTest.java
@@ -24,10 +24,10 @@ import java.util.List;
import java.util.Set;
import org.assertj.core.groups.Tuple;
import org.junit.jupiter.api.Test;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataProvider;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
import org.sonar.telemetry.metrics.schema.InstallationMetric;
import org.sonar.telemetry.metrics.schema.LanguageMetric;
import org.sonar.telemetry.metrics.schema.Metric;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TestTelemetryBean.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TestTelemetryBean.java
index 876f6b025c1..e19824e84b0 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TestTelemetryBean.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/TestTelemetryBean.java
@@ -20,10 +20,10 @@
package org.sonar.telemetry.metrics;
import java.util.Map;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataProvider;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
public class TestTelemetryBean implements TelemetryDataProvider<String> {
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/BaseMessageTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/BaseMessageTest.java
index dd50af1b46a..e702018f37e 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/BaseMessageTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/BaseMessageTest.java
@@ -27,9 +27,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.tuple;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/InstallationMetricTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/InstallationMetricTest.java
index 2a1215626e3..43408b7a2ba 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/InstallationMetricTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/InstallationMetricTest.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import org.junit.jupiter.api.Test;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/LanguageMetricTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/LanguageMetricTest.java
index 61c72956255..832ec3d8f03 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/LanguageMetricTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/LanguageMetricTest.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import org.junit.jupiter.api.Test;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/ProjectMetricTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/ProjectMetricTest.java
index cbcdb2c8180..7eb23fcfcf1 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/ProjectMetricTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/ProjectMetricTest.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import org.junit.jupiter.api.Test;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/UserMetricTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/UserMetricTest.java
index 2f171714b8e..04466d0909f 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/UserMetricTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/schema/UserMetricTest.java
@@ -20,8 +20,8 @@
package org.sonar.telemetry.metrics.schema;
import org.junit.jupiter.api.Test;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/MessageSerializerTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/MessageSerializerTest.java
index 098bb2dc82f..57aa2e858e0 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/MessageSerializerTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/MessageSerializerTest.java
@@ -25,9 +25,9 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import org.sonar.telemetry.metrics.schema.BaseMessage;
import org.sonar.telemetry.metrics.schema.InstallationMetric;
import org.sonar.telemetry.metrics.schema.LanguageMetric;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/SentMetricsStorageTest.java b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/SentMetricsStorageTest.java
index 8bced415452..ad2cf915d8b 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/SentMetricsStorageTest.java
+++ b/server/sonar-telemetry/src/test/java/org/sonar/telemetry/metrics/util/SentMetricsStorageTest.java
@@ -28,8 +28,8 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import org.sonar.db.telemetry.TelemetryMetricsSentDto;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
public class SentMetricsStorageTest {
diff --git a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderIT.java b/server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderIT.java
index 1b9e7e2d0b3..ee6c1f578e9 100644
--- a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderIT.java
+++ b/server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderIT.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.project;
+package org.sonar.server.platform.telemetry;
import java.util.Map;
import java.util.function.Consumer;
@@ -31,7 +31,6 @@ import org.sonar.db.component.ProjectData;
import org.sonar.db.measure.LiveMeasureDto;
import org.sonar.db.metric.MetricDto;
import org.sonar.db.project.ProjectDto;
-import org.sonar.telemetry.project.ProjectCppAutoconfigTelemetryProvider;
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.measures.CoreMetrics.NCLOC_LANGUAGE_DISTRIBUTION_KEY;
diff --git a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderIT.java b/server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderIT.java
index aa8c502f110..f0466dac7a8 100644
--- a/server/sonar-telemetry/src/it/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderIT.java
+++ b/server/sonar-webserver/src/it/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderIT.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.user;
+package org.sonar.server.platform.telemetry;
import java.util.Map;
import org.junit.Rule;
diff --git a/server/sonar-webserver/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
index aa63a07edd1..da7ff01ea80 100644
--- a/server/sonar-webserver/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
@@ -184,7 +184,9 @@ import org.sonar.server.platform.PersistentSettings;
import org.sonar.server.platform.SystemInfoWriterModule;
import org.sonar.server.platform.WebCoreExtensionsInstaller;
import org.sonar.server.platform.db.CheckAnyonePermissionsAtStartup;
+import org.sonar.server.platform.telemetry.ProjectCppAutoconfigTelemetryProvider;
import org.sonar.server.platform.telemetry.TelemetryNclocProvider;
+import org.sonar.server.platform.telemetry.TelemetryUserEnabledProvider;
import org.sonar.server.platform.telemetry.TelemetryVersionProvider;
import org.sonar.server.platform.web.ActionDeprecationLoggerInterceptor;
import org.sonar.server.platform.web.SonarLintConnectionFilter;
@@ -290,8 +292,6 @@ import org.sonar.telemetry.legacy.QualityProfileDataProvider;
import org.sonar.telemetry.legacy.TelemetryDataJsonWriter;
import org.sonar.telemetry.legacy.TelemetryDataLoaderImpl;
import org.sonar.telemetry.metrics.TelemetryMetricsLoader;
-import org.sonar.telemetry.project.ProjectCppAutoconfigTelemetryProvider;
-import org.sonar.telemetry.user.TelemetryUserEnabledProvider;
import static org.sonar.core.extension.CoreExtensionsInstaller.noAdditionalSideFilter;
import static org.sonar.core.extension.PlatformLevelPredicates.hasPlatformLevel4OrNone;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProvider.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProvider.java
index caa0b900485..6473c1238e2 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProvider.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProvider.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.project;
+package org.sonar.server.platform.telemetry;
import java.util.HashMap;
import java.util.List;
@@ -28,10 +28,10 @@ import org.sonar.db.DbSession;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.property.PropertyDto;
import org.sonar.db.property.PropertyQuery;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
-import org.sonar.telemetry.TelemetryDataProvider;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
public class ProjectCppAutoconfigTelemetryProvider implements TelemetryDataProvider<String> {
diff --git a/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryNclocProvider.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryNclocProvider.java
index 5e3fa11b544..81f683cb96a 100644
--- a/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryNclocProvider.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryNclocProvider.java
@@ -27,10 +27,10 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.measure.ProjectLocDistributionDto;
import org.sonar.db.metric.MetricDto;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataProvider;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.toMap;
diff --git a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/TelemetryUserEnabledProvider.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProvider.java
index fb7358e1ab6..fa3aff0b38e 100644
--- a/server/sonar-telemetry/src/main/java/org/sonar/telemetry/user/TelemetryUserEnabledProvider.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProvider.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.user;
+package org.sonar.server.platform.telemetry;
import java.util.HashMap;
import java.util.List;
@@ -27,10 +27,10 @@ import org.sonar.db.DbSession;
import org.sonar.db.user.UserDto;
import org.sonar.db.user.UserQuery;
import org.sonar.server.util.DigestUtil;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataProvider;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
public class TelemetryUserEnabledProvider implements TelemetryDataProvider<Boolean> {
diff --git a/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryVersionProvider.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryVersionProvider.java
index d76962b7cea..850190948ba 100644
--- a/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryVersionProvider.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/telemetry/TelemetryVersionProvider.java
@@ -20,10 +20,10 @@
package org.sonar.server.platform.telemetry;
import org.sonar.api.platform.Server;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataProvider;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataProvider;
+import org.sonar.telemetry.core.TelemetryDataType;
public class TelemetryVersionProvider implements TelemetryDataProvider<String> {
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderTest.java b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderTest.java
index ccbf1bc9198..295d03b07b1 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/project/ProjectCppAutoconfigTelemetryProviderTest.java
+++ b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/ProjectCppAutoconfigTelemetryProviderTest.java
@@ -17,13 +17,13 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.project;
+package org.sonar.server.platform.telemetry;
import org.junit.jupiter.api.Test;
import org.sonar.db.DbClient;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
diff --git a/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryNclocProviderTest.java b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryNclocProviderTest.java
index 7c9752a8088..6bfd81a6e91 100644
--- a/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryNclocProviderTest.java
+++ b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryNclocProviderTest.java
@@ -26,8 +26,8 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.measure.ProjectLocDistributionDto;
import org.sonar.db.metric.MetricDto;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderTest.java b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderTest.java
index 032065828ec..d8b2e91f52b 100644
--- a/server/sonar-telemetry/src/test/java/org/sonar/telemetry/user/TelemetryUserEnabledProviderTest.java
+++ b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryUserEnabledProviderTest.java
@@ -17,13 +17,13 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.telemetry.user;
+package org.sonar.server.platform.telemetry;
import org.junit.jupiter.api.Test;
import org.sonar.db.DbClient;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
diff --git a/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryVersionProviderTest.java b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryVersionProviderTest.java
index d5ea987eb6d..1a14d52bbf3 100644
--- a/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryVersionProviderTest.java
+++ b/server/sonar-webserver/src/test/java/org/sonar/server/platform/telemetry/TelemetryVersionProviderTest.java
@@ -21,9 +21,9 @@ package org.sonar.server.platform.telemetry;
import org.junit.jupiter.api.Test;
import org.sonar.api.platform.Server;
-import org.sonar.telemetry.Dimension;
-import org.sonar.telemetry.Granularity;
-import org.sonar.telemetry.TelemetryDataType;
+import org.sonar.telemetry.core.Dimension;
+import org.sonar.telemetry.core.Granularity;
+import org.sonar.telemetry.core.TelemetryDataType;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/settings.gradle b/settings.gradle
index b2a54bb3716..6221bc05bc2 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -45,6 +45,7 @@ include 'server:sonar-main'
include 'server:sonar-process'
include 'server:sonar-server-common'
include 'server:sonar-telemetry'
+include 'server:sonar-telemetry-core'
include 'server:sonar-web'
include 'server:sonar-web:design-system'
include 'server:sonar-webserver'