diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e09131..4ce931c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,6 @@
# CodeClocker Changelog
-## [Unreleased]
+## 1.0.2
### Added
-- Initial scaffold created from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template)
+- Support IntelliJ Platform 2024.3.5
diff --git a/README.md b/README.md
index 3953baa..2e6c4f7 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# CodeClocker – IntelliJ Plugin for Tracking Developer Activity

-[](https://plugins.jetbrains.com/plugin/MARKETPLACE_ID)
-[](https://plugins.jetbrains.com/plugin/MARKETPLACE_ID)
+[](https://plugins.jetbrains.com/plugin/26962)
+[](https://plugins.jetbrains.com/plugin/26962)
@@ -29,9 +29,9 @@ CodeClocker automatically tracks coding activity and visualizes it on web dashbo
- Using JetBrains Marketplace:
- Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/MARKETPLACE_ID) and install it by clicking the Install to ... button in case your IDE is running.
+ Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) and install it by clicking the Install to ... button in case your IDE is running.
- You can also download the [latest release](https://plugins.jetbrains.com/plugin/MARKETPLACE_ID/versions) from JetBrains Marketplace and install it manually using
+ You can also download the [latest release](https://plugins.jetbrains.com/plugin/26962/versions) from JetBrains Marketplace and install it manually using
Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...
- Manually:
diff --git a/build.gradle.kts b/build.gradle.kts
index 376dc16..62dc125 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -17,7 +17,7 @@ version = providers.gradleProperty("pluginVersion").get()
// Set the JVM language level used to build the project.
kotlin {
- jvmToolchain(17)
+ jvmToolchain(21)
}
// Configure project's dependencies
@@ -33,6 +33,7 @@ repositories {
// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog
dependencies {
testImplementation(libs.junit)
+ testImplementation(libs.opentest4j)
// IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html
intellijPlatform {
@@ -44,8 +45,6 @@ dependencies {
// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace.
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
- pluginVerifier()
- zipSigner()
testFramework(TestFrameworkType.Platform)
}
}
@@ -53,6 +52,7 @@ dependencies {
// Configure IntelliJ Platform Gradle Plugin - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-extension.html
intellijPlatform {
pluginConfiguration {
+ name = providers.gradleProperty("pluginName")
version = providers.gradleProperty("pluginVersion")
// Extract the section from README.md and provide for the plugin's manifest
diff --git a/gradle.properties b/gradle.properties
index 72e2ea3..88ed5f9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,24 +4,24 @@ pluginGroup = com.codeclocker
pluginName = CodeClocker - IntelliJ IDEA Activity Tracker
pluginRepositoryUrl = https://github.com/codeclocker/codeclocker-intellij-plugin
# SemVer format -> https://semver.org
-pluginVersion = 1.0.0
+pluginVersion = 1.0.2
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
-pluginSinceBuild = 233
-pluginUntilBuild = 242.*
+pluginSinceBuild = 242
+pluginUntilBuild = 252.*
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
platformType = IC
-platformVersion = 2023.3.8
+platformVersion = 2024.2.5
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP
platformPlugins =
# Example: platformBundledPlugins = com.intellij.java
-platformBundledPlugins = com.intellij.java
+platformBundledPlugins =
# Gradle Releases -> https://github.com/gradle/gradle/releases
-gradleVersion = 8.10.2
+gradleVersion = 8.13
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
kotlin.stdlib.default.dependency = false
@@ -30,4 +30,4 @@ kotlin.stdlib.default.dependency = false
org.gradle.configuration-cache = true
# Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html
-org.gradle.caching = true
+org.gradle.caching = true
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 3baa4f9..1fd5723 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,16 +1,18 @@
[versions]
# libraries
junit = "4.13.2"
+opentest4j = "1.3.0"
# plugins
changelog = "2.2.1"
-intelliJPlatform = "2.3.0"
-kotlin = "1.9.25"
-kover = "0.8.3"
-qodana = "2024.2.3"
+intelliJPlatform = "2.5.0"
+kotlin = "2.1.20"
+kover = "0.9.1"
+qodana = "2024.3.4"
[libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" }
+opentest4j = { group = "org.opentest4j", name = "opentest4j", version.ref = "opentest4j" }
[plugins]
changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" }
diff --git a/gradlew b/gradlew
index f5feea6..faf9300 100755
--- a/gradlew
+++ b/gradlew
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
diff --git a/src/main/java/com/codeclocker/plugin/intellij/HubHost.java b/src/main/java/com/codeclocker/plugin/intellij/HubHost.java
index 640d4b8..10bd3ae 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/HubHost.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/HubHost.java
@@ -5,5 +5,5 @@ public class HubHost {
public static final String HUB_UI_HOST = "https://hub.codeclocker.com";
public static final String HUB_API_HOST = "https://hub.codeclocker.com";
// public static final String HUB_UI_HOST = "http://localhost:5173";
- // public static final String HUB_API_HOST = "http://localhost:8080";
+ // public static final String HUB_API_HOST = "http://localhost:8080";
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/apikey/ApiKeyActivationCheckerTask.java b/src/main/java/com/codeclocker/plugin/intellij/apikey/ApiKeyActivationCheckerTask.java
index 3a773ee..cbf65dc 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/apikey/ApiKeyActivationCheckerTask.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/apikey/ApiKeyActivationCheckerTask.java
@@ -55,7 +55,7 @@ private void checkApiKeyState() {
cancelTask();
}
} catch (Exception ex) {
- LOG.error("Failed to check API key state: {}", ex.getMessage());
+ LOG.debug("Failed to check API key state: {}", ex.getMessage());
}
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/apikey/CheckApiKeyStateHttpClient.java b/src/main/java/com/codeclocker/plugin/intellij/apikey/CheckApiKeyStateHttpClient.java
index a9cd605..783dfa2 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/apikey/CheckApiKeyStateHttpClient.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/apikey/CheckApiKeyStateHttpClient.java
@@ -3,11 +3,9 @@
import static com.codeclocker.plugin.intellij.HubHost.HUB_API_HOST;
import static com.codeclocker.plugin.intellij.Timeouts.CONNECT_TIMEOUT;
import static com.codeclocker.plugin.intellij.Timeouts.READ_TIMEOUT;
-import static com.codeclocker.plugin.intellij.http.HttpResponseReader.readResponse;
import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.util.net.HttpConfigurable;
-import java.net.HttpURLConnection;
+import com.intellij.util.io.HttpRequests;
import org.jetbrains.annotations.Nullable;
public class CheckApiKeyStateHttpClient {
@@ -18,20 +16,13 @@ public class CheckApiKeyStateHttpClient {
public String check(String apiKey) {
LOG.debug("Checking subscription state by API Key: {}", apiKey);
try {
- HttpURLConnection connection =
- (HttpURLConnection)
- HttpConfigurable.getInstance()
- .openConnection(HUB_API_HOST + "/api/v1/subscriptions/state-by-api-key");
- connection.setConnectTimeout(CONNECT_TIMEOUT);
- connection.setReadTimeout(READ_TIMEOUT);
- connection.setRequestMethod("GET");
- connection.setRequestProperty("X-codeclocker-api-key", apiKey);
- connection.setDoOutput(true);
-
- LOG.debug("HTTP Response Code: " + connection.getResponseCode());
- return readResponse(connection);
+ return HttpRequests.request(HUB_API_HOST + "/api/v1/subscriptions/state-by-api-key")
+ .connectTimeout(CONNECT_TIMEOUT)
+ .readTimeout(READ_TIMEOUT)
+ .tuner(connection -> connection.setRequestProperty("X-codeclocker-api-key", apiKey))
+ .readString();
} catch (Exception ex) {
- LOG.error("Error checking subscription state: {}", ex.getMessage());
+ LOG.debug("Error checking subscription state: {}", ex.getMessage());
return null;
}
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/config/ConfigProvider.java b/src/main/java/com/codeclocker/plugin/intellij/config/ConfigProvider.java
index 7f2a6ab..9a3d739 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/config/ConfigProvider.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/config/ConfigProvider.java
@@ -21,11 +21,11 @@ public class ConfigProvider {
private static final String NEXT_CONFIG_LOAD_TIMESTAMP =
"com.codeclocker.config.next-config-load-timestamp";
- private final PluginConfigClient pluginConfigClient;
+ private final PluginConfigHttpClient pluginConfigHttpClient;
public ConfigProvider() {
- this.pluginConfigClient =
- ApplicationManager.getApplication().getService(PluginConfigClient.class);
+ this.pluginConfigHttpClient =
+ ApplicationManager.getApplication().getService(PluginConfigHttpClient.class);
long nextConfigLoadTimestamp =
PropertiesComponent.getInstance().getLong(NEXT_CONFIG_LOAD_TIMESTAMP, -1);
long now = System.currentTimeMillis();
@@ -57,9 +57,9 @@ private static int getProperty(String property) {
private void loadConfig() {
try {
String apiKey = ApiKeyLifecycle.getActiveApiKey();
- PluginConfigDto config = pluginConfigClient.getConfig(apiKey);
+ PluginConfigDto config = pluginConfigHttpClient.getConfig(apiKey);
if (config == null) {
- LOG.error("Failed to load plugin config");
+ LOG.debug("Failed to load plugin config");
return;
}
@@ -77,7 +77,7 @@ private void loadConfig() {
propertiesComponent.setValue(
NEXT_CONFIG_LOAD_TIMESTAMP, String.valueOf(nextConfigLoadTimestamp.toMillis()));
} catch (Exception e) {
- LOG.error("Error loading config from hub: {}", e.getMessage());
+ LOG.debug("Error loading config from hub: {}", e.getMessage());
}
}
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigClient.java b/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigClient.java
deleted file mode 100644
index 83f0e35..0000000
--- a/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigClient.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.codeclocker.plugin.intellij.config;
-
-import static com.codeclocker.plugin.intellij.HubHost.HUB_API_HOST;
-import static com.codeclocker.plugin.intellij.JsonMapper.OBJECT_MAPPER;
-import static com.codeclocker.plugin.intellij.Timeouts.CONNECT_TIMEOUT;
-import static com.codeclocker.plugin.intellij.Timeouts.READ_TIMEOUT;
-import static com.codeclocker.plugin.intellij.http.HttpResponseReader.readResponse;
-
-import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.util.net.HttpConfigurable;
-import java.net.HttpURLConnection;
-import org.jetbrains.annotations.Nullable;
-
-public class PluginConfigClient {
-
- private static final Logger LOG = Logger.getInstance(PluginConfigClient.class);
-
- @Nullable
- public PluginConfigDto getConfig(String apiKey) {
- LOG.debug("Getting plugin config with API Key: {}", apiKey);
- try {
- HttpURLConnection connection =
- (HttpURLConnection)
- HttpConfigurable.getInstance()
- .openConnection(HUB_API_HOST + "/api/v1/plugin-configs");
- connection.setConnectTimeout(CONNECT_TIMEOUT);
- connection.setReadTimeout(READ_TIMEOUT);
- connection.setRequestMethod("GET");
- connection.setRequestProperty("X-codeclocker-api-key", apiKey);
- connection.setDoOutput(true);
-
- LOG.debug("HTTP Response Code: " + connection.getResponseCode());
- String response = readResponse(connection);
- if (response != null) {
- return OBJECT_MAPPER.readValue(response, PluginConfigDto.class);
- }
- } catch (Exception ex) {
- LOG.error("Error getting plugin config: {}", ex.getMessage());
- }
-
- return null;
- }
-}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigHttpClient.java b/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigHttpClient.java
new file mode 100644
index 0000000..25f192e
--- /dev/null
+++ b/src/main/java/com/codeclocker/plugin/intellij/config/PluginConfigHttpClient.java
@@ -0,0 +1,40 @@
+package com.codeclocker.plugin.intellij.config;
+
+import static com.codeclocker.plugin.intellij.HubHost.HUB_API_HOST;
+import static com.codeclocker.plugin.intellij.JsonMapper.OBJECT_MAPPER;
+import static com.codeclocker.plugin.intellij.Timeouts.CONNECT_TIMEOUT;
+import static com.codeclocker.plugin.intellij.Timeouts.READ_TIMEOUT;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
+
+import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.util.io.HttpRequests;
+import org.jetbrains.annotations.Nullable;
+
+public class PluginConfigHttpClient {
+
+ private static final Logger LOG = Logger.getInstance(PluginConfigHttpClient.class);
+
+ @Nullable
+ public PluginConfigDto getConfig(String apiKey) {
+ LOG.debug("Getting plugin config with API Key: {}", apiKey);
+ try {
+ String response =
+ HttpRequests.request(HUB_API_HOST + "/api/v1/plugin-configs")
+ .connectTimeout(CONNECT_TIMEOUT)
+ .readTimeout(READ_TIMEOUT)
+ .tuner(
+ connection -> {
+ if (isNotBlank(apiKey)) {
+ connection.setRequestProperty("X-codeclocker-api-key", apiKey);
+ }
+ })
+ .readString();
+
+ return OBJECT_MAPPER.readValue(response, PluginConfigDto.class);
+ } catch (Exception ex) {
+ LOG.debug("Error getting plugin config: " + ex.getMessage());
+ }
+
+ return null;
+ }
+}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/http/HttpResponseReader.java b/src/main/java/com/codeclocker/plugin/intellij/http/HttpResponseReader.java
deleted file mode 100644
index ee61bf5..0000000
--- a/src/main/java/com/codeclocker/plugin/intellij/http/HttpResponseReader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.codeclocker.plugin.intellij.http;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.apache.commons.lang3.StringUtils.isNotBlank;
-
-import com.intellij.openapi.diagnostic.Logger;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import org.jetbrains.annotations.Nullable;
-
-public class HttpResponseReader {
-
- private static final Logger LOG = Logger.getInstance(HttpResponseReader.class);
-
- @Nullable
- public static String readResponse(HttpURLConnection connection) {
- try (InputStream stream =
- connection.getErrorStream() != null
- ? connection.getErrorStream()
- : connection.getInputStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(stream, UTF_8))) {
-
- StringBuilder response = new StringBuilder();
- String line;
- while ((line = reader.readLine()) != null) {
- response.append(line);
- }
-
- String responseString = response.toString();
- if (isNotBlank(responseString)) {
- LOG.debug("Read response: {}", responseString);
- }
-
- return responseString;
- } catch (IOException e) {
- LOG.error("Error reading response body: {}", e.getMessage());
- return null;
- }
- }
-}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/listeners/FocusListener.java b/src/main/java/com/codeclocker/plugin/intellij/listeners/FocusListener.java
index 26e71f0..494a926 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/listeners/FocusListener.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/listeners/FocusListener.java
@@ -43,7 +43,7 @@ public void eventDispatched(AWTEvent event) {
Project project = getProject(component);
if (project == null) {
- LOG.error("Project is null. Doing nothing");
+ LOG.debug("Project is null. Doing nothing");
return;
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/reporting/ActivitySampleHttpClient.java b/src/main/java/com/codeclocker/plugin/intellij/reporting/ActivitySampleHttpClient.java
index 08d7d4c..130ddb5 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/reporting/ActivitySampleHttpClient.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/reporting/ActivitySampleHttpClient.java
@@ -3,18 +3,16 @@
import static com.codeclocker.plugin.intellij.HubHost.HUB_API_HOST;
import static com.codeclocker.plugin.intellij.Timeouts.CONNECT_TIMEOUT;
import static com.codeclocker.plugin.intellij.Timeouts.READ_TIMEOUT;
-import static com.codeclocker.plugin.intellij.http.HttpResponseReader.readResponse;
import static com.codeclocker.plugin.intellij.reporting.SentStatus.ERROR;
import static com.codeclocker.plugin.intellij.reporting.SentStatus.OK;
+import static com.intellij.util.io.HttpRequests.JSON_CONTENT_TYPE;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.codeclocker.plugin.intellij.apikey.ApiKeyLifecycle;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.util.net.HttpConfigurable;
+import com.intellij.util.io.HttpRequests;
import java.io.IOException;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
public class ActivitySampleHttpClient {
@@ -37,42 +35,23 @@ public SentStatus sendChangesSample(String apiKey, String jsonData) {
private SentStatus send(String path, String apiKey, String jsonData) {
try {
LOG.debug("Posting data: {}", jsonData);
- HttpURLConnection connection =
- (HttpURLConnection) HttpConfigurable.getInstance().openConnection(HUB_API_HOST + path);
- connection.setConnectTimeout(CONNECT_TIMEOUT);
- connection.setReadTimeout(READ_TIMEOUT);
- connection.setRequestMethod("POST");
- connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
- connection.setRequestProperty("X-codeclocker-api-key", apiKey);
- connection.setDoOutput(true);
+ String response =
+ HttpRequests.post(HUB_API_HOST + path, JSON_CONTENT_TYPE)
+ .connectTimeout(CONNECT_TIMEOUT)
+ .readTimeout(READ_TIMEOUT)
+ .tuner(connection -> connection.setRequestProperty("X-codeclocker-api-key", apiKey))
+ .connect(
+ request -> {
+ request.write(jsonData.getBytes(UTF_8));
+ return request.readString();
+ });
- try (OutputStream os = connection.getOutputStream()) {
- byte[] input = jsonData.getBytes(UTF_8);
- os.write(input, 0, input.length);
- }
-
- int responseCode = connection.getResponseCode();
- LOG.debug("HTTP Response Code: " + responseCode);
- processResponse(connection);
-
- if (responseCode != 200) {
- return ERROR;
- }
+ apiKeyLifecycle.processHubErrorResponse(response);
return OK;
} catch (IOException ex) {
- LOG.error("Error sending activity sample: {}", ex.getMessage());
- }
-
- return ERROR;
- }
-
- private void processResponse(HttpURLConnection connection) {
- try {
- String response = readResponse(connection);
- apiKeyLifecycle.processHubErrorResponse(response);
- } catch (Exception ex) {
- LOG.error("Failed to process response: {}", ex.getMessage());
+ LOG.debug("Error sending activity sample: " + ex.getMessage());
+ return ERROR;
}
}
}
diff --git a/src/main/java/com/codeclocker/plugin/intellij/reporting/DataReportingTask.java b/src/main/java/com/codeclocker/plugin/intellij/reporting/DataReportingTask.java
index 909bc7d..0c19494 100644
--- a/src/main/java/com/codeclocker/plugin/intellij/reporting/DataReportingTask.java
+++ b/src/main/java/com/codeclocker/plugin/intellij/reporting/DataReportingTask.java
@@ -66,14 +66,14 @@ private void sendActivitySampleToServer() {
SentStatus unpublishedSamplesPublishStatus = publishUnpublishedSamples(apiKey);
if (unpublishedSamplesPublishStatus == ERROR) {
- LOG.error("Failed to publish unpublished samples");
+ LOG.debug("Failed to publish unpublished samples");
return;
}
publishTimeSpentSample(apiKey);
publishChangesSample(apiKey);
} catch (Exception ex) {
- LOG.error("Error sending activity sample: {}", ex.getMessage());
+ LOG.debug("Error sending activity sample: {}", ex.getMessage());
}
}
@@ -89,7 +89,7 @@ private void publishTimeSpentSample(String apiKey) {
SentStatus status = activitySampleHttpClient.sendTimeSpentSample(apiKey, json);
if (status == ERROR) {
- LOG.error("Error sending time spent sample. Caching it for future retries");
+ LOG.debug("Error sending time spent sample. Caching it for future retries");
unpublishedTimeSpentSamples.add(json);
}
}
@@ -106,7 +106,7 @@ private void publishChangesSample(String apiKey) {
SentStatus status = activitySampleHttpClient.sendChangesSample(apiKey, json);
if (status == ERROR) {
- LOG.error("Error sending changes sample. Caching it for future retries");
+ LOG.debug("Error sending changes sample. Caching it for future retries");
unpublishedChangesSamples.add(json);
}
}
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 6fae580..0a5b5c9 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -19,7 +19,7 @@
-
+