From c40da0d4e78212c60f9585281eeb64803918a78c Mon Sep 17 00:00:00 2001 From: mirkosertic Date: Sat, 30 Jan 2016 20:48:34 +0100 Subject: [PATCH 1/5] Implementation of #113 Plugin Facility for Sputnik Processors --- .../touk/sputnik/engine/ProcessorBuilder.java | 43 +++++-------------- .../processor/ReviewProcessorFactory.java | 11 +++++ .../CheckstyleReviewProcessorFactory.java | 18 ++++++++ .../NodeCardReviewProcessorFactory.java | 18 ++++++++ .../FindbugsReviewProcessorFactory.java | 18 ++++++++ .../jshint/JsHintReviewProcessorFactory.java | 18 ++++++++ .../jslint/JsLintReviewProcessorFactory.java | 18 ++++++++ .../pmd/PmdReviewProcessorFactory.java | 18 ++++++++ .../ScalastyleReviewProcessorFactory.java | 18 ++++++++ .../sonar/SonarReviewProcessorFactory.java | 18 ++++++++ ...k.sputnik.processor.ReviewProcessorFactory | 8 ++++ 11 files changed, 174 insertions(+), 32 deletions(-) create mode 100644 src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java create mode 100644 src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java create mode 100644 src/main/resources/META-INF/services/pl.touk.sputnik.processor.ReviewProcessorFactory diff --git a/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java b/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java index 95ae2af6..e00f38d5 100644 --- a/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java +++ b/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java @@ -2,48 +2,27 @@ import org.jetbrains.annotations.NotNull; import pl.touk.sputnik.configuration.Configuration; -import pl.touk.sputnik.configuration.GeneralOption; -import pl.touk.sputnik.processor.checkstyle.CheckstyleProcessor; -import pl.touk.sputnik.processor.codenarc.CodeNarcProcessor; -import pl.touk.sputnik.processor.findbugs.FindBugsProcessor; -import pl.touk.sputnik.processor.jshint.JsHintProcessor; -import pl.touk.sputnik.processor.jslint.JsLintProcessor; -import pl.touk.sputnik.processor.pmd.PmdProcessor; -import pl.touk.sputnik.processor.scalastyle.ScalastyleProcessor; -import pl.touk.sputnik.processor.sonar.SonarProcessor; +import pl.touk.sputnik.processor.ReviewProcessorFactory; import pl.touk.sputnik.review.ReviewProcessor; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.ServiceLoader; public class ProcessorBuilder { @NotNull public static List buildProcessors(Configuration configuration) { List processors = new ArrayList<>(); - if (Boolean.valueOf(configuration.getProperty(GeneralOption.CHECKSTYLE_ENABLED))) { - processors.add(new CheckstyleProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.PMD_ENABLED))) { - processors.add(new PmdProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.FINDBUGS_ENABLED))) { - processors.add(new FindBugsProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.SCALASTYLE_ENABLED))) { - processors.add(new ScalastyleProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.CODE_NARC_ENABLED))) { - processors.add(new CodeNarcProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.JSLINT_ENABLED))) { - processors.add(new JsLintProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.JSHINT_ENABLED))) { - processors.add(new JsHintProcessor(configuration)); - } - if (Boolean.valueOf(configuration.getProperty(GeneralOption.SONAR_ENABLED))) { - processors.add(new SonarProcessor(configuration)); + + ServiceLoader theLoader = ServiceLoader.load(ReviewProcessorFactory.class); + Iterator theIterator = theLoader.iterator(); + while (theIterator.hasNext()) { + ReviewProcessorFactory theFactory = theIterator.next(); + if (theFactory.isEnabled(configuration)) { + processors.add(theFactory.create(configuration)); + } } return processors; } diff --git a/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java new file mode 100644 index 00000000..80c62deb --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java @@ -0,0 +1,11 @@ +package pl.touk.sputnik.processor; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.review.ReviewProcessor; + +public interface ReviewProcessorFactory { + + boolean isEnabled(Configuration aConfiguration); + + T create(Configuration aConfiguration); +} diff --git a/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java new file mode 100644 index 00000000..a1a2d037 --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.checkstyle; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class CheckstyleReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.CHECKSTYLE_ENABLED)); + } + + @Override + public CheckstyleProcessor create(Configuration aConfiguration) { + return new CheckstyleProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java new file mode 100644 index 00000000..7ebb70d0 --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.codenarc; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class NodeCardReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.CODE_NARC_ENABLED)); + } + + @Override + public CodeNarcProcessor create(Configuration aConfiguration) { + return new CodeNarcProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java new file mode 100644 index 00000000..3957514a --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.findbugs; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class FindbugsReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.FINDBUGS_ENABLED)); + } + + @Override + public FindBugsProcessor create(Configuration aConfiguration) { + return new FindBugsProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java new file mode 100644 index 00000000..395df57b --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.jshint; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class JsHintReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.JSHINT_ENABLED)); + } + + @Override + public JsHintProcessor create(Configuration aConfiguration) { + return new JsHintProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java new file mode 100644 index 00000000..be0bb330 --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.jslint; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class JsLintReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.JSLINT_ENABLED)); + } + + @Override + public JsLintProcessor create(Configuration aConfiguration) { + return new JsLintProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java new file mode 100644 index 00000000..315ea803 --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.pmd; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class PmdReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.PMD_ENABLED)); + } + + @Override + public PmdProcessor create(Configuration aConfiguration) { + return new PmdProcessor(aConfiguration); + } +} \ No newline at end of file diff --git a/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java new file mode 100644 index 00000000..1be331ee --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.scalastyle; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class ScalastyleReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.SCALASTYLE_ENABLED)); + } + + @Override + public ScalastyleProcessor create(Configuration aConfiguration) { + return new ScalastyleProcessor(aConfiguration); + } +} diff --git a/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java new file mode 100644 index 00000000..cdac4cbe --- /dev/null +++ b/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java @@ -0,0 +1,18 @@ +package pl.touk.sputnik.processor.sonar; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +public class SonarReviewProcessorFactory implements ReviewProcessorFactory { + + @Override + public boolean isEnabled(Configuration aConfiguration) { + return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.SONAR_ENABLED)); + } + + @Override + public SonarProcessor create(Configuration aConfiguration) { + return new SonarProcessor(aConfiguration); + } +} diff --git a/src/main/resources/META-INF/services/pl.touk.sputnik.processor.ReviewProcessorFactory b/src/main/resources/META-INF/services/pl.touk.sputnik.processor.ReviewProcessorFactory new file mode 100644 index 00000000..92b8f6e7 --- /dev/null +++ b/src/main/resources/META-INF/services/pl.touk.sputnik.processor.ReviewProcessorFactory @@ -0,0 +1,8 @@ +pl.touk.sputnik.processor.checkstyle.CheckstyleReviewProcessorFactory +pl.touk.sputnik.processor.pmd.PmdReviewProcessorFactory +pl.touk.sputnik.processor.findbugs.FindbugsReviewProcessorFactory +pl.touk.sputnik.processor.scalastyle.ScalastyleReviewProcessorFactory +pl.touk.sputnik.processor.codenarc.NodeCardReviewProcessorFactory +pl.touk.sputnik.processor.jslint.JsLintReviewProcessorFactory +pl.touk.sputnik.processor.jshint.JsHintReviewProcessorFactory +pl.touk.sputnik.processor.sonar.SonarReviewProcessorFactory \ No newline at end of file From 3273b267be21810f7226cd4f15ccc75d2dafc329 Mon Sep 17 00:00:00 2001 From: sertic Date: Sun, 31 Jan 2016 15:11:35 +0100 Subject: [PATCH 2/5] Implementation of #113 Plugin Facility for Sputnik Processors Added Unit Tests --- .../CheckstyleReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../NodeCardReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../FindbugsReviewProcessorFactoryTest.java | 33 ++++++++++++++++++ .../JsHintReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../JsLintReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../pmd/PmdReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../ScalastyleReviewProcessorFactoryTest.java | 34 +++++++++++++++++++ .../SonarReviewProcessorFactoryTest.java | 31 +++++++++++++++++ 8 files changed, 268 insertions(+) create mode 100644 src/test/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java create mode 100644 src/test/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactoryTest.java diff --git a/src/test/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactoryTest.java new file mode 100644 index 00000000..195e68bb --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.checkstyle; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class CheckstyleReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.CHECKSTYLE_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new CheckstyleReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.CHECKSTYLE_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new CheckstyleReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } + +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactoryTest.java new file mode 100644 index 00000000..b5120e86 --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.codenarc; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class NodeCardReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.CODE_NARC_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new NodeCardReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.CODE_NARC_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new NodeCardReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } + +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactoryTest.java new file mode 100644 index 00000000..9022f4e0 --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactoryTest.java @@ -0,0 +1,33 @@ +package pl.touk.sputnik.processor.findbugs; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class FindbugsReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.FINDBUGS_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new FindbugsReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.FINDBUGS_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new FindbugsReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java new file mode 100644 index 00000000..3a983eda --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.jshint; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; +import pl.touk.sputnik.processor.checkstyle.CheckstyleReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class JsHintReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.JSHINT_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new JsHintReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.JSHINT_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new JsHintReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java new file mode 100644 index 00000000..186898b6 --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.jslint; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; +import pl.touk.sputnik.processor.findbugs.FindbugsReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class JsLintReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.JSLINT_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new JsLintReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.JSLINT_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new JsLintReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java new file mode 100644 index 00000000..22c5acd2 --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.pmd; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; +import pl.touk.sputnik.processor.findbugs.FindbugsReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class PmdReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.PMD_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new PmdReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.PMD_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new PmdReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java new file mode 100644 index 00000000..6d493774 --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java @@ -0,0 +1,34 @@ +package pl.touk.sputnik.processor.scalastyle; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; +import pl.touk.sputnik.processor.checkstyle.CheckstyleReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class ScalastyleReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.SCALASTYLE_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new ScalastyleReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.SCALASTYLE_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new ScalastyleReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file diff --git a/src/test/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactoryTest.java new file mode 100644 index 00000000..8cfaf85b --- /dev/null +++ b/src/test/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactoryTest.java @@ -0,0 +1,31 @@ +package pl.touk.sputnik.processor.sonar; + +import pl.touk.sputnik.configuration.Configuration; +import pl.touk.sputnik.configuration.GeneralOption; +import pl.touk.sputnik.processor.ReviewProcessorFactory; + +import org.junit.Test; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +public class SonarReviewProcessorFactoryTest { + + @Test + public void testIsEnabled() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.SONAR_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new SonarReviewProcessorFactory(); + assertTrue(factory.isEnabled(configuration)); + } + + @Test + public void testCreate() throws Exception { + Configuration configuration = mock(Configuration.class); + when(configuration.getProperty(eq(GeneralOption.SONAR_ENABLED))).thenReturn("true"); + + ReviewProcessorFactory factory = new SonarReviewProcessorFactory(); + assertNotNull(factory.create(configuration)); + } +} \ No newline at end of file From 8b41fce7f78ff3daa3f4e2a4275a2395ed5e831e Mon Sep 17 00:00:00 2001 From: sertic Date: Sun, 31 Jan 2016 15:14:36 +0100 Subject: [PATCH 3/5] Implementation of #113 Plugin Facility for Sputnik Processors Fixed code style issues --- .../pl/touk/sputnik/engine/ProcessorBuilder.java | 12 ++++++------ .../sputnik/processor/ReviewProcessorFactory.java | 4 ++-- .../checkstyle/CheckstyleReviewProcessorFactory.java | 8 ++++---- .../codenarc/NodeCardReviewProcessorFactory.java | 8 ++++---- .../findbugs/FindbugsReviewProcessorFactory.java | 8 ++++---- .../jshint/JsHintReviewProcessorFactory.java | 8 ++++---- .../jslint/JsLintReviewProcessorFactory.java | 8 ++++---- .../processor/pmd/PmdReviewProcessorFactory.java | 8 ++++---- .../scalastyle/ScalastyleReviewProcessorFactory.java | 8 ++++---- .../processor/sonar/SonarReviewProcessorFactory.java | 8 ++++---- 10 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java b/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java index e00f38d5..9c4254f5 100644 --- a/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java +++ b/src/main/java/pl/touk/sputnik/engine/ProcessorBuilder.java @@ -16,12 +16,12 @@ public class ProcessorBuilder { public static List buildProcessors(Configuration configuration) { List processors = new ArrayList<>(); - ServiceLoader theLoader = ServiceLoader.load(ReviewProcessorFactory.class); - Iterator theIterator = theLoader.iterator(); - while (theIterator.hasNext()) { - ReviewProcessorFactory theFactory = theIterator.next(); - if (theFactory.isEnabled(configuration)) { - processors.add(theFactory.create(configuration)); + ServiceLoader loader = ServiceLoader.load(ReviewProcessorFactory.class); + Iterator iterator = loader.iterator(); + while (iterator.hasNext()) { + ReviewProcessorFactory factory = iterator.next(); + if (factory.isEnabled(configuration)) { + processors.add(factory.create(configuration)); } } return processors; diff --git a/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java index 80c62deb..47003314 100644 --- a/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/ReviewProcessorFactory.java @@ -5,7 +5,7 @@ public interface ReviewProcessorFactory { - boolean isEnabled(Configuration aConfiguration); + boolean isEnabled(Configuration configuration); - T create(Configuration aConfiguration); + T create(Configuration configuration); } diff --git a/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java index a1a2d037..d965c8bf 100644 --- a/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/checkstyle/CheckstyleReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class CheckstyleReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.CHECKSTYLE_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.CHECKSTYLE_ENABLED)); } @Override - public CheckstyleProcessor create(Configuration aConfiguration) { - return new CheckstyleProcessor(aConfiguration); + public CheckstyleProcessor create(Configuration configuration) { + return new CheckstyleProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java index 7ebb70d0..6eb78561 100644 --- a/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/codenarc/NodeCardReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class NodeCardReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.CODE_NARC_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.CODE_NARC_ENABLED)); } @Override - public CodeNarcProcessor create(Configuration aConfiguration) { - return new CodeNarcProcessor(aConfiguration); + public CodeNarcProcessor create(Configuration configuration) { + return new CodeNarcProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java index 3957514a..bba9e95c 100644 --- a/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/findbugs/FindbugsReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class FindbugsReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.FINDBUGS_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.FINDBUGS_ENABLED)); } @Override - public FindBugsProcessor create(Configuration aConfiguration) { - return new FindBugsProcessor(aConfiguration); + public FindBugsProcessor create(Configuration configuration) { + return new FindBugsProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java index 395df57b..786824b1 100644 --- a/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class JsHintReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.JSHINT_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.JSHINT_ENABLED)); } @Override - public JsHintProcessor create(Configuration aConfiguration) { - return new JsHintProcessor(aConfiguration); + public JsHintProcessor create(Configuration configuration) { + return new JsHintProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java index be0bb330..062fd7a6 100644 --- a/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class JsLintReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.JSLINT_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.JSLINT_ENABLED)); } @Override - public JsLintProcessor create(Configuration aConfiguration) { - return new JsLintProcessor(aConfiguration); + public JsLintProcessor create(Configuration configuration) { + return new JsLintProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java index 315ea803..f4b7c1d3 100644 --- a/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class PmdReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.PMD_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.PMD_ENABLED)); } @Override - public PmdProcessor create(Configuration aConfiguration) { - return new PmdProcessor(aConfiguration); + public PmdProcessor create(Configuration configuration) { + return new PmdProcessor(configuration); } } \ No newline at end of file diff --git a/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java index 1be331ee..785699f1 100644 --- a/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class ScalastyleReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.SCALASTYLE_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.SCALASTYLE_ENABLED)); } @Override - public ScalastyleProcessor create(Configuration aConfiguration) { - return new ScalastyleProcessor(aConfiguration); + public ScalastyleProcessor create(Configuration configuration) { + return new ScalastyleProcessor(configuration); } } diff --git a/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java b/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java index cdac4cbe..0c66a2a6 100644 --- a/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java +++ b/src/main/java/pl/touk/sputnik/processor/sonar/SonarReviewProcessorFactory.java @@ -7,12 +7,12 @@ public class SonarReviewProcessorFactory implements ReviewProcessorFactory { @Override - public boolean isEnabled(Configuration aConfiguration) { - return Boolean.valueOf(aConfiguration.getProperty(GeneralOption.SONAR_ENABLED)); + public boolean isEnabled(Configuration configuration) { + return Boolean.valueOf(configuration.getProperty(GeneralOption.SONAR_ENABLED)); } @Override - public SonarProcessor create(Configuration aConfiguration) { - return new SonarProcessor(aConfiguration); + public SonarProcessor create(Configuration configuration) { + return new SonarProcessor(configuration); } } From c7295cff96755da60aafc9701e7df47e407f6fd5 Mon Sep 17 00:00:00 2001 From: sertic Date: Sun, 31 Jan 2016 15:17:25 +0100 Subject: [PATCH 4/5] Implementation of #113 Plugin Facility for Sputnik Processors Fixed code style issues --- .../processor/jshint/JsHintReviewProcessorFactoryTest.java | 1 - .../processor/jslint/JsLintReviewProcessorFactoryTest.java | 1 - .../sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java | 1 - .../scalastyle/ScalastyleReviewProcessorFactoryTest.java | 1 - 4 files changed, 4 deletions(-) diff --git a/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java index 3a983eda..4bb18f44 100644 --- a/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java +++ b/src/test/java/pl/touk/sputnik/processor/jshint/JsHintReviewProcessorFactoryTest.java @@ -3,7 +3,6 @@ import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.configuration.GeneralOption; import pl.touk.sputnik.processor.ReviewProcessorFactory; -import pl.touk.sputnik.processor.checkstyle.CheckstyleReviewProcessorFactory; import org.junit.Test; diff --git a/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java index 186898b6..34a5f256 100644 --- a/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java +++ b/src/test/java/pl/touk/sputnik/processor/jslint/JsLintReviewProcessorFactoryTest.java @@ -3,7 +3,6 @@ import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.configuration.GeneralOption; import pl.touk.sputnik.processor.ReviewProcessorFactory; -import pl.touk.sputnik.processor.findbugs.FindbugsReviewProcessorFactory; import org.junit.Test; diff --git a/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java index 22c5acd2..420488d5 100644 --- a/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java +++ b/src/test/java/pl/touk/sputnik/processor/pmd/PmdReviewProcessorFactoryTest.java @@ -3,7 +3,6 @@ import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.configuration.GeneralOption; import pl.touk.sputnik.processor.ReviewProcessorFactory; -import pl.touk.sputnik.processor.findbugs.FindbugsReviewProcessorFactory; import org.junit.Test; diff --git a/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java b/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java index 6d493774..e14a0e7c 100644 --- a/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java +++ b/src/test/java/pl/touk/sputnik/processor/scalastyle/ScalastyleReviewProcessorFactoryTest.java @@ -3,7 +3,6 @@ import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.configuration.GeneralOption; import pl.touk.sputnik.processor.ReviewProcessorFactory; -import pl.touk.sputnik.processor.checkstyle.CheckstyleReviewProcessorFactory; import org.junit.Test; From 999e84325f58c9d2379fcda6c43055ceda8ebcb3 Mon Sep 17 00:00:00 2001 From: mirkosertic Date: Mon, 1 Feb 2016 18:03:51 +0100 Subject: [PATCH 5/5] Implemented #130 --- build.gradle | 3 +-- .../pl/touk/sputnik/processor/sonar/SonarRunner.java | 5 ++++- .../sputnik/processor/sonar/SonarRunnerBuilder.java | 3 ++- .../touk/sputnik/processor/sonar/SonarRunnerTest.java | 11 +++++------ 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index d10538c3..ac0928a5 100644 --- a/build.gradle +++ b/build.gradle @@ -60,8 +60,7 @@ dependencies { compile 'ch.qos.logback:logback-classic:1.0.13' compile 'org.projectlombok:lombok:1.12.6' compile 'commons-cli:commons-cli:1.2' - compile 'org.codehaus.sonar.runner:sonar-runner-api:2.4' - compile 'org.codehaus.sonar-plugins:sonar-issues-report-plugin:1.3' + compile 'org.sonarsource.sonar-runner:sonar-runner-api:2.5.1' compile 'com.jayway.jsonpath:json-path:0.9.1' compile 'com.urswolfer.gerrit.client.rest:gerrit-rest-java-client:0.8.5' diff --git a/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunner.java b/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunner.java index 6d7e4b04..4ab6967f 100644 --- a/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunner.java +++ b/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunner.java @@ -54,8 +54,11 @@ Properties loadBaseProperties() throws IOException { public File run() throws IOException { Properties props = loadBaseProperties(); setAdditionalProperties(props); + + sonarEmbeddedRunner.globalProperties().putAll(props); + log.info("Sonar configuration: {}", props.toString()); - sonarEmbeddedRunner.addProperties(props); + sonarEmbeddedRunner.execute(); return new File(OUTPUT_DIR, OUTPUT_FILE); } diff --git a/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunnerBuilder.java b/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunnerBuilder.java index 6e5832ec..c7b1ae98 100644 --- a/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunnerBuilder.java +++ b/src/main/java/pl/touk/sputnik/processor/sonar/SonarRunnerBuilder.java @@ -5,6 +5,7 @@ import org.sonar.runner.api.EmbeddedRunner; +import org.sonar.runner.api.StdOutLogOutput; import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.review.Review; import pl.touk.sputnik.review.ReviewFile; @@ -31,7 +32,7 @@ public SonarRunner prepareRunner(Review review, Configuration configuration) { for (ReviewFile file : review.getFiles()) { files.add("**/" + new File(file.getReviewFilename()).getName()); } - SonarRunner sonarRunner = new SonarRunner(files, EmbeddedRunner.create(), configuration); + SonarRunner sonarRunner = new SonarRunner(files, EmbeddedRunner.create(new StdOutLogOutput()), configuration); return sonarRunner; } } diff --git a/src/test/java/pl/touk/sputnik/processor/sonar/SonarRunnerTest.java b/src/test/java/pl/touk/sputnik/processor/sonar/SonarRunnerTest.java index 971f8b6e..54e4634a 100644 --- a/src/test/java/pl/touk/sputnik/processor/sonar/SonarRunnerTest.java +++ b/src/test/java/pl/touk/sputnik/processor/sonar/SonarRunnerTest.java @@ -2,7 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Matchers.any; -import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.*; import java.io.File; import java.io.FileNotFoundException; @@ -11,6 +11,7 @@ import java.util.Properties; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -24,9 +25,6 @@ import com.google.common.collect.ImmutableList; -import freemarker.template.utility.StringUtil; - - @RunWith(MockitoJUnitRunner.class) public class SonarRunnerTest { private static final String PROPERTY_1 = "sonar-property1"; @@ -40,6 +38,7 @@ public class SonarRunnerTest { @Before public void setUp() throws FileNotFoundException { config = ConfigurationBuilder.initFromResource("test-sonar.properties"); + when(sonarRunner.globalProperties()).thenReturn(new Properties()); } @After @@ -59,7 +58,7 @@ public void shouldRun() throws IOException { List files = ImmutableList.of("file"); SonarRunner runner = new SonarRunner(files, sonarRunner, config); runner.run(); - verify(sonarRunner).addProperties(any(Properties.class)); + verify(sonarRunner, times(1)).globalProperties(); verify(sonarRunner).execute(); } @@ -82,7 +81,7 @@ public void shouldSetBaseSonarConfig() throws IOException{ runner.setAdditionalProperties(props); assertThat(props.getProperty(SonarProperties.INCLUDE_FILES)).contains("first"); assertThat(props.getProperty(SonarProperties.INCLUDE_FILES)).contains("second"); - assertThat(StringUtil.split(props.getProperty(SonarProperties.INCLUDE_FILES), ',')).hasSize(2); + assertThat(StringUtils.split(props.getProperty(SonarProperties.INCLUDE_FILES), ',')).hasSize(2); assertThat(props.getProperty(SonarProperties.ANALISYS_MODE)).isEqualTo("incremental"); assertThat(props.getProperty(SonarProperties.SCM_ENABLED)).isEqualTo("false"); assertThat(props.getProperty(SonarProperties.SCM_STAT_ENABLED)).isEqualTo("false");