forked from phoedos/pmd
Add explicit language versions (#4120)
This commit is contained in:
@ -4,22 +4,33 @@
|
||||
|
||||
package net.sourceforge.pmd.lang.apex;
|
||||
|
||||
import static net.sourceforge.pmd.util.CollectionUtil.listOf;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.pmd.lang.Language;
|
||||
import net.sourceforge.pmd.lang.LanguageModuleBase;
|
||||
import net.sourceforge.pmd.lang.LanguageProcessor;
|
||||
import net.sourceforge.pmd.lang.LanguagePropertyBundle;
|
||||
import net.sourceforge.pmd.lang.LanguageRegistry;
|
||||
|
||||
import apex.jorje.services.Version;
|
||||
|
||||
public class ApexLanguageModule extends LanguageModuleBase {
|
||||
|
||||
public static final String NAME = "Apex";
|
||||
public static final String TERSE_NAME = "apex";
|
||||
|
||||
public static final List<String> VERSIONS = listOf("52", "53", "54", "55", "56", "57");
|
||||
|
||||
public ApexLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("cls", "trigger")
|
||||
.addDefaultVersion(String.valueOf((int) Version.CURRENT.getExternal())));
|
||||
super(createMetadata());
|
||||
}
|
||||
|
||||
private static LanguageMetadata createMetadata() {
|
||||
LanguageMetadata languageMetadata = LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("cls", "trigger");
|
||||
int lastVersion = VERSIONS.size() - 1;
|
||||
VERSIONS.subList(0, lastVersion).forEach(languageMetadata::addVersion);
|
||||
languageMetadata.addDefaultVersion(VERSIONS.get(lastVersion));
|
||||
return languageMetadata;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(ApexLanguageModule.NAME, ApexLanguageModule.TERSE_NAME, "35",
|
||||
getLanguage("Apex").getVersion("35")));
|
||||
return Arrays.asList(new TestDescriptor(ApexLanguageModule.NAME, ApexLanguageModule.TERSE_NAME, "57",
|
||||
ApexLanguageModule.getInstance().getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,9 @@ public final class PlainTextLanguage extends SimpleLanguageModuleBase {
|
||||
static final String TERSE_NAME = "text";
|
||||
|
||||
private PlainTextLanguage() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name("Plain text").extensions("plain-text-file-goo-extension"),
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name("Plain text")
|
||||
.extensions("plain-text-file-goo-extension")
|
||||
.addDefaultVersion("default"),
|
||||
new TextLvh());
|
||||
}
|
||||
|
||||
|
@ -30,16 +30,29 @@ class BinaryDistributionIT extends AbstractBinaryDistributionTest {
|
||||
+ " kotlin, lua, matlab, modelica, objectivec, perl," + System.lineSeparator()
|
||||
+ " php, plsql, python, ruby, scala, swift, tsql," + System.lineSeparator()
|
||||
+ " vf, xml";
|
||||
SUPPORTED_LANGUAGES_PMD = "Valid values: apex-54, ecmascript-ES6, html-," + System.lineSeparator()
|
||||
+ " java-1.10, java-1.3, java-1.4, java-1.5, java-1." + System.lineSeparator()
|
||||
+ " 6, java-1.7, java-1.8, java-1.9, java-10," + System.lineSeparator()
|
||||
SUPPORTED_LANGUAGES_PMD = "Valid values: apex-52, apex-53, apex-54, apex-55," + System.lineSeparator()
|
||||
+ " apex-56, apex-57, ecmascript-3, ecmascript-5," + System.lineSeparator()
|
||||
+ " ecmascript-6, ecmascript-7, ecmascript-8," + System.lineSeparator()
|
||||
+ " ecmascript-9, ecmascript-ES2015," + System.lineSeparator()
|
||||
+ " ecmascript-ES2016, ecmascript-ES2017," + System.lineSeparator()
|
||||
+ " ecmascript-ES2018, ecmascript-ES6, html-4," + System.lineSeparator()
|
||||
+ " html-5, java-1.10, java-1.3, java-1.4, java-1.5," + System.lineSeparator()
|
||||
+ " java-1.6, java-1.7, java-1.8, java-1.9, java-10," + System.lineSeparator()
|
||||
+ " java-11, java-12, java-13, java-14, java-15," + System.lineSeparator()
|
||||
+ " java-16, java-17, java-18, java-18-preview," + System.lineSeparator()
|
||||
+ " java-19, java-19-preview, java-5, java-6, java-7," + System.lineSeparator()
|
||||
+ " java-8, java-9, jsp-, kotlin-1.6, kotlin-1." + System.lineSeparator()
|
||||
+ " 6-rfc+0.1, modelica-, plsql-, pom-, scala-2.10," + System.lineSeparator()
|
||||
+ " scala-2.11, scala-2.12, scala-2.13, swift-, vf-," + System.lineSeparator()
|
||||
+ " vm-, wsdl-, xml-, xsl-";
|
||||
+ " java-8, java-9, jsp-2, jsp-3, kotlin-1.6," + System.lineSeparator()
|
||||
+ " kotlin-1.7, modelica-3.4, modelica-3.5," + System.lineSeparator()
|
||||
+ " plsql-11g, plsql-12.1, plsql-12.2," + System.lineSeparator()
|
||||
+ " plsql-12c_Release_1, plsql-12c_Release_2," + System.lineSeparator()
|
||||
+ " plsql-18c, plsql-19c, plsql-21c, pom-4.0.0," + System.lineSeparator()
|
||||
+ " scala-2.10, scala-2.11, scala-2.12, scala-2.13," + System.lineSeparator()
|
||||
+ " swift-4.2, swift-5.0, swift-5.1, swift-5.2," + System.lineSeparator()
|
||||
+ " swift-5.3, swift-5.4, swift-5.5, swift-5.6," + System.lineSeparator()
|
||||
+ " swift-5.7, vf-52, vf-53, vf-54, vf-55, vf-56," + System.lineSeparator()
|
||||
+ " vf-57, vm-2.0, vm-2.1, vm-2.2, vm-2.3, wsdl-1.1," + System.lineSeparator()
|
||||
+ " wsdl-2.0, xml-1.0, xml-1.1, xsl-1.0, xsl-2.0," + System.lineSeparator()
|
||||
+ " xsl-3.0";
|
||||
}
|
||||
|
||||
private final String srcDir = new File(".", "src/test/resources/sample-source/java/").getAbsolutePath();
|
||||
|
@ -15,7 +15,9 @@ public final class HtmlLanguageModule extends SimpleLanguageModuleBase {
|
||||
|
||||
public HtmlLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("html", "htm", "xhtml", "xht", "shtml"),
|
||||
.extensions("html", "htm", "xhtml", "xht", "shtml")
|
||||
.addVersion("4")
|
||||
.addDefaultVersion("5"),
|
||||
new HtmlHandler());
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(HtmlLanguageModule.NAME, HtmlLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(HtmlLanguageModule.NAME, HtmlLanguageModule.TERSE_NAME, "5",
|
||||
getLanguage(HtmlLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,12 @@ public class EcmascriptLanguageModule extends SimpleLanguageModuleBase {
|
||||
|
||||
public EcmascriptLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("js")
|
||||
.addDefaultVersion("ES6"),
|
||||
.addVersion("3")
|
||||
.addVersion("5")
|
||||
.addVersion("6", "ES6", "ES2015")
|
||||
.addVersion("7", "ES2016")
|
||||
.addVersion("8", "ES2017")
|
||||
.addDefaultVersion("9", "ES2018"),
|
||||
properties -> () -> new EcmascriptParser(properties));
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,7 @@ import org.mozilla.javascript.ast.ErrorCollector;
|
||||
import org.mozilla.javascript.ast.ParseProblem;
|
||||
|
||||
import net.sourceforge.pmd.lang.LanguagePropertyBundle;
|
||||
import net.sourceforge.pmd.lang.LanguageVersion;
|
||||
import net.sourceforge.pmd.lang.ast.AstInfo;
|
||||
import net.sourceforge.pmd.lang.ast.FileAnalysisException;
|
||||
import net.sourceforge.pmd.lang.ast.ParseException;
|
||||
@ -30,11 +31,11 @@ public final class EcmascriptParser implements net.sourceforge.pmd.lang.ast.Pars
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
private AstRoot parseEcmascript(final String sourceCode, final List<ParseProblem> parseProblems) throws ParseException {
|
||||
private AstRoot parseEcmascript(final String sourceCode, final LanguageVersion version, final List<ParseProblem> parseProblems) throws ParseException {
|
||||
final CompilerEnvirons compilerEnvirons = new CompilerEnvirons();
|
||||
compilerEnvirons.setRecordingComments(true);
|
||||
compilerEnvirons.setRecordingLocalJsDocComments(true);
|
||||
compilerEnvirons.setLanguageVersion(Context.VERSION_ES6);
|
||||
compilerEnvirons.setLanguageVersion(determineRhinoLanguageVersion(version));
|
||||
// Scope's don't appear to get set right without this
|
||||
compilerEnvirons.setIdeMode(true);
|
||||
compilerEnvirons.setWarnTrailingComma(true);
|
||||
@ -52,10 +53,19 @@ public final class EcmascriptParser implements net.sourceforge.pmd.lang.ast.Pars
|
||||
return astRoot;
|
||||
}
|
||||
|
||||
private static int determineRhinoLanguageVersion(LanguageVersion version) {
|
||||
switch (version.getVersion()) {
|
||||
case "3": return Context.VERSION_1_5;
|
||||
case "5": return Context.VERSION_1_8;
|
||||
default: return Context.VERSION_ES6;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RootNode parse(ParserTask task) throws FileAnalysisException {
|
||||
final LanguageVersion version = task.getLanguageVersion();
|
||||
final List<ParseProblem> parseProblems = new ArrayList<>();
|
||||
final AstRoot astRoot = parseEcmascript(task.getSourceText(), parseProblems);
|
||||
final AstRoot astRoot = parseEcmascript(task.getSourceText(), version, parseProblems);
|
||||
final EcmascriptTreeBuilder treeBuilder = new EcmascriptTreeBuilder(parseProblems);
|
||||
ASTAstRoot tree = (ASTAstRoot) treeBuilder.build(astRoot);
|
||||
|
||||
|
@ -13,7 +13,7 @@ class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(
|
||||
new TestDescriptor(EcmascriptLanguageModule.NAME, EcmascriptLanguageModule.TERSE_NAME, "ES6",
|
||||
new TestDescriptor(EcmascriptLanguageModule.NAME, EcmascriptLanguageModule.TERSE_NAME, "9",
|
||||
getLanguage(EcmascriptLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@ public class JspLanguageModule extends SimpleLanguageModuleBase {
|
||||
|
||||
public JspLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).shortName("JSP")
|
||||
.extensions("jsp", "jspx", "jspf", "tag"),
|
||||
.extensions("jsp", "jspx", "jspf", "tag")
|
||||
.addVersion("2")
|
||||
.addDefaultVersion("3"),
|
||||
new JspHandler());
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(JspLanguageModule.NAME, JspLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(JspLanguageModule.NAME, JspLanguageModule.TERSE_NAME, "3",
|
||||
getLanguage(JspLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -25,8 +25,8 @@ public class KotlinLanguageModule extends SimpleLanguageModuleBase {
|
||||
*/
|
||||
public KotlinLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("kt", "ktm")
|
||||
.addDefaultVersion("1.6-rfc+0.1", "1.6"),
|
||||
.addVersion("1.6")
|
||||
.addDefaultVersion("1.7"),
|
||||
new KotlinHandler());
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -13,9 +13,7 @@ class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(
|
||||
new TestDescriptor(KotlinLanguageModule.NAME, KotlinLanguageModule.TERSE_NAME, "1.6-rfc+0.1",
|
||||
getLanguage(KotlinLanguageModule.NAME).getDefaultVersion()),
|
||||
new TestDescriptor(KotlinLanguageModule.NAME, KotlinLanguageModule.TERSE_NAME, "1.6",
|
||||
new TestDescriptor(KotlinLanguageModule.NAME, KotlinLanguageModule.TERSE_NAME, "1.7",
|
||||
getLanguage(KotlinLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,10 @@ public class ModelicaLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "modelica";
|
||||
|
||||
public ModelicaLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("mo"),
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("mo")
|
||||
.addVersion("3.4")
|
||||
.addDefaultVersion("3.5"),
|
||||
new ModelicaHandler());
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(ModelicaLanguageModule.NAME, ModelicaLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(ModelicaLanguageModule.NAME, ModelicaLanguageModule.TERSE_NAME, "3.5",
|
||||
getLanguage(ModelicaLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,13 @@ public class PLSQLLanguageModule extends SimpleLanguageModuleBase {
|
||||
"pck", "pks", "pkh", "pkb", // Packages
|
||||
"typ", "tyb", // Object Types
|
||||
"tps", "tpb" // Object Types
|
||||
),
|
||||
)
|
||||
.addVersion("11g")
|
||||
.addVersion("12c_Release_1", "12.1")
|
||||
.addVersion("12c_Release_2", "12.2")
|
||||
.addVersion("18c")
|
||||
.addVersion("19c")
|
||||
.addDefaultVersion("21c"),
|
||||
new PLSQLHandler()
|
||||
);
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(PLSQLLanguageModule.NAME, PLSQLLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(PLSQLLanguageModule.NAME, PLSQLLanguageModule.TERSE_NAME, "21c",
|
||||
getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,17 @@ public class SwiftLanguageModule extends SimpleLanguageModuleBase {
|
||||
* Create a new instance of Swift Language Module.
|
||||
*/
|
||||
public SwiftLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("swift"), new SwiftHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("swift")
|
||||
.addVersion("4.2")
|
||||
.addVersion("5.0")
|
||||
.addVersion("5.1")
|
||||
.addVersion("5.2")
|
||||
.addVersion("5.3")
|
||||
.addVersion("5.4")
|
||||
.addVersion("5.5")
|
||||
.addVersion("5.6")
|
||||
.addDefaultVersion("5.7"),
|
||||
new SwiftHandler());
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(SwiftLanguageModule.NAME, SwiftLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(SwiftLanguageModule.NAME, SwiftLanguageModule.TERSE_NAME, "5.7",
|
||||
getLanguage(SwiftLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -20,12 +20,21 @@ public class VfLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "vf";
|
||||
|
||||
public VfLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("page", "component")
|
||||
.dependsOnLanguage(ApexLanguageModule.TERSE_NAME),
|
||||
super(createMetdata(),
|
||||
p -> new VfHandler((VfLanguageProperties) p));
|
||||
}
|
||||
|
||||
private static LanguageMetadata createMetdata() {
|
||||
LanguageMetadata languageMetadata = LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("page", "component")
|
||||
.dependsOnLanguage(ApexLanguageModule.TERSE_NAME);
|
||||
// use the same versions as in Apex
|
||||
int lastVersion = ApexLanguageModule.VERSIONS.size() - 1;
|
||||
ApexLanguageModule.VERSIONS.subList(0, lastVersion).forEach(languageMetadata::addVersion);
|
||||
languageMetadata.addDefaultVersion(ApexLanguageModule.VERSIONS.get(lastVersion));
|
||||
return languageMetadata;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LanguagePropertyBundle newPropertyBundle() {
|
||||
return new VfLanguageProperties();
|
||||
|
@ -8,11 +8,13 @@ import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
import net.sourceforge.pmd.lang.apex.ApexLanguageModule;
|
||||
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME, "",
|
||||
getLanguage(VfLanguageModule.NAME).getDefaultVersion()));
|
||||
return Arrays.asList(new TestDescriptor(VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME,
|
||||
ApexLanguageModule.getInstance().getDefaultVersion().getVersion(),
|
||||
getLanguage(VfLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,13 @@ public class VmLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "vm";
|
||||
|
||||
public VmLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("vm"), new VmHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("vm")
|
||||
.addVersion("2.0")
|
||||
.addVersion("2.1")
|
||||
.addVersion("2.2")
|
||||
.addDefaultVersion("2.3"),
|
||||
new VmHandler());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(new TestDescriptor(VmLanguageModule.NAME, VmLanguageModule.TERSE_NAME, "",
|
||||
return Arrays.asList(new TestDescriptor(VmLanguageModule.NAME, VmLanguageModule.TERSE_NAME, "2.3",
|
||||
getLanguage(VmLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,10 @@ public class PomLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "pom";
|
||||
|
||||
public PomLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("pom"), new XmlHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("pom")
|
||||
.addDefaultVersion("4.0.0"),
|
||||
new XmlHandler());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,7 +15,11 @@ public class WsdlLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "wsdl";
|
||||
|
||||
public WsdlLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("wsdl"), new XmlHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("wsdl")
|
||||
.addVersion("1.1")
|
||||
.addDefaultVersion("2.0"),
|
||||
new XmlHandler());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,6 +15,10 @@ public class XmlLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "xml";
|
||||
|
||||
public XmlLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("xml"), new XmlHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("xml")
|
||||
.addVersion("1.0")
|
||||
.addDefaultVersion("1.1"),
|
||||
new XmlHandler());
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,12 @@ public class XslLanguageModule extends SimpleLanguageModuleBase {
|
||||
public static final String TERSE_NAME = "xsl";
|
||||
|
||||
public XslLanguageModule() {
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME).extensions("xsl", "xslt"), new XmlHandler());
|
||||
super(LanguageMetadata.withId(TERSE_NAME).name(NAME)
|
||||
.extensions("xsl", "xslt")
|
||||
.addVersion("1.0")
|
||||
.addVersion("2.0")
|
||||
.addDefaultVersion("3.0"),
|
||||
new XmlHandler());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,13 +16,13 @@ class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
static Collection<TestDescriptor> data() {
|
||||
return Arrays.asList(
|
||||
new TestDescriptor(XmlLanguageModule.NAME, XmlLanguageModule.TERSE_NAME, "",
|
||||
new TestDescriptor(XmlLanguageModule.NAME, XmlLanguageModule.TERSE_NAME, "1.1",
|
||||
getLanguage(XmlLanguageModule.NAME).getDefaultVersion()),
|
||||
new TestDescriptor(XslLanguageModule.NAME, XslLanguageModule.TERSE_NAME, "",
|
||||
new TestDescriptor(XslLanguageModule.NAME, XslLanguageModule.TERSE_NAME, "3.0",
|
||||
getLanguage(XslLanguageModule.NAME).getDefaultVersion()),
|
||||
new TestDescriptor(WsdlLanguageModule.NAME, WsdlLanguageModule.TERSE_NAME, "",
|
||||
new TestDescriptor(WsdlLanguageModule.NAME, WsdlLanguageModule.TERSE_NAME, "2.0",
|
||||
getLanguage(WsdlLanguageModule.NAME).getDefaultVersion()),
|
||||
new TestDescriptor(PomLanguageModule.NAME, PomLanguageModule.TERSE_NAME, "",
|
||||
new TestDescriptor(PomLanguageModule.NAME, PomLanguageModule.TERSE_NAME, "4.0.0",
|
||||
getLanguage(PomLanguageModule.NAME).getDefaultVersion()));
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
<target name="testXML">
|
||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/xml/basic.xml">
|
||||
<sourceLanguage name="xml" version="" />
|
||||
<sourceLanguage name="xml" version="1.0" />
|
||||
<formatter type="text" toConsole="true" />
|
||||
<fileset dir="${pmd.home}/src/test/resources/ant/xml/">
|
||||
<include name="*.xml" />
|
||||
|
Reference in New Issue
Block a user