Created
November 17, 2015 07:27
-
-
Save nojimage/550b02b6396de828e0f9 to your computer and use it in GitHub Desktop.
for NetBeans phpcsmd plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/de/foopara/phpcsmd/exec/pdepend/Pdepend.java b/src/de/foopara/phpcsmd/exec/pdepend/Pdepend.java | |
index ebb3d7b..339cf96 100644 | |
--- a/src/de/foopara/phpcsmd/exec/pdepend/Pdepend.java | |
+++ b/src/de/foopara/phpcsmd/exec/pdepend/Pdepend.java | |
@@ -13,6 +13,8 @@ import de.foopara.phpcsmd.generics.GenericOutputReader; | |
import de.foopara.phpcsmd.generics.GenericProcess; | |
import de.foopara.phpcsmd.option.PdependOptions; | |
import de.foopara.phpcsmd.ui.reports.PdependReportTopComponent; | |
+import java.util.ArrayList; | |
+import java.util.List; | |
public class Pdepend | |
{ | |
@@ -41,7 +43,8 @@ public class Pdepend | |
HashSet<File> tmpFiles = new HashSet<File>(); | |
- StringBuilder cmd = new StringBuilder(GenericExecute.escapePath((String)PdependOptions.load(PdependOptions.Settings.SCRIPT, lkp))); | |
+ List<String> cmd = new ArrayList<String>(); | |
+ cmd.add(GenericExecute.escapePath((String)PdependOptions.load(PdependOptions.Settings.SCRIPT, lkp))); | |
this.appendArgument(cmd, "--suffix=", "" + (String)PdependOptions.load(PdependOptions.Settings.SUFFIXES, lkp)); | |
this.appendArgument(cmd, "--exclude=", "" + (String)PdependOptions.load(PdependOptions.Settings.EXCLUDE, lkp)); | |
this.appendArgument(cmd, "--ignore=", "" + (String)PdependOptions.load(PdependOptions.Settings.IGNORES, lkp)); | |
@@ -58,7 +61,7 @@ public class Pdepend | |
this.appendArgument(cmd, "--jdepend-xml=", jdepend.getAbsolutePath()); | |
tmpFiles.add(jdepend); | |
} | |
- cmd.append(" ").append(GenericHelper.escapePath(file)); | |
+ cmd.add(GenericHelper.escapePath(file)); | |
Logger.getInstance().logPre(cmd.toString(), "pdepend command"); | |
PdependParser parser = new PdependParser(); | |
@@ -68,7 +71,7 @@ public class Pdepend | |
for (int i = 0; i < tmpFilesArray.length; i++) { | |
outputFiles[i] = (File)tmpFilesArray[i]; | |
} | |
- GenericOutputReader[] reader = GenericProcess.run(cmd.toString(), outputFiles, this.component, lkp); | |
+ GenericOutputReader[] reader = GenericProcess.run(cmd, outputFiles, this.component, lkp); | |
if (reader.length < 1) { | |
Logger.getInstance().logPre("no output from commmand line", "pdepend command"); | |
return this.setAndReturnDefault(); | |
@@ -95,9 +98,10 @@ public class Pdepend | |
return new PdependResult(); | |
} | |
- private void appendArgument(StringBuilder b, String key, String value) { | |
+ protected void appendArgument(List<String> cmd, String key, String value) { | |
if (value.trim().length() > 0) { | |
- b.append(" ").append(key).append(value); | |
+ StringBuilder b = new StringBuilder(key); | |
+ cmd.add(b.append(value).toString()); | |
} | |
} | |
diff --git a/src/de/foopara/phpcsmd/exec/phpcpd/Phpcpd.java b/src/de/foopara/phpcsmd/exec/phpcpd/Phpcpd.java | |
index 54ca219..e7919dd 100644 | |
--- a/src/de/foopara/phpcsmd/exec/phpcpd/Phpcpd.java | |
+++ b/src/de/foopara/phpcsmd/exec/phpcpd/Phpcpd.java | |
@@ -17,6 +17,8 @@ import de.foopara.phpcsmd.generics.GenericOutputReader; | |
import de.foopara.phpcsmd.generics.GenericProcess; | |
import de.foopara.phpcsmd.generics.GenericResult; | |
import de.foopara.phpcsmd.option.PhpcpdOptions; | |
+import java.util.ArrayList; | |
+import java.util.List; | |
/** | |
* | |
@@ -63,14 +65,14 @@ public class Phpcpd extends GenericExecute | |
} | |
- StringBuilder cmd = this.getGenericCommand(lookup); | |
- cmd.append(" ").append(GenericHelper.getPhpcpdDistractor()); | |
- cmd.append(" ").append(GenericHelper.escapePath(file)); | |
+ List<String> cmd = this.getGenericCommand(lookup); | |
+ cmd.add(GenericHelper.getPhpcpdDistractor()); | |
+ cmd.add(GenericHelper.escapePath(file)); | |
boolean updateDependencies = false; | |
for (FileObject fo : ViolationRegistry.getInstance().getPhpcpdDependency(file)) { | |
updateDependencies = true; | |
- cmd.append(" ").append(fo.getPath()); | |
+ cmd.add(fo.getPath()); | |
} | |
Logger.getInstance().logPre(cmd.toString(), "php-cpd command"); | |
@@ -78,7 +80,7 @@ public class Phpcpd extends GenericExecute | |
if (!iAmAlive()) { | |
return this.setAndReturnCurrent(file); | |
} | |
- GenericOutputReader[] reader = GenericProcess.run(cmd.toString(), "", null, lookup); | |
+ GenericOutputReader[] reader = GenericProcess.run(cmd, "", null, lookup); | |
if (reader.length < 1) { | |
Logger.getInstance().logPre("no output from commmand line", "phpcpd command"); | |
return this.setAndReturnCurrent(file); | |
@@ -130,16 +132,16 @@ public class Phpcpd extends GenericExecute | |
return new HashMap<String, PhpcpdResult>(); | |
} | |
- StringBuilder cmd = this.getGenericCommand(lookup); | |
- cmd.append(" ").append(GenericHelper.getPhpcpdDistractor()); | |
- cmd.append(" ").append(GenericHelper.escapePath(folder)); | |
+ List<String> cmd = this.getGenericCommand(lookup); | |
+ cmd.add(GenericHelper.getPhpcpdDistractor()); | |
+ cmd.add(GenericHelper.escapePath(folder)); | |
Logger.getInstance().logPre(cmd.toString(), "php-cpd command (folder scan)"); | |
PhpcpdFolderParser parser = new PhpcpdFolderParser(); | |
if (!iAmAlive()) { | |
return new HashMap<String, PhpcpdResult>(); | |
} | |
- GenericOutputReader[] reader = GenericProcess.run(cmd.toString(), "", null, lookup); | |
+ GenericOutputReader[] reader = GenericProcess.run(cmd, "", null, lookup); | |
if (!iAmAlive()) { | |
return new HashMap<String, PhpcpdResult>(); | |
} | |
@@ -178,8 +180,9 @@ public class Phpcpd extends GenericExecute | |
return res; | |
} | |
- private StringBuilder getGenericCommand(Lookup lookup) { | |
- StringBuilder cmd = new StringBuilder(GenericExecute.escapePath((String)PhpcpdOptions.load(PhpcpdOptions.Settings.SCRIPT, lookup))); | |
+ private List<String> getGenericCommand(Lookup lookup) { | |
+ List<String> cmd = new ArrayList<String>(); | |
+ cmd.add(GenericExecute.escapePath((String)PhpcpdOptions.load(PhpcpdOptions.Settings.SCRIPT, lookup))); | |
this.appendArgument(cmd, "--min-lines ", "" + (Integer)PhpcpdOptions.load(PhpcpdOptions.Settings.MINLINES, lookup)); | |
this.appendArgument(cmd, "--min-tokens ", "" + (Integer)PhpcpdOptions.load(PhpcpdOptions.Settings.MINTOKENS, lookup)); | |
this.appendArgument(cmd, "--suffixes ", (String)PhpcpdOptions.load(PhpcpdOptions.Settings.SUFFIXES, lookup)); | |
diff --git a/src/de/foopara/phpcsmd/exec/phpcs/Phpcs.java b/src/de/foopara/phpcsmd/exec/phpcs/Phpcs.java | |
index 98b4e82..3d1f894 100644 | |
--- a/src/de/foopara/phpcsmd/exec/phpcs/Phpcs.java | |
+++ b/src/de/foopara/phpcsmd/exec/phpcs/Phpcs.java | |
@@ -17,6 +17,8 @@ import de.foopara.phpcsmd.generics.GenericOutputReader; | |
import de.foopara.phpcsmd.generics.GenericProcess; | |
import de.foopara.phpcsmd.generics.GenericResult; | |
import de.foopara.phpcsmd.option.PhpcsOptions; | |
+import java.util.ArrayList; | |
+import java.util.List; | |
/** | |
* | |
@@ -53,7 +55,8 @@ public class Phpcs extends GenericExecute | |
} | |
CustomStandard cstandard = null; | |
- StringBuilder cmd = new StringBuilder(GenericExecute.escapePath((String)PhpcsOptions.load(PhpcsOptions.Settings.SCRIPT, lookup))); | |
+ List<String> cmd = new ArrayList<String>(); | |
+ cmd.add(GenericExecute.escapePath((String)PhpcsOptions.load(PhpcsOptions.Settings.SCRIPT, lookup))); | |
if ((Boolean)PhpcsOptions.load(PhpcsOptions.Settings.EXTRAS, lookup) == true | |
|| ((String)PhpcsOptions.load(PhpcsOptions.Settings.STANDARD, lookup)).trim().length() == 0) { | |
cstandard = new CustomStandard(lookup); | |
@@ -67,18 +70,18 @@ public class Phpcs extends GenericExecute | |
this.appendArgument(cmd, "-d ", GenericHelper.implode(" -d ", ((String)PhpcsOptions.load(PhpcsOptions.Settings.INIOVERWRITE, lookup)).split(";"))); | |
if ((Integer)PhpcsOptions.load(PhpcsOptions.Settings.TABWIDTH, lookup) > -1) { | |
- cmd.append(" --tab-width=").append((Integer)PhpcsOptions.load(PhpcsOptions.Settings.TABWIDTH, lookup)); | |
+ this.appendArgument(cmd, "--tab-width=", (String)PhpcsOptions.load(PhpcsOptions.Settings.TABWIDTH, lookup)); | |
} | |
if ((Boolean)PhpcsOptions.load(PhpcsOptions.Settings.WARNINGS, lookup) == true) { | |
- cmd.append(" -w"); | |
+ cmd.add("-w"); | |
} else { | |
- cmd.append(" -n"); | |
+ cmd.add("-n"); | |
} | |
- cmd.append(" --report=xml"); | |
+ cmd.add("--report=xml"); | |
- cmd.append(" ").append(GenericHelper.escapePath(file)); | |
+ cmd.add(GenericHelper.escapePath(file)); | |
Logger.getInstance().logPre(cmd.toString(), "phpcs command"); | |
/* | |
@@ -92,7 +95,7 @@ public class Phpcs extends GenericExecute | |
if (!iAmAlive()) { | |
return this.setAndReturnCurrent(file); | |
} | |
- GenericOutputReader[] reader = GenericProcess.run(cmd.toString(), "", null, lookup); | |
+ GenericOutputReader[] reader = GenericProcess.run(cmd, "", null, lookup); | |
if (reader.length < 1) { | |
Logger.getInstance().logPre("no output from commmand line", "phpcs command"); | |
return this.setAndReturnCurrent(file); | |
@@ -128,12 +131,6 @@ public class Phpcs extends GenericExecute | |
return res; | |
} | |
- private void appendArgument(StringBuilder b, String key, String value) { | |
- if (value.trim().length() > 0) { | |
- b.append(" ").append(key).append(value); | |
- } | |
- } | |
- | |
private GenericResult setAndReturnDefault(FileObject file) { | |
GenericResult ret = new GenericResult(null, null, null); | |
ViolationRegistry.getInstance().setPhpcs(file, ret); | |
diff --git a/src/de/foopara/phpcsmd/exec/phpmd/Phpmd.java b/src/de/foopara/phpcsmd/exec/phpmd/Phpmd.java | |
index 17fe148..a5bd4c1 100644 | |
--- a/src/de/foopara/phpcsmd/exec/phpmd/Phpmd.java | |
+++ b/src/de/foopara/phpcsmd/exec/phpmd/Phpmd.java | |
@@ -16,6 +16,8 @@ import de.foopara.phpcsmd.generics.GenericOutputReader; | |
import de.foopara.phpcsmd.generics.GenericProcess; | |
import de.foopara.phpcsmd.generics.GenericResult; | |
import de.foopara.phpcsmd.option.PhpmdOptions; | |
+import java.util.ArrayList; | |
+import java.util.List; | |
/** | |
* | |
@@ -51,16 +53,17 @@ public class Phpmd extends GenericExecute | |
return this.setAndReturnCurrent(file); | |
} | |
- StringBuilder cmd = new StringBuilder(GenericExecute.escapePath((String)PhpmdOptions.load(PhpmdOptions.Settings.SCRIPT, lookup))); | |
- cmd.append(" ").append(GenericHelper.escapePath(file)); | |
- cmd.append(" ").append("xml"); | |
- cmd.append(" ").append((String)PhpmdOptions.load(PhpmdOptions.Settings.RULES, lookup)); | |
+ List<String> cmd = new ArrayList<String>(); | |
+ cmd.add(GenericExecute.escapePath((String)PhpmdOptions.load(PhpmdOptions.Settings.SCRIPT, lookup))); | |
+ cmd.add(GenericHelper.escapePath(file)); | |
+ cmd.add("xml"); | |
+ cmd.add((String)PhpmdOptions.load(PhpmdOptions.Settings.RULES, lookup)); | |
this.appendArgument(cmd, "--suffixes", (String)PhpmdOptions.load(PhpmdOptions.Settings.SUFFIXES, lookup)); | |
this.appendArgument(cmd, "--exclude", (String)PhpmdOptions.load(PhpmdOptions.Settings.EXCLUDE, lookup)); | |
this.appendArgument(cmd, "--minimumpriority", (String)PhpmdOptions.load(PhpmdOptions.Settings.MINPRIORITY, lookup)); | |
if ((Boolean)PhpmdOptions.load(PhpmdOptions.Settings.STRICT, lookup) == true) { | |
- cmd.append(" --strict"); | |
+ cmd.add(" --strict"); | |
} | |
Logger.getInstance().logPre(cmd.toString(), "pmd command"); | |
@@ -68,7 +71,7 @@ public class Phpmd extends GenericExecute | |
if (!iAmAlive()) { | |
return this.setAndReturnCurrent(file); | |
} | |
- GenericOutputReader[] reader = GenericProcess.run(cmd.toString(), "", null, lookup); | |
+ GenericOutputReader[] reader = GenericProcess.run(cmd, "", null, lookup); | |
if (reader.length < 1) { | |
Logger.getInstance().logPre("no output from commmand line", "phpmd command"); | |
return this.setAndReturnCurrent(file); | |
@@ -100,12 +103,6 @@ public class Phpmd extends GenericExecute | |
return res; | |
} | |
- private void appendArgument(StringBuilder b, String key, String value) { | |
- if (value.trim().length() > 0) { | |
- b.append(" ").append(key).append(" ").append(value); | |
- } | |
- } | |
- | |
private GenericResult setAndReturnDefault(FileObject file) { | |
GenericResult ret = new GenericResult(null, null, null); | |
ViolationRegistry.getInstance().setPhpmd(file, ret); | |
diff --git a/src/de/foopara/phpcsmd/generics/GenericExecute.java b/src/de/foopara/phpcsmd/generics/GenericExecute.java | |
index 195c087..496320e 100644 | |
--- a/src/de/foopara/phpcsmd/generics/GenericExecute.java | |
+++ b/src/de/foopara/phpcsmd/generics/GenericExecute.java | |
@@ -5,6 +5,7 @@ import org.openide.util.Lookup; | |
import de.foopara.phpcsmd.option.GeneralOptions; | |
import de.foopara.phpcsmd.threads.QAThread; | |
+import java.util.List; | |
/** | |
* | |
@@ -62,4 +63,11 @@ abstract public class GenericExecute | |
return executable.replace(" ", "\\ "); | |
} | |
+ | |
+ protected void appendArgument(List<String> cmd, String key, String value) { | |
+ if (value.trim().length() > 0) { | |
+ StringBuilder b = new StringBuilder(key); | |
+ cmd.add(b.append(value).toString()); | |
+ } | |
+ } | |
} | |
\ No newline at end of file | |
diff --git a/src/de/foopara/phpcsmd/generics/GenericHelper.java b/src/de/foopara/phpcsmd/generics/GenericHelper.java | |
index 682878e..e0ccb9a 100644 | |
--- a/src/de/foopara/phpcsmd/generics/GenericHelper.java | |
+++ b/src/de/foopara/phpcsmd/generics/GenericHelper.java | |
@@ -198,7 +198,7 @@ public class GenericHelper | |
public static String escapePath(FileObject f) { | |
String escapedFilename = f.getPath(); | |
if (escapedFilename.contains(" ")) { | |
- escapedFilename = escapedFilename.replaceAll(" ", "\\\\ "); | |
+// escapedFilename = escapedFilename.replaceAll(" ", "\\\\ "); | |
} | |
return escapedFilename; | |
} | |
diff --git a/src/de/foopara/phpcsmd/generics/GenericProcess.java b/src/de/foopara/phpcsmd/generics/GenericProcess.java | |
index 0c271e6..a83e1b1 100644 | |
--- a/src/de/foopara/phpcsmd/generics/GenericProcess.java | |
+++ b/src/de/foopara/phpcsmd/generics/GenericProcess.java | |
@@ -15,6 +15,7 @@ import org.openide.util.Exceptions; | |
import org.openide.util.Lookup; | |
import de.foopara.phpcsmd.debug.Logger; | |
+import java.util.List; | |
/** | |
* | |
@@ -48,7 +49,7 @@ public class GenericProcess | |
return output; | |
} | |
- public static GenericOutputReader[] run(String cmd, String outputFile, GenericTopComponent topComponent, Lookup lkp) { | |
+ public static GenericOutputReader[] run(List<String> cmd, String outputFile, GenericTopComponent topComponent, Lookup lkp) { | |
if (outputFile == null || outputFile.compareTo("") == 0) { | |
return GenericProcess.run(cmd, new File[]{}, topComponent, lkp); | |
} | |
@@ -56,14 +57,14 @@ public class GenericProcess | |
} | |
- public static GenericOutputReader[] run(String cmd, File[] outputFiles, GenericTopComponent topComponent, Lookup lkp) { | |
+ public static GenericOutputReader[] run(List<String> cmd, File[] outputFiles, GenericTopComponent topComponent, Lookup lkp) { | |
if (outputFiles.length == 0) { | |
outputFiles = null; | |
} | |
FileInputStream fis = null; | |
try { | |
- Process child = Runtime.getRuntime().exec(cmd); | |
+ Process child = Runtime.getRuntime().exec((String[])cmd.toArray(new String[0])); | |
StringBuilder tmp = new StringBuilder(); | |
InputStream in = child.getInputStream(); | |
int c; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment