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 { /**