scan(); if ($this->option('format') === 'json') { $this->line(json_encode(array_map(fn ($v) => $v->toArray(), $violations), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); } else { if ($violations === []) { $this->info('No architecture violations found. Suspiciously civilized.'); } foreach ($violations as $violation) { $this->line(sprintf( '[%s] %s %s:%d %s', strtoupper($violation->severity), $violation->ruleId, $violation->file, $violation->line, $violation->message )); if ($violation->suggestedFix) { $this->line(' Fix: '.$violation->suggestedFix); } } } $failOn = (string) $this->option('fail-on'); if ($failOn === 'none') { return self::SUCCESS; } foreach ($violations as $violation) { if ($violation->severity === 'error' || ($failOn === 'warning' && $violation->severity === 'warning')) { return self::FAILURE; } } return self::SUCCESS; } }