1 Star 1 Fork 2

ChinaLym / lombok-intellij-plugin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
build.gradle 4.67 KB
一键复制 编辑 原始数据 按行查看 历史
plugins {
id "org.jetbrains.intellij" version "0.4.16"
id "org.jetbrains.grammarkit" version "2019.2.1"
id "com.github.ManifestClasspath" version "0.1.0-RELEASE"
}
allprojects {
repositories {
mavenLocal()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
apply plugin: 'org.jetbrains.grammarkit'
apply plugin: 'jacoco'
apply plugin: "com.github.ManifestClasspath"
def isCI = System.getenv("CI")
def ideaVersionExternDefinition = System.getenv("IDEA_VERSION")
ideaVersion = ideaVersionExternDefinition ? ideaVersionExternDefinition : ideaVersion
def artifactVersion = pluginVersion + "-" + ideaVersion
println "IdeaVersion is : ${ideaVersion}"
println "ArtifactVersion is : ${artifactVersion}"
group = pluginGroup
version = artifactVersion
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
// options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
sourceSets {
main {
java.srcDirs 'src/main/java', 'generated/src'
resources.srcDirs 'src/main/resources', 'generated/resources'
}
test {
java.srcDir 'test/java'
resources.srcDirs 'test/resources', 'testData'
}
}
intellij {
version ideaVersion
println "Building for IntelliJ version: ${version}"
pluginName pluginName
sandboxDirectory = "${rootProject.projectDir}/idea-sandbox/idea-${ideaVersion}"
plugins 'java'
}
patchPluginXml {
version artifactVersion
pluginDescription(file(descriptionFile).text)
changeNotes(file(changesFile).text)
}
publishPlugin {
token System.getenv('IJ_PLUGIN_TOKEN')
}
jacocoTestReport {
reports {
xml.enabled = true
html.enabled = true
}
}
configurations {
lombok
}
dependencies {
lombok group: 'org.shoulder', name: 'shoulder-lombok', version: '0.0.1', classifier: 'sources', ext: 'jar'
compile files('lib/shoulder-lombok-0.0.1.jar')
testImplementation("junit:junit:4.13")
testImplementation("org.mockito:mockito-core:3.3.1")
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.6.0")
}
// Tasks
copy {
includeEmptyDirs = false
from({ zipTree(configurations.lombok.singleFile) }) {
include 'lombok/extern/**'
include 'lombok/experimental/**'
include 'lombok/Builder.java'
include 'lombok/AccessLevel.java'
include 'lombok/*ArgsConstructor.java'
include 'lombok/Cleanup.java'
include 'lombok/CustomLog.java'
include 'lombok/Data.java'
include 'lombok/Delegate.java'
include 'lombok/Getter.java'
include 'lombok/Setter.java'
include 'lombok/EqualsAndHashCode.java'
include 'lombok/NonNull.java'
include 'lombok/Synchronized.java'
include 'lombok/ToString.java'
include 'lombok/SneakyThrows.java'
include 'lombok/Value.java'
include 'lombok/With.java'
include 'lombok/val.java'
include 'lombok/var.java'
include 'lombok/Singular.java'
include 'lombok/core/handlers/Singulars.java'
}
into("generated/src")
}
copy {
includeEmptyDirs = false
from({ zipTree(configurations.lombok.singleFile) }) {
include '**/*.txt'
}
into("generated/resources")
}
task generateLombokConfigParser(type: org.jetbrains.grammarkit.tasks.GenerateParser) {
println "Generating Parser for GrammerKit: ${grammarKit.grammarKitRelease}"
source "src/main/resources/de/plushnikov/intellij/plugin/language/lombokConfig.bnf"
targetRoot = "generated/src"
pathToParser "/de/plushnikov/intellij/plugin/language/parser/LombokConfigParser.java"
pathToPsiRoot "/de/plushnikov/intellij/plugin/language/psi"
}
task generateLombokConfigLexer(type: org.jetbrains.grammarkit.tasks.GenerateLexer) {
dependsOn generateLombokConfigParser
println "Generating Lexer for JFlexRelease: ${grammarKit.jflexRelease}"
source = "src/main/resources/de/plushnikov/intellij/plugin/language/lombokConfig.flex"
targetDir = "generated/src/de/plushnikov/intellij/plugin/language"
targetClass = "LombokConfigLexer"
}
clean.doFirst {
delete 'generated', 'out'
}
compileJava.dependsOn generateLombokConfigLexer
check.dependsOn jacocoTestReport
test {
// show standard out and standard error of the test JVM(s) on the console
testLogging {
exceptionFormat = 'full'
showStandardStreams = true
}
if( isCI ){
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
exceptionFormat "full"
}
}
// listen to events in the test execution lifecycle
beforeTest { descriptor ->
logger.lifecycle("Running test: " + descriptor)
}
}
runIde {
// jvmArgs '-agentpath:"D:\\yjpagent.dll"'
// jvmArgs '-Didea.ProcessCanceledException=disabled'
}
Java
1
https://gitee.com/ChinaLym/lombok-intellij-plugin.git
git@gitee.com:ChinaLym/lombok-intellij-plugin.git
ChinaLym
lombok-intellij-plugin
lombok-intellij-plugin
master

搜索帮助