From fdfdd389d2cf2e0112bbca4d3ab3aa4292ed0ba7 Mon Sep 17 00:00:00 2001
From: qxo <49526356@qq.com>
Date: Mon, 29 Apr 2024 20:39:00 +0800
Subject: [PATCH] feat: make this plugin can run on non-maven project (wihtout
pom.xml)
make this plugin goals can run on any project which has .editorconfig on project basedir
such as with -Deditorconfig.basedir
```
mvn org.ec4j.maven:editorconfig-maven-plugin:0.1.x:format -Deditorconfig.includes=**/*.xml -e -Deditorconfig.encoding=UTF-8 -Dproject.basedir=/any_dir_with_editorconfig
```
or
without editorconfig.basedir means on current dir
```
mvn org.ec4j.maven:editorconfig-maven-plugin:0.1.x:format -Deditorconfig.includes=**/*.xml -e -Deditorconfig.encoding=UTF-8
```
or
---
.../main/java/org/ec4j/maven/AbstractEditorConfigMojo.java | 6 +++++-
.../src/main/java/org/ec4j/maven/EditorConfigCheckMojo.java | 2 +-
.../main/java/org/ec4j/maven/EditorConfigFormatMojo.java | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/AbstractEditorConfigMojo.java b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/AbstractEditorConfigMojo.java
index 367b25a..951b410 100644
--- a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/AbstractEditorConfigMojo.java
+++ b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/AbstractEditorConfigMojo.java
@@ -75,7 +75,7 @@ public abstract class AbstractEditorConfigMojo extends AbstractMojo {
*
* @since 0.0.1
*/
- @Parameter(defaultValue = "${project.basedir}", required = true, readonly = true)
+ @Parameter(defaultValue = "${project.basedir}", required = false, readonly = true)
private File basedir;
/** The result of {@code basedir.toPath()} */
@@ -216,6 +216,10 @@ public void execute() throws MojoExecutionException, MojoFailureException {
} else {
this.charset = Charsets.forName(this.encoding);
}
+ if (basedir == null) {
+ log.info("Using current directory as basedir.");
+ basedir = new File(".").getAbsoluteFile();
+ }
this.basedirPath = basedir.toPath();
LinterRegistry linterRegistry = buildLinterRegistry();
diff --git a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigCheckMojo.java b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigCheckMojo.java
index 248cc3e..fd956f9 100644
--- a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigCheckMojo.java
+++ b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigCheckMojo.java
@@ -31,7 +31,7 @@
* @since 0.0.1
* @author Peter Palaga
*/
-@Mojo(defaultPhase = LifecyclePhase.VERIFY, name = "check", threadSafe = true)
+@Mojo(requiresProject = false, defaultPhase = LifecyclePhase.VERIFY, name = "check", threadSafe = true)
public class EditorConfigCheckMojo extends AbstractEditorConfigMojo {
/**
diff --git a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigFormatMojo.java b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigFormatMojo.java
index 4c017e5..3bc68ba 100644
--- a/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigFormatMojo.java
+++ b/editorconfig-maven-plugin/src/main/java/org/ec4j/maven/EditorConfigFormatMojo.java
@@ -29,7 +29,7 @@
* @since 0.0.1
* @author Peter Palaga
*/
-@Mojo(defaultPhase = LifecyclePhase.NONE, name = "format", threadSafe = true)
+@Mojo(requiresProject = false, defaultPhase = LifecyclePhase.NONE, name = "format", threadSafe = true)
public class EditorConfigFormatMojo extends AbstractEditorConfigMojo {
/**