Browse Source

fix Swift language discoverability

Jan Wittler 4 years ago
parent
commit
4a68e17018

+ 1 - 1
README.md

@@ -69,7 +69,7 @@ Usage: JPlag [ options ] [ <root-dir> ... ] [ -new <new-dir> ... ] [ -old <old-d
 
 
 named arguments:
 named arguments:
   -h, --help       show this help message and exit
   -h, --help       show this help message and exit
-  -l               {java,python3,cpp,csharp,golang,kotlin,rlang,rust,scala,text,scheme,swift,emf-metamodel,emf-metamodel-dynamic} Select the language to parse the submissions (default: java)
+  -l               {cpp,csharp,emf-metamodel,emf-metamodel-dynamic,go,java,kotlin,python3,rlang,scala,scheme,swift,text} Select the language to parse the submissions (default: java)
   -bc BC           Path of the directory containing the base code (common framework used in all submissions)
   -bc BC           Path of the directory containing the base code (common framework used in all submissions)
   -v               {quiet,long} Verbosity of the logging (default: quiet)
   -v               {quiet,long} Verbosity of the logging (default: quiet)
   -d               Debug parser. Non-parsable files will be stored (default: false)
   -d               Debug parser. Non-parsable files will be stored (default: false)

+ 1 - 1
cli/src/test/java/de/jplag/cli/LanguageTest.java

@@ -31,7 +31,7 @@ class LanguageTest extends CommandLineInterfaceTest {
     @Test
     @Test
     void testLoading() {
     void testLoading() {
         var languages = LanguageLoader.getAllAvailableLanguages();
         var languages = LanguageLoader.getAllAvailableLanguages();
-        Assertions.assertEquals(12, languages.size(), "Loaded Languages: " + languages.keySet());
+        Assertions.assertEquals(13, languages.size(), "Loaded Languages: " + languages.keySet());
     }
     }
 
 
     @Test
     @Test

+ 3 - 1
languages/swift/src/main/java/de/jplag/swift/Language.java

@@ -4,14 +4,16 @@ import java.io.File;
 import java.util.List;
 import java.util.List;
 
 
 import de.jplag.Token;
 import de.jplag.Token;
+import org.kohsuke.MetaInfServices;
 
 
 /**
 /**
  * This represents the Swift language as a language supported by JPlag.
  * This represents the Swift language as a language supported by JPlag.
  */
  */
+@MetaInfServices(de.jplag.Language.class)
 public class Language implements de.jplag.Language {
 public class Language implements de.jplag.Language {
 
 
     private static final String NAME = "Swift Parser";
     private static final String NAME = "Swift Parser";
-    private static final String IDENTIFIER = "Swift";
+    private static final String IDENTIFIER = "swift";
     private static final int DEFAULT_MIN_TOKEN_MATCH = 8;
     private static final int DEFAULT_MIN_TOKEN_MATCH = 8;
     private static final String[] FILE_EXTENSIONS = {".swift"};
     private static final String[] FILE_EXTENSIONS = {".swift"};
     private final SwiftParserAdapter parserAdapter;
     private final SwiftParserAdapter parserAdapter;