• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ec4j/editorconfig-gradle-plugin: A Gradle plugin for checking whether project fi ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

ec4j/editorconfig-gradle-plugin

开源软件地址(OpenSource Url):

https://github.com/ec4j/editorconfig-gradle-plugin

开源编程语言(OpenSource Language):

Java 92.6%

开源软件介绍(OpenSource Introduction):

editorconfig-gradle-plugin

https://github.com/ec4j/editorconfig-gradle-plugin/blob/master/LICENSE https://github.com/ec4j/editorconfig-gradle-plugin/actions

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!

Basic usage

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

Configuration

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']

}

How it works

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.

Table 1. Linters available by default:
Class name Default includes Default excludes Supported .editorconfig properties

TextLinter

**/*

end_of_line, trim_trailing_whitespace, insert_final_newline

XmlLinter

**/*.xml, **/*.xsl

indent_style, indent_size

Contributions of further Linters are highly welcome! Please open an issue when you start working on something to avoid duplicate work.

How to build

Prerequisites:

  • Java 8+

The most common build with unit tests:

./gradlew clean build

On Windows:

.\gradlew.bat clean build

How to release

# 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}

Misc.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap