Revert "10: Add checking <uses-sdk> element in BasePlugin"
This reverts commit c254e530ad3ffcc505a5d073744a83278416fc06.
This commit is contained in:
@@ -2,11 +2,8 @@ package com.bartek.esa.core.archetype;
|
|||||||
|
|
||||||
import com.bartek.esa.core.model.enumeration.Severity;
|
import com.bartek.esa.core.model.enumeration.Severity;
|
||||||
import com.bartek.esa.core.model.object.Issue;
|
import com.bartek.esa.core.model.object.Issue;
|
||||||
import com.bartek.esa.core.xml.XmlHelper;
|
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Node;
|
|
||||||
|
|
||||||
import javax.xml.xpath.XPathConstants;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -14,15 +11,10 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public abstract class BasePlugin implements Plugin {
|
public abstract class BasePlugin implements Plugin {
|
||||||
private final XmlHelper xmlHelper;
|
|
||||||
private Set<Issue> issues = new HashSet<>();
|
private Set<Issue> issues = new HashSet<>();
|
||||||
private Document manifest;
|
private Document manifest;
|
||||||
private File file;
|
private File file;
|
||||||
|
|
||||||
public BasePlugin(XmlHelper xmlHelper) {
|
|
||||||
this.xmlHelper = xmlHelper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(File file, Document manifest) {
|
public void update(File file, Document manifest) {
|
||||||
this.file = file;
|
this.file = file;
|
||||||
@@ -32,43 +24,10 @@ public abstract class BasePlugin implements Plugin {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<Issue> runForIssues() {
|
public Set<Issue> runForIssues() {
|
||||||
if(canBeExecuted()) {
|
run(file);
|
||||||
run(file);
|
|
||||||
}
|
|
||||||
return issues;
|
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 abstract void run(File file);
|
||||||
|
|
||||||
protected void addIssue(Severity severity, Integer lineNumber, String line) {
|
protected void addIssue(Severity severity, Integer lineNumber, String line) {
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ public abstract class JavaPlugin extends BasePlugin {
|
|||||||
private final XmlHelper xmlHelper;
|
private final XmlHelper xmlHelper;
|
||||||
|
|
||||||
public JavaPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) {
|
public JavaPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) {
|
||||||
super(xmlHelper);
|
|
||||||
this.globMatcher = globMatcher;
|
this.globMatcher = globMatcher;
|
||||||
this.xmlHelper = xmlHelper;
|
this.xmlHelper = xmlHelper;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ public abstract class XmlPlugin extends BasePlugin {
|
|||||||
private final XmlHelper xmlHelper;
|
private final XmlHelper xmlHelper;
|
||||||
|
|
||||||
public XmlPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) {
|
public XmlPlugin(GlobMatcher globMatcher, XmlHelper xmlHelper) {
|
||||||
super(xmlHelper);
|
|
||||||
this.globMatcher = globMatcher;
|
this.globMatcher = globMatcher;
|
||||||
this.xmlHelper = xmlHelper;
|
this.xmlHelper = xmlHelper;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,6 @@ public class AllowBackupPlugin extends AndroidManifestPlugin {
|
|||||||
if (!n.getNodeValue().equals("false")) {
|
if (!n.getNodeValue().equals("false")) {
|
||||||
addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString());
|
addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString());
|
||||||
}
|
}
|
||||||
}, () -> addIssue(Severity.WARNING, ".NO_ATTR", null, null));
|
}, () -> addIssue(Severity.ERROR, ".NO_ATTR", null, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,6 @@ public class DebuggablePlugin extends AndroidManifestPlugin {
|
|||||||
if(!n.getNodeValue().equals("false")) {
|
if(!n.getNodeValue().equals("false")) {
|
||||||
addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString());
|
addIssue(Severity.WARNING, ".NO_FALSE", null, n.toString());
|
||||||
}
|
}
|
||||||
}, () -> addIssue(Severity.WARNING, ".NO_ATTR",null, null));
|
}, () -> addIssue(Severity.ERROR, ".NO_ATTR",null, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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\
|
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\
|
Package should be defined as attribute of <manifest> tag.\n\
|
||||||
For example: <manifest package="com.bartek.esa.test">\n\
|
For example: <manifest package="com.bartek.esa.test">\n\
|
||||||
|
|||||||
Reference in New Issue
Block a user