Revert "10: Add checking <uses-sdk> element in BasePlugin"

This reverts commit c254e530ad3ffcc505a5d073744a83278416fc06.
This commit is contained in:
Bartłomiej Pluta
2019-04-05 21:02:24 +02:00
parent 2bd7250805
commit 84f691a8a5
6 changed files with 3 additions and 59 deletions

View File

@@ -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<Issue> 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<Issue> runForIssues() {
if(canBeExecuted()) {
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) {

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -1,16 +1,3 @@
com.bartek.esa.core.archetype.BasePlugin.NO_USES_SDK=There is no <uses-sdk> defined in AndroidManifest.xml file. \n\
In order to use this tool, <uses-sdk> should be defined in AndroidManifest.xml with android:minSdkVersion attribute at least.\n\
This element should be placed below the root (<manifest>) level.\n\
For example: \n\
<manifest>\n\
\t<uses-sdk android:minSdkVersion="23">\n\
\t...\n\
</manifest>
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 <uses-sdk> element.\n\
For example: <uses-sdk android:minSdkVersion="23">
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 <manifest> tag.\n\
For example: <manifest package="com.bartek.esa.test">\n\