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 editorconfigCheckIn case any violations are detected, you may want to fix them automagically by running
./gradlew editorconfigFormatYou 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 editorconfigCheckThere 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 buildOn 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