From bad2f30480a29c638ab191356547616b9bfba391 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Wed, 29 Apr 2015 16:07:55 +0200 Subject: [PATCH] SONAR-6379 add release description and changeLogUrl in JSON response + fix broken br tag in action description --- .../sonar/server/plugins/ws/PluginWSCommons.java | 3 +++ .../server/plugins/ws/example-updates_plugins.json | 14 ++++++++++---- .../server/plugins/ws/PluginWSCommonsTest.java | 8 ++++++-- .../plugins/ws/UpdatesPluginsWsActionTest.java | 11 +++++++++-- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java index a113db24883..553e592e3f2 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java +++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/ws/PluginWSCommons.java @@ -57,6 +57,7 @@ public class PluginWSCommons { static final String ARRAY_REQUIRES = "requires"; static final String PROPERTY_UPDATE_CENTER_REFRESH = "updateCenterRefresh"; static final String PROPERTY_IMPLEMENTATION_BUILD = "implementationBuild"; + static final String PROPERTY_CHANGE_LOG_URL = "changeLogUrl"; public static final Ordering NAME_KEY_PLUGIN_METADATA_COMPARATOR = Ordering.natural() .onResultOf(PluginMetadataToName.INSTANCE) @@ -133,6 +134,8 @@ public class PluginWSCommons { jsonWriter.prop(PROPERTY_VERSION, release.getVersion().toString()); jsonWriter.propDate(PROPERTY_DATE, release.getDate()); + jsonWriter.prop(PROPERTY_DESCRIPTION, release.getDescription()); + jsonWriter.prop(PROPERTY_CHANGE_LOG_URL, release.getChangelogUrl()); jsonWriter.endObject(); } diff --git a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-updates_plugins.json b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-updates_plugins.json index 6693515cf08..c9aec692554 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-updates_plugins.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/plugins/ws/example-updates_plugins.json @@ -13,7 +13,9 @@ { "release": { "version": "3.1", - "date": "2014-12-21" + "date": "2014-12-21", + "description": "New rules, several improvements", + "changeLogUrl": "http://jira.sonarsource.com/secure/ReleaseNote.jspa?projectId=10054&version=10552" }, "status": "INCOMPATIBLE", "requires": [] @@ -21,7 +23,9 @@ { "release": { "version": "3.2", - "date": "2015-03-10" + "date": "2015-03-10", + "description": "14 new rules, most of them designed to detect potential performance hotspots.", + "changeLogUrl": "http://jira.sonarsource.com/secure/ReleaseNote.jspa?projectId=10054&version=10575" }, "status": "COMPATIBLE", "requires": [] @@ -40,7 +44,9 @@ { "release": { "version": "1.0", - "date": "2014-03-31" + "date": "2014-03-31", + "description": "Makes the plugin compatible with multi-language analysis introduced in SonarQube 4.2 and adds support of Emma 2.0 reports", + "changeLogUrl": "http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=13235&version=20187" }, "status": "COMPATIBLE", "requires": [ @@ -54,4 +60,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java index 3aacdf9df32..3c9981aa352 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginWSCommonsTest.java @@ -59,7 +59,9 @@ public class PluginWSCommonsTest { .setOrganizationUrl("p_orga_url") .setTermsConditionsUrl("p_t_and_c_url"); private static final Release RELEASE = new Release(PLUGIN, version("1.0")).setDate(parseDate("2015-04-16")) - .setDownloadUrl("http://toto.com/file.jar"); + .setDownloadUrl("http://toto.com/file.jar") + .setDescription("release description") + .setChangelogUrl("http://change.org/plugin"); private WsTester.TestResponse response = new WsTester.TestResponse(); private JsonWriter jsonWriter = response.newJsonWriter(); @@ -180,7 +182,9 @@ public class PluginWSCommonsTest { assertJson(response.outputAsString()).setStrictArrayOrder(true).isSimilarTo("{" + " \"release\": {" + " \"version\": \"1.0\"," + - " \"date\": \"2015-04-16\"" + + " \"date\": \"2015-04-16\"," + + " \"description\": \"release description\"," + + " \"changeLogUrl\": \"http://change.org/plugin\"" + " }" + "}"); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/UpdatesPluginsWsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/UpdatesPluginsWsActionTest.java index f5cf5b8ef51..de7722b5f81 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/UpdatesPluginsWsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/UpdatesPluginsWsActionTest.java @@ -47,10 +47,14 @@ public class UpdatesPluginsWsActionTest extends AbstractUpdateCenterBasedPlugins .setTermsConditionsUrl("http://dist.sonarsource.com/SonarSource_Terms_And_Conditions.pdf"); private static final Release ABAP_31 = release(ABAP_PLUGIN, "3.1") .setDate(DateUtils.parseDate("2014-12-21")) - .setDownloadUrl("http://dist.sonarsource.com/abap/download/sonar-abap-plugin-3.1.jar"); + .setDescription("New rules, several improvements") + .setDownloadUrl("http://dist.sonarsource.com/abap/download/sonar-abap-plugin-3.1.jar") + .setChangelogUrl("http://jira.sonarsource.com/secure/ReleaseNote.jspa?projectId=10054&version=10552"); private static final Release ABAP_32 = release(ABAP_PLUGIN, "3.2") .setDate(DateUtils.parseDate("2015-03-10")) - .setDownloadUrl("http://dist.sonarsource.com/abap/download/sonar-abap-plugin-3.2.jar"); + .setDescription("14 new rules, most of them designed to detect potential performance hotspots.") + .setDownloadUrl("http://dist.sonarsource.com/abap/download/sonar-abap-plugin-3.2.jar") + .setChangelogUrl("http://jira.sonarsource.com/secure/ReleaseNote.jspa?projectId=10054&version=10575"); private static final Plugin ANDROID_PLUGIN = new Plugin("android") .setName("Android") .setCategory("Languages") @@ -60,7 +64,10 @@ public class UpdatesPluginsWsActionTest extends AbstractUpdateCenterBasedPlugins .setOrganizationUrl("http://www.sonarsource.com"); private static final Release ANDROID_10 = release(ANDROID_PLUGIN, "1.0") .setDate(DateUtils.parseDate("2014-03-31")) + .setDescription("Makes the plugin compatible with multi-language analysis introduced in SonarQube 4.2 and adds support of Emma 2.0 reports") .setDownloadUrl("http://repository.codehaus.org/org/codehaus/sonar-plugins/android/sonar-android-plugin/1.0/sonar-android-plugin-1.0.jar") + .setChangelogUrl("http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=13235&version=20187") + .addOutgoingDependency(release(JAVA_PLUGIN, "1.0")); private UpdatesPluginsWsAction underTest = new UpdatesPluginsWsAction(updateCenterFactory, -- 2.39.5