Files
sdk/pkg/linter/tool/util/path_utils.dart
Paul Berry c30dd253a3 Use package_root.dart for all analyzer_utilities-based codegen.
All code generation logic that uses the analyzer_utilities package's
`GeneratedContent` class hierarchy is modified to use
`package:analyzer_testing/package_root.dart` to locate the `pkg`
directory in the root of the SDK repo.

This paves the way for some follow-up work in which I intend to modify
the `GeneratedContent` class hierarchy so that it tracks the locations
of all code generation targets relative to the `pkg` directory rather
than the individual package directories. That in turn should make it
easier for code generation logic to be shared between error messages
belonging to `pkg/analyzer`, `pkg/front_end`, and
`pkg/_fe_analyzer_shared`.

Change-Id: Iee59e977e844261f46fb62ed4e222db79db45a25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/438061
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2025-07-02 17:42:14 -07:00

17 lines
638 B
Dart

// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer_testing/package_root.dart' as pkg_root;
import 'package:path/path.dart' as path;
final String linterPackageRoot = path.normalize(
path.join(pkg_root.packageRoot, 'linter'),
);
String pathRelativeToPackageRoot(Iterable<String> parts) =>
path.joinAll([linterPackageRoot, ...parts]);
String pathRelativeToPkgDir(Iterable<String> parts) =>
path.joinAll([pkg_root.packageRoot, ...parts]);