diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/pmd.xml b/config/pmd.xml
new file mode 100644
index 0000000..cb0b643
--- /dev/null
+++ b/config/pmd.xml
@@ -0,0 +1,110 @@
+
+
+ Erik's Ruleset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/bld/bld-wrapper.properties b/lib/bld/bld-wrapper.properties
index 65caa7a..3833546 100644
--- a/lib/bld/bld-wrapper.properties
+++ b/lib/bld/bld-wrapper.properties
@@ -1,6 +1,6 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
-bld.extensions=
+bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.4
bld.repositories=MAVEN_CENTRAL,RIFE2_RELEASES
bld.downloadLocation=
bld.sourceDirectories=
diff --git a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java
index 7288ec8..4766ce6 100644
--- a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java
+++ b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java
@@ -16,13 +16,12 @@
package rife.bld.extension;
+import rife.bld.BuildCommand;
import rife.bld.Project;
-import rife.bld.operations.RunOperation;
import rife.bld.publish.PublishDeveloper;
import rife.bld.publish.PublishLicense;
import rife.bld.publish.PublishScm;
-import java.io.File;
import java.util.List;
import static rife.bld.dependencies.Repository.*;
@@ -78,4 +77,13 @@ public class CompileKotlinOperationBuild extends Project {
public static void main(String[] args) {
new CompileKotlinOperationBuild().start(args);
}
+
+ @BuildCommand(summary = "Runs PMD analysis")
+ public void pmd() {
+ new PmdOperation()
+ .fromProject(this)
+ .failOnViolation(true)
+ .ruleSets("config/pmd.xml")
+ .execute();
+ }
}
\ No newline at end of file
diff --git a/src/main/java/rife/bld/extension/CompileKotlinOperation.java b/src/main/java/rife/bld/extension/CompileKotlinOperation.java
index 480cb29..37e6bc1 100644
--- a/src/main/java/rife/bld/extension/CompileKotlinOperation.java
+++ b/src/main/java/rife/bld/extension/CompileKotlinOperation.java
@@ -203,6 +203,8 @@ public class CompileKotlinOperation extends AbstractOperation {
- args.add(f.getAbsolutePath());
- });
+ sources.forEach(f -> args.add(f.getAbsolutePath()));
if (LOGGER.isLoggable(Level.FINE) && !silent()) {
LOGGER.fine("kotlinc " + String.join(" ", args));
@@ -292,15 +292,11 @@ public class CompileKotlinOperation extends AbstractOperation