11plugins {
22 java
33 application
4+ id(" com.diffplug.spotless" ) version " 8.2.1"
45}
56
67group = " dev.askov.mjcompiler"
@@ -34,13 +35,34 @@ dependencies {
3435 implementation(" :symboltable" )
3536}
3637
38+ spotless {
39+ java {
40+ target(" src/*/java/**/*.java" )
41+
42+ googleJavaFormat(" 1.25.0" )
43+
44+ removeUnusedImports()
45+ trimTrailingWhitespace()
46+ endWithNewline()
47+ }
48+
49+ kotlinGradle {
50+ target(" *.gradle.kts" )
51+ ktlint()
52+ }
53+ }
54+
3755tasks.test {
3856 testLogging {
3957 outputs.upToDateWhen { false }
4058 showStandardStreams = true
4159 }
4260}
4361
62+ tasks.build {
63+ dependsOn(" spotlessCheck" )
64+ }
65+
4466val jflexDir = layout.buildDirectory.dir(" generated/sources/jflex/java/main" ).get()
4567val cupDir = layout.buildDirectory.dir(" generated/sources/cup/java/main" ).get()
4668
@@ -65,7 +87,11 @@ tasks.register<JavaExec>("parser") {
6587 group = " generation"
6688 dependsOn(" lexer" )
6789 mainClass.set(" java_cup.Main" )
68- classpath = sourceSets.main.get().compileClasspath.minus(files(" libs/JFlex.jar" ))
90+ classpath =
91+ sourceSets.main
92+ .get()
93+ .compileClasspath
94+ .minus(files(" libs/JFlex.jar" ))
6995
7096 val genSourceRoot = cupDir.asFile
7197
@@ -79,11 +105,14 @@ tasks.register<JavaExec>("parser") {
79105 }
80106
81107 args(
82- " -destdir" , " dev/askov/mjcompiler" ,
83- " -parser" , " MJParser" ,
84- " -ast" , " dev.askov.mjcompiler.ast" ,
108+ " -destdir" ,
109+ " dev/askov/mjcompiler" ,
110+ " -parser" ,
111+ " MJParser" ,
112+ " -ast" ,
113+ " dev.askov.mjcompiler.ast" ,
85114 " -buildtree" ,
86- file(" src/main/resources/mjparser.cup" ).absolutePath
115+ file(" src/main/resources/mjparser.cup" ).absolutePath,
87116 )
88117}
89118
@@ -96,7 +125,7 @@ tasks.clean {
96125 " src/main/java/dev/askov/mjcompiler/MJLexer.java" ,
97126 " src/main/java/dev/askov/mjcompiler/MJParser.java" ,
98127 " src/main/java/dev/askov/mjcompiler/sym.java" ,
99- " src/main/java/dev/askov/mjcompiler/ast"
128+ " src/main/java/dev/askov/mjcompiler/ast" ,
100129 )
101130}
102131
@@ -106,4 +135,4 @@ tasks.register<JavaExec>("disassemble") {
106135 mainClass.set(" rs.etf.pp1.mj.runtime.disasm" )
107136 classpath = sourceSets.main.get().runtimeClasspath
108137 args(" src/test/resources/simple_calculator.obj" )
109- }
138+ }
0 commit comments