editorconfig-gradle-plugin
is a Gradle plugin for checking whether project files comply with format rules
defined in .editorconfig
files and eventually also for fixing the violations.
|
editorconfig-gradle-plugin is new. Expect issues of all kinds and you should definitely
report them!
|
editorconfig-gradle-plugin
requires Java 8+ and Gradle 4.1+.
To apply the plugin, add the following to your project:
plugins {
...
// Check the latest version at https://plugins.gradle.org/plugin/org.ec4j.editorconfig
id 'org.ec4j.editorconfig' version '...'
}
After that, you can check whether your source files comply with .editorconfig
rules:
./gradlew editorconfigCheck
In case any violations are detected, you may want to fix them automagically by running
./gradlew editorconfigFormat
You also may want to bind the editorconfigCheck
to some other task existing in your project. E.g. if you have java
plugin in your project, binding to check
task is quite natural:
// build.gradle
plugins {
id 'java'
id 'org.ec4j.editorconfig' version '...'
}
check.dependsOn editorconfigCheck
There is editorconfig
extension object. Its properties are documented in the
EditorconfigExtension
class.
editorconfig {
# All files are included by default. Paths or patterns must be relative to the the project root directory.
includes = ['src/**', 'build.gradle']
# Exlude some files in addition to the default excludes
# Paths or patterns must be relative to the the project root directory.
excludes = ['derby.log', 'LICENSE']
}
editorconfig-gradle-plugin
is using the same libraries as its sibling editorconfig-maven-plugin
:
org.ec4j.maven:ec4j-lint-api
and org.ec4j.maven:ec4j-linters
. They are designed around the Linter interface.
Linter
is a processor specialized for some particular file format (such as YAML or XML) for which it can detect whether some
particular .editorconfig
properties are satisfied and eventually propose a
fix that can
be applied automatically.
Class name | Default includes | Default excludes | Supported .editorconfig properties |
---|---|---|---|
|
|||
|
Contributions of further Linters are highly welcome! Please open an issue when you start working on something to avoid duplicate work.
Prerequisites:
-
Java 8+
The most common build with unit tests:
./gradlew clean build
On Windows:
.\gradlew.bat clean build
# Make sure you are no master
git status
relVersion=...
sed -i "s/version = '[^']'/version = '${relVersion}'/" build.gradle.kts
git add -A
git commit -m "Release ${relVersion}"
git tag ${relVersion}
./gradlew publishPlugins --no-daemon --stacktrace
git push upstream master
git push upstream ${relVersion}
-
All code and contributions are under Apache License
-
Issues and Discussions: https://github.com/ec4j/editorconfig-gradle-plugin/issues