diff options
author | Fabrice Bellingard <bellingard@gmail.com> | 2011-04-21 10:19:37 +0200 |
---|---|---|
committer | Fabrice Bellingard <bellingard@gmail.com> | 2011-04-21 10:19:37 +0200 |
commit | e91ffc61812513ce3056d20268cf6d2513865e83 (patch) | |
tree | 9ecdb6c3af1dcb39c98e451cd48517cb3cddeeb5 | |
parent | 1ca2b0d56c4056c0d9d3cca22a54656979e758c4 (diff) | |
parent | ec2974edf37405ed45328dd5885409dfc861ca63 (diff) | |
download | sonarqube-e91ffc61812513ce3056d20268cf6d2513865e83.tar.gz sonarqube-e91ffc61812513ce3056d20268cf6d2513865e83.zip |
Merge remote branch 'upstream/master'
14 files changed, 81 insertions, 61 deletions
diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/UnitTestDecoratorTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/UnitTestDecoratorTest.java index da3823d9a6d..6caa66a8c69 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/UnitTestDecoratorTest.java +++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/UnitTestDecoratorTest.java @@ -22,6 +22,7 @@ package org.sonar.plugins.core.sensors; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -29,15 +30,18 @@ import org.junit.Before; import org.junit.Test; import org.sonar.api.batch.DecoratorContext; import org.sonar.api.measures.CoreMetrics; +import org.sonar.api.resources.JavaPackage; import org.sonar.api.resources.Project; public class UnitTestDecoratorTest { private UnitTestDecorator decorator; + private DecoratorContext context; @Before public void setUp() { decorator = new UnitTestDecorator(); + context = mock(DecoratorContext.class); } @Test @@ -60,13 +64,24 @@ public class UnitTestDecoratorTest { */ @Test public void shouldSaveZeroOnProject() { - DecoratorContext context = mock(DecoratorContext.class); - Project project = new Project(""); - project.setAnalysisType(Project.AnalysisType.DYNAMIC); + Project project = new Project("").setAnalysisType(Project.AnalysisType.DYNAMIC); decorator.decorate(project, context); verify(context).saveMeasure(CoreMetrics.TESTS, 0.0); } + /** + * See http://jira.codehaus.org/browse/SONAR-2371 + */ + @Test + public void shouldNotSaveZeroOnPackage() { + JavaPackage pkg = new JavaPackage(); + + decorator.decorate(pkg, context); + + assertThat(decorator.shouldDecorateResource(pkg), is(true)); + verify(context, never()).saveMeasure(CoreMetrics.TESTS, 0.0); + } + } diff --git a/plugins/sonar-findbugs-plugin/src/main/java/org/sonar/plugins/findbugs/FindbugsSensor.java b/plugins/sonar-findbugs-plugin/src/main/java/org/sonar/plugins/findbugs/FindbugsSensor.java index 5e23416870d..7a5b86c0830 100644 --- a/plugins/sonar-findbugs-plugin/src/main/java/org/sonar/plugins/findbugs/FindbugsSensor.java +++ b/plugins/sonar-findbugs-plugin/src/main/java/org/sonar/plugins/findbugs/FindbugsSensor.java @@ -47,8 +47,7 @@ public class FindbugsSensor implements Sensor { public boolean shouldExecuteOnProject(Project project) { return project.getFileSystem().hasJavaSourceFiles() - && !profile.getActiveRulesByRepository(FindbugsConstants.REPOSITORY_KEY).isEmpty() - && !StringUtils.equalsIgnoreCase(project.getPackaging(), "ear"); + && !profile.getActiveRulesByRepository(FindbugsConstants.REPOSITORY_KEY).isEmpty(); } public void analyse(Project project, SensorContext context) { diff --git a/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsSensorTest.java b/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsSensorTest.java index 24b8e5c9413..c7129175781 100644 --- a/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsSensorTest.java +++ b/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsSensorTest.java @@ -57,14 +57,6 @@ public class FindbugsSensorTest extends FindbugsTests { } @Test - public void shouldNotExecuteOnEar() { - Project project = createProject(); - when(project.getPackaging()).thenReturn("ear"); - FindbugsSensor analyser = new FindbugsSensor(createRulesProfileWithActiveRules(), new FakeRuleFinder(), null); - assertFalse(analyser.shouldExecuteOnProject(project)); - } - - @Test public void shouldExecuteFindbugsWhenNoReportProvided() throws Exception { Project project = createProject(); FindbugsExecutor executor = mock(FindbugsExecutor.class); diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java index 15b007f9018..690603fc091 100644 --- a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java +++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java @@ -73,7 +73,6 @@ public class SurefireSensorTest { new SurefireSensor().collect(project, mock(SensorContext.class), new File("unknown")); } - private SensorContext mockContext() { SensorContext context = mock(SensorContext.class); when(context.isIndexed(any(Resource.class), eq(false))).thenReturn(true); @@ -83,17 +82,17 @@ public class SurefireSensorTest { @Test public void shouldHandleTestSuiteDetails() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldHandleTestSuiteDetails/").toURI())); // 3 classes, 6 measures by class - verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(3)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), eq(CoreMetrics.SKIPPED_TESTS), anyDouble()); - verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(3)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), eq(CoreMetrics.TESTS), anyDouble()); - verify(context, times(18)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(18)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), (Metric) anyObject(), anyDouble()); - verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(3)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), argThat(new IsMeasure(CoreMetrics.TEST_DATA))); verify(context).saveMeasure(eq(new JavaFile("org.sonar.core.ExtensionsFinderTest", true)), eq(CoreMetrics.TESTS), eq(4d)); @@ -127,18 +126,18 @@ public class SurefireSensorTest { @Test public void shouldSaveErrorsAndFailuresInXML() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldSaveErrorsAndFailuresInXML/").toURI())); // 1 classes, 6 measures by class - verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(1)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), eq(CoreMetrics.SKIPPED_TESTS), anyDouble()); - verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(1)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), eq(CoreMetrics.TESTS), anyDouble()); - verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(6)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), (Metric) anyObject(), anyDouble()); - verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)), + verify(context, times(1)).saveMeasure(argThat(new IsResource(Scopes.FILE, Qualifiers.UNIT_TEST_FILE)), argThat(new IsMeasure(CoreMetrics.TEST_DATA))); verify(context).saveMeasure(eq(new JavaFile("org.sonar.core.ExtensionsFinderTest", true)), @@ -148,7 +147,7 @@ public class SurefireSensorTest { @Test public void shouldManageClassesWithDefaultPackage() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/shouldManageClassesWithDefaultPackage/").toURI())); verify(context).saveMeasure(new JavaFile("NoPackagesTest", true), CoreMetrics.TESTS, 2d); @@ -157,7 +156,7 @@ public class SurefireSensorTest { @Test public void successRatioIsZeroWhenAllTestsFail() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/successRatioIsZeroWhenAllTestsFail/").toURI())); verify(context).saveMeasure(eq(new JavaFile("org.sonar.Foo", true)), eq(CoreMetrics.TESTS), eq(2d)); @@ -169,7 +168,7 @@ public class SurefireSensorTest { @Test public void measuresShouldNotIncludeSkippedTests() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/measuresShouldNotIncludeSkippedTests/").toURI())); verify(context).saveMeasure(eq(new JavaFile("org.sonar.Foo", true)), eq(CoreMetrics.TESTS), eq(2d)); @@ -182,7 +181,7 @@ public class SurefireSensorTest { @Test public void noSuccessRatioIfNoTests() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/noSuccessRatioIfNoTests/").toURI())); verify(context).saveMeasure(eq(new JavaFile("org.sonar.Foo", true)), eq(CoreMetrics.TESTS), eq(0d)); @@ -195,7 +194,7 @@ public class SurefireSensorTest { @Test public void ignoreSuiteAsInnerClass() throws URISyntaxException { SensorContext context = mockContext(); - new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource( + new SurefireSensor().collect(new Project("key"), context, new File(getClass().getResource( "/org/sonar/plugins/surefire/SurefireSensorTest/ignoreSuiteAsInnerClass/").toURI())); // ignore TestHandler$Input.xml @@ -232,12 +231,4 @@ public class SurefireSensorTest { } }; } - - private static Project newJarProject() { - return new Project("key").setPackaging("jar"); - } - - private static Project newPomProject() { - return new Project("key").setPackaging("pom"); - } } @@ -117,9 +117,10 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> - <version>1.3</version> + <version>1.6</version> </plugin> <plugin> + <!-- not thread safe --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>2.0-alpha-4</version> @@ -127,7 +128,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> - <version>2.2</version> + <version>2.2.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -140,6 +141,7 @@ <version>2.3.2</version> </plugin> <plugin> + <!-- not thread safe --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.1</version> @@ -150,6 +152,7 @@ <version>2.5</version> </plugin> <plugin> + <!-- not thread safe --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.0</version> @@ -160,6 +163,7 @@ <version>2.6</version> </plugin> <plugin> + <!-- not thread safe --> <groupId>org.codehaus.mojo</groupId> <artifactId>gwt-maven-plugin</artifactId> <version>1.2</version> @@ -192,7 +196,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> - <version>2.4</version> + <version>2.7</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -225,6 +229,12 @@ <version>2.6</version> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <version>2.1.1</version> + </plugin> + <plugin> + <!-- not thread safe --> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-dev-maven-plugin</artifactId> <version>1.2</version> diff --git a/sonar-application/pom.xml b/sonar-application/pom.xml index e5290ef4ca3..02fdc544bc6 100644 --- a/sonar-application/pom.xml +++ b/sonar-application/pom.xml @@ -14,7 +14,6 @@ <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> - <version>2.2</version> <executions> <execution> <phase>package</phase> diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java index c7eb9c41600..8780c8b205e 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java @@ -146,7 +146,9 @@ public class Project extends Resource { /** * @return the project's packaging + * @deprecated in 2.8. See http://jira.codehaus.org/browse/SONAR-2341 */ + @Deprecated public String getPackaging() { return packaging; } @@ -181,7 +183,10 @@ public class Project extends Resource { /** * For internal use only. + * + * @deprecated in 2.8. See http://jira.codehaus.org/browse/SONAR-2341 */ + @Deprecated public Project setPackaging(String packaging) { this.packaging = packaging; return this; diff --git a/sonar-server/pom.xml b/sonar-server/pom.xml index 40f8da7f194..5927afa3eae 100644 --- a/sonar-server/pom.xml +++ b/sonar-server/pom.xml @@ -313,7 +313,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> - <version>2.1-beta-1</version> <configuration> <packagingExcludes> **/*.log,*.iml,WEB-INF/script/,WEB-INF/test/ diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/services/WSUtils.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/services/WSUtils.java index 05aba34a4d1..93c308ca700 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/services/WSUtils.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/services/WSUtils.java @@ -50,7 +50,8 @@ public abstract class WSUtils { public abstract Object getField(Object json, String field); /** - * @return String value of specified field from specified JSON object, + * @return value of a string field from specified JSON object, + * or string representation of a numeric field, * or <code>null</code> if field does not exist */ public abstract String getString(Object json, String field); diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/unmarshallers/JsonUtils.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/unmarshallers/JsonUtils.java index 008eddc2539..7ada6ae781c 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/unmarshallers/JsonUtils.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/unmarshallers/JsonUtils.java @@ -36,8 +36,8 @@ public final class JsonUtils { public static String getString(Map obj, String field) { Object value = obj.get(field); - if (value != null) { - return (String) value; + if (value instanceof String || value instanceof Number) { + return value.toString(); } return null; } diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/DependencyUnmarshallerTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/DependencyUnmarshallerTest.java index cef3497e56d..bcf9dcd78ef 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/DependencyUnmarshallerTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/DependencyUnmarshallerTest.java @@ -37,7 +37,9 @@ public class DependencyUnmarshallerTest extends UnmarshallerTestCase { dependency = new DependencyUnmarshaller().toModel(loadFile("/dependencies/single.json")); assertThat(dependency.getId(), is("1649")); + assertThat(dependency.getFromId(), is(33L)); assertThat(dependency.getFromKey(), is("org.apache.shiro:shiro-core:org.apache.shiro.authc.pam")); + assertThat(dependency.getToId(), is(45L)); assertThat(dependency.getToKey(), is("org.apache.shiro:shiro-core:org.apache.shiro.realm")); assertThat(dependency.getUsage(), is("USES")); assertThat(dependency.getWeight(), is(5)); diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/JsonUtilsTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/JsonUtilsTest.java index d14fc150b38..ddcf6f9b4c6 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/JsonUtilsTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/unmarshallers/JsonUtilsTest.java @@ -57,6 +57,13 @@ public class JsonUtilsTest extends UnmarshallerTestCase { } @Test + public void getNumberAsString() { + JSONObject obj = (JSONObject) JSONValue.parse("{\"one\": 1, \"two\": 2}"); + assertThat(JsonUtils.getString(obj, "one"), is("1")); + assertThat(JsonUtils.getString(obj, "two"), is("2")); + } + + @Test public void getDateField() { JSONObject obj = (JSONObject) JSONValue.parse("{\"foo\": \"2009-12-25\", \"two\": \"2\"}"); Date date = JsonUtils.getDate(obj, "foo"); diff --git a/sonar-ws-client/src/test/resources/dependencies/many.json b/sonar-ws-client/src/test/resources/dependencies/many.json index 75e1d00e365..b366f300bea 100644 --- a/sonar-ws-client/src/test/resources/dependencies/many.json +++ b/sonar-ws-client/src/test/resources/dependencies/many.json @@ -1,6 +1,6 @@ [ { - "id":"1649", + "id": 1649, "fi": 33, "ti": 45, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.authc.pam", @@ -9,7 +9,7 @@ "w":5 }, { - "id":"1686", + "id": 1686, "fi": 333, "ti": 453, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -18,7 +18,7 @@ "w":3 }, { - "id":"1690", + "id": 1690, "fi": 334, "ti": 454, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -27,7 +27,7 @@ "w":2 }, { - "id":"1693", + "id": 1693, "fi": 335, "ti": 455, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -36,7 +36,7 @@ "w":3 }, { - "id":"1697", + "id": 1697, "fi": 336, "ti": 456, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -45,7 +45,7 @@ "w":16 }, { - "id":"1714", + "id": 1714, "fi": 337, "ti": 457, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -54,7 +54,7 @@ "w":6 }, { - "id":"1721", + "id": 1721, "fi": 3338, "ti": 4258, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -63,7 +63,7 @@ "w":9 }, { - "id":"1731", + "id": 1731, "fi": 343, "ti": 4445, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm", @@ -72,7 +72,7 @@ "w":3 }, { - "id":"1735", + "id": 1735, "fi": 3443, "ti": 455, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm.ldap", @@ -81,7 +81,7 @@ "w":1 }, { - "id":"1775", + "id": 1775, "fi": 373, "ti": 6645, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.mgt", @@ -90,7 +90,7 @@ "w":2 }, { - "id":"1886", + "id": 1886, "fi": 339, "ti": 495, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm.jdbc", @@ -99,7 +99,7 @@ "w":1 }, { - "id":"1962", + "id": 1962, "fi": 373, "ti": 485, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.config", @@ -108,7 +108,7 @@ "w":4 }, { - "id":"1995", + "id": 1995, "fi": 363, "ti": 445, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm.jndi", @@ -117,7 +117,7 @@ "w":2 }, { - "id":"2098", + "id": 2098, "fi": 333, "ti": 415, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.realm.text", @@ -126,7 +126,7 @@ "w":1 }, { - "id":"2119", + "id": 2119, "fi": 332, "ti": 451, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.authz", diff --git a/sonar-ws-client/src/test/resources/dependencies/single.json b/sonar-ws-client/src/test/resources/dependencies/single.json index 3afb73ceeab..84e856799be 100644 --- a/sonar-ws-client/src/test/resources/dependencies/single.json +++ b/sonar-ws-client/src/test/resources/dependencies/single.json @@ -1,6 +1,6 @@ [ { - "id":"1649", + "id": 1649, "fi": 33, "ti": 45, "fk":"org.apache.shiro:shiro-core:org.apache.shiro.authc.pam", |