diff --git a/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java b/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java index 4dc66ab..ed3465d 100644 --- a/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java +++ b/src/main/java/com/bartek/esa/core/archetype/BasePlugin.java @@ -2,11 +2,8 @@ package com.bartek.esa.core.archetype; import com.bartek.esa.core.model.enumeration.Severity; import com.bartek.esa.core.model.object.Issue; -import com.bartek.esa.core.xml.XmlHelper; import org.w3c.dom.Document; -import org.w3c.dom.Node; -import javax.xml.xpath.XPathConstants; import java.io.File; import java.util.HashMap; import java.util.HashSet; @@ -14,15 +11,10 @@ import java.util.Map; import java.util.Set; public abstract class BasePlugin implements Plugin { - private final XmlHelper xmlHelper; private Set issues = new HashSet<>(); private Document manifest; private File file; - public BasePlugin(XmlHelper xmlHelper) { - this.xmlHelper = xmlHelper; - } - @Override public void update(File file, Document manifest) { this.file = file; @@ -32,43 +24,10 @@ public abstract class BasePlugin implements Plugin { @Override public Set runForIssues() { - if(canBeExecuted()) { - run(file); - } + run(file); return issues; } - private boolean canBeExecuted() { - return hasDeclaredApiVersion(); - } - - private boolean hasDeclaredApiVersion() { - Node usesSdkNode = (Node) xmlHelper.xPath(manifest, "/manifest/uses-sdk", XPathConstants.NODE); - if(usesSdkNode == null) { - Issue issue = Issue.builder() - .issuer(BasePlugin.class) - .descriptionCode(".NO_USES_SDK") - .severity(Severity.ERROR) - .build(); - addIssue(issue); - - return false; - } - - if(usesSdkNode.getAttributes().getNamedItem("android:minSdkVersion") == null) { - Issue issue = Issue.builder() - .issuer(BasePlugin.class) - .descriptionCode(".USES_SDK.NO_MIN_SDK_VERSION") - .severity(Severity.ERROR) - .build(); - addIssue(issue); - - return false; - } - - return true; - } - protected abstract void run(File file); protected void addIssue(Severity severity, Integer lineNumber, String line) { diff --git a/src/main/java/com/bartek/esa/core/archetype/JavaPlugin.java b/src/main/java/com/bartek/esa/core/archetype/JavaPlugin.java index d9f9791..030587f 100644 --- a/src/main/java/com/bartek/esa/core/archetype/JavaPlugin.java +++ b/src/main/java/com/bartek/esa/core/archetype/JavaPlugin.java @@ -21,7 +21,6 @@ public abstract class JavaPlugin extends BasePlugin { private final XmlHelper xmlHelper; public JavaPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) { - super(xmlHelper); this.globMatcher = globMatcher; this.xmlHelper = xmlHelper; } diff --git a/src/main/java/com/bartek/esa/core/archetype/XmlPlugin.java b/src/main/java/com/bartek/esa/core/archetype/XmlPlugin.java index 082c984..c1bbedd 100644 --- a/src/main/java/com/bartek/esa/core/archetype/XmlPlugin.java +++ b/src/main/java/com/bartek/esa/core/archetype/XmlPlugin.java @@ -12,7 +12,6 @@ public abstract class XmlPlugin extends BasePlugin { private final XmlHelper xmlHelper; public XmlPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) { - super(xmlHelper); this.globMatcher = globMatcher; this.xmlHelper = xmlHelper; } diff --git a/src/main/java/com/bartek/esa/core/plugin/AllowBackupPlugin.java b/src/main/java/com/bartek/esa/core/plugin/AllowBackupPlugin.java index d188bc0..87c21a6 100644 --- a/src/main/java/com/bartek/esa/core/plugin/AllowBackupPlugin.java +++ b/src/main/java/com/bartek/esa/core/plugin/AllowBackupPlugin.java @@ -25,6 +25,6 @@ public class AllowBackupPlugin extends AndroidManifestPlugin { if (!n.getNodeValue().equals("false")) { addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString()); } - }, () -> addIssue(Severity.WARNING, ".NO_ATTR", null, null)); + }, () -> addIssue(Severity.ERROR, ".NO_ATTR", null, null)); } } diff --git a/src/main/java/com/bartek/esa/core/plugin/DebuggablePlugin.java b/src/main/java/com/bartek/esa/core/plugin/DebuggablePlugin.java index 481ad80..e198352 100644 --- a/src/main/java/com/bartek/esa/core/plugin/DebuggablePlugin.java +++ b/src/main/java/com/bartek/esa/core/plugin/DebuggablePlugin.java @@ -25,6 +25,6 @@ public class DebuggablePlugin extends AndroidManifestPlugin { if(!n.getNodeValue().equals("false")) { addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString()); } - }, () -> addIssue(Severity.WARNING, ".NO_ATTR",null, null)); + }, () -> addIssue(Severity.ERROR, ".NO_ATTR",null, null)); } } diff --git a/src/main/resources/description.properties b/src/main/resources/description.properties index aeaae18..d18b8bf 100644 --- a/src/main/resources/description.properties +++ b/src/main/resources/description.properties @@ -1,16 +1,3 @@ -com.bartek.esa.core.archetype.BasePlugin.NO_USES_SDK=There is no defined in AndroidManifest.xml file. \n\ - In order to use this tool, should be defined in AndroidManifest.xml with android:minSdkVersion attribute at least.\n\ - This element should be placed below the root () level.\n\ - For example: \n\ - \n\ - \t\n\ - \t...\n\ - - -com.bartek.esa.core.archetype.BasePlugin.USES_SDK.NO_MIN_SDK_VERSION=There is no minSdkVersion defined in AndroidManifest.xml file. \n\ - In order to use this tool, minimal SDK version should be provided as the attribute of element.\n\ - For example: - com.bartek.esa.core.archetype.JavaPlugin.NO_PACKAGE=There is no package defined in AndroidManifest.xml file. \n\ Package should be defined as attribute of tag.\n\ For example: \n\