@@ -2,6 +2,7 @@ package scala.cli.commands.fix
2
2
3
3
import caseapp .core .RemainingArgs
4
4
5
+ import scala .build .EitherCps .{either , value }
5
6
import scala .build .Ops .EitherMap2
6
7
import scala .build .errors .{BuildException , CompositeBuildException }
7
8
import scala .build .input .*
@@ -34,25 +35,30 @@ object Fix extends ScalaCommand[FixOptions] {
34
35
)
35
36
logger.message(" Built-in rules completed." )
36
37
}
37
- if options.enableScalafix then {
38
- logger.message(" Running scalafix rules..." )
39
- val threads = BuildThreads .create()
40
- val compilerMaker = options.shared.compilerMaker(threads)
41
- val workspace : os.Path = if args.all.isEmpty then os.pwd else inputs.workspace
42
- val actionableDiagnosticsEnabled = options.shared.logging.verbosityOptions.actions
43
- .orElse(configDb.get(Keys .actions).getOrElse(None ))
44
- ScalafixRules .runRules(
45
- buildOptions = buildOptionsOrExit(options),
46
- scalafixOptions = options.scalafix,
47
- inputs = inputs,
48
- check = options.check,
49
- compilerMaker = compilerMaker,
50
- actionableDiagnostics = actionableDiagnosticsEnabled,
51
- workspace = workspace,
52
- logger = logger
53
- )
54
- logger.message(" scalafix rules completed." )
55
- }
38
+ if options.enableScalafix then
39
+ either {
40
+ logger.message(" Running scalafix rules..." )
41
+ val threads = BuildThreads .create()
42
+ val compilerMaker = options.shared.compilerMaker(threads)
43
+ val workspace : os.Path = if args.all.isEmpty then os.pwd else inputs.workspace
44
+ val actionableDiagnosticsEnabled = options.shared.logging.verbosityOptions.actions
45
+ .orElse(configDb.get(Keys .actions).getOrElse(None ))
46
+ val scalafixExitCode : Int = value {
47
+ ScalafixRules .runRules(
48
+ buildOptions = buildOptionsOrExit(options),
49
+ scalafixOptions = options.scalafix,
50
+ inputs = inputs,
51
+ check = options.check,
52
+ compilerMaker = compilerMaker,
53
+ actionableDiagnostics = actionableDiagnosticsEnabled,
54
+ workspace = workspace,
55
+ logger = logger
56
+ )
57
+ }
58
+ if scalafixExitCode != 1 then logger.message(" scalafix rules completed." )
59
+ else logger.error(" scalafix rules failed." )
60
+ sys.exit(scalafixExitCode)
61
+ }
56
62
}
57
63
else logger.message(" No rules were enabled. Did you disable everything intentionally?" )
58
64
}
0 commit comments