aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-04-04 17:11:39 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-04-05 15:18:20 +0200
commitb4060b6e53944a7c3bdc5e62b288e7293a87652a (patch)
tree59b0f1f3d3e8e99412e060bb98b5a37fe90d9b6e
parent3ac77cb94a4cf1bd1993a97fe79f2005b2b1a711 (diff)
Refactor all ctor callsites of PathFragment to instead call a static 'create' method.
This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/Artifact.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/MiddlemanFactory.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BinTools.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/CompressedTarFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPath.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/ZipDecompressor.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/OutputDirectoryLinksUtils.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/Label.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/SingleBuildFileCache.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/SpawnInputExpander.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/TestStrategy.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Package.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RelativePackageNameResolver.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/remote/TreeNodeRepository.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidAaptActionHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/extra/ExtraActionSpec.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosFramework.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ProtocolBuffers2Support.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourceFileBlacklist.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/NewRepositoryFileHandler.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryLoaderFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/TestRunnerAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SpawnHelpers.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/unix/UnixFileSystem.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/PathFragmentFilter.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/FileSystem.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/FileSystemUtils.java15
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/JavaIoFileSystem.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/Path.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java89
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/PathFragmentSerializationProxy.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/SearchPath.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/vfs/ZipFileSystem.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/windows/WindowsFileSystem.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/windows/WindowsSubprocessFactory.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java38
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/BaseSpawnTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java22
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/RootTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCacheTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java106
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/UtilTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLineTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java26
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestBase.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemanticsTest.java26
-rw-r--r--src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java30
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/events/EventTestTemplate.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/events/LocationTest.java23
-rw-r--r--src/test/java/com/google/devtools/build/lib/exec/ParameterFileTest.java9
-rw-r--r--src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java38
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/PackageFactoryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/PackageGroupStaticInitializationTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/RelativePackageNameResolverTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/SubincludePreprocessor.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorTest.java34
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java28
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java36
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java23
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/java/JavaUtilTest.java19
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java11
-rw-r--r--src/test/java/com/google/devtools/build/lib/sandbox/SymlinkedExecRootTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java74
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java21
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunctionTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java32
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunctionSmartNegationTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunctionTest.java32
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java29
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgFunctionTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgKeyTest.java26
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java36
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ParserInputSourceTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/util/PathFragmentFilterTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/FileSystemTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java79
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/ModifiedFileSetTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java363
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/PathFragmentWindowsTest.java166
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/PathGetParentTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/PathTest.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/ScopeEscapableFileSystemTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/SymlinkAwareFileSystemTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/UnionFileSystemTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java6
220 files changed, 1244 insertions, 1179 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java b/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
index 16f926a2fc..b5d6c1ce62 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
@@ -340,7 +340,7 @@ public class ActionCacheChecker {
}
List<PathFragment> inputExecPaths = new ArrayList<>();
for (String path : entry.getPaths()) {
- PathFragment execPath = new PathFragment(path);
+ PathFragment execPath = PathFragment.create(path);
// Code assumes that action has only 1-2 outputs and ArrayList.contains() will be
// most efficient.
if (!outputs.contains(execPath)) {
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java b/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java
index c63fd5b93a..c4567d8ce4 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java
@@ -81,7 +81,7 @@ public final class ActionInputHelper {
@Override
public PathFragment getExecPath() {
- return new PathFragment(path);
+ return PathFragment.create(path);
}
@Override
@@ -170,7 +170,7 @@ public final class ActionInputHelper {
* relative to that Artifact.
*/
public static TreeFileArtifact treeFileArtifact(Artifact parent, String relativePath) {
- return treeFileArtifact(parent, new PathFragment(relativePath));
+ return treeFileArtifact(parent, PathFragment.create(relativePath));
}
/** Returns an Iterable of TreeFileArtifacts with the given parent and parent relative paths. */
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
index a5b865f023..7c6a87087b 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
@@ -547,7 +547,7 @@ public class Artifact
&& relativePath.getSegment(0).equals(Label.EXTERNAL_PATH_PREFIX)) {
// Turn external/repo/foo into ../repo/foo.
relativePath = relativePath.relativeTo(Label.EXTERNAL_PATH_PREFIX);
- relativePath = new PathFragment("..").getRelative(relativePath);
+ relativePath = PathFragment.create("..").getRelative(relativePath);
}
return relativePath;
}
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
index 3f2f360259..ddeb001339 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ArtifactFactory.java
@@ -127,7 +127,7 @@ public class ArtifactFactory implements ArtifactResolver, ArtifactSerializer, Ar
*/
public ArtifactFactory(Path execRootParent, String derivedPathPrefix) {
this.execRootParent = execRootParent;
- this.derivedPathPrefix = new PathFragment(derivedPathPrefix);
+ this.derivedPathPrefix = PathFragment.create(derivedPathPrefix);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/actions/MiddlemanFactory.java b/src/main/java/com/google/devtools/build/lib/actions/MiddlemanFactory.java
index 404b0de10d..2a19d03a37 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/MiddlemanFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/MiddlemanFactory.java
@@ -175,8 +175,8 @@ public final class MiddlemanFactory {
PathFragment packageDirectory, String purpose, Iterable<Artifact> inputs, Root middlemanDir) {
String escapedPackageDirectory = Actions.escapedPath(packageDirectory.getPathString());
PathFragment stampName =
- new PathFragment("_middlemen/" + (purpose.startsWith(escapedPackageDirectory)
- ? purpose : (escapedPackageDirectory + purpose)));
+ PathFragment.create("_middlemen/" + (purpose.startsWith(escapedPackageDirectory)
+ ? purpose : (escapedPackageDirectory + purpose)));
Artifact stampFile = artifactFactory.getDerivedArtifact(stampName, middlemanDir,
actionRegistry.getOwner());
MiddlemanAction.create(
@@ -186,7 +186,7 @@ public final class MiddlemanFactory {
private Artifact getStampFileArtifact(String middlemanName, String purpose, Root middlemanDir) {
String escapedFilename = Actions.escapedPath(middlemanName);
- PathFragment stampName = new PathFragment("_middlemen/" + escapedFilename + "-" + purpose);
+ PathFragment stampName = PathFragment.create("_middlemen/" + escapedFilename + "-" + purpose);
Artifact stampFile = artifactFactory.getDerivedArtifact(stampName, middlemanDir,
actionRegistry.getOwner());
return stampFile;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 7c18968f6b..036e7473b1 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -478,7 +478,7 @@ public class BuildView {
String bzlFileLoadLikeString = aspect.substring(0, delimiterPosition);
if (!bzlFileLoadLikeString.startsWith("//") && !bzlFileLoadLikeString.startsWith("@")) {
// "Legacy" behavior of '--aspects' parameter.
- bzlFileLoadLikeString = new PathFragment("/" + bzlFileLoadLikeString).toString();
+ bzlFileLoadLikeString = PathFragment.create("/" + bzlFileLoadLikeString).toString();
if (bzlFileLoadLikeString.endsWith(".bzl")) {
bzlFileLoadLikeString = bzlFileLoadLikeString.substring(0,
bzlFileLoadLikeString.length() - ".bzl".length());
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java b/src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java
index e38c3d9cc8..ae8736cdc9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/CommandHelper.java
@@ -298,6 +298,6 @@ public final class CommandHelper {
private PathFragment shellPath(Map<String, String> executionInfo) {
// Use vanilla /bin/bash for actions running on mac machines.
return executionInfo.containsKey(ExecutionRequirements.REQUIRES_DARWIN)
- ? new PathFragment("/bin/bash") : ruleContext.getConfiguration().getShellExecutable();
+ ? PathFragment.create("/bin/bash") : ruleContext.getConfiguration().getShellExecutable();
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index a54befb9e3..3ebdd78f76 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -554,7 +554,7 @@ public final class RuleContext extends TargetContext
* thus guaranteeing that it never clashes with artifacts created by rules in other packages.
*/
public Artifact getPackageRelativeArtifact(String relative, Root root) {
- return getPackageRelativeArtifact(new PathFragment(relative), root);
+ return getPackageRelativeArtifact(PathFragment.create(relative), root);
}
/**
@@ -562,7 +562,7 @@ public final class RuleContext extends TargetContext
* guaranteeing that it never clashes with artifacts created by rules in other packages.
*/
public Artifact getBinArtifact(String relative) {
- return getBinArtifact(new PathFragment(relative));
+ return getBinArtifact(PathFragment.create(relative));
}
public Artifact getBinArtifact(PathFragment relative) {
@@ -575,7 +575,7 @@ public final class RuleContext extends TargetContext
* guaranteeing that it never clashes with artifacts created by rules in other packages.
*/
public Artifact getGenfilesArtifact(String relative) {
- return getGenfilesArtifact(new PathFragment(relative));
+ return getGenfilesArtifact(PathFragment.create(relative));
}
public Artifact getGenfilesArtifact(PathFragment relative) {
@@ -664,7 +664,7 @@ public final class RuleContext extends TargetContext
*/
public Artifact getUniqueDirectoryArtifact(
String uniqueDirectory, String relative, Root root) {
- return getUniqueDirectoryArtifact(uniqueDirectory, new PathFragment(relative), root);
+ return getUniqueDirectoryArtifact(uniqueDirectory, PathFragment.create(relative), root);
}
/**
@@ -1235,7 +1235,7 @@ public final class RuleContext extends TargetContext
* <p>For example "pkg/dir/name" -> "pkg/&lt;fragment>/rule/dir/name.
*/
public final PathFragment getUniqueDirectory(String fragment) {
- return AnalysisUtils.getUniqueDirectory(getLabel(), new PathFragment(fragment));
+ return AnalysisUtils.getUniqueDirectory(getLabel(), PathFragment.create(fragment));
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
index 2ef4c2ca33..33c5d0aab2 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -785,7 +785,7 @@ public final class Runfiles {
* created.
*/
public Builder(String workspace, boolean legacyExternalRunfiles) {
- this(new PathFragment(workspace), legacyExternalRunfiles);
+ this(PathFragment.create(workspace), legacyExternalRunfiles);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
index 67dae4d2ba..26eeadc3ff 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
@@ -267,7 +267,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
for (String line :
FileSystemUtils.iterateLinesAsLatin1(archiveManifest.getPath())) {
if (!line.isEmpty()) {
- PathFragment path = new PathFragment(line);
+ PathFragment path = PathFragment.create(line);
if (!path.isNormalized() || path.isAbsolute()) {
throw new IllegalManifestFileException(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
index ce1316f56d..664429ed00 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
@@ -999,7 +999,7 @@ public class SpawnAction extends AbstractAction implements ExecutionInfoSpecifie
* commands to be executed.
*/
public Builder setShellCommand(Iterable<String> command) {
- this.executable = new PathFragment(Iterables.getFirst(command, null));
+ this.executable = PathFragment.create(Iterables.getFirst(command, null));
// The first item of the commands is the shell executable that should be used.
this.executableArgs = ImmutableList.copyOf(Iterables.skip(command, 1));
this.isShellCommand = true;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BinTools.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BinTools.java
index 73cc667034..2dd779f011 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BinTools.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BinTools.java
@@ -139,7 +139,7 @@ public final class BinTools {
if (!embeddedTools.contains(embedPath)) {
return null;
}
- return new PathFragment("_bin").getRelative(new PathFragment(embedPath).getBaseName());
+ return PathFragment.create("_bin").getRelative(PathFragment.create(embedPath).getBaseName());
}
public Artifact getEmbeddedArtifact(String embedPath, ArtifactFactory artifactFactory) {
@@ -174,7 +174,7 @@ public final class BinTools {
private void setupTool(String embeddedPath) throws ExecException {
Path sourcePath = directories.getEmbeddedBinariesRoot().getRelative(embeddedPath);
- Path linkPath = binDir.getRelative(new PathFragment(embeddedPath).getBaseName());
+ Path linkPath = binDir.getRelative(PathFragment.create(embeddedPath).getBaseName());
linkTool(sourcePath, linkPath);
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java b/src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java
index 2f21d85387..2dbc2282a0 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/BazelWorkspaceStatusModule.java
@@ -300,9 +300,9 @@ public class BazelWorkspaceStatusModule extends BlazeModule {
Root root = env.getDirectories().getBuildDataDirectory(workspaceName);
Artifact stableArtifact = factory.getDerivedArtifact(
- new PathFragment("stable-status.txt"), root, artifactOwner);
+ PathFragment.create("stable-status.txt"), root, artifactOwner);
Artifact volatileArtifact = factory.getConstantMetadataArtifact(
- new PathFragment("volatile-status.txt"), root, artifactOwner);
+ PathFragment.create("volatile-status.txt"), root, artifactOwner);
return new BazelWorkspaceStatusAction(options, env.getClientEnv(),
env.getDirectories().getWorkspace(), stableArtifact, volatileArtifact, getHostname());
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/CompressedTarFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/CompressedTarFunction.java
index 55cd813d47..2e245b42f8 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/CompressedTarFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/CompressedTarFunction.java
@@ -59,7 +59,7 @@ public abstract class CompressedTarFunction implements Decompressor {
FileSystemUtils.createDirectoryAndParents(filename);
} else {
if (entry.isSymbolicLink() || entry.isLink()) {
- PathFragment linkName = new PathFragment(entry.getLinkName());
+ PathFragment linkName = PathFragment.create(entry.getLinkName());
boolean wasAbsolute = linkName.isAbsolute();
// Strip the prefix from the link path if set.
linkName =
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
index a25bc2cf89..76dc213e22 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/MavenServerFunction.java
@@ -98,8 +98,8 @@ public class MavenServerFunction implements SkyFunction {
if (!mapper.isAttributeValueExplicitlySpecified("settings_file")) {
settingsFiles = getDefaultSettingsFile(directories, env);
} else {
- PathFragment settingsFilePath = new PathFragment(
- mapper.get("settings_file", Type.STRING));
+ PathFragment settingsFilePath =
+ PathFragment.create(mapper.get("settings_file", Type.STRING));
RootedPath settingsPath = RootedPath.toRootedPath(
directories.getWorkspace().getRelative(settingsFilePath),
PathFragment.EMPTY_FRAGMENT);
@@ -183,7 +183,8 @@ public class MavenServerFunction implements SkyFunction {
ImmutableList.Builder<SkyKey> settingsFilesBuilder = ImmutableList.builder();
SkyKey systemKey = null;
if (m2Home != null) {
- PathFragment mavenInstallSettings = new PathFragment(m2Home).getRelative("conf/settings.xml");
+ PathFragment mavenInstallSettings =
+ PathFragment.create(m2Home).getRelative("conf/settings.xml");
systemKey = FileValue.key(
RootedPath.toRootedPath(directories.getWorkspace().getRelative(mavenInstallSettings),
PathFragment.EMPTY_FRAGMENT));
@@ -194,7 +195,7 @@ public class MavenServerFunction implements SkyFunction {
String userHome = System.getenv("HOME");
SkyKey userKey = null;
if (userHome != null) {
- PathFragment userSettings = new PathFragment(userHome).getRelative(".m2/settings.xml");
+ PathFragment userSettings = PathFragment.create(userHome).getRelative(".m2/settings.xml");
userKey = FileValue.key(RootedPath.toRootedPath(
directories.getWorkspace().getRelative(userSettings),
PathFragment.EMPTY_FRAGMENT));
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPath.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPath.java
index 46650d6150..d26cd993bf 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPath.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPath.java
@@ -64,9 +64,9 @@ public final class StripPrefixedPath {
* Normalize the path and, if it is absolute, make it relative (e.g., /foo/bar becomes foo/bar).
*/
private static PathFragment relativize(String path) {
- PathFragment entryPath = new PathFragment(path).normalize();
+ PathFragment entryPath = PathFragment.create(path).normalize();
if (entryPath.isAbsolute()) {
- entryPath = new PathFragment(entryPath.getSafePathString().substring(
+ entryPath = PathFragment.create(entryPath.getSafePathString().substring(
entryPath.windowsVolume().length() + 1));
}
return entryPath;
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/ZipDecompressor.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/ZipDecompressor.java
index d43a11772d..244e8597c9 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/ZipDecompressor.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/ZipDecompressor.java
@@ -124,7 +124,7 @@ public class ZipDecompressor implements Decompressor {
// For symlinks, the "compressed data" is actually the target name.
int read = reader.getInputStream(entry).read(buffer);
Preconditions.checkState(read == buffer.length);
- PathFragment target = new PathFragment(new String(buffer, Charset.defaultCharset()))
+ PathFragment target = PathFragment.create(new String(buffer, Charset.defaultCharset()))
.normalize();
if (!target.isNormalized()) {
throw new IOException("Zip entries cannot refer to files outside of their directory: "
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
index 0af26ec596..c35db986a5 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
@@ -222,7 +222,7 @@ public class HttpDownloader {
}
String basename =
MoreObjects.firstNonNull(
- Strings.emptyToNull(new PathFragment(url.getPath()).getBaseName()),
+ Strings.emptyToNull(PathFragment.create(url.getPath()).getBaseName()),
"temp");
if (!type.get().isEmpty()) {
String suffix = "." + type.get();
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
index deff590162..7e382b2c0a 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
@@ -152,7 +152,7 @@ public class SkylarkRepositoryContext {
private SkylarkPath getPath(String method, Object path)
throws EvalException, InterruptedException {
if (path instanceof String) {
- PathFragment pathFragment = new PathFragment(path.toString());
+ PathFragment pathFragment = PathFragment.create(path.toString());
return new SkylarkPath(pathFragment.isAbsolute()
? outputDirectory.getFileSystem().getPath(path.toString())
: outputDirectory.getRelative(pathFragment));
@@ -426,7 +426,7 @@ public class SkylarkRepositoryContext {
"Program argument of which() may not contains a / or a \\ ('" + program + "' given)");
}
for (String p : getPathEnvironment()) {
- PathFragment fragment = new PathFragment(p);
+ PathFragment fragment = PathFragment.create(p);
if (fragment.isAbsolute()) {
// We ignore relative path as they don't mean much here (relative to where? the workspace
// root?).
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
index 49656875e0..54eccb7065 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelConfiguration.java
@@ -61,20 +61,20 @@ public class BazelConfiguration extends Fragment {
if (OS.getCurrent() == OS.WINDOWS) {
String path = System.getenv("BAZEL_SH");
if (path != null) {
- return new PathFragment(path);
+ return PathFragment.create(path);
} else {
- return new PathFragment("c:/tools/msys64/usr/bin/bash.exe");
+ return PathFragment.create("c:/tools/msys64/usr/bin/bash.exe");
}
}
if (OS.getCurrent() == OS.FREEBSD) {
String path = System.getenv("BAZEL_SH");
if (path != null) {
- return new PathFragment(path);
+ return PathFragment.create(path);
} else {
- return new PathFragment("/usr/local/bin/bash");
+ return PathFragment.create("/usr/local/bin/bash");
}
}
- return new PathFragment("/bin/bash");
+ return PathFragment.create("/bin/bash");
}
@Override
@@ -101,10 +101,10 @@ public class BazelConfiguration extends Fragment {
String newPath = "";
if (sh != null && sh.getParentDirectory() != null) {
newPath = sh.getParentDirectory().getPathString();
- if (sh.getParentDirectory().endsWith(new PathFragment("usr/bin"))) {
+ if (sh.getParentDirectory().endsWith(PathFragment.create("usr/bin"))) {
newPath +=
";" + sh.getParentDirectory().getParentDirectory().replaceName("bin").getPathString();
- } else if (sh.getParentDirectory().endsWith(new PathFragment("bin"))) {
+ } else if (sh.getParentDirectory().endsWith(PathFragment.create("bin"))) {
newPath +=
";" + sh.getParentDirectory().replaceName("usr").getRelative("bin").getPathString();
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
index 6373eb66ce..acf6f788e9 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
@@ -61,7 +61,7 @@ public class AndroidNdkRepositoryFunction extends RepositoryFunction {
private static final String TOOLCHAIN_NAME_PREFIX = "toolchain-";
private static final String PATH_ENV_VAR = "ANDROID_NDK_HOME";
- private static final PathFragment PLATFORMS_DIR = new PathFragment("platforms");
+ private static final PathFragment PLATFORMS_DIR = PathFragment.create("platforms");
private static final Iterable<String> PATH_ENV_VAR_AS_LIST = ImmutableList.of(PATH_ENV_VAR);
@@ -229,7 +229,7 @@ public class AndroidNdkRepositoryFunction extends RepositoryFunction {
private static PathFragment getAndroidNdkHomeEnvironmentVar(
Path workspace, Map<String, String> env) {
- return workspace.getRelative(new PathFragment(env.get(PATH_ENV_VAR))).asFragment();
+ return workspace.getRelative(PathFragment.create(env.get(PATH_ENV_VAR))).asFragment();
}
private static String createBuildFile(String ruleName, List<CrosstoolStlPair> crosstools) {
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java
index 0c98f90ab5..14b05372df 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryFunction.java
@@ -56,9 +56,9 @@ import javax.annotation.Nullable;
* Implementation of the {@code android_sdk_repository} rule.
*/
public class AndroidSdkRepositoryFunction extends RepositoryFunction {
- private static final PathFragment BUILD_TOOLS_DIR = new PathFragment("build-tools");
- private static final PathFragment PLATFORMS_DIR = new PathFragment("platforms");
- private static final PathFragment SYSTEM_IMAGES_DIR = new PathFragment("system-images");
+ private static final PathFragment BUILD_TOOLS_DIR = PathFragment.create("build-tools");
+ private static final PathFragment PLATFORMS_DIR = PathFragment.create("platforms");
+ private static final PathFragment SYSTEM_IMAGES_DIR = PathFragment.create("system-images");
private static final Revision MIN_BUILD_TOOLS_REVISION = new Revision(24, 0, 3);
private static final String PATH_ENV_VAR = "ANDROID_HOME";
private static final ImmutableList<String> PATH_ENV_VAR_AS_LIST = ImmutableList.of(PATH_ENV_VAR);
@@ -250,7 +250,7 @@ public class AndroidSdkRepositoryFunction extends RepositoryFunction {
private static PathFragment getAndroidHomeEnvironmentVar(
Path workspace, Map<String, String> env) {
- return workspace.getRelative(new PathFragment(env.get(PATH_ENV_VAR))).asFragment();
+ return workspace.getRelative(PathFragment.create(env.get(PATH_ENV_VAR))).asFragment();
}
private static String getStringResource(String name) {
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
index 5f398560d5..293091f6fa 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java
@@ -226,7 +226,7 @@ public class BazelJavaSemantics implements JavaSemantics {
if (!isRunfilesEnabled) {
buffer.append("$(rlocation ");
PathFragment runfilePath =
- new PathFragment(new PathFragment(workspacePrefix), artifact.getRunfilesPath());
+ PathFragment.create(PathFragment.create(workspacePrefix), artifact.getRunfilesPath());
buffer.append(runfilePath.normalize().getPathString());
buffer.append(")");
} else {
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
index a913927f8f..e4b02626b4 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
@@ -55,7 +55,7 @@ public class BazelPythonSemantics implements PythonSemantics {
FileTypeSet.of(BazelPyRuleClasses.PYTHON_SOURCE),
"srcs", "deps", "data");
- public static final PathFragment ZIP_RUNFILES_DIRECTORY_NAME = new PathFragment("runfiles");
+ public static final PathFragment ZIP_RUNFILES_DIRECTORY_NAME = PathFragment.create("runfiles");
@Override
public void validate(RuleContext ruleContext, PyCommon common) {
@@ -86,7 +86,7 @@ public class BazelPythonSemantics implements PythonSemantics {
PathFragment packageFragment = ruleContext.getLabel().getPackageIdentifier().getRunfilesPath();
// Python scripts start with x.runfiles/ as the module space, so everything must be manually
// adjusted to be relative to the workspace name.
- packageFragment = new PathFragment(ruleContext.getWorkspaceName())
+ packageFragment = PathFragment.create(ruleContext.getWorkspaceName())
.getRelative(packageFragment);
for (String importsAttr : ruleContext.attributes().get("imports", Type.STRING_LIST)) {
importsAttr = ruleContext.expandMakeVariables("includes", importsAttr);
@@ -201,7 +201,7 @@ public class BazelPythonSemantics implements PythonSemantics {
}
private static boolean isUnderWorkspace(PathFragment path) {
- return !path.startsWith(Label.EXTERNAL_PACKAGE_NAME);
+ return !path.startsWith(PathFragment.create(Label.EXTERNAL_PATH_PREFIX));
}
private static String getZipRunfilesPath(PathFragment path, PathFragment workspaceName) {
@@ -220,7 +220,7 @@ public class BazelPythonSemantics implements PythonSemantics {
}
private static String getZipRunfilesPath(String path, PathFragment workspaceName) {
- return getZipRunfilesPath(new PathFragment(path), workspaceName);
+ return getZipRunfilesPath(PathFragment.create(path), workspaceName);
}
private static void createPythonZipAction(
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/OutputDirectoryLinksUtils.java b/src/main/java/com/google/devtools/build/lib/buildtool/OutputDirectoryLinksUtils.java
index 0ae420a20c..40d8d0fb80 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/OutputDirectoryLinksUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/OutputDirectoryLinksUtils.java
@@ -132,7 +132,7 @@ public class OutputDirectoryLinksUtils {
// Helper to getPrettyPath. Returns file, relativized w.r.t. the referent of
// "linkname", or null if it was a not a child.
private static PathFragment relativize(Path file, Path workspaceDirectory, String linkname) {
- PathFragment link = new PathFragment(linkname);
+ PathFragment link = PathFragment.create(linkname);
try {
Path dir = workspaceDirectory.getRelative(link);
PathFragment levelOneLinkTarget = dir.readSymbolicLink();
@@ -171,7 +171,7 @@ public class OutputDirectoryLinksUtils {
removeLink(workspace, symlinkPrefix + "bin", failures);
removeLink(workspace, symlinkPrefix + "testlogs", failures);
removeLink(workspace, symlinkPrefix + "genfiles", failures);
- FileSystemUtils.removeDirectoryAndParents(workspace, new PathFragment(symlinkPrefix));
+ FileSystemUtils.removeDirectoryAndParents(workspace, PathFragment.create(symlinkPrefix));
if (!failures.isEmpty()) {
eventHandler.handle(Event.warn(String.format(
"failed to remove one or more convenience symlinks for prefix '%s':\n %s", symlinkPrefix,
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index 1d31f2edc2..4bc5a4caae 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -51,8 +51,8 @@ import javax.annotation.Nullable;
@Immutable
@ThreadSafe
public final class Label implements Comparable<Label>, Serializable, SkylarkPrintableValue {
- public static final PathFragment EXTERNAL_PACKAGE_NAME = new PathFragment("external");
- public static final PathFragment EXTERNAL_PACKAGE_FILE_NAME = new PathFragment("WORKSPACE");
+ public static final PathFragment EXTERNAL_PACKAGE_NAME = PathFragment.create("external");
+ public static final PathFragment EXTERNAL_PACKAGE_FILE_NAME = PathFragment.create("WORKSPACE");
public static final String DEFAULT_REPOSITORY_DIRECTORY = "__main__";
/**
@@ -61,11 +61,11 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
*/
public static final ImmutableSet<PathFragment> ABSOLUTE_PACKAGE_NAMES = ImmutableSet.of(
// Used for select
- new PathFragment("conditions"),
+ PathFragment.create("conditions"),
// dependencies that are a function of the configuration
- new PathFragment("tools/defaults"),
+ PathFragment.create("tools/defaults"),
// Visibility is labels aren't actually targets
- new PathFragment("visibility"),
+ PathFragment.create("visibility"),
// There is only one //external package
Label.EXTERNAL_PACKAGE_NAME);
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
index 5688a3184f..3c82f6c2f6 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
@@ -49,7 +49,7 @@ public final class PackageIdentifier implements Comparable<PackageIdentifier>, S
PathFragment.EMPTY_FRAGMENT);
public static PackageIdentifier createInMainRepo(String name) {
- return createInMainRepo(new PathFragment(name));
+ return createInMainRepo(PathFragment.create(name));
}
public static PackageIdentifier createInMainRepo(PathFragment name) {
@@ -79,7 +79,7 @@ public final class PackageIdentifier implements Comparable<PackageIdentifier>, S
? Preconditions.checkNotNull(
execPath.getParentDirectory(), "Must pass in files, not root directory")
: execPath;
- if (tofind.startsWith(new PathFragment(Label.EXTERNAL_PATH_PREFIX))) {
+ if (tofind.startsWith(PathFragment.create(Label.EXTERNAL_PATH_PREFIX))) {
// TODO(ulfjack): Remove this when kchodorow@'s exec root rearrangement has been rolled out.
RepositoryName repository = RepositoryName.create("@" + tofind.getSegment(1));
return PackageIdentifier.create(repository, tofind.subFragment(2, tofind.segmentCount()));
@@ -137,7 +137,7 @@ public final class PackageIdentifier implements Comparable<PackageIdentifier>, S
throw new LabelSyntaxException(error);
}
- return create(repo, new PathFragment(packageName));
+ return create(repo, PathFragment.create(packageName));
}
public RepositoryName getRepository() {
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
index ae1fe70270..b9564e79c5 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
@@ -232,7 +232,7 @@ public final class RepositoryName implements Serializable {
public PathFragment getPathUnderExecRoot() {
return isDefault() || isMain()
? PathFragment.EMPTY_FRAGMENT
- : new PathFragment(Label.EXTERNAL_PATH_PREFIX).getRelative(strippedName());
+ : PathFragment.create(Label.EXTERNAL_PATH_PREFIX).getRelative(strippedName());
}
/**
@@ -241,7 +241,7 @@ public final class RepositoryName implements Serializable {
// TODO(kchodorow): remove once execroot is reorg-ed.
public PathFragment getRunfilesPath() {
return isDefault() || isMain()
- ? PathFragment.EMPTY_FRAGMENT : new PathFragment("..").getRelative(strippedName());
+ ? PathFragment.EMPTY_FRAGMENT : PathFragment.create("..").getRelative(strippedName());
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java b/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
index f599ef3519..be3bcaa55f 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
@@ -779,7 +779,7 @@ public abstract class TargetPattern implements Serializable {
try {
PackageAndTarget packageAndTarget = LabelValidator.validateAbsoluteLabel(fullLabel);
packageIdentifier = PackageIdentifier.create(repository,
- new PathFragment(packageAndTarget.getPackageName()));
+ PathFragment.create(packageAndTarget.getPackageName()));
} catch (BadLabelException e) {
String error = "invalid target format '" + originalPattern + "': " + e.getMessage();
throw new TargetParsingException(error);
diff --git a/src/main/java/com/google/devtools/build/lib/exec/SingleBuildFileCache.java b/src/main/java/com/google/devtools/build/lib/exec/SingleBuildFileCache.java
index 4099a8ad54..ec93068c1d 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/SingleBuildFileCache.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/SingleBuildFileCache.java
@@ -130,7 +130,7 @@ public class SingleBuildFileCache implements ActionInputFileCache {
*/
private String fullPath(ActionInput input) {
String relPath = input.getExecPathString();
- return new PathFragment(relPath).isAbsolute() ? relPath : new File(cwd, relPath).getPath();
+ return PathFragment.create(relPath).isAbsolute() ? relPath : new File(cwd, relPath).getPath();
}
/** Container class for caching I/O around ActionInputs. */
diff --git a/src/main/java/com/google/devtools/build/lib/exec/SpawnInputExpander.java b/src/main/java/com/google/devtools/build/lib/exec/SpawnInputExpander.java
index f32d238243..351f8c7e10 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/SpawnInputExpander.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/SpawnInputExpander.java
@@ -147,7 +147,7 @@ public class SpawnInputExpander {
PathFragment location;
int pos = line.indexOf(' ');
if (pos == -1) {
- location = new PathFragment(line);
+ location = PathFragment.create(line);
artifact = EMPTY_FILE;
} else {
String targetPath = line.substring(pos + 1);
@@ -156,7 +156,7 @@ public class SpawnInputExpander {
}
artifact = targetPath.isEmpty() ? EMPTY_FILE : ActionInputHelper.fromPath(targetPath);
- location = new PathFragment(line.substring(0, pos));
+ location = PathFragment.create(line.substring(0, pos));
if (!workspaceName.isEmpty()) {
if (!location.getSegment(0).equals(workspaceName)) {
throw new IOException(
diff --git a/src/main/java/com/google/devtools/build/lib/exec/TestStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/TestStrategy.java
index 9a99031dd8..0a29b9f89d 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/TestStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/TestStrategy.java
@@ -127,7 +127,7 @@ public abstract class TestStrategy implements TestActionContext {
}
}
- public static final PathFragment TEST_TMP_ROOT = new PathFragment("_tmp");
+ public static final PathFragment TEST_TMP_ROOT = PathFragment.create("_tmp");
// Used for generating unique temporary directory names. Contains the next numeric index for every
// executable base name.
diff --git a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
index e55a4ed307..d52db41ad3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/FilesetEntry.java
@@ -140,7 +140,7 @@ public final class FilesetEntry implements SkylarkValue {
this.srcLabel = Preconditions.checkNotNull(srcLabel);
this.files = files == null ? null : ImmutableList.copyOf(files);
this.excludes = (excludes == null || excludes.isEmpty()) ? null : ImmutableSet.copyOf(excludes);
- this.destDir = new PathFragment((destDir == null) ? "" : destDir);
+ this.destDir = PathFragment.create((destDir == null) ? "" : destDir);
this.symlinkBehavior = symlinkBehavior == null ? DEFAULT_SYMLINK_BEHAVIOR : symlinkBehavior;
this.stripPrefix = stripPrefix == null ? DEFAULT_STRIP_PREFIX : stripPrefix;
}
@@ -225,7 +225,7 @@ public final class FilesetEntry implements SkylarkValue {
} else if (stripPrefix.startsWith("/")) {
return "Cannot specify absolute strip prefix; perhaps you need to use \""
+ STRIP_PREFIX_WORKSPACE + "\"";
- } else if (new PathFragment(stripPrefix).containsUplevelReferences()) {
+ } else if (PathFragment.create(stripPrefix).containsUplevelReferences()) {
return "Strip prefix must not contain uplevel references";
} else if (stripPrefix.startsWith("%") && !stripPrefix.startsWith(STRIP_PREFIX_WORKSPACE)) {
return "If the strip_prefix starts with \"%\" then it must start with \""
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
index 9de8f76d71..8d7ed337ad 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
@@ -301,10 +301,10 @@ public abstract class ImplicitOutputsFunction {
if (attrName.equals("name")) {
return singleton(rule.getName());
} else if (attrName.equals("dirname")) {
- PathFragment dir = new PathFragment(rule.getName()).getParentDirectory();
+ PathFragment dir = PathFragment.create(rule.getName()).getParentDirectory();
return (dir.segmentCount() == 0) ? singleton("") : singleton(dir.getPathString() + "/");
} else if (attrName.equals("basename")) {
- return singleton(new PathFragment(rule.getName()).getBaseName());
+ return singleton(PathFragment.create(rule.getName()).getBaseName());
}
Type<?> attrType = rule.getAttributeType(attrName);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index e4f726104f..1556dcb141 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -526,7 +526,7 @@ public class Package {
// stat(2) is executed.
Path filename = getPackageDirectory().getRelative(targetName);
String suffix;
- if (!new PathFragment(targetName).isNormalized()) {
+ if (!PathFragment.create(targetName).isNormalized()) {
// Don't check for file existence in this case because the error message
// would be confusing and wrong. If the targetName is "foo/bar/.", and
// there is a directory "foo/bar", it doesn't mean that "//pkg:foo/bar/."
@@ -1242,7 +1242,7 @@ public class Package {
// Now, modify the package:
for (OutputFile outputFile : rule.getOutputFiles()) {
targets.put(outputFile.getName(), outputFile);
- PathFragment outputFileFragment = new PathFragment(outputFile.getName());
+ PathFragment outputFileFragment = PathFragment.create(outputFile.getName());
for (int i = 1; i < outputFileFragment.segmentCount(); i++) {
String prefix = outputFileFragment.subFragment(0, i).toString();
if (!outputFilePrefixes.containsKey(prefix)) {
@@ -1430,7 +1430,7 @@ public class Package {
}
// Check if a prefix of this output file matches an already existing one
- PathFragment outputFileFragment = new PathFragment(outputFileName);
+ PathFragment outputFileFragment = PathFragment.create(outputFileName);
for (int i = 1; i < outputFileFragment.segmentCount(); i++) {
String prefix = outputFileFragment.subFragment(0, i).toString();
if (outputFiles.containsKey(prefix)) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RelativePackageNameResolver.java b/src/main/java/com/google/devtools/build/lib/packages/RelativePackageNameResolver.java
index 144dc8903f..b9be5a0713 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RelativePackageNameResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RelativePackageNameResolver.java
@@ -65,7 +65,7 @@ public class RelativePackageNameResolver {
relativePkg = pkg;
}
- PathFragment relative = new PathFragment(relativePkg);
+ PathFragment relative = PathFragment.create(relativePkg);
if (discardBuild && relative.getBaseName().equals("BUILD")) {
relative = relative.getParentDirectory();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index 37bc246916..1324cce3a2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -107,7 +107,7 @@ public class RuleClass {
static final Function<? super Rule, Map<String, Label>> NO_EXTERNAL_BINDINGS =
Functions.<Map<String, Label>>constant(ImmutableMap.<String, Label>of());
- public static final PathFragment THIRD_PARTY_PREFIX = new PathFragment("third_party");
+ public static final PathFragment THIRD_PARTY_PREFIX = PathFragment.create("third_party");
/**
* A constraint for the package name of the Rule instances.
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java b/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java
index 3ccbc1db99..30609168f3 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java
@@ -163,7 +163,7 @@ public class PathPackageLocator implements Serializable {
// Replace "%workspace%" with the path of the enclosing workspace directory.
pathElement = pathElement.replace(workspaceWildcard, workspace.getPathString());
- PathFragment pathElementFragment = new PathFragment(pathElement);
+ PathFragment pathElementFragment = PathFragment.create(pathElement);
// If the path string started with "%workspace%" or "/", it is already absolute,
// so the following line is a no-op.
@@ -218,7 +218,7 @@ public class PathPackageLocator implements Serializable {
AtomicReference<? extends UnixGlob.FilesystemCalls> cache = UnixGlob.DEFAULT_SYSCALLS_REF;
// TODO(bazel-team): correctness in the presence of changes to the location of the WORKSPACE
// file.
- return getFilePath(new PathFragment("WORKSPACE"), cache);
+ return getFilePath(PathFragment.create("WORKSPACE"), cache);
}
private Path getFilePath(PathFragment suffix,
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java
index d8534caf52..d12b3ac5b5 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java
@@ -69,7 +69,7 @@ public final class TargetPatternResolverUtil {
}
public static PathFragment getPathFragment(String pathPrefix) throws TargetParsingException {
- PathFragment directory = new PathFragment(pathPrefix);
+ PathFragment directory = PathFragment.create(pathPrefix);
if (directory.containsUplevelReferences()) {
throw new TargetParsingException("up-level references are not permitted: '"
+ directory.getPathString() + "'");
diff --git a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java
index e2fb0e4dfd..23a9560b15 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesFunction.java
@@ -61,7 +61,7 @@ public class RBuildFilesFunction implements QueryFunction {
new Function<Argument, PathFragment>() {
@Override
public PathFragment apply(Argument argument) {
- return new PathFragment(argument.getWord());
+ return PathFragment.create(argument.getWord());
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/remote/TreeNodeRepository.java b/src/main/java/com/google/devtools/build/lib/remote/TreeNodeRepository.java
index 89c61c26e3..0850fec75a 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/TreeNodeRepository.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/TreeNodeRepository.java
@@ -227,7 +227,7 @@ public final class TreeNodeRepository extends TreeTraverser<TreeNodeRepository.T
public TreeNode buildFromActionInputs(Iterable<? extends ActionInput> inputs) {
TreeMap<PathFragment, ActionInput> sortedMap = new TreeMap<>();
for (ActionInput input : inputs) {
- sortedMap.put(new PathFragment(input.getExecPathString()), input);
+ sortedMap.put(PathFragment.create(input.getExecPathString()), input);
}
return buildFromActionInputs(sortedMap);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java
index 445716a7ff..435217403e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java
@@ -914,7 +914,7 @@ public final class SkylarkRuleContext implements SkylarkValue {
public Artifact newDirectory(String name, Object siblingArtifactUnchecked) throws EvalException {
checkMutable("experimental_new_directory");
if (siblingArtifactUnchecked == Runtime.NONE) {
- return ruleContext.getPackageRelativeTreeArtifact(new PathFragment(name), newFileRoot());
+ return ruleContext.getPackageRelativeTreeArtifact(PathFragment.create(name), newFileRoot());
}
Artifact siblingArtifact = (Artifact) siblingArtifactUnchecked;
PathFragment original = siblingArtifact.getRootRelativePath();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
index cd6182a7f9..9f5500f062 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
@@ -636,14 +636,14 @@ public class SkylarkRuleImplementationFunctions {
checkConflicts = true;
for (Map.Entry<String, Artifact> entry : symlinks.getContents(
String.class, Artifact.class, "symlinks").entrySet()) {
- builder.addSymlink(new PathFragment(entry.getKey()), entry.getValue());
+ builder.addSymlink(PathFragment.create(entry.getKey()), entry.getValue());
}
}
if (!rootSymlinks.isEmpty()) {
checkConflicts = true;
for (Map.Entry<String, Artifact> entry : rootSymlinks.getContents(
String.class, Artifact.class, "root_symlinks").entrySet()) {
- builder.addRootSymlink(new PathFragment(entry.getKey()), entry.getValue());
+ builder.addRootSymlink(PathFragment.create(entry.getKey()), entry.getValue());
}
}
Runfiles runfiles = builder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAaptActionHelper.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAaptActionHelper.java
index 55253a0296..d3e325827a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAaptActionHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidAaptActionHelper.java
@@ -90,7 +90,7 @@ public final class AndroidAaptActionHelper {
public void createGenerateResourceSymbolsAction(Artifact javaSourcesJar,
Artifact rTxt, String javaPackage, boolean inlineConstants) {
// java path from the provided package for the resources
- PathFragment javaPath = new PathFragment(javaPackage.replace('.', '/'));
+ PathFragment javaPath = PathFragment.create(javaPackage.replace('.', '/'));
PathFragment javaResourcesRoot = javaSourcesJar.getRoot().getExecPath().getRelative(
ruleContext.getUniqueDirectory("_java_resources"));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
index c917b5dd06..91a43c0171 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java
@@ -772,7 +772,7 @@ public class AndroidCommon {
}
public static PathFragment getAssetDir(RuleContext ruleContext) {
- return new PathFragment(ruleContext.attributes().get(
+ return PathFragment.create(ruleContext.attributes().get(
ResourceType.ASSETS.getAttribute() + "_dir",
Type.STRING));
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java
index 1f8b0b64b3..7326e171a6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java
@@ -256,7 +256,7 @@ public class AndroidIdlHelper {
// Reconstruct the package tree under <rule>_aidl to avoid a name conflict
// if the same AIDL files are used in multiple targets.
PathFragment javaOutputPath = FileSystemUtils.replaceExtension(
- new PathFragment(ruleName + "_aidl").getRelative(idl.getRootRelativePath()),
+ PathFragment.create(ruleName + "_aidl").getRelative(idl.getRootRelativePath()),
".java");
Artifact output = ruleContext.getGenfilesArtifact(javaOutputPath.getPathString());
outputJavaSources.put(idl, output);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
index d690366140..1821c4b4b4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
@@ -154,7 +154,7 @@ public final class ApplicationManifest {
*/
public static ApplicationManifest generatedManifest(RuleContext ruleContext) {
Artifact generatedManifest = ruleContext.getUniqueDirectoryArtifact(
- ruleContext.getRule().getName() + "_generated", new PathFragment("AndroidManifest.xml"),
+ ruleContext.getRule().getName() + "_generated", PathFragment.create("AndroidManifest.xml"),
ruleContext.getBinOrGenfilesDirectory());
String manifestPackage = AndroidCommon.getJavaPackage(ruleContext);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java b/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java
index b5a8c5f6c6..48783e68a7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/NativeLibs.java
@@ -139,7 +139,7 @@ public final class NativeLibs {
for (Map.Entry<String, Iterable<Artifact>> entry : nativeLibs.entrySet()) {
String arch = entry.getKey();
for (Artifact lib : entry.getValue()) {
- symlinks.put(new PathFragment(arch + "/" + lib.getExecPath().getBaseName()), lib);
+ symlinks.put(PathFragment.create(arch + "/" + lib.getExecPath().getBaseName()), lib);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
index 950c800dd2..9b9ae3118f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -220,9 +220,9 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
// linkopt "-shared", which causes the result of linking to be a shared
// library. In this case, the name of the executable target should end
// in ".so" or "dylib" or ".dll".
- PathFragment binaryPath = new PathFragment(ruleContext.getTarget().getName());
+ PathFragment binaryPath = PathFragment.create(ruleContext.getTarget().getName());
if (!isLinkShared(ruleContext)) {
- binaryPath = new PathFragment(binaryPath.getPathString() + OsUtils.executableExtension());
+ binaryPath = PathFragment.create(binaryPath.getPathString() + OsUtils.executableExtension());
}
Artifact binary = ruleContext.getBinArtifact(binaryPath);
@@ -676,7 +676,7 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
PathFragment intermediatePath =
FileSystemUtils.appendWithoutExtension(outputPath, "-" + orderNumber);
return ruleContext.getPackageRelativeArtifact(
- new PathFragment(INTERMEDIATE_DWP_DIR + "/" + intermediatePath.getPathString()),
+ PathFragment.create(INTERMEDIATE_DWP_DIR + "/" + intermediatePath.getPathString()),
dwpOutput.getRoot());
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java
index e2288523a7..e3b9b85354 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java
@@ -81,7 +81,7 @@ public abstract class CcIncLibrary implements RuleConfiguredTargetFactory {
// versions. Previous Blaze versions created a directory symlink; the new version does not
// detect that the output directory isn't a directory, and tries to put the symlinks into what
// is actually a symlink into the source tree.
- PathFragment includeDirectory = new PathFragment("_")
+ PathFragment includeDirectory = PathFragment.create("_")
.getRelative(ruleContext.getTarget().getName());
Root configIncludeDirectory =
ruleContext.getConfiguration().getIncludeDirectory(ruleContext.getRule().getRepository());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
index e2c04b7608..3d727aefa1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -156,7 +156,7 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
if (outs.size() > 1) {
ruleContext.attributeError("outs", "must be a singleton list");
} else if (outs.size() == 1) {
- PathFragment soImplFilename = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment soImplFilename = PathFragment.create(ruleContext.getLabel().getName());
soImplFilename = soImplFilename.replaceName(outs.get(0));
if (!soImplFilename.getPathString().endsWith(".so")) { // Sanity check.
ruleContext.attributeError("outs", "file name must end in '.so'");
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
index 248bcfd23f..83eb0ff321 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
@@ -1197,13 +1197,13 @@ public final class CcLibraryHelper {
PathFragment prefix =
ruleContext.attributes().isAttributeValueExplicitlySpecified("include_prefix")
- ? new PathFragment(ruleContext.attributes().get("include_prefix", Type.STRING))
+ ? PathFragment.create(ruleContext.attributes().get("include_prefix", Type.STRING))
: null;
PathFragment stripPrefix;
if (ruleContext.attributes().isAttributeValueExplicitlySpecified("strip_include_prefix")) {
- stripPrefix = new PathFragment(
- ruleContext.attributes().get("strip_include_prefix", Type.STRING));
+ stripPrefix =
+ PathFragment.create(ruleContext.attributes().get("strip_include_prefix", Type.STRING));
if (stripPrefix.isAbsolute()) {
stripPrefix = ruleContext.getLabel().getPackageIdentifier().getRepository().getSourceRoot()
.getRelative(stripPrefix.toRelative());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
index 73060ef00f..9cb154f3db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
@@ -61,7 +61,7 @@ public class CcToolchain implements RuleConfiguredTargetFactory {
* This file (found under the sysroot) may be unconditionally included in every C/C++ compilation.
*/
private static final PathFragment BUILTIN_INCLUDE_FILE_SUFFIX =
- new PathFragment("include/stdc-predef.h");
+ PathFragment.create("include/stdc-predef.h");
@Override
public ConfiguredTarget create(RuleContext ruleContext)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java
index b5b1183547..d63b01d785 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java
@@ -2072,7 +2072,7 @@ public class CcToolchainFeatures implements Serializable {
*/
String getArtifactNameForCategory(ArtifactCategory artifactCategory, String outputName)
throws ExpansionException {
- PathFragment output = new PathFragment(outputName);
+ PathFragment output = PathFragment.create(outputName);
ArtifactNamePattern patternForCategory = null;
for (ArtifactNamePattern artifactNamePattern : artifactNamePatterns) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java
index 30a5515b3e..8e49f99c75 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java
@@ -34,13 +34,13 @@ public final class CppBuildInfo implements BuildInfoFactory {
public static final BuildInfoKey KEY = new BuildInfoKey("C++");
private static final PathFragment BUILD_INFO_NONVOLATILE_HEADER_NAME =
- new PathFragment("build-info-nonvolatile.h");
+ PathFragment.create("build-info-nonvolatile.h");
private static final PathFragment BUILD_INFO_VOLATILE_HEADER_NAME =
- new PathFragment("build-info-volatile.h");
+ PathFragment.create("build-info-volatile.h");
// TODO(bazel-team): (2011) Get rid of the redacted build info. We should try to make
// the linkstamping process handle the case where those values are undefined.
private static final PathFragment BUILD_INFO_REDACTED_HEADER_NAME =
- new PathFragment("build-info-redacted.h");
+ PathFragment.create("build-info-redacted.h");
@Override
public BuildInfoCollection create(BuildInfoContext buildInfoContext, BuildConfiguration config,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index 84b3c85a93..741ca596c8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -614,7 +614,7 @@ public class CppCompileAction extends AbstractAction
for (String opt : cppCompileCommandLine.copts) {
if (opt.startsWith("-I") && opt.length() > 2) {
// We insist on the combined form "-Idir".
- result.add(new PathFragment(opt.substring(2)));
+ result.add(PathFragment.create(opt.substring(2)));
}
}
return result.build();
@@ -634,10 +634,10 @@ public class CppCompileAction extends AbstractAction
String opt = compilerOptions.get(i);
if (opt.startsWith("-isystem")) {
if (opt.length() > 8) {
- result.add(new PathFragment(opt.substring(8).trim()));
+ result.add(PathFragment.create(opt.substring(8).trim()));
} else if (i + 1 < compilerOptions.size()) {
i++;
- result.add(new PathFragment(compilerOptions.get(i)));
+ result.add(PathFragment.create(compilerOptions.get(i)));
} else {
System.err.println("WARNING: dangling -isystem flag in options for " + prettyPrint());
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
index 2646692bfe..2b7669f17b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java
@@ -474,7 +474,7 @@ public class CppCompileActionBuilder {
continue;
}
// One starting ../ is okay for getting to a sibling repository.
- if (include.startsWith(new PathFragment(Label.EXTERNAL_PATH_PREFIX))) {
+ if (include.startsWith(PathFragment.create(Label.EXTERNAL_PATH_PREFIX))) {
include = include.relativeTo(Label.EXTERNAL_PATH_PREFIX);
}
if (include.isAbsolute()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
index 8b80179a44..ea0697cd67 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionTemplate.java
@@ -79,7 +79,7 @@ public final class CppCompileActionTemplate implements ActionTemplate<CppCompile
String outputName = outputTreeFileArtifactName(inputTreeFileArtifact);
TreeFileArtifact outputTreeFileArtifact = ActionInputHelper.treeFileArtifact(
outputTreeArtifact,
- new PathFragment(outputName),
+ PathFragment.create(outputName),
artifactOwner);
expandedActions.add(createAction(inputTreeFileArtifact, outputTreeFileArtifact));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
index f658f6732e..843a72c932 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java
@@ -190,7 +190,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
PathFragment defaultSysroot =
toolchain.getBuiltinSysroot().length() == 0
? null
- : new PathFragment(toolchain.getBuiltinSysroot());
+ : PathFragment.create(toolchain.getBuiltinSysroot());
if ((defaultSysroot != null) && !defaultSysroot.isNormalized()) {
throw new InvalidConfigurationException(
"The built-in sysroot '" + defaultSysroot + "' is not normalized.");
@@ -502,7 +502,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
this.toolPaths = Maps.newHashMap();
for (CrosstoolConfig.ToolPath tool : toolchain.getToolPathList()) {
- PathFragment path = new PathFragment(tool.getPath());
+ PathFragment path = PathFragment.create(tool.getPath());
if (!path.isNormalized()) {
throw new IllegalArgumentException("The include path '" + tool.getPath()
+ "' is not normalized.");
@@ -604,7 +604,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
// The default value for optional string attributes is the empty string.
PathFragment defaultSysroot = toolchain.getBuiltinSysroot().length() == 0
? null
- : new PathFragment(toolchain.getBuiltinSysroot());
+ : PathFragment.create(toolchain.getBuiltinSysroot());
if ((defaultSysroot != null) && !defaultSysroot.isNormalized()) {
throw new IllegalArgumentException("The built-in sysroot '" + defaultSysroot
+ "' is not normalized.");
@@ -791,7 +791,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
gccToolPath = tool.getPath();
linkerToolPath =
crosstoolTopPathFragment
- .getRelative(new PathFragment(tool.getPath()))
+ .getRelative(PathFragment.create(tool.getPath()))
.getPathString();
}
}
@@ -1181,7 +1181,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment {
}
}
- PathFragment path = new PathFragment(pathString);
+ PathFragment path = PathFragment.create(pathString);
if (!path.isNormalized()) {
throw new InvalidConfigurationException("The include path '" + s + "' is not normalized.");
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
index a94d10ea6d..41afb816ff 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
@@ -283,7 +283,7 @@ public class CppHelper {
* Returns the directory where object files are created.
*/
public static PathFragment getObjDirectory(Label ruleLabel) {
- return AnalysisUtils.getUniqueDirectory(ruleLabel, new PathFragment("_objs"));
+ return AnalysisUtils.getUniqueDirectory(ruleLabel, PathFragment.create("_objs"));
}
/**
@@ -360,7 +360,7 @@ public class CppHelper {
BuildConfiguration config,
LinkTargetType linkType,
String linkedArtifactNameSuffix) {
- PathFragment name = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment name = PathFragment.create(ruleContext.getLabel().getName());
if (linkType != LinkTargetType.EXECUTABLE) {
name = name.replaceName(
"lib" + name.getBaseName() + linkedArtifactNameSuffix + linkType.getExtension());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
index bca504c0cf..1acc9b4909 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModel.java
@@ -919,7 +919,7 @@ public final class CppModel {
builder
.setPicMode(usePic)
.setOutputs(ruleContext, outputCategory, outputNameBase, generateDotd)
- .setTempOutputFile(new PathFragment(tempOutputName));
+ .setTempOutputFile(PathFragment.create(tempOutputName));
setupCompileBuildVariables(
builder,
@@ -969,7 +969,7 @@ public final class CppModel {
}
String linkedName = CppHelper.getArtifactNameForCategory(
ruleContext, ccToolchain, linkTargetType.getLinkerOutput(), maybePicName);
- PathFragment artifactFragment = new PathFragment(ruleContext.getLabel().getName())
+ PathFragment artifactFragment = PathFragment.create(ruleContext.getLabel().getName())
.getParentDirectory().getRelative(linkedName);
result = ruleContext.getPackageRelativeArtifact(
@@ -1042,7 +1042,7 @@ public final class CppModel {
// If the crosstool is configured to select an output artifact, we use that selection.
// Otherwise, we use linux defaults.
Artifact linkedArtifact = getLinkedArtifact(linkType);
- PathFragment labelName = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment labelName = PathFragment.create(ruleContext.getLabel().getName());
String libraryIdentifier = ruleContext.getPackageDirectory().getRelative(
labelName.replaceName("lib" + labelName.getBaseName())).getPathString();
CppLinkAction maybePicAction =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java
index 77e653c4d9..9930e35dd9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java
@@ -127,7 +127,7 @@ public class FdoSupport {
* Path within profile data .zip files that is considered the root of the
* profile information directory tree.
*/
- private static final PathFragment ZIP_ROOT = new PathFragment("/");
+ private static final PathFragment ZIP_ROOT = PathFragment.create("/");
/**
* Returns true if the given fdoFile represents an AutoFdo profile.
@@ -220,7 +220,7 @@ public class FdoSupport {
this.fdoRootExecPath = fdoRootExecPath;
this.fdoPath = fdoProfile == null
? null
- : FileSystemUtils.removeExtension(new PathFragment("_fdo").getChild(
+ : FileSystemUtils.removeExtension(PathFragment.create("_fdo").getChild(
fdoProfile.getBaseName()));
this.lipoMode = lipoMode;
this.fdoMode = fdoMode;
@@ -264,7 +264,7 @@ public class FdoSupport {
PathFragment fdoRootExecPath = fdoProfile == null
? null
: fdoRoot.getExecPath().getRelative(FileSystemUtils.removeExtension(
- new PathFragment("_fdo").getChild(fdoProfile.getBaseName())));
+ PathFragment.create("_fdo").getChild(fdoProfile.getBaseName())));
if (fdoProfile != null) {
if (lipoMode != LipoMode.OFF) {
@@ -413,12 +413,12 @@ public class FdoSupport {
if (!line.isEmpty()) {
// We can't yet fully check the validity of a line. this is done later
// when we actually parse the contained paths.
- PathFragment execPath = new PathFragment(line);
+ PathFragment execPath = PathFragment.create(line);
if (execPath.isAbsolute()) {
throw new FdoException("Absolute paths not allowed in gcda imports file " + importsFile
+ ": " + execPath);
}
- importsBuilder.put(key, new PathFragment(line));
+ importsBuilder.put(key, PathFragment.create(line));
}
}
}
@@ -440,7 +440,7 @@ public class FdoSupport {
if (colonIndex < 0) {
continue;
}
- PathFragment key = new PathFragment(line.substring(0, colonIndex));
+ PathFragment key = PathFragment.create(line.substring(0, colonIndex));
if (key.isAbsolute()) {
throw new FdoException("Absolute paths not allowed in afdo imports file " + importsFile
+ ": " + key);
@@ -450,7 +450,7 @@ public class FdoSupport {
continue;
}
- importBuilder.put(key, new PathFragment(auxFile));
+ importBuilder.put(key, PathFragment.create(auxFile));
}
}
return importBuilder.build();
@@ -665,7 +665,7 @@ public class FdoSupport {
}
private static PathFragment getAutoProfileRootRelativePath(Path fdoProfile) {
- return new PathFragment(fdoProfile.getBaseName());
+ return PathFragment.create(fdoProfile.getBaseName());
}
@@ -674,7 +674,7 @@ public class FdoSupport {
}
private static PathFragment getLLVMProfileRootRelativePath(Path fdoProfile) {
- return new PathFragment(fdoProfile.getBaseName());
+ return PathFragment.create(fdoProfile.getBaseName());
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
index 9af100ffd8..4fa0a82a10 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/LTOBackendAction.java
@@ -117,14 +117,14 @@ public final class LTOBackendAction extends SpawnAction {
try {
for (String line : FileSystemUtils.iterateLinesAsLatin1(imports.getPath())) {
if (!line.isEmpty()) {
- PathFragment execPath = new PathFragment(line);
+ PathFragment execPath = PathFragment.create(line);
if (execPath.isAbsolute()) {
throw new ActionExecutionException(
"Absolute paths not allowed in imports file " + imports.getPath() + ": " + execPath,
this,
false);
}
- importSet.add(new PathFragment(line));
+ importSet.add(PathFragment.create(line));
}
}
} catch (IOException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
index c2bca35809..e524b1e12c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
@@ -139,7 +139,7 @@ public final class SolibSymlinkAction extends AbstractAction {
*/
public static Artifact getCppRuntimeSymlink(RuleContext ruleContext, Artifact library,
String solibDirOverride, BuildConfiguration configuration) {
- PathFragment solibDir = new PathFragment(solibDirOverride != null
+ PathFragment solibDir = PathFragment.create(solibDirOverride != null
? solibDirOverride
: configuration.getFragment(CppConfiguration.class).getSolibDirectory());
PathFragment symlinkName = solibDir.getRelative(library.getRootRelativePath().getBaseName());
@@ -181,7 +181,7 @@ public final class SolibSymlinkAction extends AbstractAction {
String escapedRulePath = Actions.escapedPath(
"_" + ruleContext.getLabel());
String soname = getDynamicLibrarySoname(libraryPath, preserveName);
- PathFragment solibDir = new PathFragment(cppConfiguration.getSolibDirectory());
+ PathFragment solibDir = PathFragment.create(cppConfiguration.getSolibDirectory());
if (preserveName) {
String escapedLibraryPath =
Actions.escapedPath("_" + libraryPath.getParentDirectory().getPathString());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraActionSpec.java b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraActionSpec.java
index db3569a370..90de182573 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraActionSpec.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraActionSpec.java
@@ -204,7 +204,7 @@ public final class ExtraActionSpec implements TransitiveInfoProvider {
private Artifact getRootRelativePath(String template, RuleContext ruleContext) {
PathFragment extraActionPackageFragment = label.getPackageIdentifier().getSourceRoot();
PathFragment extraActionPrefix = extraActionPackageFragment.getRelative(label.getName());
- PathFragment rootRelativePath = new PathFragment("extra_actions")
+ PathFragment rootRelativePath = PathFragment.create("extra_actions")
.getRelative(extraActionPrefix)
.getRelative(ruleContext.getPackageDirectory())
.getRelative(template);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
index e6bc5587d7..60aa02855c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBinary.java
@@ -58,7 +58,7 @@ import javax.annotation.Nullable;
* An implementation of java_binary.
*/
public class JavaBinary implements RuleConfiguredTargetFactory {
- private static final PathFragment CPP_RUNTIMES = new PathFragment("_cpp_runtimes");
+ private static final PathFragment CPP_RUNTIMES = PathFragment.create("_cpp_runtimes");
private final JavaSemantics semantics;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java
index 95e1cc5a5d..7adaea6372 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java
@@ -39,11 +39,11 @@ public abstract class JavaBuildInfoFactory implements BuildInfoFactory {
public static final BuildInfoKey KEY = new BuildInfoKey("Java");
static final PathFragment BUILD_INFO_NONVOLATILE_PROPERTIES_NAME =
- new PathFragment("build-info-nonvolatile.properties");
+ PathFragment.create("build-info-nonvolatile.properties");
static final PathFragment BUILD_INFO_VOLATILE_PROPERTIES_NAME =
- new PathFragment("build-info-volatile.properties");
+ PathFragment.create("build-info-volatile.properties");
static final PathFragment BUILD_INFO_REDACTED_PROPERTIES_NAME =
- new PathFragment("build-info-redacted.properties");
+ PathFragment.create("build-info-redacted.properties");
private static final DateTimeFormatter DEFAULT_TIME_FORMAT =
DateTimeFormat.forPattern("EEE MMM d HH:mm:ss yyyy");
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
index b5ab681d1f..1712d028b4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCommon.java
@@ -502,7 +502,7 @@ public class JavaCommon {
if (!javaExecutable.isAbsolute()) {
javaExecutable =
- new PathFragment(new PathFragment(ruleContext.getWorkspaceName()), javaExecutable);
+ PathFragment.create(PathFragment.create(ruleContext.getWorkspaceName()), javaExecutable);
}
javaExecutable = javaExecutable.normalize();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java
index b115dee4c9..fc44f09b70 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHelper.java
@@ -116,7 +116,7 @@ public abstract class JavaHelper {
PathFragment rootRelativePath = resource.getRootRelativePath();
if (!resource.getOwner().getWorkspaceRoot().isEmpty()) {
- PathFragment workspace = new PathFragment(resource.getOwner().getWorkspaceRoot());
+ PathFragment workspace = PathFragment.create(resource.getOwner().getWorkspaceRoot());
rootRelativePath = rootRelativePath.relativeTo(workspace);
}
@@ -125,8 +125,8 @@ public abstract class JavaHelper {
return semantics.getDefaultJavaResourcePath(rootRelativePath);
}
- PathFragment prefix = new PathFragment(
- ruleContext.attributes().get("resource_strip_prefix", Type.STRING));
+ PathFragment prefix =
+ PathFragment.create(ruleContext.attributes().get("resource_strip_prefix", Type.STRING));
if (!rootRelativePath.startsWith(prefix)) {
ruleContext.attributeError("resource_strip_prefix", String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
index 6501b31aac..4006bc872f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
@@ -153,7 +153,7 @@ public final class JvmConfigurationLoader implements ConfigurationFragmentFactor
}
private static Jvm createLegacy(String javaHome) throws InvalidConfigurationException {
- PathFragment javaHomePathFrag = new PathFragment(javaHome);
+ PathFragment javaHomePathFrag = PathFragment.create(javaHome);
if (!javaHomePathFrag.isAbsolute()) {
throw new InvalidConfigurationException(
"Illegal javabase value '" + javaHome + "', javabase must be an absolute path or label");
diff --git a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
index 6ec5120849..dc9e9e8ca7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
@@ -107,7 +107,7 @@ public abstract class NativeDepsHelper {
return null;
}
- PathFragment labelName = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment labelName = PathFragment.create(ruleContext.getLabel().getName());
String libraryIdentifier = ruleContext.getUniqueDirectory(ANDROID_UNIQUE_DIR)
.getRelative(labelName.replaceName("lib" + labelName.getBaseName()))
.getPathString();
@@ -260,11 +260,11 @@ public abstract class NativeDepsHelper {
* symlink for the native library for the specified rule.
*/
private static PathFragment getRuntimeLibraryPath(RuleContext ruleContext, Artifact lib) {
- PathFragment relativePath = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment relativePath = PathFragment.create(ruleContext.getLabel().getName());
PathFragment libParentDir =
relativePath.replaceName(lib.getExecPath().getParentDirectory().getBaseName());
String libName = lib.getExecPath().getBaseName();
- return new PathFragment(libParentDir, new PathFragment(libName));
+ return PathFragment.create(libParentDir, PathFragment.create(libName));
}
/**
@@ -305,6 +305,6 @@ public abstract class NativeDepsHelper {
for (String feature : features) {
fp.addString(feature);
}
- return new PathFragment("_nativedeps/" + fp.hexDigestAndReset());
+ return PathFragment.create("_nativedeps/" + fp.hexDigestAndReset());
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
index ab2bc95fa0..9d0e3c27c4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
@@ -345,7 +345,7 @@ final class BundleSupport {
ruleContext.registerAction(
ObjcRuleClasses.spawnAppleEnvActionBuilder(appleConfiguration, platform)
.setMnemonic("ConvertStringsPlist")
- .setExecutable(new PathFragment("/usr/bin/plutil"))
+ .setExecutable(PathFragment.create("/usr/bin/plutil"))
.setCommandLine(CustomCommandLine.builder()
.add("-convert").add("binary1")
.addExecPath("-o", bundled)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java b/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java
index 13bc0d97dd..39b05cbb3f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java
@@ -590,7 +590,7 @@ final class Bundling {
public Map<String, String> variableSubstitutions() {
return ImmutableMap.of(
"EXECUTABLE_NAME", Strings.nullToEmpty(executableName),
- "BUNDLE_NAME", new PathFragment(getBundleDir()).getBaseName(),
+ "BUNDLE_NAME", PathFragment.create(getBundleDir()).getBaseName(),
"PRODUCT_NAME", name);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
index c0859047de..6532052044 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
@@ -663,7 +663,7 @@ public abstract class CompilationSupport {
ImmutableList.Builder<PathFragment> nonPropagatedHeaderSearchPaths =
new ImmutableList.Builder<>();
for (String includeDirOption : includeDirOptions) {
- nonPropagatedHeaderSearchPaths.add(new PathFragment(includeDirOption.substring(2)));
+ nonPropagatedHeaderSearchPaths.add(PathFragment.create(includeDirOption.substring(2)));
}
// We also need to add the -isystem directories from the CC header providers. ObjCommon
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
index f001f95115..b2642f1e33 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
@@ -190,7 +190,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
throws InterruptedException {
Preconditions.checkNotNull(ccToolchain);
Preconditions.checkNotNull(fdoSupport);
- PathFragment labelName = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment labelName = PathFragment.create(ruleContext.getLabel().getName());
String libraryIdentifier =
ruleContext
.getPackageDirectory()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java b/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
index ad528645db..dcd8bca663 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
@@ -104,7 +104,7 @@ public class HeaderThinning implements IncludeProcessing {
continue;
}
- PathFragment headerPath = new PathFragment(line);
+ PathFragment headerPath = PathFragment.create(line);
Artifact header = inputArtifactsMap.get(headerPath);
if (header == null) {
missing.add(headerPath);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
index 620010edd4..337ee963c6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
@@ -117,7 +117,7 @@ public final class IntermediateArtifacts {
* of the {@link PathFragment} corresponding to the owner {@link Label}.
*/
private Artifact appendExtension(String extension) {
- PathFragment name = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment name = PathFragment.create(ruleContext.getLabel().getName());
return scopedArtifact(name.replaceName(addOutputPrefix(name.getBaseName(), extension)));
}
@@ -135,7 +135,7 @@ public final class IntermediateArtifacts {
* the end of the {@link PathFragment} corresponding to the owner {@link Label}.
*/
private Artifact appendExtensionInGenfiles(String extension) {
- PathFragment name = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment name = PathFragment.create(ruleContext.getLabel().getName());
return scopedArtifact(
name.replaceName(addOutputPrefix(name.getBaseName(), extension)), /* inGenfiles = */ true);
}
@@ -252,14 +252,14 @@ public final class IntermediateArtifacts {
*/
public Artifact archive() {
// The path will be {RULE_PACKAGE}/lib{RULEBASENAME}{SUFFIX}.a
- String basename = new PathFragment(ruleContext.getLabel().getName()).getBaseName();
- return scopedArtifact(new PathFragment(String.format(
+ String basename = PathFragment.create(ruleContext.getLabel().getName()).getBaseName();
+ return scopedArtifact(PathFragment.create(String.format(
"lib%s%s.a", basename, archiveFileNameSuffix)));
}
private Artifact inUniqueObjsDir(Artifact source, String extension) {
PathFragment uniqueDir =
- new PathFragment("_objs").getRelative(ruleContext.getLabel().getName());
+ PathFragment.create("_objs").getRelative(ruleContext.getLabel().getName());
PathFragment sourceFile = uniqueDir.getRelative(source.getRootRelativePath());
PathFragment scopeRelativePath = FileSystemUtils.replaceExtension(sourceFile, extension);
return scopedArtifact(scopeRelativePath);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFramework.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFramework.java
index ee9b83b8bd..60bfec11ba 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFramework.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFramework.java
@@ -94,13 +94,13 @@ public class IosFramework extends ReleaseBundlingTargetFactory {
// Create framework binary
Artifact frameworkBinary =
- outputArtifact(ruleContext, new PathFragment(bundleName(ruleContext)));
+ outputArtifact(ruleContext, PathFragment.create(bundleName(ruleContext)));
builder.put(intermediateArtifacts.combinedArchitectureBinary(), frameworkBinary);
// Create framework headers
for (Pair<Artifact, Label> header : headers) {
Artifact frameworkHeader =
- outputArtifact(ruleContext, new PathFragment("Headers/" + header.first.getFilename()));
+ outputArtifact(ruleContext, PathFragment.create("Headers/" + header.first.getFilename()));
builder.put(header.first, frameworkHeader);
}
@@ -160,9 +160,9 @@ public class IosFramework extends ReleaseBundlingTargetFactory {
*/
private Artifact outputArtifact(RuleContext ruleContext, PathFragment path) {
PathFragment frameworkRoot =
- new PathFragment(
- new PathFragment("_frameworks"),
- new PathFragment(bundleName(ruleContext) + ".framework"),
+ PathFragment.create(
+ PathFragment.create("_frameworks"),
+ PathFragment.create(bundleName(ruleContext) + ".framework"),
path);
return ruleContext.getPackageRelativeArtifact(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
index 451af68adf..2b14cca296 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcLibrary.java
@@ -111,7 +111,7 @@ public class J2ObjcLibrary implements RuleConfiguredTargetFactory {
// We add another header search path with gen root if we have generated sources to translate.
for (Artifact sourceToTranslate : sourcesToTranslate) {
if (!sourceToTranslate.isSourceArtifact()) {
- headerSearchPaths.add(new PathFragment(objcFileRootExecPath, genRoot));
+ headerSearchPaths.add(PathFragment.create(objcFileRootExecPath, genRoot));
return headerSearchPaths.build();
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
index ad677f6a89..3480cfcdef 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
@@ -686,7 +686,7 @@ public final class ObjcCommon {
static ImmutableSet<PathFragment> userHeaderSearchPaths(
ObjcProvider provider, BuildConfiguration config) {
return ImmutableSet.<PathFragment>builder()
- .add(new PathFragment("."))
+ .add(PathFragment.create("."))
.add(config.getGenfilesFragment())
.addAll(provider.get(IQUOTE))
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
index 46665908ee..03c2ae243f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProviderSkylarkConverters.java
@@ -119,7 +119,7 @@ public class ObjcProviderSkylarkConverters {
validateTypes(skylarkValue, String.class, javaKey.getSkylarkKeyName());
NestedSetBuilder<PathFragment> result = NestedSetBuilder.stableOrder();
for (String path : ((SkylarkNestedSet) skylarkValue).toCollection(String.class)) {
- result.add(new PathFragment(path));
+ result.add(PathFragment.create(path));
}
return result.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
index 455ee70391..2505835104 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
@@ -551,7 +551,7 @@ final class ProtobufSupport {
// of dependers.
PathFragment rootRelativeOutputDir = ruleContext.getUniqueDirectory(UNIQUE_DIRECTORY_NAME);
- return new PathFragment(
+ return PathFragment.create(
buildConfiguration.getBinDirectory().getExecPath(), rootRelativeOutputDir);
}
@@ -562,10 +562,9 @@ final class ProtobufSupport {
String protoFileName = FileSystemUtils.removeExtension(protoFile.getFilename());
String generatedOutputName = attributes.getGeneratedProtoFilename(protoFileName, true);
- PathFragment generatedFilePath =
- new PathFragment(
- protoFile.getRootRelativePath().getParentDirectory(),
- new PathFragment(generatedOutputName));
+ PathFragment generatedFilePath = PathFragment.create(
+ protoFile.getRootRelativePath().getParentDirectory(),
+ PathFragment.create(generatedOutputName));
PathFragment outputFile = FileSystemUtils.appendExtension(generatedFilePath, extension);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtocolBuffers2Support.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtocolBuffers2Support.java
index 54d8904492..0a19cb18ca 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtocolBuffers2Support.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtocolBuffers2Support.java
@@ -86,7 +86,7 @@ final class ProtocolBuffers2Support {
.addInputs(attributes.getOptionsFile().asSet())
.addOutputs(getGeneratedProtoOutputs(getHeaderExtension()))
.addOutputs(getGeneratedProtoOutputs(getSourceExtension()))
- .setExecutable(new PathFragment("/usr/bin/python"))
+ .setExecutable(PathFragment.create("/usr/bin/python"))
.setCommandLine(getGenerationCommandLine())
.build(ruleContext));
return this;
@@ -203,9 +203,8 @@ final class ProtocolBuffers2Support {
new ImmutableSet.Builder<PathFragment>().add(getWorkspaceRelativeOutputDir());
if (attributes.needsPerProtoIncludes()) {
- PathFragment generatedProtoDir =
- new PathFragment(
- getWorkspaceRelativeOutputDir(), ruleContext.getLabel().getPackageFragment());
+ PathFragment generatedProtoDir = PathFragment.create(
+ getWorkspaceRelativeOutputDir(), ruleContext.getLabel().getPackageFragment());
searchPathEntriesBuilder
.add(generatedProtoDir)
@@ -223,7 +222,7 @@ final class ProtocolBuffers2Support {
// of dependers.
PathFragment rootRelativeOutputDir = ruleContext.getUniqueDirectory(UNIQUE_DIRECTORY_NAME);
- return new PathFragment(
+ return PathFragment.create(
ruleContext.getBinOrGenfilesDirectory().getExecPath(), rootRelativeOutputDir);
}
@@ -233,10 +232,9 @@ final class ProtocolBuffers2Support {
String protoFileName = FileSystemUtils.removeExtension(protoFile.getFilename());
String generatedOutputName = attributes.getGeneratedProtoFilename(protoFileName, false);
- PathFragment generatedFilePath =
- new PathFragment(
- protoFile.getRootRelativePath().getParentDirectory(),
- new PathFragment(generatedOutputName));
+ PathFragment generatedFilePath = PathFragment.create(
+ protoFile.getRootRelativePath().getParentDirectory(),
+ PathFragment.create(generatedOutputName));
PathFragment outputFile = FileSystemUtils.appendExtension(generatedFilePath, extension);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourceFileBlacklist.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourceFileBlacklist.java
index 6ba951753d..7f38142785 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourceFileBlacklist.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourceFileBlacklist.java
@@ -41,7 +41,8 @@ import java.util.List;
* to identify these proto files and avoid linking in their associated generated files.
*/
public class ProtoSourceFileBlacklist {
- private static final PathFragment BAZEL_TOOLS_PREFIX = new PathFragment("external/bazel_tools/");
+ private static final PathFragment BAZEL_TOOLS_PREFIX =
+ PathFragment.create("external/bazel_tools/");
private final RuleContext ruleContext;
private final ImmutableSet<PathFragment> blacklistProtoFilePaths;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
index a343883816..2036401394 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
@@ -410,7 +410,7 @@ public final class PyCommon {
}
mainSourceName = ruleName + ".py";
}
- PathFragment mainSourcePath = new PathFragment(mainSourceName);
+ PathFragment mainSourcePath = PathFragment.create(mainSourceName);
Artifact mainArtifact = null;
for (Artifact outItem : ruleContext.getPrerequisiteArtifacts("srcs", Mode.TARGET).list()) {
@@ -433,8 +433,8 @@ public final class PyCommon {
if (!withWorkspaceName) {
return mainArtifact.getRunfilesPath().getPathString();
}
- PathFragment workspaceName = new PathFragment(
- ruleContext.getRule().getPackage().getWorkspaceName());
+ PathFragment workspaceName =
+ PathFragment.create(ruleContext.getRule().getPackage().getWorkspaceName());
return workspaceName.getRelative(mainArtifact.getRunfilesPath()).getPathString();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java b/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java
index c2508c2f94..ebe030fa41 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java
@@ -35,8 +35,8 @@ import java.util.Set;
* Various utility methods for Python support.
*/
public final class PythonUtils {
- public static final PathFragment INIT_PY = new PathFragment("__init__.py");
- public static final PathFragment INIT_PYC = new PathFragment("__init__.pyc");
+ public static final PathFragment INIT_PY = PathFragment.create("__init__.py");
+ public static final PathFragment INIT_PYC = PathFragment.create("__init__.pyc");
private static final FileType REQUIRES_INIT_PY = FileType.of(".py", ".so", ".pyc");
@@ -86,7 +86,7 @@ public final class PythonUtils {
private static Artifact get2to3OutputArtifact(RuleContext ruleContext, Artifact input) {
Root root = ruleContext.getConfiguration().getGenfilesDirectory(
ruleContext.getRule().getRepository());
- PathFragment path = new PathFragment("python3").getRelative(input.getRootRelativePath());
+ PathFragment path = PathFragment.create("python3").getRelative(input.getRootRelativePath());
return ruleContext.getShareableArtifact(path, root);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/NewRepositoryFileHandler.java b/src/main/java/com/google/devtools/build/lib/rules/repository/NewRepositoryFileHandler.java
index 29efc78faa..64c4502b71 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/NewRepositoryFileHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/NewRepositoryFileHandler.java
@@ -195,7 +195,7 @@ public class NewRepositoryFileHandler {
}
} else {
// TODO(dmarting): deprecate using a path for the workspace_file attribute.
- PathFragment file = new PathFragment(fileAttribute);
+ PathFragment file = PathFragment.create(fileAttribute);
Path fileTarget = workspacePath.getRelative(file);
if (!fileTarget.exists()) {
throw new RepositoryFunctionException(
@@ -211,7 +211,7 @@ public class NewRepositoryFileHandler {
if (file.isAbsolute()) {
rootedFile =
RootedPath.toRootedPath(
- fileTarget.getParentDirectory(), new PathFragment(fileTarget.getBaseName()));
+ fileTarget.getParentDirectory(), PathFragment.create(fileTarget.getBaseName()));
} else {
rootedFile = RootedPath.toRootedPath(workspacePath, file);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
index 0b92f0ac7a..51486eda50 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
@@ -298,7 +298,7 @@ public abstract class RepositoryFunction {
} catch (EvalException e) {
throw new RepositoryFunctionException(e, Transience.PERSISTENT);
}
- PathFragment pathFragment = new PathFragment(path);
+ PathFragment pathFragment = PathFragment.create(path);
return workspace.getRelative(pathFragment).asFragment();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryLoaderFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryLoaderFunction.java
index 19af038d62..c6040de671 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryLoaderFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryLoaderFunction.java
@@ -52,7 +52,7 @@ public class RepositoryLoaderFunction implements SkyFunction {
SkyKey workspaceKey =
WorkspaceFileValue.key(
- RootedPath.toRootedPath(repository.getPath(), new PathFragment("WORKSPACE")));
+ RootedPath.toRootedPath(repository.getPath(), PathFragment.create("WORKSPACE")));
WorkspaceFileValue workspacePackage = (WorkspaceFileValue) env.getValue(workspaceKey);
if (workspacePackage == null) {
return null;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java b/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
index 8b7dea8469..7f42c03889 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/BaselineCoverageAction.java
@@ -116,7 +116,7 @@ public final class BaselineCoverageAction extends AbstractFileWriteAction
RuleContext ruleContext, NestedSet<Artifact> instrumentedFiles) {
// Baseline coverage artifacts will still go into "testlogs" directory.
Artifact coverageData = ruleContext.getPackageRelativeArtifact(
- new PathFragment(ruleContext.getTarget().getName()).getChild("baseline_coverage.dat"),
+ PathFragment.create(ruleContext.getTarget().getName()).getChild("baseline_coverage.dat"),
ruleContext.getConfiguration().getTestLogsDirectory(
ruleContext.getRule().getRepository()));
ruleContext.registerAction(new BaselineCoverageAction(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
index da7963576e..5624b2bddb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/TestActionBuilder.java
@@ -88,7 +88,7 @@ public final class TestActionBuilder {
// heuristically sharding is currently experimental. Also, we do detect
// false-positive cases and return an error.
return runfilesSupport.getRunfilesSymlinkNames().contains(
- new PathFragment("tools/test_sharding_compliant"));
+ PathFragment.create("tools/test_sharding_compliant"));
}
/**
@@ -180,7 +180,7 @@ public final class TestActionBuilder {
* TestResultAnalyzer to keep track of completed and pending test runs.
*/
private TestParams createTestAction(int shards) {
- PathFragment targetName = new PathFragment(ruleContext.getLabel().getName());
+ PathFragment targetName = PathFragment.create(ruleContext.getLabel().getName());
BuildConfiguration config = ruleContext.getConfiguration();
AnalysisEnvironment env = ruleContext.getAnalysisEnvironment();
Root root = config.getTestLogsDirectory(ruleContext.getRule().getRepository());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/TestRunnerAction.java b/src/main/java/com/google/devtools/build/lib/rules/test/TestRunnerAction.java
index 01ea45134a..d6c4d45c6d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/TestRunnerAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/TestRunnerAction.java
@@ -58,7 +58,7 @@ import javax.annotation.Nullable;
*/
// Not final so that we can mock it in tests.
public class TestRunnerAction extends AbstractAction implements NotifyOnActionCacheHit {
- public static final PathFragment COVERAGE_TMP_ROOT = new PathFragment("_coverage");
+ public static final PathFragment COVERAGE_TMP_ROOT = PathFragment.create("_coverage");
// Used for selecting subset of testcase / testmethods.
private static final String TEST_BRIDGE_TEST_FILTER_ENV = "TESTBRIDGE_TEST_ONLY";
@@ -134,7 +134,7 @@ public class TestRunnerAction extends AbstractAction implements NotifyOnActionCa
boolean useTestRunner) {
super(owner, inputs,
// Note that this action only cares about the runfiles, not the mapping.
- new RunfilesSupplierImpl(new PathFragment("runfiles"), executionSettings.getRunfiles()),
+ new RunfilesSupplierImpl(PathFragment.create("runfiles"), executionSettings.getRunfiles()),
list(testLog, cacheStatus, coverageArtifact, microCoverageArtifact));
this.runtime = runtime;
this.configuration = Preconditions.checkNotNull(configuration);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
index 2e9e9de4df..833e01145d 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CoverageCommand.java
@@ -289,7 +289,7 @@ public class CoverageCommand extends TestCommand {
// filter value much more user-friendly - especially in case of /my/package/... wildcards.
Set<String> parentFilters = Sets.newTreeSet();
String filterString = iterator.next();
- PathFragment parent = new PathFragment(filterString).getParentDirectory();
+ PathFragment parent = PathFragment.create(filterString).getParentDirectory();
while (iterator.hasNext()) {
String current = iterator.next();
if (parent != null && parent.getPathString().length() > 0
@@ -297,7 +297,7 @@ public class CoverageCommand extends TestCommand {
parentFilters.add(parent.getPathString());
} else {
filterString = current;
- parent = new PathFragment(filterString).getParentDirectory();
+ parent = PathFragment.create(filterString).getParentDirectory();
}
}
packageFilters.addAll(parentFilters);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
index 3d3a9b0066..4f738c7a46 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
@@ -58,7 +58,7 @@ public final class ProjectFileSupport {
// TODO(bazel-team): This is currently treated as a path relative to the workspace - if the
// cwd is a subdirectory of the workspace, that will be surprising, and we should interpret it
// relative to the cwd instead.
- PathFragment projectFilePath = new PathFragment(targets.get(0).substring(1));
+ PathFragment projectFilePath = PathFragment.create(targets.get(0).substring(1));
List<Path> packagePath = PathPackageLocator.create(
env.getOutputBase(),
optionsParser.getOptions(PackageCacheOptions.class).packagePath,
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
index 2eff7c45cc..0a649e93e6 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
@@ -324,7 +324,7 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
TestRunnerAction testRunnerAction = ((TestRunnerAction) spawn.getResourceOwner());
RunUnder runUnder = testRunnerAction.getExecutionSettings().getRunUnder();
if (runUnder != null && runUnder.getCommand() != null) {
- PathFragment sourceFragment = new PathFragment(runUnder.getCommand());
+ PathFragment sourceFragment = PathFragment.create(runUnder.getCommand());
Path mount;
if (sourceFragment.isAbsolute()) {
mount = blazeDirs.getFileSystem().getPath(sourceFragment);
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
index e30008e3ae..26fd236adf 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
@@ -51,7 +51,7 @@ public final class SandboxHelpers {
public static ImmutableSet<PathFragment> getOutputFiles(Spawn spawn) {
Builder<PathFragment> outputFiles = ImmutableSet.builder();
for (ActionInput output : spawn.getOutputFiles()) {
- outputFiles.add(new PathFragment(output.getExecPathString()));
+ outputFiles.add(PathFragment.create(output.getExecPathString()));
}
return outputFiles.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SpawnHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SpawnHelpers.java
index d8bb0a7f58..b6bd3c017e 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SpawnHelpers.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SpawnHelpers.java
@@ -108,7 +108,7 @@ public final class SpawnHelpers {
// symlink referring to "source" has to be created (see below).
PathFragment targetPath;
if (isFilesetManifest) {
- PathFragment targetPathFragment = new PathFragment(fields[0]);
+ PathFragment targetPathFragment = PathFragment.create(fields[0]);
if (!workspaceName.isEmpty()) {
Preconditions.checkState(
targetPathFragment.getSegment(0).equals(workspaceName),
@@ -176,7 +176,7 @@ public final class SpawnHelpers {
// Attempting to mount a non-empty directory results in ERR_DIRECTORY_NOT_EMPTY, so we only
// mount empty TreeArtifacts as directories.
if (containedArtifacts.isEmpty()) {
- PathFragment mount = new PathFragment(input.getExecPathString());
+ PathFragment mount = PathFragment.create(input.getExecPathString());
mounts.put(mount, execRoot.getRelative(mount));
}
}
@@ -186,7 +186,7 @@ public final class SpawnHelpers {
if (input.getExecPathString().contains("internal/_middlemen/")) {
continue;
}
- PathFragment mount = new PathFragment(input.getExecPathString());
+ PathFragment mount = PathFragment.create(input.getExecPathString());
mounts.put(mount, execRoot.getRelative(mount));
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesFunction.java
index 11c78aefc8..a3c6768c96 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesFunction.java
@@ -85,7 +85,7 @@ public class BlacklistedPackagePrefixesFunction implements SkyFunction {
@Override
public boolean processLine(String line) throws IOException {
if (!line.isEmpty()) {
- fragments.add(new PathFragment(line));
+ fragments.add(PathFragment.create(line));
}
return true;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java
index f06be6bad2..aa91104394 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileFunction.java
@@ -128,7 +128,7 @@ public class FileFunction implements SkyFunction {
if (parentFileValue == null) {
return null;
}
- PathFragment baseName = new PathFragment(relativePath.getBaseName());
+ PathFragment baseName = PathFragment.create(relativePath.getBaseName());
RootedPath parentRealRootedPath = parentFileValue.realRootedPath();
realRootedPath = RootedPath.toRootedPath(parentRealRootedPath.getRoot(),
parentRealRootedPath.getRelativePath().getRelative(baseName));
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java
index f95274c648..fe23f379b4 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java
@@ -217,7 +217,7 @@ public final class FilesetEntryFunction implements SkyFunction {
public boolean apply(String e) {
// Keep the top-level exclusions only. Do not look for "/" but count the path segments
// instead, in anticipation of future Windows support.
- return new PathFragment(e).segmentCount() == 1;
+ return PathFragment.create(e).segmentCount() == 1;
}
});
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java
index 753f920cab..4874d89d5c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalDiffAwareness.java
@@ -79,7 +79,7 @@ public abstract class LocalDiffAwareness implements DiffAwareness {
// There's no good way to automatically detect network file systems. We rely on a blacklist
// for now (and maybe add a command-line option in the future?).
for (String prefix : prefixBlacklist) {
- if (resolvedPathEntryFragment.startsWith(new PathFragment(prefix))) {
+ if (resolvedPathEntryFragment.startsWith(PathFragment.create(prefix))) {
return null;
}
}
@@ -188,7 +188,7 @@ public abstract class LocalDiffAwareness implements DiffAwareness {
public PathFragment apply(Path input) {
Preconditions.checkArgument(
input.startsWith(watchRootPath), "%s %s", input, watchRootPath);
- return new PathFragment(watchRootPath.relativize(input).toString());
+ return PathFragment.create(watchRootPath.relativize(input).toString());
}
};
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java
index e134350061..ae4b250971 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java
@@ -208,7 +208,7 @@ public class LocalRepositoryLookupFunction implements SkyFunction {
@Override
public boolean apply(@Nullable Rule rule) {
AggregatingAttributeMapper mapper = AggregatingAttributeMapper.of(rule);
- PathFragment pathAttr = new PathFragment(mapper.get("path", Type.STRING));
+ PathFragment pathAttr = PathFragment.create(mapper.get("path", Type.STRING));
return directory.getRelativePath().equals(pathAttr);
}
},
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
index 1941489a77..23ecccec99 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
@@ -101,7 +101,7 @@ public class PackageFunction implements SkyFunction {
// Not final only for testing.
@Nullable private SkylarkImportLookupFunction skylarkImportLookupFunctionForInlining;
- static final PathFragment DEFAULTS_PACKAGE_NAME = new PathFragment("tools/defaults");
+ static final PathFragment DEFAULTS_PACKAGE_NAME = PathFragment.create("tools/defaults");
public PackageFunction(
PackageFactory packageFactory,
@@ -819,7 +819,7 @@ public class PackageFunction implements SkyFunction {
// exceptions), it reaches here, and we tolerate it.
return false;
}
- PathFragment labelNameFragment = new PathFragment(label.getName());
+ PathFragment labelNameFragment = PathFragment.create(label.getName());
String message = String.format("Label '%s' crosses boundary of subpackage '%s'",
label, containingPkg);
Path containingRoot = containingPkgLookupValue.getContainingPackageRoot();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
index 32d1e9007f..7db3a2abdd 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java
@@ -43,7 +43,7 @@ public abstract class PackageLookupValue implements SkyValue {
WORKSPACE("WORKSPACE") {
@Override
public PathFragment getBuildFileFragment(PackageIdentifier packageIdentifier) {
- return new PathFragment(BuildFileName.WORKSPACE.getFilename());
+ return PathFragment.create(BuildFileName.WORKSPACE.getFilename());
}
},
BUILD("BUILD") {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
index 8cc2d812c5..41602146ad 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
@@ -56,7 +56,7 @@ public class WorkspaceASTFunction implements SkyFunction {
try {
BuildFileAST ast = BuildFileAST.parseBuildFile(
ParserInputSource.create(ruleClassProvider.getDefaultWorkspacePrefix(),
- new PathFragment("/DEFAULT.WORKSPACE")),
+ PathFragment.create("/DEFAULT.WORKSPACE")),
env.getListener());
if (ast.containsErrors()) {
throw new WorkspaceASTFunctionException(
@@ -76,7 +76,7 @@ public class WorkspaceASTFunction implements SkyFunction {
}
ast = BuildFileAST.parseBuildFile(
ParserInputSource.create(ruleClassProvider.getDefaultWorkspaceSuffix(),
- new PathFragment("/DEFAULT.WORKSPACE.SUFFIX")),
+ PathFragment.create("/DEFAULT.WORKSPACE.SUFFIX")),
ast.getStatements(),
env.getListener());
if (ast.containsErrors()) {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java
index 44d4a9b616..9d28ee8b19 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java
@@ -119,7 +119,7 @@ public class SkylarkImports {
@Override
public PathFragment asPathFragment() {
- return new PathFragment(importFile);
+ return PathFragment.create(importFile);
}
@Override
@@ -128,7 +128,7 @@ public class SkylarkImports {
// a subdirectory of the package that contains it. We need to construct a Label with
// the imported file in the same subdirectory of the package.
PathFragment containingDirInPkg =
- (new PathFragment(containingFileLabel.getName())).getParentDirectory();
+ PathFragment.create(containingFileLabel.getName()).getParentDirectory();
String targetNameForImport = containingDirInPkg.getRelative(importFile).toString();
try {
return containingFileLabel.getRelative(targetNameForImport);
@@ -151,7 +151,7 @@ public class SkylarkImports {
@Override
public PathFragment asPathFragment() {
- return new PathFragment(PathFragment.ROOT_DIR).getRelative(importLabel.toPathFragment());
+ return PathFragment.create(PathFragment.ROOT_DIR).getRelative(importLabel.toPathFragment());
}
@Override
@@ -173,7 +173,7 @@ public class SkylarkImports {
@Override
public PathFragment asPathFragment() {
- return new PathFragment(importTarget);
+ return PathFragment.create(importTarget);
}
@Override
@@ -253,7 +253,7 @@ public class SkylarkImports {
if (importString.endsWith(".bzl")) {
throw new SkylarkImportSyntaxException(INVALID_PATH_SYNTAX);
}
- PathFragment importPath = new PathFragment(importString + ".bzl");
+ PathFragment importPath = PathFragment.create(importString + ".bzl");
return new AbsolutePathImport(importString, importPath);
} else if (importString.startsWith(":")) {
// Relative label. We require that relative labels use an explicit ':' prefix to distinguish
diff --git a/src/main/java/com/google/devtools/build/lib/unix/UnixFileSystem.java b/src/main/java/com/google/devtools/build/lib/unix/UnixFileSystem.java
index c21848a9f7..c70420ba7d 100644
--- a/src/main/java/com/google/devtools/build/lib/unix/UnixFileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/unix/UnixFileSystem.java
@@ -334,7 +334,7 @@ public class UnixFileSystem extends AbstractFileSystemWithCustomStat {
String name = path.toString();
long startTime = Profiler.nanoTimeMaybe();
try {
- return new PathFragment(NativePosixFiles.readlink(name));
+ return PathFragment.create(NativePosixFiles.readlink(name));
} catch (IOException e) {
// EINVAL => not a symbolic link. Anything else is a real error.
throw e.getMessage().endsWith("(Invalid argument)") ? new NotASymlinkException(path) : e;
diff --git a/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java b/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java
index 5ad34d7a34..3013f3e23e 100644
--- a/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/util/OptionsUtils.java
@@ -135,7 +135,7 @@ public final class OptionsUtils {
@Override
public PathFragment convert(String input) {
- return new PathFragment(input);
+ return PathFragment.create(input);
}
@Override
@@ -155,7 +155,7 @@ public final class OptionsUtils {
List<PathFragment> list = new ArrayList<>();
for (String piece : input.split(":")) {
if (!piece.isEmpty()) {
- list.add(new PathFragment(piece));
+ list.add(PathFragment.create(piece));
}
}
return Collections.unmodifiableList(list);
diff --git a/src/main/java/com/google/devtools/build/lib/util/PathFragmentFilter.java b/src/main/java/com/google/devtools/build/lib/util/PathFragmentFilter.java
index d4eb7d7474..8262c75a16 100644
--- a/src/main/java/com/google/devtools/build/lib/util/PathFragmentFilter.java
+++ b/src/main/java/com/google/devtools/build/lib/util/PathFragmentFilter.java
@@ -51,9 +51,9 @@ public class PathFragmentFilter implements Serializable {
for (String piece : Splitter.on(',').split(input)) {
if (piece.length() > 1 && piece.startsWith("-")) {
- exclusionList.add(new PathFragment(piece.substring(1)));
+ exclusionList.add(PathFragment.create(piece.substring(1)));
} else if (piece.length() > 0) {
- inclusionList.add(new PathFragment(piece));
+ inclusionList.add(PathFragment.create(piece));
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/FileSystem.java b/src/main/java/com/google/devtools/build/lib/vfs/FileSystem.java
index bce290eaf4..d77c1d7a3b 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/FileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/FileSystem.java
@@ -131,7 +131,7 @@ public abstract class FileSystem {
* file system.
*/
public Path getPath(String pathName) {
- return getPath(new PathFragment(pathName));
+ return getPath(PathFragment.create(pathName));
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/FileSystemUtils.java b/src/main/java/com/google/devtools/build/lib/vfs/FileSystemUtils.java
index 9cc3dc78d8..5b3bc1e717 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/FileSystemUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/FileSystemUtils.java
@@ -109,7 +109,7 @@ public class FileSystemUtils {
*/
public static PathFragment relativePath(PathFragment fromDir, PathFragment to) {
if (to.equals(fromDir)) {
- return new PathFragment("."); // same dir, just return '.'
+ return PathFragment.create("."); // same dir, just return '.'
}
if (to.startsWith(fromDir)) {
return to.relativeTo(fromDir); // easy case--it's a descendant
@@ -123,7 +123,7 @@ public class FileSystemUtils {
for (int i = 0; i < levels; i++) {
dotdots.append("../");
}
- return new PathFragment(dotdots.toString()).getRelative(to.relativeTo(ancestor));
+ return PathFragment.create(dotdots.toString()).getRelative(to.relativeTo(ancestor));
}
/**
@@ -229,9 +229,10 @@ public class FileSystemUtils {
int count = path.segmentCount();
for (int i = 0; i < count; i++) {
if (path.getSegment(i).equals(oldSegment)) {
- path = new PathFragment(path.subFragment(0, i),
- new PathFragment(newSegment),
- path.subFragment(i+1, count));
+ path = PathFragment.create(
+ path.subFragment(0, i),
+ PathFragment.create(newSegment),
+ path.subFragment(i+1, count));
if (!replaceAll) {
return path;
}
@@ -287,7 +288,7 @@ public class FileSystemUtils {
* 'user.dir'. This version does not require a {@link FileSystem}.
*/
public static PathFragment getWorkingDirectory() {
- return new PathFragment(System.getProperty("user.dir", "/"));
+ return PathFragment.create(System.getProperty("user.dir", "/"));
}
/****************************************************************************
@@ -356,7 +357,7 @@ public class FileSystemUtils {
*/
@ThreadSafe // but not atomic
public static void ensureSymbolicLink(Path link, String target) throws IOException {
- ensureSymbolicLink(link, new PathFragment(target));
+ ensureSymbolicLink(link, PathFragment.create(target));
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/JavaIoFileSystem.java b/src/main/java/com/google/devtools/build/lib/vfs/JavaIoFileSystem.java
index e4099693a6..2512308808 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/JavaIoFileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/JavaIoFileSystem.java
@@ -279,7 +279,7 @@ public class JavaIoFileSystem extends AbstractFileSystemWithCustomStat {
long startTime = Profiler.nanoTimeMaybe();
try {
String link = Files.readSymbolicLink(file.toPath()).toString();
- return new PathFragment(link);
+ return PathFragment.create(link);
} catch (java.nio.file.NotLinkException e) {
throw new NotASymlinkException(path);
} catch (java.nio.file.NoSuchFileException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/Path.java b/src/main/java/com/google/devtools/build/lib/vfs/Path.java
index e4088416cc..ac8b756696 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/Path.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/Path.java
@@ -223,7 +223,7 @@ public class Path implements Comparable<Path>, Serializable {
private void readObject(ObjectInputStream in) throws IOException {
fileSystem = fileSystemForSerialization;
String p = in.readUTF();
- PathFragment pf = new PathFragment(p);
+ PathFragment pf = PathFragment.create(p);
PathFragment parentDir = pf.getParentDirectory();
if (parentDir == null) {
this.name = "/";
@@ -725,9 +725,9 @@ public class Path implements Comparable<Path>, Serializable {
} else if (path.equals("..")) {
return isTopLevelDirectory() ? this : parent;
} else if (path.indexOf('/') != -1) {
- return getRelative(new PathFragment(path));
+ return getRelative(PathFragment.create(path));
} else if (path.indexOf(PathFragment.EXTRA_SEPARATOR_CHAR) != -1) {
- return getRelative(new PathFragment(path));
+ return getRelative(PathFragment.create(path));
} else {
return getCachedChildPath(path);
}
@@ -745,7 +745,7 @@ public class Path implements Comparable<Path>, Serializable {
/** Returns an absolute PathFragment representing this path. */
public PathFragment asFragment() {
- return new PathFragment('\0', true, getSegments());
+ return PathFragment.createNoClone('\0', true, getSegments());
}
/**
@@ -777,7 +777,7 @@ public class Path implements Comparable<Path>, Serializable {
currentPath = currentPath.getParentDirectory();
}
if (ancestorPath.equals(currentPath)) {
- return new PathFragment('\0', false, resultSegments);
+ return PathFragment.createNoClone('\0', false, resultSegments);
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java b/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java
index b466fc9629..5a324bec60 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/PathFragment.java
@@ -57,13 +57,13 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
public static final String ROOT_DIR = "/";
/** An empty path fragment. */
- public static final PathFragment EMPTY_FRAGMENT = new PathFragment("");
+ public static final PathFragment EMPTY_FRAGMENT = create("");
public static final Function<String, PathFragment> TO_PATH_FRAGMENT =
new Function<String, PathFragment>() {
@Override
public PathFragment apply(String str) {
- return new PathFragment(str);
+ return create(str);
}
};
@@ -89,7 +89,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
for (int i = 0; i < segments.length; i++) {
internedSegments[i] = StringCanonicalizer.intern(segments[i]);
}
- return new PathFragment(driveLetter, isAbsolute, internedSegments);
+ return createNoClone(driveLetter, isAbsolute, internedSegments);
}
/** Same as {@link #create(char, boolean, String[])}, except for {@link List}s of segments. */
@@ -98,7 +98,40 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
for (int i = 0; i < segments.size(); i++) {
internedSegments[i] = StringCanonicalizer.intern(segments.get(i));
}
- return new PathFragment(driveLetter, isAbsolute, internedSegments);
+ return createNoClone(driveLetter, isAbsolute, internedSegments);
+ }
+
+ /**
+ * Construct a PathFragment from a java.io.File, which is an absolute or
+ * relative UNIX path. Does not support Windows-style Files.
+ */
+ public static PathFragment create(File path) {
+ return new PathFragment(path);
+ }
+
+ /**
+ * Construct a PathFragment from a string, which is an absolute or relative UNIX or Windows path.
+ */
+ public static PathFragment create(String path) {
+ return new PathFragment(path);
+ }
+
+ /**
+ * Constructs a PathFragment, taking ownership of segments. Package-private,
+ * because it does not perform a defensive clone of the segments array. Used
+ * here in PathFragment, and by Path.asFragment() and Path.relativeTo().
+ */
+ static PathFragment createNoClone(
+ char driveLetter, boolean isAbsolute, String[] segments) {
+ return new PathFragment(driveLetter, isAbsolute, segments);
+ }
+
+ /**
+ * Construct a PathFragment from a sequence of other PathFragments. The new
+ * fragment will be absolute iff the first fragment was absolute.
+ */
+ public static PathFragment create(PathFragment first, PathFragment second, PathFragment... more) {
+ return new PathFragment(first, second, more);
}
// We have 3 word-sized fields (segments, hashCode and path), and 2
@@ -121,9 +154,8 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
private int hashCode;
private String path;
- /**
- * Construct a PathFragment from a string, which is an absolute or relative UNIX or Windows path.
- */
+ /** Don't call this ctor; use {@link #create(String)} instead. */
+ @Deprecated
public PathFragment(String path) {
this.driveLetter =
(OS.getCurrent() == OS.WINDOWS
@@ -145,20 +177,11 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
return c == SEPARATOR_CHAR || c == EXTRA_SEPARATOR_CHAR;
}
- /**
- * Construct a PathFragment from a java.io.File, which is an absolute or
- * relative UNIX path. Does not support Windows-style Files.
- */
- public PathFragment(File path) {
+ private PathFragment(File path) {
this(path.getPath());
}
- /**
- * Constructs a PathFragment, taking ownership of segments. Package-private,
- * because it does not perform a defensive clone of the segments array. Used
- * here in PathFragment, and by Path.asFragment() and Path.relativeTo().
- */
- PathFragment(char driveLetter, boolean isAbsolute, String[] segments) {
+ private PathFragment(char driveLetter, boolean isAbsolute, String[] segments) {
driveLetter = Character.toUpperCase(driveLetter);
if (OS.getCurrent() == OS.WINDOWS
&& segments.length > 0
@@ -175,11 +198,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
this.segments = segments;
}
- /**
- * Construct a PathFragment from a sequence of other PathFragments. The new
- * fragment will be absolute iff the first fragment was absolute.
- */
- public PathFragment(PathFragment first, PathFragment second, PathFragment... more) {
+ private PathFragment(PathFragment first, PathFragment second, PathFragment... more) {
// TODO(bazel-team): The handling of absolute path fragments in this constructor is unexpected.
this.segments = new String[sumLengths(first, second, more)];
int offset = 0;
@@ -420,8 +439,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
return this;
}
- return new PathFragment(driveLetter, isAbsolute,
- subarray(scratchSegments, 0, segmentCount));
+ return createNoClone(driveLetter, isAbsolute, subarray(scratchSegments, 0, segmentCount));
}
/**
@@ -440,9 +458,9 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
if (otherFragment.isAbsolute()) {
return this.driveLetter == '\0' || otherFragment.driveLetter != '\0'
? otherFragment
- : new PathFragment(this.driveLetter, true, otherFragment.segments);
+ : createNoClone(this.driveLetter, true, otherFragment.segments);
} else {
- return new PathFragment(this, otherFragment);
+ return create(this, otherFragment);
}
}
@@ -455,7 +473,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
* with no path normalization or I/O performed.
*/
public PathFragment getRelative(String path) {
- return getRelative(new PathFragment(path));
+ return getRelative(create(path));
}
/**
@@ -474,7 +492,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
baseName = StringCanonicalizer.intern(baseName);
String[] newSegments = Arrays.copyOf(segments, segments.length + 1);
newSegments[newSegments.length - 1] = baseName;
- return new PathFragment(driveLetter, isAbsolute, newSegments);
+ return createNoClone(driveLetter, isAbsolute, newSegments);
}
/**
@@ -525,14 +543,14 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
int length = segments.length - ancestorLength;
String[] resultSegments = subarray(segments, ancestorLength, length);
- return new PathFragment('\0', false, resultSegments);
+ return createNoClone('\0', false, resultSegments);
}
/**
* Returns a relative path fragment to this path, relative to {@code path}.
*/
public PathFragment relativeTo(String path) {
- return relativeTo(new PathFragment(path));
+ return relativeTo(create(path));
}
/**
@@ -619,8 +637,11 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
toString(), beginIndex, endIndex));
}
boolean isAbsolute = (beginIndex == 0) && this.isAbsolute;
- return ((beginIndex == 0) && (endIndex == count)) ? this :
- new PathFragment(driveLetter, isAbsolute,
+ return ((beginIndex == 0) && (endIndex == count))
+ ? this
+ : createNoClone(
+ driveLetter,
+ isAbsolute,
subarray(segments, beginIndex, endIndex - beginIndex));
}
@@ -698,7 +719,7 @@ public final class PathFragment implements Comparable<PathFragment>, Serializabl
*/
public PathFragment toRelative() {
Preconditions.checkArgument(isAbsolute);
- return new PathFragment(driveLetter, false, segments);
+ return createNoClone(driveLetter, false, segments);
}
private boolean isEmpty() {
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/PathFragmentSerializationProxy.java b/src/main/java/com/google/devtools/build/lib/vfs/PathFragmentSerializationProxy.java
index 7e4a1f036f..39aefd1318 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/PathFragmentSerializationProxy.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/PathFragmentSerializationProxy.java
@@ -44,7 +44,7 @@ public final class PathFragmentSerializationProxy implements Externalizable {
}
private Object readResolve() {
- return new PathFragment(pathFragmentString);
+ return PathFragment.create(pathFragmentString);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/SearchPath.java b/src/main/java/com/google/devtools/build/lib/vfs/SearchPath.java
index 7f7d8c7ed2..764ed0ddfd 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/SearchPath.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/SearchPath.java
@@ -37,7 +37,7 @@ public class SearchPath {
return paths;
}
for (String p : SEPARATOR.split(searchPath)) {
- PathFragment pf = new PathFragment(p);
+ PathFragment pf = PathFragment.create(p);
if (pf.isAbsolute()) {
paths.add(fs.getPath(pf));
@@ -53,7 +53,7 @@ public class SearchPath {
*/
@Nullable
public static Path which(List<Path> searchPath, String exe) {
- PathFragment fragment = new PathFragment(exe);
+ PathFragment fragment = PathFragment.create(exe);
if (fragment.segmentCount() != 1 || fragment.isAbsolute()) {
return null;
}
diff --git a/src/main/java/com/google/devtools/build/lib/vfs/ZipFileSystem.java b/src/main/java/com/google/devtools/build/lib/vfs/ZipFileSystem.java
index d7ad308728..353a684a82 100644
--- a/src/main/java/com/google/devtools/build/lib/vfs/ZipFileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/vfs/ZipFileSystem.java
@@ -160,7 +160,7 @@ public class ZipFileSystem extends ReadonlyFileSystem implements Closeable {
private Collection<Path> populatePathTree() {
Collection<Path> paths = new ArrayList<>();
for (ZipEntry entry : Collections.list(zipFile.entries())) {
- PathFragment frag = new PathFragment(entry.getName());
+ PathFragment frag = PathFragment.create(entry.getName());
Path path = rootPath.getRelative(frag);
paths.add(path);
((ZipPath) path).setZipEntry(entry);
diff --git a/src/main/java/com/google/devtools/build/lib/windows/WindowsFileSystem.java b/src/main/java/com/google/devtools/build/lib/windows/WindowsFileSystem.java
index 710319f58e..77197d7c41 100644
--- a/src/main/java/com/google/devtools/build/lib/windows/WindowsFileSystem.java
+++ b/src/main/java/com/google/devtools/build/lib/windows/WindowsFileSystem.java
@@ -80,7 +80,7 @@ public class WindowsFileSystem extends JavaIoFileSystem {
// the path, except the last one, is already canonicalized, so we can return just that.
// Plus the returned value is passed to Path.getChild so we must not return a full
// path here.
- return new PathFragment(WindowsFileOperations.getLongPath(path)).getBaseName();
+ return PathFragment.create(WindowsFileOperations.getLongPath(path)).getBaseName();
} catch (IOException e) {
return null;
}
@@ -523,7 +523,7 @@ public class WindowsFileSystem extends JavaIoFileSystem {
}
path = path.trim();
- PathFragment result = new PathFragment(path);
+ PathFragment result = PathFragment.create(path);
if (path.isEmpty() || result.getDriveLetter() == '\0' || !result.isAbsolute()) {
return null;
} else {
diff --git a/src/main/java/com/google/devtools/build/lib/windows/WindowsSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/windows/WindowsSubprocessFactory.java
index 0632baca01..e85325dcaa 100644
--- a/src/main/java/com/google/devtools/build/lib/windows/WindowsSubprocessFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/windows/WindowsSubprocessFactory.java
@@ -76,7 +76,7 @@ public class WindowsSubprocessFactory implements Subprocess.Factory {
// Therefore if it's absolute, then normalize it also.
// If it's not absolute, then it cannot be longer than MAX_PATH, since MAX_PATH also limits the
// length of file names.
- PathFragment argv0fragment = new PathFragment(argv0);
+ PathFragment argv0fragment = PathFragment.create(argv0);
return (argv0fragment.isAbsolute())
? argv0fragment.normalize().getPathString().replace('/', '\\')
: argv0;
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java b/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
index c0bec56609..40c0f94771 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ArtifactFactoryTest.java
@@ -83,15 +83,15 @@ public class ArtifactFactoryTest {
alienRoot = Root.asSourceRoot(scratch.dir("/client/workspace"));
outRoot = Root.asDerivedRoot(execRoot, execRoot.getRelative("out-root/x/bin"));
- fooPath = new PathFragment("foo");
+ fooPath = PathFragment.create("foo");
fooPackage = PackageIdentifier.createInMainRepo(fooPath);
fooRelative = fooPath.getRelative("foosource.txt");
- barPath = new PathFragment("foo/bar");
+ barPath = PathFragment.create("foo/bar");
barPackage = PackageIdentifier.createInMainRepo(barPath);
barRelative = barPath.getRelative("barsource.txt");
- alienPath = new PathFragment("external/alien");
+ alienPath = PathFragment.create("external/alien");
alienPackage = PackageIdentifier.create("@alien", alienPath);
alienRelative = alienPath.getRelative("alien.txt");
@@ -116,7 +116,7 @@ public class ArtifactFactoryTest {
@Test
public void testGetSourceArtifactUnnormalized() throws Exception {
assertSame(artifactFactory.getSourceArtifact(fooRelative, clientRoot),
- artifactFactory.getSourceArtifact(new PathFragment("foo/./foosource.txt"),
+ artifactFactory.getSourceArtifact(PathFragment.create("foo/./foosource.txt"),
clientRoot));
}
@@ -156,11 +156,11 @@ public class ArtifactFactoryTest {
// We need a package in the root directory to make every exec path (even one with up-level
// references) be in a package.
Map<PackageIdentifier, Root> packageRoots = ImmutableMap.of(
- PackageIdentifier.createInMainRepo(new PathFragment("")), clientRoot);
+ PackageIdentifier.createInMainRepo(PathFragment.create("")), clientRoot);
artifactFactory.setPackageRoots(packageRoots);
- PathFragment outsideWorkspace = new PathFragment("../foo");
+ PathFragment outsideWorkspace = PathFragment.create("../foo");
PathFragment insideWorkspace =
- new PathFragment("../" + clientRoot.getPath().getBaseName() + "/foo");
+ PathFragment.create("../" + clientRoot.getPath().getBaseName() + "/foo");
assertNull(artifactFactory.resolveSourceArtifact(outsideWorkspace, MAIN));
assertNull("Up-level-containing paths that descend into the right workspace aren't allowed",
artifactFactory.resolveSourceArtifact(insideWorkspace, MAIN));
@@ -186,7 +186,7 @@ public class ArtifactFactoryTest {
public void testFindDerivedRoot() throws Exception {
assertThat(artifactFactory.isDerivedArtifact(fooRelative)).isFalse();
assertThat(artifactFactory.isDerivedArtifact(
- new PathFragment("bazel-out/local-fastbuild/bin/foo"))).isTrue();
+ PathFragment.create("bazel-out/local-fastbuild/bin/foo"))).isTrue();
}
@Test
@@ -210,7 +210,7 @@ public class ArtifactFactoryTest {
@Test
public void testGetDerivedArtifact() throws Exception {
- PathFragment toolPath = new PathFragment("_bin/tool");
+ PathFragment toolPath = PathFragment.create("_bin/tool");
Artifact artifact = artifactFactory.getDerivedArtifact(toolPath, execRoot);
assertEquals(toolPath, artifact.getExecPath());
assertEquals(Root.asDerivedRoot(execRoot), artifact.getRoot());
@@ -221,7 +221,7 @@ public class ArtifactFactoryTest {
@Test
public void testGetDerivedArtifactFailsForAbsolutePath() throws Exception {
try {
- artifactFactory.getDerivedArtifact(new PathFragment("/_bin/b"), execRoot);
+ artifactFactory.getDerivedArtifact(PathFragment.create("/_bin/b"), execRoot);
fail();
} catch (IllegalArgumentException e) {
// Expected exception
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
index 81b64b2b40..b7bb9d1ae8 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ArtifactTest.java
@@ -66,8 +66,8 @@ public class ArtifactTest {
@Test
public void testEquivalenceRelation() throws Exception {
- PathFragment aPath = new PathFragment("src/a");
- PathFragment bPath = new PathFragment("src/b");
+ PathFragment aPath = PathFragment.create("src/a");
+ PathFragment bPath = PathFragment.create("src/b");
assertEquals(new Artifact(aPath, rootDir),
new Artifact(aPath, rootDir));
assertEquals(new Artifact(bPath, rootDir),
@@ -78,14 +78,14 @@ public class ArtifactTest {
@Test
public void testEmptyLabelIsNone() throws Exception {
- Artifact artifact = new Artifact(new PathFragment("src/a"), rootDir);
+ Artifact artifact = new Artifact(PathFragment.create("src/a"), rootDir);
assertThat(artifact.getOwnerLabel()).isNull();
}
@Test
public void testComparison() throws Exception {
- PathFragment aPath = new PathFragment("src/a");
- PathFragment bPath = new PathFragment("src/b");
+ PathFragment aPath = PathFragment.create("src/a");
+ PathFragment bPath = PathFragment.create("src/b");
Artifact aArtifact = new Artifact(aPath, rootDir);
Artifact bArtifact = new Artifact(bPath, rootDir);
assertEquals(-1, Artifact.EXEC_PATH_COMPARATOR.compare(aArtifact, bArtifact));
@@ -165,7 +165,7 @@ public class ArtifactTest {
Artifact aHeader1 = new Artifact(scratch.file("/foo/bar1.h"), root);
Artifact aHeader2 = new Artifact(scratch.file("/foo/bar2.h"), root);
Artifact aHeader3 = new Artifact(scratch.file("/foo/bar3.h"), root);
- Artifact middleman = new Artifact(new PathFragment("middleman"),
+ Artifact middleman = new Artifact(PathFragment.create("middleman"),
Root.middlemanRoot(scratch.dir("/foo"), scratch.dir("/foo/out")));
actionGraph.registerAction(new MiddlemanAction(ActionsTestUtil.NULL_ACTION_OWNER,
ImmutableList.of(aHeader1, aHeader2, aHeader3), middleman, "desc",
@@ -198,10 +198,10 @@ public class ArtifactTest {
Artifact.addExpandedExecPaths(getFooBarArtifacts(actionGraph, true), paths,
ActionInputHelper.actionGraphArtifactExpander(actionGraph));
assertThat(paths).containsExactly(
- new PathFragment("bar1.h"),
- new PathFragment("bar1.h"),
- new PathFragment("bar2.h"),
- new PathFragment("bar3.h"));
+ PathFragment.create("bar1.h"),
+ PathFragment.create("bar1.h"),
+ PathFragment.create("bar2.h"),
+ PathFragment.create("bar3.h"));
}
@Test
@@ -248,10 +248,10 @@ public class ArtifactTest {
Artifact.addExpandedExecPaths(getFooBarArtifacts(actionGraph, true), paths,
ActionInputHelper.actionGraphArtifactExpander(actionGraph));
assertThat(paths).containsExactly(
- new PathFragment("bar1.h"),
- new PathFragment("bar1.h"),
- new PathFragment("bar2.h"),
- new PathFragment("bar3.h"));
+ PathFragment.create("bar1.h"),
+ PathFragment.create("bar1.h"),
+ PathFragment.create("bar2.h"),
+ PathFragment.create("bar3.h"));
}
// TODO consider tests for the future
@@ -285,7 +285,7 @@ public class ArtifactTest {
@Test
public void testToDetailString() throws Exception {
Artifact a = new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(scratch.dir("/a/b")),
- new PathFragment("b/c"));
+ PathFragment.create("b/c"));
assertEquals("[[/a]b]c", a.toDetailString());
}
@@ -293,7 +293,7 @@ public class ArtifactTest {
public void testWeirdArtifact() throws Exception {
try {
new Artifact(scratch.file("/a/b/c"), Root.asDerivedRoot(scratch.dir("/a")),
- new PathFragment("c"));
+ PathFragment.create("c"));
fail();
} catch (IllegalArgumentException e) {
assertThat(e).hasMessage(
@@ -312,7 +312,7 @@ public class ArtifactTest {
public void testSerializeToStringWithExecPath() throws Exception {
Path path = scratch.file("/aaa/bbb/ccc");
Root root = Root.asDerivedRoot(scratch.dir("/aaa/bbb"));
- PathFragment execPath = new PathFragment("bbb/ccc");
+ PathFragment execPath = PathFragment.create("bbb/ccc");
assertEquals("bbb/ccc /3", new Artifact(path, root, execPath).serializeToString());
}
@@ -321,7 +321,7 @@ public class ArtifactTest {
public void testSerializeToStringWithOwner() throws Exception {
assertEquals("b/c /3 //foo:bar",
new Artifact(scratch.file("/aa/b/c"), Root.asDerivedRoot(scratch.dir("/aa")),
- new PathFragment("b/c"),
+ PathFragment.create("b/c"),
new LabelArtifactOwner(Label.parseAbsoluteUnchecked("//foo:bar"))).serializeToString());
}
@@ -353,7 +353,7 @@ public class ArtifactTest {
public void testIsSourceArtifact() throws Exception {
assertThat(
new Artifact(scratch.file("/src/foo.cc"), Root.asSourceRoot(scratch.dir("/")),
- new PathFragment("src/foo.cc"))
+ PathFragment.create("src/foo.cc"))
.isSourceArtifact())
.isTrue();
assertThat(
diff --git a/src/test/java/com/google/devtools/build/lib/actions/BaseSpawnTest.java b/src/test/java/com/google/devtools/build/lib/actions/BaseSpawnTest.java
index 7f339dcb56..0c1b0f5fc1 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/BaseSpawnTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/BaseSpawnTest.java
@@ -44,7 +44,7 @@ public class BaseSpawnTest {
final String runfilesDir = "runfilesdir";
BaseSpawn underTest = minimalBaseSpawn(
baseEnviron,
- new RunfilesSupplierImpl(new PathFragment(runfilesDir), Runfiles.EMPTY));
+ new RunfilesSupplierImpl(PathFragment.create(runfilesDir), Runfiles.EMPTY));
Map<String, String> expected = ImmutableMap.<String, String>builder()
.putAll(baseEnviron)
@@ -60,8 +60,8 @@ public class BaseSpawnTest {
Map<String, String> baseEnviron = ImmutableMap.of("HELLO", "world");
BaseSpawn underTest = minimalBaseSpawn(baseEnviron,
new CompositeRunfilesSupplier(
- new RunfilesSupplierImpl(new PathFragment("rfdir1"), Runfiles.EMPTY),
- new RunfilesSupplierImpl(new PathFragment("rfdir2"), Runfiles.EMPTY)));
+ new RunfilesSupplierImpl(PathFragment.create("rfdir1"), Runfiles.EMPTY),
+ new RunfilesSupplierImpl(PathFragment.create("rfdir2"), Runfiles.EMPTY)));
assertThat(underTest.getEnvironment()).isEqualTo(baseEnviron);
}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java b/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
index 507fc8bcac..559deb12ef 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplierTest.java
@@ -61,9 +61,9 @@ public class CompositeRunfilesSupplierTest {
@Test
public void testGetRunfilesDirsReturnsCombinedPaths() {
- PathFragment first = new PathFragment("first");
- PathFragment second = new PathFragment("second");
- PathFragment shared = new PathFragment("shared");
+ PathFragment first = PathFragment.create("first");
+ PathFragment second = PathFragment.create("second");
+ PathFragment shared = PathFragment.create("shared");
when(mockFirst.getRunfilesDirs()).thenReturn(ImmutableSet.of(first, shared));
when(mockSecond.getRunfilesDirs()).thenReturn(ImmutableSet.of(second, shared));
@@ -75,13 +75,13 @@ public class CompositeRunfilesSupplierTest {
@Test
public void testGetMappingsReturnsMappingsWithFirstPrecedenceOverSecond() throws IOException {
- PathFragment first = new PathFragment("first");
+ PathFragment first = PathFragment.create("first");
Map<PathFragment, Artifact> firstMappings = mkMappings(rootDir, "first1", "first2");
- PathFragment second = new PathFragment("second");
+ PathFragment second = PathFragment.create("second");
Map<PathFragment, Artifact> secondMappings = mkMappings(rootDir, "second1", "second2");
- PathFragment shared = new PathFragment("shared");
+ PathFragment shared = PathFragment.create("shared");
Map<PathFragment, Artifact> firstSharedMappings = mkMappings(rootDir, "shared1", "shared2");
Map<PathFragment, Artifact> secondSharedMappings = mkMappings(rootDir, "lost1", "lost2");
@@ -103,13 +103,13 @@ public class CompositeRunfilesSupplierTest {
@Test
public void testGetMappingsViaListConstructorReturnsMappingsWithFirstPrecedenceOverSecond()
throws IOException {
- PathFragment first = new PathFragment("first");
+ PathFragment first = PathFragment.create("first");
Map<PathFragment, Artifact> firstMappings = mkMappings(rootDir, "first1", "first2");
- PathFragment second = new PathFragment("second");
+ PathFragment second = PathFragment.create("second");
Map<PathFragment, Artifact> secondMappings = mkMappings(rootDir, "second1", "second2");
- PathFragment shared = new PathFragment("shared");
+ PathFragment shared = PathFragment.create("shared");
Map<PathFragment, Artifact> firstSharedMappings = mkMappings(rootDir, "shared1", "shared2");
Map<PathFragment, Artifact> secondSharedMappings = mkMappings(rootDir, "lost1", "lost2");
@@ -132,13 +132,13 @@ public class CompositeRunfilesSupplierTest {
private static Map<PathFragment, Artifact> mkMappings(Root rootDir, String... paths) {
ImmutableMap.Builder<PathFragment, Artifact> builder = ImmutableMap.builder();
for (String path : paths) {
- builder.put(new PathFragment(path), mkArtifact(rootDir, path));
+ builder.put(PathFragment.create(path), mkArtifact(rootDir, path));
}
return builder.build();
}
private static Artifact mkArtifact(Root rootDir, String path) {
- return new Artifact(new PathFragment(path), rootDir);
+ return new Artifact(PathFragment.create(path), rootDir);
}
private static List<Artifact> mkArtifacts(Root rootDir, String... paths) {
diff --git a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
index 21b4b30f45..c0a808e921 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java
@@ -273,7 +273,7 @@ public class CustomCommandLineTest {
}
private Artifact createTreeArtifact(String rootRelativePath) {
- PathFragment relpath = new PathFragment(rootRelativePath);
+ PathFragment relpath = PathFragment.create(rootRelativePath);
return new SpecialArtifact(
rootDir.getPath().getRelative(relpath),
rootDir,
@@ -286,6 +286,6 @@ public class CustomCommandLineTest {
Artifact inputTreeArtifact, String parentRelativePath) {
return ActionInputHelper.treeFileArtifact(
inputTreeArtifact,
- new PathFragment(parentRelativePath));
+ PathFragment.create(parentRelativePath));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/RootTest.java b/src/test/java/com/google/devtools/build/lib/actions/RootTest.java
index 26f0ef0c99..92b0567699 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/RootTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/RootTest.java
@@ -62,7 +62,7 @@ public class RootTest {
Path rootDir = scratch.dir("/exec/root");
Root root = Root.asDerivedRoot(execRoot, rootDir);
assertFalse(root.isSourceRoot());
- assertEquals(new PathFragment("root"), root.getExecPath());
+ assertEquals(PathFragment.create("root"), root.getExecPath());
assertEquals(rootDir, root.getPath());
assertEquals("/exec/root[derived]", root.toString());
}
diff --git a/src/test/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCacheTest.java b/src/test/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCacheTest.java
index 479e152c17..b731f6f69d 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCacheTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCacheTest.java
@@ -167,7 +167,7 @@ public class CompactPersistentActionCacheTest {
ActionCache.Entry entry =
new ActionCache.Entry("actionKey", ImmutableMap.<String, String>of(), false);
entry.toString();
- entry.addFile(new PathFragment("foo/bar"), Metadata.CONSTANT_METADATA);
+ entry.addFile(PathFragment.create("foo/bar"), Metadata.CONSTANT_METADATA);
entry.toString();
entry.getFileDigest();
entry.toString();
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
index 24d321c182..cbf98e12ea 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
@@ -192,7 +192,7 @@ public final class ActionsTestUtil {
}
public static final Artifact DUMMY_ARTIFACT = new Artifact(
- new PathFragment("dummy"),
+ PathFragment.create("dummy"),
Root.asSourceRoot(new InMemoryFileSystem().getRootDirectory()));
public static final ActionOwner NULL_ACTION_OWNER =
@@ -549,7 +549,7 @@ public final class ActionsTestUtil {
Artifact inputTreeArtifact, Artifact outputTreeArtifact) {
return new SpawnActionTemplate.Builder(inputTreeArtifact, outputTreeArtifact)
.setCommandLineTemplate(CustomCommandLine.builder().build())
- .setExecutable(new PathFragment("bin/executable"))
+ .setExecutable(PathFragment.create("bin/executable"))
.setOutputPathMapper(new OutputPathMapper() {
@Override
public PathFragment parentRelativeOutputPath(TreeFileArtifact inputTreeFileArtifact) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 3bf92ec39d..106ccd119c 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -162,7 +162,7 @@ public class BuildViewTest extends BuildViewTestBase {
outputArtifact.getRoot());
assertEquals(outputCT.getConfiguration().getBinFragment().getRelative("pkg/a.out"),
outputArtifact.getExecPath());
- assertEquals(new PathFragment("pkg/a.out"), outputArtifact.getRootRelativePath());
+ assertEquals(PathFragment.create("pkg/a.out"), outputArtifact.getRootRelativePath());
Action action = getGeneratingAction(outputArtifact);
assertSame(FailAction.class, action.getClass());
@@ -775,9 +775,9 @@ public class BuildViewTest extends BuildViewTestBase {
Path cycles2BuildFilePath = scratch.file("cycles2/BUILD",
"sh_library(name = 'cycles2', srcs = glob(['*.sh']))");
cycles1BuildFilePath.getParentDirectory().getRelative("cycles1.sh").createSymbolicLink(
- new PathFragment("cycles1.sh"));
+ PathFragment.create("cycles1.sh"));
cycles2BuildFilePath.getParentDirectory().getRelative("cycles2.sh").createSymbolicLink(
- new PathFragment("cycles2.sh"));
+ PathFragment.create("cycles2.sh"));
reporter.removeHandler(failFastHandler);
EventBus eventBus = new EventBus();
LoadingFailureRecorder recorder = new LoadingFailureRecorder();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
index 0234699c28..e54ddc3e25 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
@@ -52,7 +52,7 @@ public class RunfilesSupplierImplTest {
List<Artifact> artifacts = mkArtifacts(rootDir, "thing1", "thing2");
RunfilesSupplierImpl underTest =
- new RunfilesSupplierImpl(new PathFragment("notimportant"), mkRunfiles(artifacts));
+ new RunfilesSupplierImpl(PathFragment.create("notimportant"), mkRunfiles(artifacts));
assertThat(underTest.getArtifacts()).containsExactlyElementsIn(artifacts);
}
@@ -60,11 +60,11 @@ public class RunfilesSupplierImplTest {
@Test
public void testGetArtifactsFilterMiddlemen() {
List<Artifact> artifacts = mkArtifacts(rootDir, "thing1", "thing2");
- Artifact middleman = new Artifact(new PathFragment("middleman"), middlemanRoot);
+ Artifact middleman = new Artifact(PathFragment.create("middleman"), middlemanRoot);
Runfiles runfiles = mkRunfiles(Iterables.concat(artifacts, ImmutableList.of(middleman)));
RunfilesSupplier underTest =
- new RunfilesSupplierImpl(new PathFragment("notimportant"), runfiles);
+ new RunfilesSupplierImpl(PathFragment.create("notimportant"), runfiles);
assertThat(underTest.getArtifacts()).containsExactlyElementsIn(artifacts);
}
@@ -72,15 +72,15 @@ public class RunfilesSupplierImplTest {
@Test
public void testGetManifestsWhenNone() {
RunfilesSupplier underTest =
- new RunfilesSupplierImpl(new PathFragment("ignored"), Runfiles.EMPTY, null);
+ new RunfilesSupplierImpl(PathFragment.create("ignored"), Runfiles.EMPTY, null);
assertThat(underTest.getManifests()).isEmpty();
}
@Test
public void testGetManifestsWhenSupplied() {
- Artifact manifest = new Artifact(new PathFragment("manifest"), rootDir);
+ Artifact manifest = new Artifact(PathFragment.create("manifest"), rootDir);
RunfilesSupplier underTest =
- new RunfilesSupplierImpl(new PathFragment("ignored"), Runfiles.EMPTY, manifest);
+ new RunfilesSupplierImpl(PathFragment.create("ignored"), Runfiles.EMPTY, manifest);
assertThat(underTest.getManifests()).containsExactly(manifest);
}
@@ -91,7 +91,7 @@ public class RunfilesSupplierImplTest {
private static List<Artifact> mkArtifacts(Root rootDir, String... paths) {
ImmutableList.Builder<Artifact> builder = ImmutableList.builder();
for (String path : paths) {
- builder.add(new Artifact(new PathFragment(path), rootDir));
+ builder.add(new Artifact(PathFragment.create(path), rootDir));
}
return builder.build();
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
index f6d1509bb1..41f543642b 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
@@ -50,11 +50,11 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testFilterListForObscuringSymlinksCatchesBadObscurer() throws Exception {
Map<PathFragment, Artifact> obscuringMap = new HashMap<>();
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a"), root);
+ Artifact artifactA = new Artifact(PathFragment.create("a"), root);
obscuringMap.put(pathA, artifactA);
- obscuringMap.put(new PathFragment("a/b"), new Artifact(new PathFragment("c/b"),
+ obscuringMap.put(PathFragment.create("a/b"), new Artifact(PathFragment.create("c/b"),
root));
assertThat(Runfiles.filterListForObscuringSymlinks(reporter, null, obscuringMap).entrySet())
.containsExactly(Maps.immutableEntry(pathA, artifactA)).inOrder();
@@ -64,12 +64,12 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testFilterListForObscuringSymlinksCatchesBadGrandParentObscurer() throws Exception {
Map<PathFragment, Artifact> obscuringMap = new HashMap<>();
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a"),
+ Artifact artifactA = new Artifact(PathFragment.create("a"),
root);
obscuringMap.put(pathA, artifactA);
- obscuringMap.put(new PathFragment("a/b/c"), new Artifact(new PathFragment("b/c"),
+ obscuringMap.put(PathFragment.create("a/b/c"), new Artifact(PathFragment.create("b/c"),
root));
assertThat(Runfiles.filterListForObscuringSymlinks(reporter, null, obscuringMap).entrySet())
.containsExactly(Maps.immutableEntry(pathA, artifactA)).inOrder();
@@ -79,12 +79,12 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testFilterListForObscuringSymlinksCatchesBadObscurerNoListener() throws Exception {
Map<PathFragment, Artifact> obscuringMap = new HashMap<>();
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a"),
+ Artifact artifactA = new Artifact(PathFragment.create("a"),
root);
obscuringMap.put(pathA, artifactA);
- obscuringMap.put(new PathFragment("a/b"), new Artifact(new PathFragment("c/b"),
+ obscuringMap.put(PathFragment.create("a/b"), new Artifact(PathFragment.create("c/b"),
root));
assertThat(Runfiles.filterListForObscuringSymlinks(null, null, obscuringMap).entrySet())
.containsExactly(Maps.immutableEntry(pathA, artifactA)).inOrder();
@@ -93,12 +93,12 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testFilterListForObscuringSymlinksIgnoresOkObscurer() throws Exception {
Map<PathFragment, Artifact> obscuringMap = new HashMap<>();
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a"),
+ Artifact artifactA = new Artifact(PathFragment.create("a"),
root);
obscuringMap.put(pathA, artifactA);
- obscuringMap.put(new PathFragment("a/b"), new Artifact(new PathFragment("a/b"),
+ obscuringMap.put(PathFragment.create("a/b"), new Artifact(PathFragment.create("a/b"),
root));
assertThat(Runfiles.filterListForObscuringSymlinks(reporter, null, obscuringMap).entrySet())
@@ -109,13 +109,13 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testFilterListForObscuringSymlinksNoObscurers() throws Exception {
Map<PathFragment, Artifact> obscuringMap = new HashMap<>();
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a"),
+ Artifact artifactA = new Artifact(PathFragment.create("a"),
root);
obscuringMap.put(pathA, artifactA);
- PathFragment pathBC = new PathFragment("b/c");
- Artifact artifactBC = new Artifact(new PathFragment("a/b"),
+ PathFragment pathBC = PathFragment.create("b/c");
+ Artifact artifactBC = new Artifact(PathFragment.create("a/b"),
root);
obscuringMap.put(pathBC, artifactBC);
assertThat(Runfiles.filterListForObscuringSymlinks(reporter, null, obscuringMap)
@@ -139,9 +139,9 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutCatchesConflict() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
- Artifact artifactC = new Artifact(new PathFragment("c"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
+ Artifact artifactC = new Artifact(PathFragment.create("c"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -156,9 +156,9 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutReportsError() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
- Artifact artifactC = new Artifact(new PathFragment("c"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
+ Artifact artifactC = new Artifact(PathFragment.create("c"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
// Same as above but with ERROR not WARNING
@@ -174,8 +174,8 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutCatchesConflictBetweenNullAndNotNull() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -189,8 +189,8 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutCatchesConflictBetweenNotNullAndNull() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
// Same as above but opposite order
@@ -205,9 +205,9 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutIgnoresConflict() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
- Artifact artifactC = new Artifact(new PathFragment("c"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
+ Artifact artifactC = new Artifact(PathFragment.create("c"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -221,9 +221,9 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutIgnoresConflictNoListener() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
- Artifact artifactC = new Artifact(new PathFragment("c"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
+ Artifact artifactC = new Artifact(PathFragment.create("c"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -237,9 +237,9 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutIgnoresSameArtifact() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
- Artifact artifactB2 = new Artifact(new PathFragment("b"), root);
+ PathFragment pathA = PathFragment.create("a");
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
+ Artifact artifactB2 = new Artifact(PathFragment.create("b"), root);
assertEquals(artifactB, artifactB2);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
@@ -253,7 +253,7 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutIgnoresNullAndNull() {
- PathFragment pathA = new PathFragment("a");
+ PathFragment pathA = PathFragment.create("a");
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -268,11 +268,11 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testPutNoConflicts() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathA = new PathFragment("a");
- PathFragment pathB = new PathFragment("b");
- PathFragment pathC = new PathFragment("c");
- Artifact artifactA = new Artifact(new PathFragment("a"), root);
- Artifact artifactB = new Artifact(new PathFragment("b"), root);
+ PathFragment pathA = PathFragment.create("a");
+ PathFragment pathB = PathFragment.create("b");
+ PathFragment pathC = PathFragment.create("c");
+ Artifact artifactA = new Artifact(PathFragment.create("a"), root);
+ Artifact artifactB = new Artifact(PathFragment.create("b"), root);
Map<PathFragment, Artifact> map = new LinkedHashMap<>();
Runfiles.ConflictChecker checker =
@@ -322,8 +322,8 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testLegacyRunfilesStructure() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment workspaceName = new PathFragment("wsname");
- PathFragment pathB = new PathFragment("external/repo/b");
+ PathFragment workspaceName = PathFragment.create("wsname");
+ PathFragment pathB = PathFragment.create("external/repo/b");
Artifact artifactB = new Artifact(pathB, root);
Runfiles.ManifestBuilder builder = new Runfiles.ManifestBuilder(workspaceName, true);
@@ -336,15 +336,15 @@ public class RunfilesTest extends FoundationTestCase {
assertThat(builder.build().entrySet()).containsExactly(
Maps.immutableEntry(workspaceName.getRelative(pathB), artifactB),
- Maps.immutableEntry(new PathFragment("repo/b"), artifactB));
+ Maps.immutableEntry(PathFragment.create("repo/b"), artifactB));
assertNoEvents();
}
@Test
public void testRunfileAdded() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment workspaceName = new PathFragment("wsname");
- PathFragment pathB = new PathFragment("external/repo/b");
+ PathFragment workspaceName = PathFragment.create("wsname");
+ PathFragment pathB = PathFragment.create("external/repo/b");
Artifact artifactB = new Artifact(pathB, root);
Runfiles.ManifestBuilder builder = new Runfiles.ManifestBuilder(workspaceName, false);
@@ -358,7 +358,7 @@ public class RunfilesTest extends FoundationTestCase {
assertThat(builder.build().entrySet()).containsExactly(
Maps.immutableEntry(workspaceName.getRelative(".runfile"), null),
- Maps.immutableEntry(new PathFragment("repo/b"), artifactB));
+ Maps.immutableEntry(PathFragment.create("repo/b"), artifactB));
assertNoEvents();
}
@@ -366,7 +366,7 @@ public class RunfilesTest extends FoundationTestCase {
@Test
public void testConflictWithExternal() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- PathFragment pathB = new PathFragment("repo/b");
+ PathFragment pathB = PathFragment.create("repo/b");
PathFragment externalPathB = Label.EXTERNAL_PACKAGE_NAME.getRelative(pathB);
Artifact artifactB = new Artifact(pathB, root);
Artifact artifactExternalB = new Artifact(externalPathB, root);
@@ -383,17 +383,17 @@ public class RunfilesTest extends FoundationTestCase {
builder.addUnderWorkspace(inputManifest, checker);
assertThat(builder.build().entrySet()).containsExactly(
- Maps.immutableEntry(new PathFragment("repo/b"), artifactExternalB));
+ Maps.immutableEntry(PathFragment.create("repo/b"), artifactExternalB));
checkConflictWarning();
}
@Test
public void testMergeWithSymlinks() {
Root root = Root.asSourceRoot(scratch.resolve("/workspace"));
- Artifact artifactA = new Artifact(new PathFragment("a/target"), root);
- Artifact artifactB = new Artifact(new PathFragment("b/target"), root);
- PathFragment sympathA = new PathFragment("a/symlink");
- PathFragment sympathB = new PathFragment("b/symlink");
+ Artifact artifactA = new Artifact(PathFragment.create("a/target"), root);
+ Artifact artifactB = new Artifact(PathFragment.create("b/target"), root);
+ PathFragment sympathA = PathFragment.create("a/symlink");
+ PathFragment sympathB = PathFragment.create("b/symlink");
Runfiles runfilesA = new Runfiles.Builder("TESTING")
.addSymlink(sympathA, artifactA)
.build();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/UtilTest.java b/src/test/java/com/google/devtools/build/lib/analysis/UtilTest.java
index 1bc67df998..9024942379 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/UtilTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/UtilTest.java
@@ -30,7 +30,7 @@ public class UtilTest {
@Test
public void testContainsHyphen() throws Exception {
- assertTrue(Util.containsHyphen(new PathFragment("foo/bar/with-hyphen")));
- assertFalse(Util.containsHyphen(new PathFragment("foo/bar/no/hyphen")));
+ assertTrue(Util.containsHyphen(PathFragment.create("foo/bar/with-hyphen")));
+ assertFalse(Util.containsHyphen(PathFragment.create("foo/bar/no/hyphen")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLineTest.java
index f065df9508..fb28f70d6e 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLineTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLineTest.java
@@ -32,7 +32,7 @@ public class CustomCommandLineTest extends BuildViewTestCase {
CustomCommandLine commandLine = new CustomCommandLine.Builder()
.add("foo")
.addBeforeEachPath(
- "-I", ImmutableList.of(new PathFragment("/path1"), new PathFragment("/path2")))
+ "-I", ImmutableList.of(PathFragment.create("/path1"), PathFragment.create("/path2")))
.add("bar")
.addBeforeEachPath("-I", ImmutableList.<PathFragment>of())
.add("baz")
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
index d35f103900..dbf57aedb8 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
@@ -102,7 +102,7 @@ public class ParamFileWriteActionTest extends BuildViewTestCase {
}
private Artifact createTreeArtifact(String rootRelativePath) {
- PathFragment relpath = new PathFragment(rootRelativePath);
+ PathFragment relpath = PathFragment.create(rootRelativePath);
return new SpecialArtifact(
rootDir.getPath().getRelative(relpath),
rootDir,
@@ -115,7 +115,7 @@ public class ParamFileWriteActionTest extends BuildViewTestCase {
Artifact inputTreeArtifact, String parentRelativePath) {
return ActionInputHelper.treeFileArtifact(
inputTreeArtifact,
- new PathFragment(parentRelativePath));
+ PathFragment.create(parentRelativePath));
}
private ParameterFileWriteAction createParameterFileWriteAction(
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
index a221496dab..19261f2b52 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
@@ -325,7 +325,7 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase {
}
private Artifact createTreeArtifact(String rootRelativePath) {
- PathFragment relpath = new PathFragment(rootRelativePath);
+ PathFragment relpath = PathFragment.create(rootRelativePath);
return new SpecialArtifact(
root.getPath().getRelative(relpath),
root,
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
index 5d45da697a..09c6b0d701 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
@@ -92,7 +92,7 @@ public class SpawnActionTemplateTest {
Artifact outputTreeArtifact = createOutputTreeArtifact();
SpawnActionTemplate.Builder builder = builder(inputTreeArtifact, outputTreeArtifact)
.setExecutionInfo(ImmutableMap.<String, String>of("local", ""))
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setCommandLineTemplate(
createSimpleCommandLineTemplate(inputTreeArtifact, outputTreeArtifact))
.setMnemonics("ActionTemplate", "ExpandedAction");
@@ -127,7 +127,7 @@ public class SpawnActionTemplateTest {
SpawnActionTemplate.Builder builder = builder(inputTreeArtifact, outputTreeArtifact)
.setExecutionInfo(ImmutableMap.<String, String>of("local", ""))
.setOutputPathMapper(IDENTITY_MAPPER)
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setMnemonics("ActionTemplate", "ExpandedAction");
try {
@@ -155,10 +155,10 @@ public class SpawnActionTemplateTest {
String baseName = String.format("child%d", i);
assertThat(expandedActions.get(i).getInputs()).containsExactly(
ActionInputHelper.treeFileArtifact(
- inputTreeArtifact, new PathFragment("children/" + baseName)));
+ inputTreeArtifact, PathFragment.create("children/" + baseName)));
assertThat(expandedActions.get(i).getOutputs()).containsExactly(
ActionInputHelper.treeFileArtifact(
- outputTreeArtifact, new PathFragment("children/" + baseName)));
+ outputTreeArtifact, PathFragment.create("children/" + baseName)));
}
}
@@ -247,14 +247,14 @@ public class SpawnActionTemplateTest {
createInputTreeFileArtifacts(inputTreeArtifact);
SpawnActionTemplate.Builder builder = builder(inputTreeArtifact, outputTreeArtifact)
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setCommandLineTemplate(
createSimpleCommandLineTemplate(inputTreeArtifact, outputTreeArtifact));
OutputPathMapper mapper = new OutputPathMapper() {
@Override
public PathFragment parentRelativeOutputPath(TreeFileArtifact inputTreeFileArtifact) {
- return new PathFragment("//absolute/" + inputTreeFileArtifact.getParentRelativePath());
+ return PathFragment.create("//absolute/" + inputTreeFileArtifact.getParentRelativePath());
}
};
@@ -272,7 +272,7 @@ public class SpawnActionTemplateTest {
mapper = new OutputPathMapper() {
@Override
public PathFragment parentRelativeOutputPath(TreeFileArtifact inputTreeFileArtifact) {
- return new PathFragment("../" + inputTreeFileArtifact.getParentRelativePath());
+ return PathFragment.create("../" + inputTreeFileArtifact.getParentRelativePath());
}
};
@@ -300,7 +300,7 @@ public class SpawnActionTemplateTest {
return builder(inputTreeArtifact, outputTreeArtifact)
.setExecutionInfo(ImmutableMap.<String, String>of("local", ""))
.setEnvironment(ImmutableMap.<String, String>of("env", "value"))
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setCommandLineTemplate(
createSimpleCommandLineTemplate(inputTreeArtifact, outputTreeArtifact))
.setOutputPathMapper(IDENTITY_MAPPER)
@@ -317,7 +317,7 @@ public class SpawnActionTemplateTest {
}
private Artifact createTreeArtifact(String rootRelativePath) {
- PathFragment relpath = new PathFragment(rootRelativePath);
+ PathFragment relpath = PathFragment.create(rootRelativePath);
return new SpecialArtifact(
root.getPath().getRelative(relpath),
root,
@@ -327,7 +327,7 @@ public class SpawnActionTemplateTest {
}
private Artifact createDerivedArtifact(String rootRelativePath) {
- return new Artifact(new PathFragment(rootRelativePath), root);
+ return new Artifact(PathFragment.create(rootRelativePath), root);
}
private CustomCommandLine createSimpleCommandLineTemplate(
@@ -342,8 +342,8 @@ public class SpawnActionTemplateTest {
return ActionInputHelper.asTreeFileArtifacts(
inputTreeArtifact,
ImmutableList.of(
- new PathFragment("children/child0"),
- new PathFragment("children/child1"),
- new PathFragment("children/child2")));
+ PathFragment.create("children/child0"),
+ PathFragment.create("children/child1"),
+ PathFragment.create("children/child2")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
index 8aef0e6bed..8629684b75 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
@@ -77,7 +77,7 @@ public class SpawnActionTest extends BuildViewTestCase {
}
private SpawnAction createCopyFromWelcomeToDestination(Map<String, String> environmentVariables) {
- PathFragment cp = new PathFragment("/bin/cp");
+ PathFragment cp = PathFragment.create("/bin/cp");
List<String> arguments = asList(welcomeArtifact.getExecPath().getPathString(),
destinationArtifact.getExecPath().getPathString());
@@ -275,7 +275,7 @@ public class SpawnActionTest extends BuildViewTestCase {
Artifact output1 = getBinArtifactWithNoOwner("output1");
Artifact output2 = getBinArtifactWithNoOwner("output2");
Artifact paramFile = getBinArtifactWithNoOwner("output1-2.params");
- PathFragment executable = new PathFragment("/bin/executable");
+ PathFragment executable = PathFragment.create("/bin/executable");
useConfiguration("--min_param_file_size=500");
@@ -353,7 +353,7 @@ public class SpawnActionTest extends BuildViewTestCase {
Action[] actions = builder()
.addInput(manifest)
.addRunfilesSupplier(
- new RunfilesSupplierImpl(new PathFragment("destination"), Runfiles.EMPTY, manifest))
+ new RunfilesSupplierImpl(PathFragment.create("destination"), Runfiles.EMPTY, manifest))
.addOutput(getBinArtifactWithNoOwner("output"))
.setExecutable(scratch.file("/bin/xxx").asFragment())
.setProgressMessage("Test")
@@ -385,15 +385,15 @@ public class SpawnActionTest extends BuildViewTestCase {
builder.setMnemonic((i & 4) == 0 ? "a" : "b");
if ((i & 8) == 0) {
- builder.addRunfilesSupplier(runfilesSupplier(artifactA, new PathFragment("a")));
+ builder.addRunfilesSupplier(runfilesSupplier(artifactA, PathFragment.create("a")));
} else {
- builder.addRunfilesSupplier(runfilesSupplier(artifactB, new PathFragment("a")));
+ builder.addRunfilesSupplier(runfilesSupplier(artifactB, PathFragment.create("a")));
}
if ((i & 16) == 0) {
- builder.addRunfilesSupplier(runfilesSupplier(artifactA, new PathFragment("aa")));
+ builder.addRunfilesSupplier(runfilesSupplier(artifactA, PathFragment.create("aa")));
} else {
- builder.addRunfilesSupplier(runfilesSupplier(artifactA, new PathFragment("ab")));
+ builder.addRunfilesSupplier(runfilesSupplier(artifactA, PathFragment.create("ab")));
}
Map<String, String> env = new HashMap<>();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
index f821e467a7..eb25ec3318 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
@@ -277,10 +277,10 @@ public final class AnalysisTestUtil {
ArtifactFactory artifactFactory, ArtifactOwner artifactOwner, Supplier<UUID> buildId,
String workspaceName) {
Artifact stableStatus = artifactFactory.getDerivedArtifact(
- new PathFragment("build-info.txt"),
+ PathFragment.create("build-info.txt"),
directories.getBuildDataDirectory(workspaceName), artifactOwner);
Artifact volatileStatus = artifactFactory.getConstantMetadataArtifact(
- new PathFragment("build-changelist.txt"),
+ PathFragment.create("build-changelist.txt"),
directories.getBuildDataDirectory(workspaceName), artifactOwner);
return new DummyWorkspaceStatusAction(key, stableStatus, volatileStatus);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestBase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestBase.java
index d8acbcffc9..184ba7d6fc 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestBase.java
@@ -107,7 +107,7 @@ public abstract class BuildViewTestBase extends AnalysisTestCase {
Path symlinkcycleBuildFile = scratch.file("symlinkcycle/BUILD",
"sh_library(name = 'cycle', srcs = glob(['*.sh']))");
Path dirPath = symlinkcycleBuildFile.getParentDirectory();
- dirPath.getRelative("foo.sh").createSymbolicLink(new PathFragment("foo.sh"));
+ dirPath.getRelative("foo.sh").createSymbolicLink(PathFragment.create("foo.sh"));
scratch.file("okaypkg/BUILD",
"sh_library(name = 'transitively-a-cycle',",
" srcs = ['//symlinkcycle:cycle'])");
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 576a312c85..47a59a4d86 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -773,7 +773,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
}
skyframeExecutor.invalidateFilesUnderPathForTesting(
reporter,
- new ModifiedFileSet.Builder().modify(new PathFragment(buildFilePathString)).build(),
+ new ModifiedFileSet.Builder().modify(PathFragment.create(buildFilePathString)).build(),
rootDirectory);
return (Rule) getTarget("//" + packageName + ":" + ruleName);
}
@@ -924,7 +924,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
}
protected Artifact getSourceArtifact(String name) {
- return getSourceArtifact(new PathFragment(name), Root.asSourceRoot(rootDirectory));
+ return getSourceArtifact(PathFragment.create(name), Root.asSourceRoot(rootDirectory));
}
/**
@@ -959,7 +959,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
* used instead.
*/
protected Artifact getBinArtifactWithNoOwner(String rootRelativePath) {
- return getDerivedArtifact(new PathFragment(rootRelativePath),
+ return getDerivedArtifact(PathFragment.create(rootRelativePath),
targetConfig.getBinDirectory(RepositoryName.MAIN),
ActionsTestUtil.NULL_ARTIFACT_OWNER);
}
@@ -1037,7 +1037,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
* #getGenfilesArtifact(String, ArtifactOwner)} or its convenience methods should be used instead.
*/
protected Artifact getGenfilesArtifactWithNoOwner(String rootRelativePath) {
- return getDerivedArtifact(new PathFragment(rootRelativePath),
+ return getDerivedArtifact(PathFragment.create(rootRelativePath),
targetConfig.getGenfilesDirectory(RepositoryName.MAIN),
ActionsTestUtil.NULL_ARTIFACT_OWNER);
}
@@ -1150,7 +1150,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
* @param owner the artifact's owner.
*/
protected Artifact getSharedArtifact(String rootRelativePath, ConfiguredTarget owner) {
- return getDerivedArtifact(new PathFragment(rootRelativePath),
+ return getDerivedArtifact(PathFragment.create(rootRelativePath),
targetConfig.getBinDirectory(RepositoryName.MAIN),
new ConfiguredTargetKey(owner));
}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
index f3ab3f1b8d..d2ca3ac072 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
@@ -35,7 +35,7 @@ public class StripPrefixedPathTest {
@Test
public void testStrip() {
StripPrefixedPath result = StripPrefixedPath.maybeDeprefix("foo/bar", Optional.of("foo"));
- assertEquals(result.getPathFragment(), new PathFragment("bar"));
+ assertEquals(result.getPathFragment(), PathFragment.create("bar"));
assertTrue(result.foundPrefix());
assertFalse(result.skip());
@@ -53,13 +53,13 @@ public class StripPrefixedPathTest {
public void testAbsolute() {
StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
"/foo/bar", Optional.<String>absent());
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("foo/bar"));
result = StripPrefixedPath.maybeDeprefix("///foo/bar/baz", Optional.<String>absent());
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar/baz"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("foo/bar/baz"));
result = StripPrefixedPath.maybeDeprefix("/foo/bar/baz", Optional.of("/foo"));
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("bar/baz"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("bar/baz"));
}
@Test
@@ -69,19 +69,19 @@ public class StripPrefixedPathTest {
}
StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
"c:/foo/bar", Optional.<String>absent());
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("foo/bar"));
}
@Test
public void testNormalize() {
StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
"../bar", Optional.<String>absent());
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("../bar"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("../bar"));
result = StripPrefixedPath.maybeDeprefix("foo/../baz", Optional.<String>absent());
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("baz"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("baz"));
result = StripPrefixedPath.maybeDeprefix("foo/../baz", Optional.of("foo"));
- assertThat(result.getPathFragment()).isEqualTo(new PathFragment("baz"));
+ assertThat(result.getPathFragment()).isEqualTo(PathFragment.create("baz"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java
index b5f18a79d7..7d323807d4 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/GenRuleConfiguredTargetTest.java
@@ -106,7 +106,7 @@ public class GenRuleConfiguredTargetTest extends BuildViewTestCase {
createFiles();
ConfiguredTarget z = getConfiguredTarget("//hello:z");
Artifact y = getOnlyElement(getFilesToBuild(z));
- assertEquals(new PathFragment("hello/x/y"), y.getRootRelativePath());
+ assertEquals(PathFragment.create("hello/x/y"), y.getRootRelativePath());
}
@Test
@@ -115,8 +115,8 @@ public class GenRuleConfiguredTargetTest extends BuildViewTestCase {
ConfiguredTarget z = getConfiguredTarget("//hello:w");
List<Artifact> files = getFilesToBuild(z).toList();
assertThat(files).hasSize(2);
- assertEquals(new PathFragment("hello/a/b"), files.get(0).getRootRelativePath());
- assertEquals(new PathFragment("hello/c/d"), files.get(1).getRootRelativePath());
+ assertEquals(PathFragment.create("hello/a/b"), files.get(0).getRootRelativePath());
+ assertEquals(PathFragment.create("hello/c/d"), files.get(1).getRootRelativePath());
}
@Test
@@ -236,10 +236,10 @@ public class GenRuleConfiguredTargetTest extends BuildViewTestCase {
FileConfiguredTarget bazOutTarget = getFileConfiguredTarget("//foo:baz_out.txt");
Action bazAction = getGeneratingAction(bazOutTarget.getArtifact());
Artifact barOut = bazAction.getInputs().iterator().next();
- assertTrue(barOut.getExecPath().endsWith(new PathFragment("foo/bar_out.txt")));
+ assertTrue(barOut.getExecPath().endsWith(PathFragment.create("foo/bar_out.txt")));
Action barAction = getGeneratingAction(barOut);
Artifact barIn = barAction.getInputs().iterator().next();
- assertTrue(barIn.getExecPath().endsWith(new PathFragment("foo/bar_in.txt")));
+ assertTrue(barIn.getExecPath().endsWith(PathFragment.create("foo/bar_in.txt")));
}
/** Ensure that variable $(@D) gets expanded correctly in the genrule cmd. */
@@ -279,7 +279,7 @@ public class GenRuleConfiguredTargetTest extends BuildViewTestCase {
getConfiguredTarget("//foo:bar");
Artifact barOut = bazAction.getInputs().iterator().next();
- assertTrue(barOut.getExecPath().endsWith(new PathFragment("foo/bar/bar_out.txt")));
+ assertTrue(barOut.getExecPath().endsWith(PathFragment.create("foo/bar/bar_out.txt")));
SpawnAction barAction = (SpawnAction) getGeneratingAction(barOut);
String barExpected = "touch " + barOut.getExecPath().getParentDirectory().getPathString();
assertCommandEquals(barExpected, barAction.getArguments().get(2));
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemanticsTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemanticsTest.java
index 529053b42e..6758e80089 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemanticsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemanticsTest.java
@@ -30,15 +30,21 @@ public class BazelJavaSemanticsTest {
@Test
public void testFindingResources() {
BazelJavaSemantics semantics = BazelJavaSemantics.INSTANCE;
- assertEquals(PathFragment.EMPTY_FRAGMENT,
- semantics.getDefaultJavaResourcePath(new PathFragment("x/y/src/main/resources")));
- assertEquals(new PathFragment("foo"),
- semantics.getDefaultJavaResourcePath(new PathFragment("x/y/src/main/resources/foo")));
- assertEquals(new PathFragment("foo"),
- semantics.getDefaultJavaResourcePath(new PathFragment("java/x/y/src/main/resources/foo")));
- assertEquals(new PathFragment("foo/java/bar"),
- semantics.getDefaultJavaResourcePath(new PathFragment("java/foo/java/bar")));
- assertEquals(new PathFragment("foo/java/bar"),
- semantics.getDefaultJavaResourcePath(new PathFragment("javatests/foo/java/bar")));
+ assertEquals(
+ PathFragment.EMPTY_FRAGMENT,
+ semantics.getDefaultJavaResourcePath(PathFragment.create("x/y/src/main/resources")));
+ assertEquals(
+ PathFragment.create("foo"),
+ semantics.getDefaultJavaResourcePath(PathFragment.create("x/y/src/main/resources/foo")));
+ assertEquals(
+ PathFragment.create("foo"),
+ semantics.getDefaultJavaResourcePath(
+ PathFragment.create("java/x/y/src/main/resources/foo")));
+ assertEquals(
+ PathFragment.create("foo/java/bar"),
+ semantics.getDefaultJavaResourcePath(PathFragment.create("java/foo/java/bar")));
+ assertEquals(
+ PathFragment.create("foo/java/bar"),
+ semantics.getDefaultJavaResourcePath(PathFragment.create("javatests/foo/java/bar")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
index 3c93edcb42..31ba09065f 100644
--- a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
+++ b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
@@ -113,7 +113,7 @@ public class SymlinkForestTest {
@Test
public void testLongestPathPrefix() {
- PathFragment a = new PathFragment("A");
+ PathFragment a = PathFragment.create("A");
assertEquals(a, longestPathPrefix("A/b", "A", "B")); // simple parent
assertEquals(a, longestPathPrefix("A", "A", "B")); // self
assertEquals(a.getRelative("B"), longestPathPrefix("A/B/c", "A", "A/B")); // want longest
@@ -151,7 +151,7 @@ public class SymlinkForestTest {
createDirectoryAndParents(repoRoot.getRelative(pkg));
FileSystemUtils.createEmptyFile(repoRoot.getRelative(pkg).getChild("file"));
}
- return PackageIdentifier.create(RepositoryName.create("@" + repo), new PathFragment(pkg));
+ return PackageIdentifier.create(RepositoryName.create("@" + repo), PathFragment.create(pkg));
}
private void assertLinksTo(Path fromRoot, Path toRoot, String relpart) throws IOException {
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
index b98d61877f..74e1248723 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
@@ -62,7 +62,7 @@ public class LabelTest {
}
private static String parseCommandLine(String label, String prefix) throws LabelSyntaxException {
- return Label.parseCommandLineLabel(label, new PathFragment(prefix)).toString();
+ return Label.parseCommandLineLabel(label, PathFragment.create(prefix)).toString();
}
@Test
@@ -144,43 +144,43 @@ public class LabelTest {
@Test
public void testGetRelativeWithDifferentRepo() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("@remote//x:y");
assertEquals(RepositoryName.create("@remote"), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithRepoLocalAbsoluteLabel() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("//x:y");
assertEquals(packageId.getRepository(), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithLocalRepoRelativeLabel() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative(":y");
assertEquals(packageId.getRepository(), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("foo"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("foo"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithRepoAndReservedPackage() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("//conditions:default");
@@ -193,13 +193,13 @@ public class LabelTest {
@Test
public void testGetRelativeWithRemoteRepoToDefaultRepo() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("@//x:y");
assertEquals(RepositoryName.create("@"), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
index a19ef4b7a3..f01a48c1a1 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
@@ -40,7 +40,7 @@ public class PackageIdentifierTest {
assertThat(fooA.getRepository().strippedName()).isEqualTo("foo");
assertThat(fooA.getPackageFragment().getPathString()).isEqualTo("a");
assertThat(fooA.getRepository().getSourceRoot()).isEqualTo(
- new PathFragment("external/foo"));
+ PathFragment.create("external/foo"));
PackageIdentifier absoluteA = PackageIdentifier.parse("//a");
assertThat(absoluteA.getRepository().strippedName()).isEqualTo("");
@@ -58,18 +58,18 @@ public class PackageIdentifierTest {
@Test
public void testToString() throws Exception {
- PackageIdentifier local = PackageIdentifier.create("", new PathFragment("bar/baz"));
+ PackageIdentifier local = PackageIdentifier.create("", PathFragment.create("bar/baz"));
assertEquals("bar/baz", local.toString());
- PackageIdentifier external = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
+ PackageIdentifier external = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
assertEquals("@foo//bar/baz", external.toString());
}
@Test
public void testCompareTo() throws Exception {
- PackageIdentifier foo1 = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
- PackageIdentifier foo2 = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
- PackageIdentifier foo3 = PackageIdentifier.create("@foo", new PathFragment("bar/bz"));
- PackageIdentifier bar = PackageIdentifier.create("@bar", new PathFragment("bar/baz"));
+ PackageIdentifier foo1 = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
+ PackageIdentifier foo2 = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
+ PackageIdentifier foo3 = PackageIdentifier.create("@foo", PathFragment.create("bar/bz"));
+ PackageIdentifier bar = PackageIdentifier.create("@bar", PathFragment.create("bar/baz"));
assertEquals(0, foo1.compareTo(foo2));
assertThat(foo1.compareTo(foo3)).isLessThan(0);
assertThat(foo1.compareTo(bar)).isGreaterThan(0);
@@ -78,12 +78,12 @@ public class PackageIdentifierTest {
@Test
public void testInvalidPackageName() throws Exception {
// This shouldn't throw an exception, package names aren't validated.
- PackageIdentifier.create("@foo", new PathFragment("bar.baz"));
+ PackageIdentifier.create("@foo", PathFragment.create("bar.baz"));
}
@Test
public void testSerialization() throws Exception {
- PackageIdentifier inId = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
+ PackageIdentifier inId = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
ByteArrayOutputStream data = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(data);
out.writeObject(inId);
@@ -95,16 +95,16 @@ public class PackageIdentifierTest {
@Test
public void testPackageFragmentEquality() throws Exception {
// Make sure package fragments are canonicalized.
- PackageIdentifier p1 = PackageIdentifier.create("@whatever", new PathFragment("foo/bar"));
- PackageIdentifier p2 = PackageIdentifier.create("@whatever", new PathFragment("foo/bar"));
+ PackageIdentifier p1 = PackageIdentifier.create("@whatever", PathFragment.create("foo/bar"));
+ PackageIdentifier p2 = PackageIdentifier.create("@whatever", PathFragment.create("foo/bar"));
assertSame(p2.getPackageFragment(), p1.getPackageFragment());
}
@Test
public void testRunfilesDir() throws Exception {
- assertThat(PackageIdentifier.create("@foo", new PathFragment("bar/baz")).getRunfilesPath())
- .isEqualTo(new PathFragment("../foo/bar/baz"));
- assertThat(PackageIdentifier.create("@", new PathFragment("bar/baz")).getRunfilesPath())
- .isEqualTo(new PathFragment("bar/baz"));
+ assertThat(PackageIdentifier.create("@foo", PathFragment.create("bar/baz")).getRunfilesPath())
+ .isEqualTo(PathFragment.create("../foo/bar/baz"));
+ assertThat(PackageIdentifier.create("@", PathFragment.create("bar/baz")).getRunfilesPath())
+ .isEqualTo(PathFragment.create("bar/baz"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
index 9a39bbfda1..6970b5e23b 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
@@ -60,7 +60,7 @@ public class RepositoryNameTest {
@Test
public void testRunfilesDir() throws Exception {
assertThat(RepositoryName.create("@foo").getRunfilesPath())
- .isEqualTo(new PathFragment("../foo"));
+ .isEqualTo(PathFragment.create("../foo"));
assertThat(RepositoryName.create("@").getRunfilesPath())
.isEqualTo(PathFragment.EMPTY_FRAGMENT);
assertThat(RepositoryName.create("").getRunfilesPath())
diff --git a/src/test/java/com/google/devtools/build/lib/events/EventTestTemplate.java b/src/test/java/com/google/devtools/build/lib/events/EventTestTemplate.java
index e505586449..136c7b96ef 100644
--- a/src/test/java/com/google/devtools/build/lib/events/EventTestTemplate.java
+++ b/src/test/java/com/google/devtools/build/lib/events/EventTestTemplate.java
@@ -29,7 +29,7 @@ public abstract class EventTestTemplate {
@Before
public final void createLocations() throws Exception {
String message = "This is not an error message.";
- path = new PathFragment("/path/to/workspace/my/sample/path.txt");
+ path = PathFragment.create("/path/to/workspace/my/sample/path.txt");
location = Location.fromPathAndStartColumn(path, 21, 31, new LineAndColumn(3, 4));
diff --git a/src/test/java/com/google/devtools/build/lib/events/LocationTest.java b/src/test/java/com/google/devtools/build/lib/events/LocationTest.java
index 23ed25e733..5c1c8875ac 100644
--- a/src/test/java/com/google/devtools/build/lib/events/LocationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/events/LocationTest.java
@@ -39,13 +39,20 @@ public class LocationTest extends EventTestTemplate {
@Test
public void testPrintRelative() throws Exception {
Location location = Location.fromPathFragment(path);
- assertEquals("/path/to/workspace/my/sample/path.txt:1",
- location.print(new PathFragment("/some/other/path"), new PathFragment("baz")));
- assertEquals("new/sample/path.txt:1",
- location.print(new PathFragment("/path/to/workspace/my"), new PathFragment("new")));
- assertEquals("new/path.txt:1",
- location.print(new PathFragment("/path/to/workspace/my/sample"), new PathFragment("new")));
- assertEquals("new:1", location.print(new PathFragment("/path/to/workspace/my/sample/path.txt"),
- new PathFragment("new")));
+ assertEquals(
+ "/path/to/workspace/my/sample/path.txt:1",
+ location.print(PathFragment.create("/some/other/path"), PathFragment.create("baz")));
+ assertEquals(
+ "new/sample/path.txt:1",
+ location.print(PathFragment.create("/path/to/workspace/my"), PathFragment.create("new")));
+ assertEquals(
+ "new/path.txt:1",
+ location.print(
+ PathFragment.create("/path/to/workspace/my/sample"), PathFragment.create("new")));
+ assertEquals(
+ "new:1",
+ location.print(
+ PathFragment.create("/path/to/workspace/my/sample/path.txt"),
+ PathFragment.create("new")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/exec/ParameterFileTest.java b/src/test/java/com/google/devtools/build/lib/exec/ParameterFileTest.java
index 491cf097ac..5c97c2a2a6 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/ParameterFileTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/ParameterFileTest.java
@@ -34,8 +34,11 @@ public class ParameterFileTest extends FoundationTestCase {
@Test
public void testDerive() {
- assertEquals(new PathFragment("a/b-2.params"),
- ParameterFile.derivePath(new PathFragment("a/b")));
- assertEquals(new PathFragment("b-2.params"), ParameterFile.derivePath(new PathFragment("b")));
+ assertEquals(
+ PathFragment.create("a/b-2.params"),
+ ParameterFile.derivePath(PathFragment.create("a/b")));
+ assertEquals(
+ PathFragment.create("b-2.params"),
+ ParameterFile.derivePath(PathFragment.create("b")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
index fdfa655371..5b6db72c27 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/SpawnInputExpanderTest.java
@@ -74,14 +74,14 @@ public class SpawnInputExpanderTest {
Artifact artifact =
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(1);
assertThat(inputMappings)
- .containsEntry(new PathFragment("runfiles/workspace/dir/file"), artifact);
+ .containsEntry(PathFragment.create("runfiles/workspace/dir/file"), artifact);
}
@Test
@@ -89,7 +89,7 @@ public class SpawnInputExpanderTest {
Artifact artifact =
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact)).thenReturn(false);
@@ -106,7 +106,7 @@ public class SpawnInputExpanderTest {
Artifact artifact =
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace").addArtifact(artifact).build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact)).thenReturn(false);
@@ -114,7 +114,7 @@ public class SpawnInputExpanderTest {
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(1);
assertThat(inputMappings)
- .containsEntry(new PathFragment("runfiles/workspace/dir/file"), artifact);
+ .containsEntry(PathFragment.create("runfiles/workspace/dir/file"), artifact);
}
@Test
@@ -127,7 +127,7 @@ public class SpawnInputExpanderTest {
.addArtifact(artifact1)
.addArtifact(artifact2)
.build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact1)).thenReturn(true);
Mockito.when(mockCache.isFile(artifact2)).thenReturn(true);
@@ -135,9 +135,9 @@ public class SpawnInputExpanderTest {
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(2);
assertThat(inputMappings)
- .containsEntry(new PathFragment("runfiles/workspace/dir/file"), artifact1);
+ .containsEntry(PathFragment.create("runfiles/workspace/dir/file"), artifact1);
assertThat(inputMappings)
- .containsEntry(new PathFragment("runfiles/workspace/dir/baz"), artifact2);
+ .containsEntry(PathFragment.create("runfiles/workspace/dir/baz"), artifact2);
}
@Test
@@ -145,15 +145,15 @@ public class SpawnInputExpanderTest {
Artifact artifact =
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace")
- .addSymlink(new PathFragment("symlink"), artifact).build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ .addSymlink(PathFragment.create("symlink"), artifact).build();
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(1);
assertThat(inputMappings)
- .containsEntry(new PathFragment("runfiles/workspace/symlink"), artifact);
+ .containsEntry(PathFragment.create("runfiles/workspace/symlink"), artifact);
}
@Test
@@ -161,19 +161,19 @@ public class SpawnInputExpanderTest {
Artifact artifact =
new Artifact(fs.getPath("/root/dir/file"), Root.asSourceRoot(fs.getPath("/root")));
Runfiles runfiles = new Runfiles.Builder("workspace")
- .addRootSymlink(new PathFragment("symlink"), artifact).build();
- RunfilesSupplier supplier = new RunfilesSupplierImpl(new PathFragment("runfiles"), runfiles);
+ .addRootSymlink(PathFragment.create("symlink"), artifact).build();
+ RunfilesSupplier supplier = new RunfilesSupplierImpl(PathFragment.create("runfiles"), runfiles);
ActionInputFileCache mockCache = Mockito.mock(ActionInputFileCache.class);
Mockito.when(mockCache.isFile(artifact)).thenReturn(true);
expander.addRunfilesToInputs(inputMappings, supplier, mockCache);
assertThat(inputMappings).hasSize(2);
- assertThat(inputMappings).containsEntry(new PathFragment("runfiles/symlink"), artifact);
+ assertThat(inputMappings).containsEntry(PathFragment.create("runfiles/symlink"), artifact);
// If there's no other entry, Runfiles adds an empty file in the workspace to make sure the
// directory gets created.
assertThat(inputMappings)
.containsEntry(
- new PathFragment("runfiles/workspace/.runfile"), SpawnInputExpander.EMPTY_FILE);
+ PathFragment.create("runfiles/workspace/.runfile"), SpawnInputExpander.EMPTY_FILE);
}
@Test
@@ -200,7 +200,7 @@ public class SpawnInputExpanderTest {
expander.parseFilesetManifest(inputMappings, artifact, "workspace");
assertThat(inputMappings).hasSize(1);
assertThat(inputMappings)
- .containsEntry(new PathFragment("foo/bar"), ActionInputHelper.fromPath("/dir/file"));
+ .containsEntry(PathFragment.create("foo/bar"), ActionInputHelper.fromPath("/dir/file"));
}
@Test
@@ -218,9 +218,9 @@ public class SpawnInputExpanderTest {
expander.parseFilesetManifest(inputMappings, artifact, "workspace");
assertThat(inputMappings).hasSize(2);
assertThat(inputMappings)
- .containsEntry(new PathFragment("foo/bar"), ActionInputHelper.fromPath("/dir/file"));
+ .containsEntry(PathFragment.create("foo/bar"), ActionInputHelper.fromPath("/dir/file"));
assertThat(inputMappings)
- .containsEntry(new PathFragment("foo/baz"), ActionInputHelper.fromPath("/dir/file"));
+ .containsEntry(PathFragment.create("foo/baz"), ActionInputHelper.fromPath("/dir/file"));
}
@Test
@@ -237,6 +237,6 @@ public class SpawnInputExpanderTest {
assertThat(inputMappings).hasSize(1);
assertThat(inputMappings)
.containsEntry(
- new PathFragment("foo/bar"), ActionInputHelper.fromPath("/some"));
+ PathFragment.create("foo/bar"), ActionInputHelper.fromPath("/some"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/PackageFactoryTest.java b/src/test/java/com/google/devtools/build/lib/packages/PackageFactoryTest.java
index 3573827c81..7ab592eccf 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/PackageFactoryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/PackageFactoryTest.java
@@ -259,7 +259,7 @@ public class PackageFactoryTest extends PackageFactoryTestBase {
"genrule(name='c', srcs=[], outs=['ao'], cmd=REPOSITORY_NAME + ' ' + PACKAGE_NAME)");
Package pkg =
packages.createPackage(
- PackageIdentifier.create("@a", new PathFragment("b")), buildFile, events.reporter());
+ PackageIdentifier.create("@a", PathFragment.create("b")), buildFile, events.reporter());
Rule c = pkg.getRule("c");
assertThat(AggregatingAttributeMapper.of(c).get("cmd", Type.STRING)).isEqualTo("@a b");
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupStaticInitializationTest.java b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupStaticInitializationTest.java
index 404b7aa6fd..f05709d4e4 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupStaticInitializationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupStaticInitializationTest.java
@@ -88,7 +88,7 @@ public class PackageGroupStaticInitializationTest {
}
private Package getPackage(String packageName) throws Exception {
- PathFragment buildFileFragment = new PathFragment(packageName).getRelative("BUILD");
+ PathFragment buildFileFragment = PathFragment.create(packageName).getRelative("BUILD");
Path buildFile = scratch.resolve(buildFileFragment.getPathString());
return packages.createPackage(packageName, buildFile);
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
index 50ca2682c8..55e8da9c21 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
@@ -154,7 +154,7 @@ public class PackageGroupTest {
}
private Package getPackage(String packageName) throws Exception {
- PathFragment buildFileFragment = new PathFragment(packageName).getRelative("BUILD");
+ PathFragment buildFileFragment = PathFragment.create(packageName).getRelative("BUILD");
Path buildFile = scratch.resolve(buildFileFragment.getPathString());
return packages.createPackage(packageName, buildFile);
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RelativePackageNameResolverTest.java b/src/test/java/com/google/devtools/build/lib/packages/RelativePackageNameResolverTest.java
index 9f2f9b6931..fee2a7c3d2 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RelativePackageNameResolverTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RelativePackageNameResolverTest.java
@@ -112,7 +112,7 @@ public class RelativePackageNameResolverTest {
}
private void createResolver(String offset, boolean discardBuild) {
- resolver = new RelativePackageNameResolver(new PathFragment(offset), discardBuild);
+ resolver = new RelativePackageNameResolver(PathFragment.create(offset), discardBuild);
}
private void assertResolvesTo(String relative, String expectedAbsolute) throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
index e2d13a00ac..ea92b1704a 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
@@ -603,7 +603,7 @@ public abstract class MockCcSupport {
try {
return PackageIdentifier.create(
RepositoryName.create(TestConstants.TOOLS_REPOSITORY),
- new PathFragment(TestConstants.TOOLS_REPOSITORY_PATH));
+ PathFragment.create(TestConstants.TOOLS_REPOSITORY_PATH));
} catch (LabelSyntaxException e) {
Verify.verify(false);
throw new AssertionError();
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/SubincludePreprocessor.java b/src/test/java/com/google/devtools/build/lib/packages/util/SubincludePreprocessor.java
index dd161a2933..e9b4a9bc56 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/SubincludePreprocessor.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/SubincludePreprocessor.java
@@ -95,7 +95,8 @@ public class SubincludePreprocessor implements Preprocessor {
return "";
}
- Path subinclude = buildFile.getParentDirectory().getRelative(new PathFragment(label.getName()));
+ Path subinclude =
+ buildFile.getParentDirectory().getRelative(PathFragment.create(label.getName()));
return subinclude.getPathString();
}
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java
index 9f5edaf8ef..6472f01279 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IOExceptionsTest.java
@@ -79,7 +79,7 @@ public class IOExceptionsTest extends PackageLoadingTestCase {
@Override
protected FileSystem createFileSystem() {
- return new InMemoryFileSystem(BlazeClock.instance(), new PathFragment(FS_ROOT)) {
+ return new InMemoryFileSystem(BlazeClock.instance(), PathFragment.create(FS_ROOT)) {
@Override
public FileStatus stat(Path path, boolean followSymlinks) throws IOException {
String crash = crashMessage.apply(path);
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
index de78d51e1e..bc5800e246 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
@@ -524,7 +524,7 @@ public class IncrementalLoadingTest {
Path path = workspace.getRelative(fileName);
Preconditions.checkState(!path.exists());
FileSystemUtils.createDirectoryAndParents(path.getParentDirectory());
- path.createSymbolicLink(new PathFragment(target));
+ path.createSymbolicLink(PathFragment.create(target));
changes.add(path);
}
@@ -546,7 +546,7 @@ public class IncrementalLoadingTest {
Path symlink = workspace.getRelative(fileName);
Preconditions.checkState(symlink.exists());
symlink.delete();
- symlink.createSymbolicLink(new PathFragment(newTarget));
+ symlink.createSymbolicLink(PathFragment.create(newTarget));
changes.add(symlink);
}
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
index 9cf3254d92..4ca07f9bd9 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
@@ -468,8 +468,8 @@ public class LoadingPhaseRunnerTest {
tester.getWorkspace().getChild("broken").createDirectory();
// Create a circular symlink.
- tester.getWorkspace().getRelative(new PathFragment("broken/BUILD"))
- .createSymbolicLink(new PathFragment("BUILD"));
+ tester.getWorkspace().getRelative(PathFragment.create("broken/BUILD"))
+ .createSymbolicLink(PathFragment.create("BUILD"));
assertCircularSymlinksDuringTargetParsing("//broken/...");
}
@@ -479,10 +479,10 @@ public class LoadingPhaseRunnerTest {
tester.getWorkspace().getChild("broken").createDirectory();
// Create a circular symlink.
- tester.getWorkspace().getRelative(new PathFragment("broken/BUILD"))
- .createSymbolicLink(new PathFragment("x"));
- tester.getWorkspace().getRelative(new PathFragment("broken/x"))
- .createSymbolicLink(new PathFragment("BUILD"));
+ tester.getWorkspace().getRelative(PathFragment.create("broken/BUILD"))
+ .createSymbolicLink(PathFragment.create("x"));
+ tester.getWorkspace().getRelative(PathFragment.create("broken/x"))
+ .createSymbolicLink(PathFragment.create("BUILD"));
assertCircularSymlinksDuringTargetParsing("//broken/...");
}
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java
index 3b63fbe157..471f884bca 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorIOTest.java
@@ -58,7 +58,7 @@ public class TargetPatternEvaluatorIOTest extends AbstractTargetPatternEvaluator
@Override
protected FileSystem createFileSystem() {
- return new InMemoryFileSystem(BlazeClock.instance(), new PathFragment(FS_ROOT)) {
+ return new InMemoryFileSystem(BlazeClock.instance(), PathFragment.create(FS_ROOT)) {
@Override
public FileStatus stat(Path path, boolean followSymlinks) throws IOException {
FileStatus defaultResult = super.stat(path, followSymlinks);
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorTest.java
index 33e736a1ec..da003add73 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/TargetPatternEvaluatorTest.java
@@ -143,7 +143,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
private void invalidate(String file) throws InterruptedException {
skyframeExecutor.invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment(file)).build(), rootDirectory);
+ ModifiedFileSet.builder().modify(PathFragment.create(file)).build(), rootDirectory);
}
private void invalidate(ModifiedFileSet modifiedFileSet) throws InterruptedException {
@@ -340,9 +340,9 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
scratch.file("nest/nest/BUILD",
"cc_library(name = 'nested2', srcs = [ ])");
- updateOffset(new PathFragment("nest"));
+ updateOffset(PathFragment.create("nest"));
assertThat(parseList(":all")).containsExactlyElementsIn(labels("//nest:nested1"));
- updateOffset(new PathFragment("nest/nest"));
+ updateOffset(PathFragment.create("nest/nest"));
assertThat(parseList(":all")).containsExactlyElementsIn(labels("//nest/nest:nested2"));
}
@@ -556,7 +556,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
scratch.file("x/z/BUILD", "cc_library(name='z')");
setDeletedPackages(Sets.newHashSet(PackageIdentifier.createInMainRepo("x/y")));
- parser.updateOffset(new PathFragment("x"));
+ parser.updateOffset(PathFragment.create("x"));
assertEquals(Sets.newHashSet(Label.parseAbsolute("//x/z")),
targetsToLabels(getFailFast(parser.parseTargetPattern(parsingListener, "...", false))));
}
@@ -786,7 +786,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
public void testSetOffset() throws Exception {
assertEquals("//foo:foo1", parseIndividualTarget("foo:foo1").toString());
- parser.updateOffset(new PathFragment("foo"));
+ parser.updateOffset(PathFragment.create("foo"));
assertEquals("//foo:foo1", parseIndividualTarget(":foo1").toString());
}
@@ -970,7 +970,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
assertThat(parseList("//h/...")).containsExactlyElementsIn(labels("//h"));
ModifiedFileSet modifiedFileSet = ModifiedFileSet.builder()
- .modify(new PathFragment("h/i/j/BUILD")).build();
+ .modify(PathFragment.create("h/i/j/BUILD")).build();
invalidate(modifiedFileSet);
assertThat(parseList("//h/...")).containsExactly(Label.parseAbsolute("//h/i/j:j"),
@@ -991,11 +991,11 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
scratch.file("h/i/j/k/BUILD", "sh_library(name='l')");
ModifiedFileSet modifiedFileSet = ModifiedFileSet.builder()
- .modify(new PathFragment("h"))
- .modify(new PathFragment("h/i"))
- .modify(new PathFragment("h/i/j"))
- .modify(new PathFragment("h/i/j/k"))
- .modify(new PathFragment("h/i/j/k/BUILD"))
+ .modify(PathFragment.create("h"))
+ .modify(PathFragment.create("h/i"))
+ .modify(PathFragment.create("h/i/j"))
+ .modify(PathFragment.create("h/i/j/k"))
+ .modify(PathFragment.create("h/i/j/k/BUILD"))
.build();
invalidate(modifiedFileSet);
reporter.addHandler(failFastHandler);
@@ -1007,7 +1007,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
public void testBrokenSymlinkRepaired() throws Exception {
reporter.removeHandler(failFastHandler);
Path tuv = scratch.dir("t/u/v");
- tuv.getChild("BUILD").createSymbolicLink(new PathFragment("../../BUILD"));
+ tuv.getChild("BUILD").createSymbolicLink(PathFragment.create("../../BUILD"));
try {
parseList("//t/...");
@@ -1018,7 +1018,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
scratch.file("t/BUILD", "sh_library(name='t')");
ModifiedFileSet modifiedFileSet = ModifiedFileSet.builder()
- .modify(new PathFragment("t/BUILD"))
+ .modify(PathFragment.create("t/BUILD"))
.build();
invalidate(modifiedFileSet);
@@ -1033,7 +1033,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
public void testInfiniteTreeFromSymlinks() throws Exception {
reporter.removeHandler(failFastHandler);
Path ab = scratch.dir("a/b");
- ab.getChild("c").createSymbolicLink(new PathFragment("../b"));
+ ab.getChild("c").createSymbolicLink(PathFragment.create("../b"));
scratch.file("a/b/BUILD", "filegroup(name='g')");
ResolvedTargets<Target> result = parseTargetPatternList(parser, parsingListener,
ImmutableList.of("//a/b/..."), true);
@@ -1045,7 +1045,7 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
public void testSymlinkCycle() throws Exception {
reporter.removeHandler(failFastHandler);
Path ab = scratch.dir("a/b");
- ab.getChild("c").createSymbolicLink(new PathFragment("c"));
+ ab.getChild("c").createSymbolicLink(PathFragment.create("c"));
scratch.file("a/b/BUILD", "filegroup(name='g')");
ResolvedTargets<Target> result = parseTargetPatternList(parser, parsingListener,
ImmutableList.of("//a/b/..."), true);
@@ -1060,13 +1060,13 @@ public class TargetPatternEvaluatorTest extends AbstractTargetPatternEvaluatorTe
scratch.dir("from-c");
scratch.file("from-c/BUILD", "filegroup(name = 'from-c')");
Path ab = scratch.dir("a/b");
- ab.getChild("symlink").createSymbolicLink(new PathFragment("../../from-b"));
+ ab.getChild("symlink").createSymbolicLink(PathFragment.create("../../from-b"));
scratch.dir("a/b/not-a-symlink");
scratch.file("a/b/not-a-symlink/BUILD", "filegroup(name = 'not-a-symlink')");
scratch.file(
"a/b/DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSIVE_TARGET_PATTERN");
Path ac = scratch.dir("a/c");
- ac.getChild("symlink").createSymbolicLink(new PathFragment("../../from-c"));
+ ac.getChild("symlink").createSymbolicLink(PathFragment.create("../../from-c"));
ResolvedTargets<Target> result = parseTargetPatternList(parser, parsingListener,
ImmutableList.of("//a/..."), true);
assertThat(targetsToLabels(result.getTargets())).containsExactly(
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
index e0789e24d1..7e874d4b8a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
@@ -1142,21 +1142,21 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android/assets")),
+ PathFragment.create("java/android/assets")),
SourceDirectory.fromRoot(
targetConfig.getGenfilesDirectory(RepositoryName.MAIN),
- new PathFragment("java/android/assets"))),
+ PathFragment.create("java/android/assets"))),
provider.getAssetDirs());
assertEquals(
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android/res"))),
+ PathFragment.create("java/android/res"))),
provider.getResourceDirs());
assertEquals(ImmutableList.of(SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android")
+ PathFragment.create("java/android")
)), provider.getIdlImports());
Set<Artifact> artifactClosure = actionsTestUtil().artifactClosureOf(getFilesToBuild(target));
@@ -1193,11 +1193,13 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("research/handwriting/java/com/google/research/handwriting/assets")
+ PathFragment.create(
+ "research/handwriting/java/com/google/research/handwriting/assets")
),
SourceDirectory.fromRoot(
targetConfig.getGenfilesDirectory(RepositoryName.MAIN),
- new PathFragment("research/handwriting/java/com/google/research/handwriting/assets")
+ PathFragment.create(
+ "research/handwriting/java/com/google/research/handwriting/assets")
)
),
provider.getAssetDirs());
@@ -1205,14 +1207,14 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("research/handwriting/java/com/google/research/handwriting/res")
+ PathFragment.create("research/handwriting/java/com/google/research/handwriting/res")
)
),
provider.getResourceDirs());
assertEquals(ImmutableList.of(SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("research/handwriting/java/com/google/research/handwriting")
+ PathFragment.create("research/handwriting/java/com/google/research/handwriting")
)), provider.getIdlImports());
Set<Artifact> artifactClosure = actionsTestUtil().artifactClosureOf(getFilesToBuild(target));
@@ -1252,17 +1254,17 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android/assets")),
+ PathFragment.create("java/android/assets")),
SourceDirectory.fromRoot(
targetConfig.getGenfilesDirectory(RepositoryName.MAIN),
- new PathFragment("java/android/assets"))
+ PathFragment.create("java/android/assets"))
),
provider.getAssetDirs());
assertEquals(
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android/res"))
+ PathFragment.create("java/android/res"))
),
provider.getResourceDirs());
@@ -1270,10 +1272,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
ImmutableList.of(
SourceDirectory.fromSourceRoot(
rootDirectory.asFragment(),
- new PathFragment("java/android")),
+ PathFragment.create("java/android")),
SourceDirectory.fromRoot(
targetConfig.getGenfilesDirectory(RepositoryName.MAIN),
- new PathFragment("java/android"))
+ PathFragment.create("java/android"))
),
provider.getIdlImports());
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
index e0fc844f63..4f5b63e26e 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
@@ -410,7 +410,7 @@ public class CcCommonTest extends BuildViewTestCase {
String includesRoot = "bang/bang_includes";
assertThat(foo.getProvider(CppCompilationContext.class).getSystemIncludeDirs())
.containsAllOf(
- new PathFragment(includesRoot),
+ PathFragment.create(includesRoot),
targetConfig.getGenfilesFragment().getRelative(includesRoot));
}
@@ -436,7 +436,7 @@ public class CcCommonTest extends BuildViewTestCase {
List<PathFragment> expected =
new ImmutableList.Builder<PathFragment>()
.addAll(noIncludes.getProvider(CppCompilationContext.class).getSystemIncludeDirs())
- .add(new PathFragment(includesRoot))
+ .add(PathFragment.create(includesRoot))
.add(targetConfig.getGenfilesFragment().getRelative(includesRoot))
.build();
assertThat(foo.getProvider(CppCompilationContext.class).getSystemIncludeDirs())
@@ -548,7 +548,7 @@ public class CcCommonTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- new ModifiedFileSet.Builder().modify(new PathFragment("WORKSPACE")).build(),
+ new ModifiedFileSet.Builder().modify(PathFragment.create("WORKSPACE")).build(),
rootDirectory);
FileSystemUtils.createDirectoryAndParents(scratch.resolve("/foo/bar"));
scratch.file("/foo/WORKSPACE", "workspace(name = 'pkg')");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
index b80e00ea2f..b87410c97c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java
@@ -58,8 +58,8 @@ import org.junit.runners.JUnit4;
*/
@RunWith(JUnit4.class)
public class CcLibraryConfiguredTargetTest extends BuildViewTestCase {
- private static final PathFragment STL_CPPMAP = new PathFragment("stl.cppmap");
- private static final PathFragment CROSSTOOL_CPPMAP = new PathFragment("crosstool.cppmap");
+ private static final PathFragment STL_CPPMAP = PathFragment.create("stl.cppmap");
+ private static final PathFragment CROSSTOOL_CPPMAP = PathFragment.create("crosstool.cppmap");
@Before
public final void createFiles() throws Exception {
@@ -501,7 +501,7 @@ public class CcLibraryConfiguredTargetTest extends BuildViewTestCase {
List<String> names = new ArrayList<>();
for (String flag : input) {
if (CppFileTypes.CPP_MODULE.matches(flag)) {
- names.add(new PathFragment(flag).getBaseName());
+ names.add(PathFragment.create(flag).getBaseName());
}
}
return names;
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
index 72494019fd..71020d95de 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
@@ -1209,7 +1209,7 @@ public class CcToolchainFeaturesTest {
" implies: 'action-a'",
"}")
.getFeatureConfiguration("activates-action-a");
- PathFragment crosstoolPath = new PathFragment("crosstool/");
+ PathFragment crosstoolPath = PathFragment.create("crosstool/");
PathFragment toolPath = configuration.getToolForAction("action-a").getToolPath(crosstoolPath);
assertThat(toolPath.toString()).isEqualTo("crosstool/toolchain/a");
}
@@ -1251,7 +1251,7 @@ public class CcToolchainFeaturesTest {
" implies: 'action-a'",
"}");
- PathFragment crosstoolPath = new PathFragment("crosstool/");
+ PathFragment crosstoolPath = PathFragment.create("crosstool/");
FeatureConfiguration featureAConfiguration =
toolchainFeatures.getFeatureConfiguration("feature-a", "activates-action-a");
@@ -1310,7 +1310,7 @@ public class CcToolchainFeaturesTest {
" implies: 'action-a'",
"}");
- PathFragment crosstoolPath = new PathFragment("crosstool/");
+ PathFragment crosstoolPath = PathFragment.create("crosstool/");
FeatureConfiguration noFeaturesConfiguration =
toolchainFeatures.getFeatureConfiguration("activates-action-a");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
index 2889e324a8..1b38da18d5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
@@ -254,8 +254,8 @@ public class CppLinkActionTest extends BuildViewTestCase {
@Test
public void testComputeKeyNonStatic() throws Exception {
final RuleContext ruleContext = createDummyRuleContext();
- final PathFragment exeOutputPath = new PathFragment("dummyRuleContext/output/path");
- final PathFragment dynamicOutputPath = new PathFragment("dummyRuleContext/output/path.so");
+ final PathFragment exeOutputPath = PathFragment.create("dummyRuleContext/output/path");
+ final PathFragment dynamicOutputPath = PathFragment.create("dummyRuleContext/output/path.so");
final Artifact staticOutputFile = getBinArtifactWithNoOwner(exeOutputPath.getPathString());
final Artifact dynamicOutputFile = getBinArtifactWithNoOwner(dynamicOutputPath.getPathString());
final Artifact oFile = getSourceArtifact("cc/a.o");
@@ -286,7 +286,7 @@ public class CppLinkActionTest extends BuildViewTestCase {
builder.setNativeDeps((i & 4) == 0);
builder.setUseTestOnlyFlags((i & 8) == 0);
builder.setFake((i & 16) == 0);
- builder.setRuntimeSolibDir((i & 32) == 0 ? null : new PathFragment("so1"));
+ builder.setRuntimeSolibDir((i & 32) == 0 ? null : PathFragment.create("so1"));
builder.setFeatureConfiguration(featureConfiguration);
return builder.build();
@@ -301,8 +301,8 @@ public class CppLinkActionTest extends BuildViewTestCase {
@Test
public void testComputeKeyStatic() throws Exception {
final RuleContext ruleContext = createDummyRuleContext();
- final PathFragment staticOutputPath = new PathFragment("dummyRuleContext/output/path.a");
- final PathFragment dynamicOutputPath = new PathFragment("dummyRuleContext/output/path.so");
+ final PathFragment staticOutputPath = PathFragment.create("dummyRuleContext/output/path.a");
+ final PathFragment dynamicOutputPath = PathFragment.create("dummyRuleContext/output/path.so");
final Artifact staticOutputFile = getBinArtifactWithNoOwner(staticOutputPath.getPathString());
final Artifact dynamicOutputFile = getBinArtifactWithNoOwner(dynamicOutputPath.getPathString());
final Artifact oFile = getSourceArtifact("cc/a.o");
@@ -336,11 +336,11 @@ public class CppLinkActionTest extends BuildViewTestCase {
public void testCommandLineSplitting() throws Exception {
RuleContext ruleContext = createDummyRuleContext();
Artifact output = getDerivedArtifact(
- new PathFragment("output/path.xyz"), getTargetConfiguration().getBinDirectory(
+ PathFragment.create("output/path.xyz"), getTargetConfiguration().getBinDirectory(
RepositoryName.MAIN),
ActionsTestUtil.NULL_ARTIFACT_OWNER);
final Artifact outputIfso = getDerivedArtifact(
- new PathFragment("output/path.ifso"), getTargetConfiguration().getBinDirectory(
+ PathFragment.create("output/path.ifso"), getTargetConfiguration().getBinDirectory(
RepositoryName.MAIN),
ActionsTestUtil.NULL_ARTIFACT_OWNER);
CppLinkActionBuilder builder =
@@ -432,7 +432,7 @@ public class CppLinkActionTest extends BuildViewTestCase {
new CppLinkActionBuilder(
ruleContext,
new Artifact(
- new PathFragment(outputPath),
+ PathFragment.create(outputPath),
getTargetConfiguration()
.getBinDirectory(ruleContext.getRule().getRepository())),
ruleContext.getConfiguration(),
@@ -451,7 +451,7 @@ public class CppLinkActionTest extends BuildViewTestCase {
}
private CppLinkActionBuilder createLinkBuilder(Link.LinkTargetType type) throws Exception {
- PathFragment output = new PathFragment("dummyRuleContext/output/path.a");
+ PathFragment output = PathFragment.create("dummyRuleContext/output/path.a");
return createLinkBuilder(
type,
output.getPathString(),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
index f6ec5bca7e..07ba4ff058 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
@@ -43,17 +43,17 @@ public class CreateIncSymlinkActionTest extends FoundationTestCase {
@Test
public void testDifferentOrderSameActionKey() throws Exception {
Root root = Root.asDerivedRoot(rootDirectory, rootDirectory.getRelative("out"));
- Artifact a = new Artifact(new PathFragment("a"), root);
- Artifact b = new Artifact(new PathFragment("b"), root);
- Artifact c = new Artifact(new PathFragment("c"), root);
- Artifact d = new Artifact(new PathFragment("d"), root);
+ Artifact a = new Artifact(PathFragment.create("a"), root);
+ Artifact b = new Artifact(PathFragment.create("b"), root);
+ Artifact c = new Artifact(PathFragment.create("c"), root);
+ Artifact d = new Artifact(PathFragment.create("d"), root);
CreateIncSymlinkAction action1 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b, c, d), root.getPath());
// Can't reuse the artifacts here; that would lead to DuplicateArtifactException.
- a = new Artifact(new PathFragment("a"), root);
- b = new Artifact(new PathFragment("b"), root);
- c = new Artifact(new PathFragment("c"), root);
- d = new Artifact(new PathFragment("d"), root);
+ a = new Artifact(PathFragment.create("a"), root);
+ b = new Artifact(PathFragment.create("b"), root);
+ c = new Artifact(PathFragment.create("c"), root);
+ d = new Artifact(PathFragment.create("d"), root);
CreateIncSymlinkAction action2 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(c, d, a, b), root.getPath());
assertEquals(action1.computeKey(), action2.computeKey());
@@ -62,13 +62,13 @@ public class CreateIncSymlinkActionTest extends FoundationTestCase {
@Test
public void testDifferentTargetsDifferentActionKey() throws Exception {
Root root = Root.asDerivedRoot(rootDirectory, rootDirectory.getRelative("out"));
- Artifact a = new Artifact(new PathFragment("a"), root);
- Artifact b = new Artifact(new PathFragment("b"), root);
+ Artifact a = new Artifact(PathFragment.create("a"), root);
+ Artifact b = new Artifact(PathFragment.create("b"), root);
CreateIncSymlinkAction action1 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b), root.getPath());
// Can't reuse the artifacts here; that would lead to DuplicateArtifactException.
- a = new Artifact(new PathFragment("a"), root);
- b = new Artifact(new PathFragment("c"), root);
+ a = new Artifact(PathFragment.create("a"), root);
+ b = new Artifact(PathFragment.create("c"), root);
CreateIncSymlinkAction action2 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b), root.getPath());
assertThat(action2.computeKey()).isNotEqualTo(action1.computeKey());
@@ -77,13 +77,13 @@ public class CreateIncSymlinkActionTest extends FoundationTestCase {
@Test
public void testDifferentSymlinksDifferentActionKey() throws Exception {
Root root = Root.asDerivedRoot(rootDirectory, rootDirectory.getRelative("out"));
- Artifact a = new Artifact(new PathFragment("a"), root);
- Artifact b = new Artifact(new PathFragment("b"), root);
+ Artifact a = new Artifact(PathFragment.create("a"), root);
+ Artifact b = new Artifact(PathFragment.create("b"), root);
CreateIncSymlinkAction action1 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b), root.getPath());
// Can't reuse the artifacts here; that would lead to DuplicateArtifactException.
- a = new Artifact(new PathFragment("c"), root);
- b = new Artifact(new PathFragment("b"), root);
+ a = new Artifact(PathFragment.create("c"), root);
+ b = new Artifact(PathFragment.create("b"), root);
CreateIncSymlinkAction action2 = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b), root.getPath());
assertThat(action2.computeKey()).isNotEqualTo(action1.computeKey());
@@ -96,7 +96,7 @@ public class CreateIncSymlinkActionTest extends FoundationTestCase {
Root root = Root.asDerivedRoot(rootDirectory, outputDir);
Path symlink = rootDirectory.getRelative("out/a");
Artifact a = new Artifact(symlink, root);
- Artifact b = new Artifact(new PathFragment("b"), root);
+ Artifact b = new Artifact(PathFragment.create("b"), root);
CreateIncSymlinkAction action = new CreateIncSymlinkAction(NULL_ACTION_OWNER,
ImmutableMap.of(a, b), outputDir);
action.execute(null);
@@ -113,7 +113,7 @@ public class CreateIncSymlinkActionTest extends FoundationTestCase {
Root root = Root.asDerivedRoot(rootDirectory, outputDir);
Path symlink = rootDirectory.getRelative("out/subdir/a");
Artifact a = new Artifact(symlink, root);
- Artifact b = new Artifact(new PathFragment("b"), root);
+ Artifact b = new Artifact(PathFragment.create("b"), root);
CreateIncSymlinkAction action =
new CreateIncSymlinkAction(NULL_ACTION_OWNER, ImmutableMap.of(a, b), outputDir);
Path extra = rootDirectory.getRelative("out/extra");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
index 1fd7a011ad..30b5af1d95 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
@@ -540,7 +540,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.FASTBUILD,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Arrays.asList(
"linker-flag-A-1",
@@ -551,7 +551,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.DBG,
LipoMode.OFF,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Arrays.asList(
"linker-flag-A-1",
@@ -562,7 +562,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.OPT,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Arrays.asList(
@@ -574,7 +574,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.OPT,
LipoMode.BINARY,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Arrays.asList("objcopy-embed-flag-A-1", "objcopy-embed-flag-A-2"),
@@ -597,7 +597,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
Arrays.asList(
getToolPath("/system-include-dir-A-1"), getToolPath("/system-include-dir-A-2")),
toolchainA.getBuiltInIncludeDirectories());
- assertEquals(new PathFragment("some"), toolchainA.getSysroot());
+ assertEquals(PathFragment.create("some"), toolchainA.getSysroot());
// Cursory testing of the "B" toolchain only; assume that if none of
// toolchain B bled through into toolchain A, the reverse also didn't occur. And
@@ -636,21 +636,21 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.FASTBUILD,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Collections.EMPTY_LIST,
toolchainC.configureLinkerOptions(
CompilationMode.DBG,
LipoMode.OFF,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
Collections.EMPTY_LIST,
toolchainC.configureLinkerOptions(
CompilationMode.OPT,
LipoMode.OFF,
LinkingMode.FULLY_STATIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertThat(toolchainC.getObjCopyOptionsForEmbedding()).isEmpty();
assertThat(toolchainC.getLdOptionsForEmbedding()).isEmpty();
@@ -669,8 +669,9 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
PackageIdentifier packageIdentifier =
PackageIdentifier.create(
TestConstants.TOOLS_REPOSITORY,
- new PathFragment(
- new PathFragment(TestConstants.TOOLS_REPOSITORY_PATH), new PathFragment(path)));
+ PathFragment.create(
+ PathFragment.create(TestConstants.TOOLS_REPOSITORY_PATH),
+ PathFragment.create(path)));
return packageIdentifier.getPathUnderExecRoot();
}
@@ -690,7 +691,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
CompilationMode.DBG,
lipoMode,
LinkingMode.DYNAMIC,
- new PathFragment("hello-world/ld")));
+ PathFragment.create("hello-world/ld")));
assertEquals(
ImmutableList.<String>of(
"compiler-flag-B-1",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java
index eb196ec627..70284d8003 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java
@@ -163,10 +163,10 @@ public class LTOBackendActionTest extends BuildViewTestCase {
if ((i & 8) == 0) {
builder.addRunfilesSupplier(
- new RunfilesSupplierImpl(new PathFragment("a"), Runfiles.EMPTY, artifactA));
+ new RunfilesSupplierImpl(PathFragment.create("a"), Runfiles.EMPTY, artifactA));
} else {
builder.addRunfilesSupplier(
- new RunfilesSupplierImpl(new PathFragment("a"), Runfiles.EMPTY, artifactB));
+ new RunfilesSupplierImpl(PathFragment.create("a"), Runfiles.EMPTY, artifactB));
}
if ((i & 16) == 0) {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaUtilTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaUtilTest.java
index df3b4d5ca7..7992575483 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaUtilTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaUtilTest.java
@@ -29,13 +29,14 @@ import org.junit.runners.JUnit4;
public class JavaUtilTest {
private String getRootPath(String path) {
- return JavaUtil.getJavaRoot(new PathFragment(path)).getPathString();
+ return JavaUtil.getJavaRoot(PathFragment.create(path)).getPathString();
}
@Test
public void testGetJavaRoot() {
assertThat(
- JavaUtil.getJavaRoot(new PathFragment("path/without/Java/or/Javatests/or/Src/lowercase")))
+ JavaUtil.getJavaRoot(
+ PathFragment.create("path/without/Java/or/Javatests/or/Src/lowercase")))
.isNull();
assertThat(getRootPath("java/com/google/common/case")).isEqualTo("java");
assertThat(getRootPath("javatests/com/google/common/case")).isEqualTo("javatests");
@@ -103,26 +104,26 @@ public class JavaUtilTest {
@Test
public void testGetJavaPackageName() {
- assertThat(JavaUtil.getJavaPackageName(new PathFragment("java/com/google/foo/FooModule.java")))
- .isEqualTo("com.google.foo");
- assertThat(JavaUtil.getJavaPackageName(new PathFragment("org/foo/FooUtil.java")))
+ assertThat(JavaUtil.getJavaPackageName(
+ PathFragment.create("java/com/google/foo/FooModule.java"))).isEqualTo("com.google.foo");
+ assertThat(JavaUtil.getJavaPackageName(PathFragment.create("org/foo/FooUtil.java")))
.isEqualTo("org.foo");
}
@Test
public void testGetJavaFullClassname() {
assertThat(
- JavaUtil.getJavaFullClassname(new PathFragment("java/com/google/foo/FooModule.java")))
+ JavaUtil.getJavaFullClassname(PathFragment.create("java/com/google/foo/FooModule.java")))
.isEqualTo("com.google.foo.FooModule.java");
- assertThat(JavaUtil.getJavaFullClassname(new PathFragment("org/foo/FooUtil.java"))).isNull();
+ assertThat(JavaUtil.getJavaFullClassname(PathFragment.create("org/foo/FooUtil.java"))).isNull();
}
@Test
public void testGetJavaPath() {
assertThat(
JavaUtil.getJavaPath(
- new PathFragment("java/com/google/foo/FooModule.java")).getPathString())
+ PathFragment.create("java/com/google/foo/FooModule.java")).getPathString())
.isEqualTo("com/google/foo/FooModule.java");
- assertThat(JavaUtil.getJavaPath(new PathFragment("org/foo/FooUtil.java"))).isNull();
+ assertThat(JavaUtil.getJavaPath(PathFragment.create("org/foo/FooUtil.java"))).isNull();
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
index 629a418e2c..c9e1afacc0 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
@@ -79,7 +79,7 @@ public class RepositoryFunctionTest extends BuildViewTestCase {
" name = 'w',",
" path = '/a/b/c',",
")");
- assertEquals(new PathFragment("/a/b/c"),
+ assertEquals(PathFragment.create("/a/b/c"),
TestingRepositoryFunction.getTargetPath(rule, rootDirectory));
}
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
index ef482198a7..a8ecc550b4 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java
@@ -58,7 +58,7 @@ import org.mockito.Mockito;
public class ExperimentalStateTrackerTest extends FoundationTestCase {
private Action mockAction(String progressMessage, String primaryOutput) {
- Path path = outputBase.getRelative(new PathFragment(primaryOutput));
+ Path path = outputBase.getRelative(PathFragment.create(primaryOutput));
Artifact artifact = new Artifact(path, Root.asSourceRoot(path));
Action action = Mockito.mock(Action.class);
@@ -424,7 +424,7 @@ public class ExperimentalStateTrackerTest extends FoundationTestCase {
String primaryOutput = "some/path/to/a/file";
ManualClock clock = new ManualClock();
- Path path = outputBase.getRelative(new PathFragment(primaryOutput));
+ Path path = outputBase.getRelative(PathFragment.create(primaryOutput));
Artifact artifact = new Artifact(path, Root.asSourceRoot(path));
ActionExecutionMetadata actionMetadata = Mockito.mock(ActionExecutionMetadata.class);
when(actionMetadata.getOwner()).thenReturn(Mockito.mock(ActionOwner.class));
diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
index 3db7b36b54..4fac68d1b4 100644
--- a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
@@ -42,7 +42,7 @@ public class LinuxSandboxedStrategyTest extends SandboxTestCase {
@Test
public void testParseManifestFile() throws Exception {
- PathFragment targetDir = new PathFragment("runfiles");
+ PathFragment targetDir = PathFragment.create("runfiles");
Path testFile = workspaceDir.getRelative("testfile");
FileSystemUtils.createEmptyFile(testFile);
@@ -58,15 +58,15 @@ public class LinuxSandboxedStrategyTest extends SandboxTestCase {
fileSystem, mounts, targetDir, manifestFile.getPathFile(), false, "");
Map<PathFragment, Path> expected = new HashMap<>();
- expected.put(new PathFragment("runfiles/x/testfile"), testFile);
- expected.put(new PathFragment("runfiles/x/emptyfile"), null);
+ expected.put(PathFragment.create("runfiles/x/testfile"), testFile);
+ expected.put(PathFragment.create("runfiles/x/emptyfile"), null);
assertThat(mounts).isEqualTo(expected);
}
@Test
public void testParseFilesetManifestFile() throws Exception {
- PathFragment targetDir = new PathFragment("fileset");
+ PathFragment targetDir = PathFragment.create("fileset");
Path testFile = workspaceDir.getRelative("testfile");
FileSystemUtils.createEmptyFile(testFile);
@@ -81,6 +81,7 @@ public class LinuxSandboxedStrategyTest extends SandboxTestCase {
SpawnHelpers.parseManifestFile(
fileSystem, mounts, targetDir, manifestFile.getPathFile(), true, "workspace");
- assertThat(mounts).isEqualTo(ImmutableMap.of(new PathFragment("fileset/x/testfile"), testFile));
+ assertThat(mounts).isEqualTo(
+ ImmutableMap.of(PathFragment.create("fileset/x/testfile"), testFile));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/SymlinkedExecRootTest.java b/src/test/java/com/google/devtools/build/lib/sandbox/SymlinkedExecRootTest.java
index 24d1ca12e1..4ad84077dc 100644
--- a/src/test/java/com/google/devtools/build/lib/sandbox/SymlinkedExecRootTest.java
+++ b/src/test/java/com/google/devtools/build/lib/sandbox/SymlinkedExecRootTest.java
@@ -52,8 +52,8 @@ public class SymlinkedExecRootTest extends SandboxTestCase {
SymlinkedExecRoot symlinkedExecRoot = new SymlinkedExecRoot(execRoot);
symlinkedExecRoot.createFileSystem(
- ImmutableMap.of(new PathFragment("such/input.txt"), helloTxt),
- ImmutableSet.of(new PathFragment("very/output.txt")),
+ ImmutableMap.of(PathFragment.create("such/input.txt"), helloTxt),
+ ImmutableSet.of(PathFragment.create("very/output.txt")),
ImmutableSet.of(execRoot.getRelative("wow/writable")));
assertThat(execRoot.getRelative("such/input.txt").isSymbolicLink()).isTrue();
@@ -69,8 +69,8 @@ public class SymlinkedExecRootTest extends SandboxTestCase {
SymlinkedExecRoot symlinkedExecRoot = new SymlinkedExecRoot(execRoot);
symlinkedExecRoot.createFileSystem(
- ImmutableMap.of(new PathFragment("such/input.txt"), helloTxt),
- ImmutableSet.of(new PathFragment("very/output.txt")),
+ ImmutableMap.of(PathFragment.create("such/input.txt"), helloTxt),
+ ImmutableSet.of(PathFragment.create("very/output.txt")),
ImmutableSet.of(execRoot.getRelative("wow/writable")));
// Pretend to do some work inside the execRoot.
@@ -80,8 +80,8 @@ public class SymlinkedExecRootTest extends SandboxTestCase {
// Reuse the same execRoot.
symlinkedExecRoot.createFileSystem(
- ImmutableMap.of(new PathFragment("such/input.txt"), helloTxt),
- ImmutableSet.of(new PathFragment("very/output.txt")),
+ ImmutableMap.of(PathFragment.create("such/input.txt"), helloTxt),
+ ImmutableSet.of(PathFragment.create("very/output.txt")),
ImmutableSet.of(execRoot.getRelative("wow/writable")));
assertThat(execRoot.getRelative("such/input.txt").exists()).isTrue();
@@ -108,8 +108,8 @@ public class SymlinkedExecRootTest extends SandboxTestCase {
ImmutableSet.<Path>of());
FileSystemUtils.createEmptyFile(outputFile);
- outputLink.createSymbolicLink(new PathFragment("output.txt"));
- outputDangling.createSymbolicLink(new PathFragment("doesnotexist"));
+ outputLink.createSymbolicLink(PathFragment.create("output.txt"));
+ outputDangling.createSymbolicLink(PathFragment.create("doesnotexist"));
outputDir.createDirectory();
FileSystemUtils.createEmptyFile(outputDir.getRelative("test.txt"));
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
index d24647af26..954a3d5cdb 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
@@ -121,12 +121,12 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
OutputPathMapper mapper = new OutputPathMapper() {
@Override
public PathFragment parentRelativeOutputPath(TreeFileArtifact inputTreeFileArtifact) {
- return new PathFragment("conflict_path");
+ return PathFragment.create("conflict_path");
}
};
SpawnActionTemplate spawnActionTemplate =
new SpawnActionTemplate.Builder(inputTreeArtifact, outputTreeArtifact)
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setCommandLineTemplate(CustomCommandLine.builder().build())
.setOutputPathMapper(mapper)
.build(ActionsTestUtil.NULL_ACTION_OWNER);
@@ -152,10 +152,10 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
PathFragment path;
switch (i) {
case 0:
- path = new PathFragment("path_prefix");
+ path = PathFragment.create("path_prefix");
break;
case 1:
- path = new PathFragment("path_prefix/conflict");
+ path = PathFragment.create("path_prefix/conflict");
break;
default:
path = inputTreeFileArtifact.getParentRelativePath();
@@ -167,7 +167,7 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
};
SpawnActionTemplate spawnActionTemplate =
new SpawnActionTemplate.Builder(inputTreeArtifact, outputTreeArtifact)
- .setExecutable(new PathFragment("/bin/cp"))
+ .setExecutable(PathFragment.create("/bin/cp"))
.setCommandLineTemplate(CustomCommandLine.builder().build())
.setOutputPathMapper(mapper)
.build(ActionsTestUtil.NULL_ACTION_OWNER);
@@ -199,7 +199,7 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
}
private Artifact createTreeArtifact(String path) {
- PathFragment execPath = new PathFragment("out").getRelative(path);
+ PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = rootDirectory.getRelative(execPath);
return new SpecialArtifact(
fullPath,
@@ -216,7 +216,7 @@ public final class ActionTemplateExpansionFunctionTest extends FoundationTestCas
for (String childRelativePath : childRelativePaths) {
TreeFileArtifact treeFileArtifact = ActionInputHelper.treeFileArtifact(
- treeArtifact, new PathFragment(childRelativePath));
+ treeArtifact, PathFragment.create(childRelativePath));
scratch.file(treeFileArtifact.getPath().toString(), childRelativePath);
// We do not care about the FileArtifactValues in this test.
treeFileArtifactMap.put(treeFileArtifact, FileArtifactValue.create(treeFileArtifact));
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
index c729fc6b6a..21afd0a256 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
@@ -389,11 +389,11 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
}
private Artifact createSourceArtifact(String path) {
- return new Artifact(new PathFragment(path), Root.asSourceRoot(root));
+ return new Artifact(PathFragment.create(path), Root.asSourceRoot(root));
}
private Artifact createDerivedArtifact(String path) {
- PathFragment execPath = new PathFragment("out").getRelative(path);
+ PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = root.getRelative(execPath);
Artifact output =
new Artifact(
@@ -416,7 +416,7 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
}
private Artifact createDerivedTreeArtifactOnly(String path) {
- PathFragment execPath = new PathFragment("out").getRelative(path);
+ PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = root.getRelative(execPath);
return new SpecialArtifact(
fullPath,
@@ -429,7 +429,7 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
private TreeFileArtifact createFakeTreeFileArtifact(Artifact treeArtifact,
String parentRelativePath, String content) throws Exception {
TreeFileArtifact treeFileArtifact = ActionInputHelper.treeFileArtifact(
- treeArtifact, new PathFragment(parentRelativePath));
+ treeArtifact, PathFragment.create(parentRelativePath));
Path path = treeFileArtifact.getPath();
FileSystemUtils.createDirectoryAndParents(path.getParentDirectory());
writeFile(path, content);
@@ -499,9 +499,9 @@ public class ArtifactFunctionTest extends ArtifactFunctionTestCase {
try {
if (output.isTreeArtifact()) {
TreeFileArtifact treeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- output, new PathFragment("child1"));
+ output, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- output, new PathFragment("child2"));
+ output, PathFragment.create("child2"));
TreeArtifactValue treeArtifactValue = TreeArtifactValue.create(ImmutableMap.of(
treeFileArtifact1, FileArtifactValue.create(treeFileArtifact1),
treeFileArtifact2, FileArtifactValue.create(treeFileArtifact2)));
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java
index e2aebba89e..2a6f85eb05 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/DiffAwarenessManagerTest.java
@@ -94,9 +94,9 @@ public class DiffAwarenessManagerTest {
@Test
public void testHandlesUnprocessedDiffs() throws Exception {
Path pathEntry = root.getRelative("pathEntry");
- ModifiedFileSet diff1 = ModifiedFileSet.builder().modify(new PathFragment("file1")).build();
- ModifiedFileSet diff2 = ModifiedFileSet.builder().modify(new PathFragment("file2")).build();
- ModifiedFileSet diff3 = ModifiedFileSet.builder().modify(new PathFragment("file3")).build();
+ ModifiedFileSet diff1 = ModifiedFileSet.builder().modify(PathFragment.create("file1")).build();
+ ModifiedFileSet diff2 = ModifiedFileSet.builder().modify(PathFragment.create("file2")).build();
+ ModifiedFileSet diff3 = ModifiedFileSet.builder().modify(PathFragment.create("file3")).build();
DiffAwarenessStub diffAwareness =
new DiffAwarenessStub(ImmutableList.of(diff1, diff2, diff3, DiffAwarenessStub.BROKEN_DIFF));
DiffAwarenessFactoryStub factory = new DiffAwarenessFactoryStub();
@@ -134,12 +134,12 @@ public class DiffAwarenessManagerTest {
new DiffAwarenessStub(ImmutableList.<ModifiedFileSet>of(), 1);
factory1.inject(pathEntry, diffAwareness1);
DiffAwarenessFactoryStub factory2 = new DiffAwarenessFactoryStub();
- ModifiedFileSet diff2 = ModifiedFileSet.builder().modify(new PathFragment("file2")).build();
+ ModifiedFileSet diff2 = ModifiedFileSet.builder().modify(PathFragment.create("file2")).build();
DiffAwarenessStub diffAwareness2 =
new DiffAwarenessStub(ImmutableList.of(diff2, DiffAwarenessStub.BROKEN_DIFF));
factory2.inject(pathEntry, diffAwareness2);
DiffAwarenessFactoryStub factory3 = new DiffAwarenessFactoryStub();
- ModifiedFileSet diff3 = ModifiedFileSet.builder().modify(new PathFragment("file3")).build();
+ ModifiedFileSet diff3 = ModifiedFileSet.builder().modify(PathFragment.create("file3")).build();
DiffAwarenessStub diffAwareness3 = new DiffAwarenessStub(ImmutableList.of(diff3));
factory3.inject(pathEntry, diffAwareness3);
DiffAwarenessManager manager =
@@ -217,7 +217,7 @@ public class DiffAwarenessManagerTest {
private static class DiffAwarenessStub implements DiffAwareness {
public static final ModifiedFileSet BROKEN_DIFF =
- ModifiedFileSet.builder().modify(new PathFragment("special broken marker")).build();
+ ModifiedFileSet.builder().modify(PathFragment.create("special broken marker")).build();
private boolean closed = false;
private int curSequenceNum = 0;
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
index 5eb13b326d..68f0386bd6 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
@@ -303,7 +303,7 @@ public class FileFunctionTest {
rootedPath("a"),
rootedPath(""),
RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.EMPTY_FRAGMENT),
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("outside")));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("outside")));
}
@Test
@@ -320,7 +320,7 @@ public class FileFunctionTest {
rootedPath("a"),
rootedPath(""),
RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.EMPTY_FRAGMENT),
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("absolute")));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("absolute")));
}
@Test
@@ -341,10 +341,10 @@ public class FileFunctionTest {
rootedPath("a"),
rootedPath(""),
RootedPath.toRootedPath(root, PathFragment.EMPTY_FRAGMENT),
- RootedPath.toRootedPath(root, new PathFragment("output_base")),
- RootedPath.toRootedPath(root, new PathFragment("output_base/external")),
- RootedPath.toRootedPath(root, new PathFragment("output_base/external/a")),
- RootedPath.toRootedPath(root, new PathFragment("output_base/external/a/b")));
+ RootedPath.toRootedPath(root, PathFragment.create("output_base")),
+ RootedPath.toRootedPath(root, PathFragment.create("output_base/external")),
+ RootedPath.toRootedPath(root, PathFragment.create("output_base/external/a")),
+ RootedPath.toRootedPath(root, PathFragment.create("output_base/external/a/b")));
}
@Test
@@ -1584,12 +1584,12 @@ public class FileFunctionTest {
private Path symlink(String link, String target) throws Exception {
Path path = path(link);
FileSystemUtils.createDirectoryAndParents(path.getParentDirectory());
- path.createSymbolicLink(new PathFragment(target));
+ path.createSymbolicLink(PathFragment.create(target));
return path;
}
private Path path(String rootRelativePath) {
- return pkgRoot.getRelative(new PathFragment(rootRelativePath));
+ return pkgRoot.getRelative(PathFragment.create(rootRelativePath));
}
private RootedPath rootedPath(String pathString) {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java
index 49414a95ea..aadce0f35e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileSymlinkCycleUniquenessFunctionTest.java
@@ -30,9 +30,9 @@ public class FileSymlinkCycleUniquenessFunctionTest {
@Test
public void testHashCodeAndEqualsContract() throws Exception {
Path root = new InMemoryFileSystem().getRootDirectory().getRelative("root");
- RootedPath p1 = RootedPath.toRootedPath(root, new PathFragment("p1"));
- RootedPath p2 = RootedPath.toRootedPath(root, new PathFragment("p2"));
- RootedPath p3 = RootedPath.toRootedPath(root, new PathFragment("p3"));
+ RootedPath p1 = RootedPath.toRootedPath(root, PathFragment.create("p1"));
+ RootedPath p2 = RootedPath.toRootedPath(root, PathFragment.create("p2"));
+ RootedPath p3 = RootedPath.toRootedPath(root, PathFragment.create("p3"));
ImmutableList<RootedPath> cycleA1 = ImmutableList.of(p1);
ImmutableList<RootedPath> cycleB1 = ImmutableList.of(p2);
ImmutableList<RootedPath> cycleC1 = ImmutableList.of(p1, p2, p3);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
index 40d6d4e1fe..949f09b168 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
@@ -121,7 +121,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
}
private Artifact getSourceArtifact(String path) throws Exception {
- return new Artifact(new PathFragment(path), Root.asSourceRoot(rootDirectory));
+ return new Artifact(PathFragment.create(path), Root.asSourceRoot(rootDirectory));
}
private Artifact createSourceArtifact(String path) throws Exception {
@@ -177,15 +177,15 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
}
private static FilesetOutputSymlink symlink(String from, Artifact to) {
- return new FilesetOutputSymlink(new PathFragment(from), to.getPath().asFragment());
+ return new FilesetOutputSymlink(PathFragment.create(from), to.getPath().asFragment());
}
private static FilesetOutputSymlink symlink(String from, String to) {
- return new FilesetOutputSymlink(new PathFragment(from), new PathFragment(to));
+ return new FilesetOutputSymlink(PathFragment.create(from), PathFragment.create(to));
}
private static FilesetOutputSymlink symlink(String from, RootedPath to) {
- return new FilesetOutputSymlink(new PathFragment(from), to.asPath().asFragment());
+ return new FilesetOutputSymlink(PathFragment.create(from), to.asPath().asFragment());
}
private void assertSymlinksInOrder(
@@ -215,7 +215,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ file,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
assertSymlinksInOrder(params, symlink("output-name", file));
@@ -224,13 +224,13 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
private void assertFileTraversalForFileSymlink(SymlinkBehavior symlinks) throws Exception {
Artifact file = createSourceArtifact("foo/file.real");
Artifact symlink = getSourceArtifact("foo/file.sym");
- symlink.getPath().createSymbolicLink(new PathFragment("file.real"));
+ symlink.getPath().createSymbolicLink(PathFragment.create("file.real"));
FilesetTraversalParams params =
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ symlink,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ symlinks,
/*pkgBoundaryMode=*/ DONT_CROSS);
switch (symlinks) {
@@ -265,7 +265,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ dir,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
assertSymlinksInOrder(
@@ -277,13 +277,13 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
Artifact symlink = getSourceArtifact("foo/dir_sym");
createFile(childOf(dir, "file.a"), "hello");
createFile(childOf(dir, "sub/file.b"), "world");
- symlink.getPath().createSymbolicLink(new PathFragment("dir_real"));
+ symlink.getPath().createSymbolicLink(PathFragment.create("dir_real"));
FilesetTraversalParams params =
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ symlink,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ symlinks,
/*pkgBoundaryMode=*/ DONT_CROSS);
switch (symlinks) {
@@ -316,7 +316,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
RootedPath buildFile = createFile(childOf(dir, "subpkg/BUILD"), "blah");
RootedPath fileB = createFile(childOf(dir, "subpkg/file.b"), "blah");
fileAsym.asPath().getParentDirectory().createDirectory();
- fileAsym.asPath().createSymbolicLink(new PathFragment("../file.a"));
+ fileAsym.asPath().createSymbolicLink(PathFragment.create("../file.a"));
FilesetOutputSymlink outA = symlink("output-name/file.a", childOf(dir, "file.a"));
FilesetOutputSymlink outAsym = null;
@@ -337,7 +337,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ dir,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ symlinks,
/*pkgBoundaryMode=*/ pkgBoundaryMode);
@@ -399,8 +399,8 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
createFile(childOf(dir, "subpkg/BUILD"), "blah");
createFile(childOf(dir, "subpkg/file.b"), "blah");
fileAsym.asPath().getParentDirectory().createDirectory();
- fileAsym.asPath().createSymbolicLink(new PathFragment("../file.a"));
- symlink.getPath().createSymbolicLink(new PathFragment("dir_real"));
+ fileAsym.asPath().createSymbolicLink(PathFragment.create("../file.a"));
+ symlink.getPath().createSymbolicLink(PathFragment.create("dir_real"));
FilesetOutputSymlink outA = symlink("output-name/file.a", childOf(symlink, "file.a"));
FilesetOutputSymlink outASym = null;
@@ -423,7 +423,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ symlink,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ symlinks,
/*pkgBoundaryMode=*/ pkgBoundaryMode);
@@ -488,8 +488,8 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
RootedPath fileB = createFile(siblingOf(subpkgBuildFile, "file.b"), "blah");
scratch.dir(fileAsym.asPath().getParentDirectory().getPathString());
- fileAsym.asPath().createSymbolicLink(new PathFragment("../file.a"));
- subpkgSymlink.getPath().createSymbolicLink(new PathFragment("subpkg"));
+ fileAsym.asPath().createSymbolicLink(PathFragment.create("../file.a"));
+ subpkgSymlink.getPath().createSymbolicLink(PathFragment.create("subpkg"));
FilesetOutputSymlink outBuild = symlink("output-name/BUILD", buildFile);
FilesetOutputSymlink outA = symlink("output-name/file.a", fileA);
@@ -514,7 +514,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfPackage(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ buildFile,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ symlinks,
/*pkgBoundaryMode=*/ pkgBoundaryMode);
@@ -576,14 +576,14 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ path,
- /*destPath=*/ new PathFragment("inner-out"),
+ PathFragment.create("inner-out"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
FilesetTraversalParams outer =
FilesetTraversalParamsFactory.nestedTraversal(
/*ownerLabel=*/ label("//foo:bar"),
/*nested=*/ inner,
- /*destDir=*/ new PathFragment("outer-out"),
+ PathFragment.create("outer-out"),
/*excludes=*/ null);
assertSymlinksInOrder(outer, symlink("outer-out/inner-out", rootedPath(path)));
}
@@ -598,7 +598,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ dir,
- /*destPath=*/ new PathFragment(useInnerDir ? "inner-dir" : ""),
+ PathFragment.create(useInnerDir ? "inner-dir" : ""),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
@@ -606,7 +606,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.nestedTraversal(
/*ownerLabel=*/ label("//foo"),
/*nested=*/ inner,
- /*destDir=*/ new PathFragment("outer-dir"),
+ PathFragment.create("outer-dir"),
ImmutableSet.<String>of("file.a", "sub/file.c"));
if (useInnerDir) {
@@ -639,14 +639,14 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
public void testFileTraversalForDanglingSymlink() throws Exception {
Artifact linkName = getSourceArtifact("foo/dangling.sym");
RootedPath linkTarget = createFile(siblingOf(linkName, "target.file"), "blah");
- linkName.getPath().createSymbolicLink(new PathFragment("target.file"));
+ linkName.getPath().createSymbolicLink(PathFragment.create("target.file"));
linkTarget.asPath().delete();
FilesetTraversalParams params =
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ linkName,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
assertSymlinksInOrder(params); // expect empty results
@@ -659,14 +659,14 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
Artifact linkName = getSourceArtifact("foo/file.sym");
Artifact linkTarget = getSourceArtifact("foo/file.actual");
createFile(linkTarget);
- linkName.getPath().createSymbolicLink(new PathFragment("file.actual"));
+ linkName.getPath().createSymbolicLink(PathFragment.create("file.actual"));
// Ensure the symlink and its target would be included if they weren't explicitly excluded.
FilesetTraversalParams params =
FilesetTraversalParamsFactory.recursiveTraversalOfPackage(
/* ownerLabel */ label("//foo"),
/* buildFile */ buildFile,
- /* destPath */ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/* excludes */ ImmutableSet.<String>of(),
/* symlinkBehaviorMode */ symlinkBehavior,
/* pkgBoundaryMode */ PackageBoundaryMode.DONT_CROSS);
@@ -686,7 +686,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfPackage(
/* ownerLabel */ label("//foo"),
/* buildFile */ buildFile,
- /* destPath */ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/* excludes */ ImmutableSet.of("file.sym"),
/* symlinkBehaviorMode */ symlinkBehavior,
/* pkgBoundaryMode */ PackageBoundaryMode.DONT_CROSS);
@@ -710,7 +710,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//foo"),
/*fileToTraverse=*/ path,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
assertSymlinksInOrder(params); // expect empty results
@@ -720,14 +720,14 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
public void testRecursiveTraversalForDanglingSymlink() throws Exception {
Artifact linkName = getSourceArtifact("foo/dangling.sym");
RootedPath linkTarget = createFile(siblingOf(linkName, "target.file"), "blah");
- linkName.getPath().createSymbolicLink(new PathFragment("target.file"));
+ linkName.getPath().createSymbolicLink(PathFragment.create("target.file"));
linkTarget.asPath().delete();
FilesetTraversalParams params =
FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ linkName,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
@@ -742,7 +742,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
/*ownerLabel=*/ label("//foo"),
/*directoryToTraverse=*/ path,
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*excludes=*/ null,
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
@@ -853,7 +853,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
return FilesetTraversalParamsFactory.fileTraversal(
label((String) kwArgs.get("ownerLabel")),
getSourceArtifact((String) kwArgs.get("fileToTraverse")),
- new PathFragment((String) kwArgs.get("destPath")),
+ PathFragment.create((String) kwArgs.get("destPath")),
((SymlinkBehavior) kwArgs.get("symlinkBehaviorMode")),
(PackageBoundaryMode) kwArgs.get("pkgBoundaryMode"));
}
@@ -881,7 +881,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
return FilesetTraversalParamsFactory.recursiveTraversalOfDirectory(
label((String) kwArgs.get("ownerLabel")),
getSourceArtifact((String) kwArgs.get("directoryToTraverse")),
- new PathFragment((String) kwArgs.get("destPath")),
+ PathFragment.create((String) kwArgs.get("destPath")),
(Set<String>) kwArgs.get("excludes"),
((SymlinkBehavior) kwArgs.get("symlinkBehaviorMode")),
(PackageBoundaryMode) kwArgs.get("pkgBoundaryMode"));
@@ -910,7 +910,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
return FilesetTraversalParamsFactory.recursiveTraversalOfPackage(
label((String) kwArgs.get("ownerLabel")),
getSourceArtifact((String) kwArgs.get("buildFile")),
- new PathFragment((String) kwArgs.get("destPath")),
+ PathFragment.create((String) kwArgs.get("destPath")),
(Set<String>) kwArgs.get("excludes"),
((SymlinkBehavior) kwArgs.get("symlinkBehaviorMode")),
(PackageBoundaryMode) kwArgs.get("pkgBoundaryMode"));
@@ -924,7 +924,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//blah"),
/*fileToTraverse=*/ getSourceArtifact("blah/file.a"),
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
@@ -932,7 +932,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
FilesetTraversalParamsFactory.fileTraversal(
/*ownerLabel=*/ label("//blah"),
/*fileToTraverse=*/ getSourceArtifact("meow/file.b"),
- /*destPath=*/ new PathFragment("output-name"),
+ PathFragment.create("output-name"),
/*symlinkBehaviorMode=*/ SymlinkBehavior.COPY,
/*pkgBoundaryMode=*/ DONT_CROSS);
@@ -949,7 +949,7 @@ public final class FilesetEntryFunctionTest extends FoundationTestCase {
return FilesetTraversalParamsFactory.nestedTraversal(
label((String) kwArgs.get("ownerLabel")),
(FilesetTraversalParams) kwArgs.get("nested"),
- new PathFragment((String) kwArgs.get("destDir")),
+ PathFragment.create((String) kwArgs.get("destDir")),
(Set<String>) kwArgs.get("excludes"));
}
}.doTest();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
index 0dba1d9db9..2c92706a7a 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
@@ -155,7 +155,7 @@ public class FilesystemValueCheckerTest {
assertEmptyDiff(getDirtyFilesystemKeys(evaluator, checker));
SkyKey skyKey = FileStateValue.key(
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("foo")));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("foo")));
EvaluationResult<SkyValue> result =
driver.evaluate(
ImmutableList.of(skyKey),
@@ -206,13 +206,13 @@ public class FilesystemValueCheckerTest {
FileSystemUtils.ensureSymbolicLink(sym1, path);
FileSystemUtils.ensureSymbolicLink(sym2, path);
SkyKey fooKey =
- FileValue.key(RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("foo")));
+ FileValue.key(RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("foo")));
RootedPath symlinkRootedPath =
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("bar"));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("bar"));
SkyKey symlinkKey = FileValue.key(symlinkRootedPath);
SkyKey symlinkFileStateKey = FileStateValue.key(symlinkRootedPath);
RootedPath sym1RootedPath =
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("sym1"));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("sym1"));
SkyKey sym1FileStateKey = FileStateValue.key(sym1RootedPath);
Iterable<SkyKey> allKeys = ImmutableList.of(symlinkKey, fooKey);
@@ -274,10 +274,10 @@ public class FilesystemValueCheckerTest {
SkyKey key1 =
FileStateValue.key(
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("foo1")));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("foo1")));
SkyKey key2 =
FileStateValue.key(
- RootedPath.toRootedPath(fs.getRootDirectory(), new PathFragment("foo2")));
+ RootedPath.toRootedPath(fs.getRootDirectory(), PathFragment.create("foo2")));
Iterable<SkyKey> skyKeys = ImmutableList.of(key1, key2);
EvaluationResult<SkyValue> result =
driver.evaluate(
@@ -304,10 +304,11 @@ public class FilesystemValueCheckerTest {
public void testFileWithIOExceptionNotConsideredDirty() throws Exception {
Path path = fs.getPath("/testroot/foo");
path.getParentDirectory().createDirectory();
- path.createSymbolicLink(new PathFragment("bar"));
+ path.createSymbolicLink(PathFragment.create("bar"));
fs.readlinkThrowsIoException = true;
- SkyKey fileKey = FileStateValue.key(RootedPath.toRootedPath(pkgRoot, new PathFragment("foo")));
+ SkyKey fileKey = FileStateValue.key(
+ RootedPath.toRootedPath(pkgRoot, PathFragment.create("foo")));
EvaluationResult<SkyValue> result =
driver.evaluate(
ImmutableList.of(fileKey),
@@ -763,8 +764,8 @@ public class FilesystemValueCheckerTest {
@Test
public void testPropagatesRuntimeExceptions() throws Exception {
- Collection<SkyKey> values =
- ImmutableList.of(FileValue.key(RootedPath.toRootedPath(pkgRoot, new PathFragment("foo"))));
+ Collection<SkyKey> values = ImmutableList.of(
+ FileValue.key(RootedPath.toRootedPath(pkgRoot, PathFragment.create("foo"))));
driver.evaluate(
values, false, SkyframeExecutor.DEFAULT_THREAD_COUNT, NullEventHandler.INSTANCE);
FilesystemValueChecker checker = new FilesystemValueChecker(null, null);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunctionTest.java
index 564e4665f5..a2d51781c3 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunctionTest.java
@@ -143,7 +143,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
scratch.file("some/path/BUILD");
LocalRepositoryLookupValue repositoryLookupValue =
- lookupDirectory(RootedPath.toRootedPath(rootDirectory, new PathFragment("some/path")));
+ lookupDirectory(RootedPath.toRootedPath(rootDirectory, PathFragment.create("some/path")));
assertThat(repositoryLookupValue).isNotNull();
assertThat(repositoryLookupValue.getRepository()).isEqualTo(RepositoryName.MAIN);
}
@@ -155,7 +155,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
scratch.file("local/repo/BUILD");
LocalRepositoryLookupValue repositoryLookupValue =
- lookupDirectory(RootedPath.toRootedPath(rootDirectory, new PathFragment("local/repo")));
+ lookupDirectory(RootedPath.toRootedPath(rootDirectory, PathFragment.create("local/repo")));
assertThat(repositoryLookupValue).isNotNull();
assertThat(repositoryLookupValue.getRepository().getName()).isEqualTo("@local");
}
@@ -169,7 +169,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
LocalRepositoryLookupValue repositoryLookupValue =
lookupDirectory(
- RootedPath.toRootedPath(rootDirectory, new PathFragment("local/repo/sub/package")));
+ RootedPath.toRootedPath(rootDirectory, PathFragment.create("local/repo/sub/package")));
assertThat(repositoryLookupValue).isNotNull();
assertThat(repositoryLookupValue.getRepository().getName()).isEqualTo("@local");
}
@@ -181,7 +181,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
scratch.file("local/repo/BUILD");
LocalRepositoryLookupValue repositoryLookupValue =
- lookupDirectory(RootedPath.toRootedPath(rootDirectory, new PathFragment("local/repo")));
+ lookupDirectory(RootedPath.toRootedPath(rootDirectory, PathFragment.create("local/repo")));
assertThat(repositoryLookupValue).isNotNull();
assertThat(repositoryLookupValue.getRepository()).isEqualTo(RepositoryName.MAIN);
}
@@ -198,7 +198,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
scratch.file("local/repo/BUILD");
SkyKey localRepositoryKey =
- createKey(RootedPath.toRootedPath(rootDirectory, new PathFragment("local/repo")));
+ createKey(RootedPath.toRootedPath(rootDirectory, PathFragment.create("local/repo")));
EvaluationResult<LocalRepositoryLookupValue> result = lookupDirectory(localRepositoryKey);
assertThatEvaluationResult(result)
@@ -218,7 +218,7 @@ public class LocalRepositoryLookupFunctionTest extends FoundationTestCase {
scratch.file("local/repo/BUILD");
LocalRepositoryLookupValue repositoryLookupValue =
- lookupDirectory(RootedPath.toRootedPath(rootDirectory, new PathFragment("local/repo")));
+ lookupDirectory(RootedPath.toRootedPath(rootDirectory, PathFragment.create("local/repo")));
assertThat(repositoryLookupValue).isNotNull();
// In this case, the repository should be MAIN as we can't find any local_repository rules.
assertThat(repositoryLookupValue.getRepository()).isEqualTo(RepositoryName.MAIN);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
index 98bedeb0c4..758c41b28b 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
@@ -124,7 +124,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
preparePackageLoading(rootDirectory);
- SkyKey pkgLookupKey = PackageLookupValue.key(new PathFragment("foo"));
+ SkyKey pkgLookupKey = PackageLookupValue.key(PathFragment.create("foo"));
EvaluationResult<PackageLookupValue> result = SkyframeExecutorTestUtils.evaluate(
getSkyframeExecutor(), pkgLookupKey, /*keepGoing=*/false, reporter);
assertFalse(result.hasError());
@@ -336,7 +336,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
scratch.overwriteFile("bar/a",
"subinclude('//baz:c')");
getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment("bar/a")).build(), rootDirectory);
+ ModifiedFileSet.builder().modify(PathFragment.create("bar/a")).build(), rootDirectory);
value = validPackage(skyKey);
assertThat(value.getPackage().getSubincludeLabels()).containsExactly(
@@ -368,7 +368,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/d.txt")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/d.txt")).build(),
rootDirectory);
value = validPackage(skyKey);
assertThat(
@@ -399,7 +399,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/BUILD")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/BUILD")).build(),
rootDirectory);
assertSrcs(validPackage(skyKey), "foo", "//foo:a.config", "//foo:b.txt");
scratch.overwriteFile(
@@ -407,7 +407,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/BUILD")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/BUILD")).build(),
rootDirectory);
assertSrcs(validPackage(skyKey), "foo", "//foo:a.config", "//foo:b.txt");
getSkyframeExecutor().resetEvaluator();
@@ -461,7 +461,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/BUILD")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/BUILD")).build(),
rootDirectory);
PackageValue fooValue2 = validPackage(fooKey);
assertThat(fooValue2).isNotEqualTo(fooValue);
@@ -503,7 +503,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/irrelevant")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/irrelevant")).build(),
rootDirectory);
assertThat(validPackage(skyKey)).isSameAs(value);
}
@@ -521,7 +521,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
getSkyframeExecutor()
.invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/irrelevant")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/irrelevant")).build(),
rootDirectory);
assertThat(validPackage(skyKey)).isSameAs(value);
}
@@ -574,8 +574,10 @@ public class PackageFunctionTest extends BuildViewTestCase {
scratch.overwriteFile("bar/ext.bzl",
"load('/qux/ext', 'c')",
"a = c");
- getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment("bar/ext.bzl")).build(), rootDirectory);
+ getSkyframeExecutor().invalidateFilesUnderPathForTesting(
+ reporter,
+ ModifiedFileSet.builder().modify(PathFragment.create("bar/ext.bzl")).build(),
+ rootDirectory);
value = validPackage(skyKey);
assertThat(value.getPackage().getSkylarkFileDependencies()).containsExactly(
@@ -655,7 +657,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
public void testSymlinkCycleWithSkylarkExtension() throws Exception {
reporter.removeHandler(failFastHandler);
Path extensionFilePath = scratch.resolve("/workspace/test/skylark/extension.bzl");
- FileSystemUtils.ensureSymbolicLink(extensionFilePath, new PathFragment("extension.bzl"));
+ FileSystemUtils.ensureSymbolicLink(extensionFilePath, PathFragment.create("extension.bzl"));
scratch.file("test/skylark/BUILD",
"load('/test/skylark/extension', 'a')",
"genrule(name = gr,",
@@ -715,7 +717,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
com.google.devtools.build.lib.skyframe.FileStateValue.key(
RootedPath.toRootedPath(
workspacePath.getParentDirectory(),
- new PathFragment(workspacePath.getBaseName())))));
+ PathFragment.create(workspacePath.getBaseName())))));
reporter.removeHandler(failFastHandler);
EvaluationResult<PackageValue> result =
@@ -751,7 +753,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
"#some-irrelevant-comment");
getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/BUILD")).build(), rootDirectory);
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/BUILD")).build(), rootDirectory);
value = validPackage(skyKey);
assertFalse(value.getPackage().containsErrors());
@@ -767,7 +769,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
scratch.file("foo/nope");
getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/nope")).build(), rootDirectory);
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/nope")).build(), rootDirectory);
PackageValue newValue = validPackage(skyKey);
assertFalse(newValue.getPackage().containsErrors());
@@ -803,7 +805,7 @@ public class PackageFunctionTest extends BuildViewTestCase {
"[sh_library(name = x + '-matched') for x in glob(['**'], exclude_directories = 0)]",
"#some-irrelevant-comment");
getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
- ModifiedFileSet.builder().modify(new PathFragment("foo/BUILD")).build(), rootDirectory);
+ ModifiedFileSet.builder().modify(PathFragment.create("foo/BUILD")).build(), rootDirectory);
value = validPackage(skyKey);
assertFalse(value.getPackage().containsErrors());
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
index 0c4c1d4728..6ad7725f4c 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java
@@ -199,7 +199,7 @@ public abstract class PackageLookupFunctionTest extends FoundationTestCase {
scratch.file("blacklisted/subdir/BUILD");
scratch.file("blacklisted/BUILD");
PrecomputedValue.BLACKLISTED_PACKAGE_PREFIXES_FILE.set(differencer,
- new PathFragment("config/blacklisted.txt"));
+ PathFragment.create("config/blacklisted.txt"));
Path blacklist = scratch.file("config/blacklisted.txt", "blacklisted");
ImmutableSet<String> pkgs = ImmutableSet.of("blacklisted/subdir", "blacklisted");
@@ -213,7 +213,7 @@ public abstract class PackageLookupFunctionTest extends FoundationTestCase {
scratch.overwriteFile("config/blacklisted.txt", "not_blacklisted");
RootedPath rootedBlacklist = RootedPath.toRootedPath(
blacklist.getParentDirectory().getParentDirectory(),
- new PathFragment("config/blacklisted.txt"));
+ PathFragment.create("config/blacklisted.txt"));
differencer.invalidate(ImmutableSet.of(FileStateValue.key(rootedBlacklist)));
for (String pkg : pkgs) {
PackageLookupValue packageLookupValue = lookupPackage(pkg);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunctionSmartNegationTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunctionSmartNegationTest.java
index 50c3a2c046..8786b42af3 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunctionSmartNegationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunctionSmartNegationTest.java
@@ -90,7 +90,7 @@ public class PrepareDepsOfPatternsFunctionSmartNegationTest extends BuildViewTes
// and a blacklist for the malformed package,
getSkyframeExecutor().setBlacklistedPackagePrefixesFile(
- new PathFragment("config/blacklist.txt"));
+ PathFragment.create("config/blacklist.txt"));
scratch.file("config/blacklist.txt", "foo/foo");
assertSkipsFoo(patternSequence);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunctionTest.java
index b790f86780..1602f4a62a 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryFunctionTest.java
@@ -97,7 +97,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
createPackages();
// When package "a" is evaluated,
- SkyKey key = createPrepDepsKey(rootDirectory, new PathFragment("a"));
+ SkyKey key = createPrepDepsKey(rootDirectory, PathFragment.create("a"));
EvaluationResult<?> evaluationResult = getEvaluationResult(key);
WalkableGraph graph = Preconditions.checkNotNull(evaluationResult.getWalkableGraph());
@@ -122,7 +122,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
createPackages();
// When package "a" is evaluated under a test-only filtering policy,
- SkyKey key = createPrepDepsKey(rootDirectory, new PathFragment("a"),
+ SkyKey key = createPrepDepsKey(rootDirectory, PathFragment.create("a"),
ImmutableSet.<PathFragment>of(), FilteringPolicies.FILTER_TESTS);
EvaluationResult<?> evaluationResult = getEvaluationResult(key);
WalkableGraph graph = Preconditions.checkNotNull(evaluationResult.getWalkableGraph());
@@ -157,12 +157,12 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
// When the top package is evaluated via PrepareDepsOfTargetsUnderDirectoryValue with "a/b"
// excluded,
- PathFragment excludedPathFragment = new PathFragment("a/b");
- SkyKey key = createPrepDepsKey(rootDirectory, new PathFragment("a"),
+ PathFragment excludedPathFragment = PathFragment.create("a/b");
+ SkyKey key = createPrepDepsKey(rootDirectory, PathFragment.create("a"),
ImmutableSet.of(excludedPathFragment));
SkyKey collectkey =
createCollectPackagesKey(
- rootDirectory, new PathFragment("a"), ImmutableSet.of(excludedPathFragment));
+ rootDirectory, PathFragment.create("a"), ImmutableSet.of(excludedPathFragment));
EvaluationResult<?> evaluationResult = getEvaluationResult(key, collectkey);
CollectPackagesUnderDirectoryValue value =
(CollectPackagesUnderDirectoryValue)
@@ -171,7 +171,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
.getValue(
createCollectPackagesKey(
rootDirectory,
- new PathFragment("a"),
+ PathFragment.create("a"),
ImmutableSet.of(excludedPathFragment)));
// Then the value reports that "a" is a package,
@@ -181,7 +181,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
RootedPath onlySubdir =
Iterables.getOnlyElement(
value.getSubdirectoryTransitivelyContainsPackagesOrErrors().keySet());
- assertThat(onlySubdir.getRelativePath()).isEqualTo(new PathFragment("a/c"));
+ assertThat(onlySubdir.getRelativePath()).isEqualTo(PathFragment.create("a/c"));
// And the "a/c" subdirectory reports a package under it.
assertThat(value.getSubdirectoryTransitivelyContainsPackagesOrErrors().get(onlySubdir))
@@ -199,7 +199,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
assertTrue(
exists(
createPrepDepsKey(
- rootDirectory, new PathFragment("a/c"), ImmutableSet.<PathFragment>of()),
+ rootDirectory, PathFragment.create("a/c"), ImmutableSet.<PathFragment>of()),
graph));
}
@@ -212,17 +212,18 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
scratch.file("a/b/d/helloworld");
// When the top package is evaluated for recursive package values, and "a/b/c" is excluded,
- ImmutableSet<PathFragment> excludedPaths = ImmutableSet.of(new PathFragment("a/b/c"));
- SkyKey key = createPrepDepsKey(rootDirectory, new PathFragment("a"), excludedPaths);
+ ImmutableSet<PathFragment> excludedPaths = ImmutableSet.of(PathFragment.create("a/b/c"));
+ SkyKey key = createPrepDepsKey(rootDirectory, PathFragment.create("a"), excludedPaths);
SkyKey collectKey =
- createCollectPackagesKey(rootDirectory, new PathFragment("a"), excludedPaths);
+ createCollectPackagesKey(rootDirectory, PathFragment.create("a"), excludedPaths);
EvaluationResult<?> evaluationResult = getEvaluationResult(key, collectKey);
CollectPackagesUnderDirectoryValue value =
(CollectPackagesUnderDirectoryValue)
evaluationResult
.getWalkableGraph()
.getValue(
- createCollectPackagesKey(rootDirectory, new PathFragment("a"), excludedPaths));
+ createCollectPackagesKey(
+ rootDirectory, PathFragment.create("a"), excludedPaths));
// Then the value reports that "a" is a package,
assertThat(value.isDirectoryPackage()).isTrue();
@@ -231,7 +232,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
RootedPath onlySubdir =
Iterables.getOnlyElement(
value.getSubdirectoryTransitivelyContainsPackagesOrErrors().keySet());
- assertThat(onlySubdir.getRelativePath()).isEqualTo(new PathFragment("a/b"));
+ assertThat(onlySubdir.getRelativePath()).isEqualTo(PathFragment.create("a/b"));
// And the "a/b" subdirectory does not report a package under it (because it got excluded).
assertThat(value.getSubdirectoryTransitivelyContainsPackagesOrErrors().get(onlySubdir))
@@ -240,7 +241,8 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
// Also, the computation graph contains a cached value for "a/b" with "a/b/c" excluded, because
// "a/b/c" does live underneath "a/b".
WalkableGraph graph = Preconditions.checkNotNull(evaluationResult.getWalkableGraph());
- SkyKey abKey = createCollectPackagesKey(rootDirectory, new PathFragment("a/b"), excludedPaths);
+ SkyKey abKey = createCollectPackagesKey(
+ rootDirectory, PathFragment.create("a/b"), excludedPaths);
assertThat(exists(abKey, graph)).isTrue();
CollectPackagesUnderDirectoryValue abValue =
(CollectPackagesUnderDirectoryValue) Preconditions.checkNotNull(graph.getValue(abKey));
@@ -252,7 +254,7 @@ public class PrepareDepsOfTargetsUnderDirectoryFunctionTest extends BuildViewTes
RootedPath abd =
Iterables.getOnlyElement(
abValue.getSubdirectoryTransitivelyContainsPackagesOrErrors().keySet());
- assertThat(abd.getRelativePath()).isEqualTo(new PathFragment("a/b/d"));
+ assertThat(abd.getRelativePath()).isEqualTo(PathFragment.create("a/b/d"));
// And no package is under "a/b/d".
assertThat(abValue.getSubdirectoryTransitivelyContainsPackagesOrErrors().get(abd)).isFalse();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
index a45d7b1e77..229cbcfb48 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
@@ -137,16 +137,16 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
}
private Artifact sourceArtifact(String path) {
- return new Artifact(new PathFragment(path), Root.asSourceRoot(rootDirectory));
+ return new Artifact(PathFragment.create(path), Root.asSourceRoot(rootDirectory));
}
private Artifact sourceArtifactUnderPackagePath(String path, String packagePath) {
return new Artifact(
- new PathFragment(path), Root.asSourceRoot(rootDirectory.getRelative(packagePath)));
+ PathFragment.create(path), Root.asSourceRoot(rootDirectory.getRelative(packagePath)));
}
private Artifact derivedArtifact(String path) {
- PathFragment execPath = new PathFragment("out").getRelative(path);
+ PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = rootDirectory.getRelative(execPath);
Artifact output =
new Artifact(
@@ -161,7 +161,8 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
}
private RootedPath rootedPath(String path, String packagePath) {
- return RootedPath.toRootedPath(rootDirectory.getRelative(packagePath), new PathFragment(path));
+ return RootedPath.toRootedPath(
+ rootDirectory.getRelative(packagePath), PathFragment.create(path));
}
private static RootedPath childOf(Artifact artifact, String relative) {
@@ -376,7 +377,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
public void testTraversalOfSymlinkToFile() throws Exception {
Artifact linkNameArtifact = sourceArtifact("foo/baz/qux.sym");
Artifact linkTargetArtifact = sourceArtifact("foo/bar/baz.txt");
- PathFragment linkValue = new PathFragment("../bar/baz.txt");
+ PathFragment linkValue = PathFragment.create("../bar/baz.txt");
TraversalRequest traversalRoot = fileLikeRoot(linkNameArtifact, DONT_CROSS);
createFile(linkTargetArtifact);
scratch.dir(linkNameArtifact.getExecPath().getParentDirectory().getPathString());
@@ -407,8 +408,8 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
RootedPath fileA = createFile(rootedPath(sourceArtifact("a/file.a")));
RootedPath directLink = rootedPath(directLinkArtifact);
RootedPath transitiveLink = rootedPath(transitiveLinkArtifact);
- PathFragment directLinkPath = new PathFragment("../a/file.a");
- PathFragment transitiveLinkPath = new PathFragment("../direct/file.sym");
+ PathFragment directLinkPath = PathFragment.create("../a/file.a");
+ PathFragment transitiveLinkPath = PathFragment.create("../direct/file.sym");
parentOf(directLink).asPath().createDirectory();
parentOf(transitiveLink).asPath().createDirectory();
@@ -500,8 +501,8 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
RootedPath fileA = createFile(rootedPath(sourceArtifact("a/file.a")));
RootedPath directLink = rootedPath(directLinkArtifact);
RootedPath transitiveLink = rootedPath(transitiveLinkArtifact);
- PathFragment directLinkPath = new PathFragment("../a");
- PathFragment transitiveLinkPath = new PathFragment("../direct/dir.sym");
+ PathFragment directLinkPath = PathFragment.create("../a");
+ PathFragment transitiveLinkPath = PathFragment.create("../direct/dir.sym");
parentOf(directLink).asPath().createDirectory();
parentOf(transitiveLink).asPath().createDirectory();
@@ -538,7 +539,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
Artifact linkNameArtifact = sourceArtifact("link/foo.sym");
Artifact linkTargetArtifact = sourceArtifact("dir");
RootedPath linkName = rootedPath(linkNameArtifact);
- PathFragment linkValue = new PathFragment("../dir");
+ PathFragment linkValue = PathFragment.create("../dir");
RootedPath file1 = createFile(childOf(linkTargetArtifact, "file.1"));
createFile(childOf(linkTargetArtifact, "sub/file.2"));
scratch.dir(parentOf(linkName).asPath().getPathString());
@@ -595,7 +596,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
public void testTraversalOfDanglingSymlink() throws Exception {
Artifact linkArtifact = sourceArtifact("a/dangling.sym");
RootedPath link = rootedPath(linkArtifact);
- PathFragment linkTarget = new PathFragment("non_existent");
+ PathFragment linkTarget = PathFragment.create("non_existent");
parentOf(link).asPath().createDirectory();
link.asPath().createSymbolicLink(linkTarget);
traverseAndAssertFiles(
@@ -607,7 +608,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
Artifact dirArtifact = sourceArtifact("a");
RootedPath file = createFile(childOf(dirArtifact, "file.txt"));
RootedPath link = rootedPath(sourceArtifact("a/dangling.sym"));
- PathFragment linkTarget = new PathFragment("non_existent");
+ PathFragment linkTarget = PathFragment.create("non_existent");
parentOf(link).asPath().createDirectory();
link.asPath().createSymbolicLink(linkTarget);
traverseAndAssertFiles(
@@ -727,7 +728,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
// Create a relative symlink pp1://a/b.sym -> b/. It will be resolved to the subdirectory
// pp1://a/b, even though a package definition pp2://a/b exists.
RootedPath pp1aBsym = siblingOf(pp1aFileA, "b.sym");
- pp1aBsym.asPath().createSymbolicLink(new PathFragment("b"));
+ pp1aBsym.asPath().createSymbolicLink(PathFragment.create("b"));
invalidateDirectory(parentOf(pp1aBsym));
// Traverse //a excluding subpackages. The relative symlink //a/b.sym points to the subdirectory
@@ -738,7 +739,7 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe
regularFileForTesting(pp1aBuild),
regularFileForTesting(pp1aFileA),
regularFileForTesting(childOf(pp1aBsym, "file.fake")),
- symlinkToDirectoryForTesting(parentOf(pp1bFileFake), pp1aBsym, new PathFragment("b")),
+ symlinkToDirectoryForTesting(parentOf(pp1bFileFake), pp1aBsym, PathFragment.create("b")),
regularFileForTesting(pp1aSubdirFileB));
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgFunctionTest.java
index 89f961a0a5..d23b527469 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgFunctionTest.java
@@ -92,7 +92,7 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
public void testStartingAtBuildFile() throws Exception {
scratch.file("a/b/c/BUILD");
RecursivePkgValue value =
- buildRecursivePkgValue(rootDirectory, new PathFragment("a/b/c/BUILD"));
+ buildRecursivePkgValue(rootDirectory, PathFragment.create("a/b/c/BUILD"));
assertTrue(value.getPackages().isEmpty());
}
@@ -106,11 +106,11 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
scratch.file(root2 + "/a/b/BUILD");
setPackageCacheOptions("--package_path=" + "root1" + ":" + "root2");
- RecursivePkgValue valueForRoot1 = buildRecursivePkgValue(root1, new PathFragment("a"));
+ RecursivePkgValue valueForRoot1 = buildRecursivePkgValue(root1, PathFragment.create("a"));
String root1Pkg = Iterables.getOnlyElement(valueForRoot1.getPackages());
assertEquals(root1Pkg, "a");
- RecursivePkgValue valueForRoot2 = buildRecursivePkgValue(root2, new PathFragment("a"));
+ RecursivePkgValue valueForRoot2 = buildRecursivePkgValue(root2, PathFragment.create("a"));
String root2Pkg = Iterables.getOnlyElement(valueForRoot2.getPackages());
assertEquals(root2Pkg, "a/b");
}
@@ -123,10 +123,10 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
scratch.file("a/c/BUILD");
// When the top package is evaluated for recursive package values, and "a/b" is excluded,
- PathFragment excludedPathFragment = new PathFragment("a/b");
+ PathFragment excludedPathFragment = PathFragment.create("a/b");
SkyKey key =
buildRecursivePkgKey(
- rootDirectory, new PathFragment("a"), ImmutableSet.of(excludedPathFragment));
+ rootDirectory, PathFragment.create("a"), ImmutableSet.of(excludedPathFragment));
EvaluationResult<RecursivePkgValue> evaluationResult = getEvaluationResult(key);
RecursivePkgValue value = evaluationResult.get(key);
@@ -150,7 +150,7 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
assertTrue(
exists(
buildRecursivePkgKey(
- rootDirectory, new PathFragment("a/c"), ImmutableSet.<PathFragment>of()),
+ rootDirectory, PathFragment.create("a/c"), ImmutableSet.<PathFragment>of()),
graph));
}
@@ -162,8 +162,8 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
scratch.file("a/b/d/BUILD");
// When the top package is evaluated for recursive package values, and "a/b/c" is excluded,
- ImmutableSet<PathFragment> excludedPaths = ImmutableSet.of(new PathFragment("a/b/c"));
- SkyKey key = buildRecursivePkgKey(rootDirectory, new PathFragment("a"), excludedPaths);
+ ImmutableSet<PathFragment> excludedPaths = ImmutableSet.of(PathFragment.create("a/b/c"));
+ SkyKey key = buildRecursivePkgKey(rootDirectory, PathFragment.create("a"), excludedPaths);
EvaluationResult<RecursivePkgValue> evaluationResult = getEvaluationResult(key);
RecursivePkgValue value = evaluationResult.get(key);
@@ -178,6 +178,8 @@ public class RecursivePkgFunctionTest extends BuildViewTestCase {
// "a/b/c" does live underneath "a/b".
WalkableGraph graph = Preconditions.checkNotNull(evaluationResult.getWalkableGraph());
assertTrue(
- exists(buildRecursivePkgKey(rootDirectory, new PathFragment("a/b"), excludedPaths), graph));
+ exists(
+ buildRecursivePkgKey(rootDirectory, PathFragment.create("a/b"), excludedPaths),
+ graph));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgKeyTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgKeyTest.java
index 9d0fc4dba1..e205cabf1c 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgKeyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RecursivePkgKeyTest.java
@@ -53,37 +53,37 @@ public class RecursivePkgKeyTest extends BuildViewTestCase {
public void testValidRecursivePkgKeys() throws Exception {
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment(""),
+ PathFragment.create(""),
ImmutableSet.<PathFragment>of());
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment(""),
- ImmutableSet.of(new PathFragment("a")));
+ PathFragment.create(""),
+ ImmutableSet.of(PathFragment.create("a")));
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment("a"),
+ PathFragment.create("a"),
ImmutableSet.<PathFragment>of());
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment("a"),
- ImmutableSet.of(new PathFragment("a/b")));
+ PathFragment.create("a"),
+ ImmutableSet.of(PathFragment.create("a/b")));
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment("a/b"),
+ PathFragment.create("a/b"),
ImmutableSet.<PathFragment>of());
buildRecursivePkgKey(
RepositoryName.MAIN,
- new PathFragment("a/b"),
- ImmutableSet.of(new PathFragment("a/b/c")));
+ PathFragment.create("a/b"),
+ ImmutableSet.of(PathFragment.create("a/b/c")));
}
@Test
public void testInvalidRecursivePkgKeys() throws Exception {
- invalidHelper(new PathFragment(""), ImmutableSet.of(new PathFragment("")));
- invalidHelper(new PathFragment("a"), ImmutableSet.of(new PathFragment("a")));
- invalidHelper(new PathFragment("a"), ImmutableSet.of(new PathFragment("b")));
- invalidHelper(new PathFragment("a/b"), ImmutableSet.of(new PathFragment("a")));
+ invalidHelper(PathFragment.create(""), ImmutableSet.of(PathFragment.create("")));
+ invalidHelper(PathFragment.create("a"), ImmutableSet.of(PathFragment.create("a")));
+ invalidHelper(PathFragment.create("a"), ImmutableSet.of(PathFragment.create("b")));
+ invalidHelper(PathFragment.create("a/b"), ImmutableSet.of(PathFragment.create("a")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
index 66c469d5f0..9c73d2f26f 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
@@ -443,7 +443,7 @@ public class SkyframeAwareActionTest extends TimestampBuilderTestCase {
private RootedPath createSkyframeDepOfAction() throws Exception {
scratch.file(rootDirectory.getRelative("action.dep").getPathString(), "blah");
- return RootedPath.toRootedPath(rootDirectory, new PathFragment("action.dep"));
+ return RootedPath.toRootedPath(rootDirectory, PathFragment.create("action.dep"));
}
private void appendToFile(Path path) throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
index 892f72126f..8aad421603 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
@@ -261,8 +261,8 @@ public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase {
scratch.file("x/y/BUILD", "sh_library(name = 'z')");
syncPackages(
ModifiedFileSet.builder()
- .modify(new PathFragment("x/y"))
- .modify(new PathFragment("x/y/BUILD"))
+ .modify(PathFragment.create("x/y"))
+ .modify(PathFragment.create("x/y/BUILD"))
.build());
reporter.removeHandler(failFastHandler); // expect errors
@@ -281,7 +281,7 @@ public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase {
assertContainsEvent("Label '//x:y/z' crosses boundary of subpackage 'x/y'");
scratch.deleteFile("x/y/BUILD");
- syncPackages(ModifiedFileSet.builder().modify(new PathFragment("x/y/BUILD")).build());
+ syncPackages(ModifiedFileSet.builder().modify(PathFragment.create("x/y/BUILD")).build());
reporter.addHandler(failFastHandler); // don't expect errors
assertLabelsVisited(
@@ -474,14 +474,14 @@ public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase {
ImmutableSet.of("//a:a"), ImmutableSet.of("//a:a"), !EXPECT_ERROR, !KEEP_GOING);
Path subpackageBuildFile = scratch.file("b/c/BUILD", "exports_files(['foo'])");
- syncPackages(ModifiedFileSet.builder().modify(new PathFragment("b/c/BUILD")).build());
+ syncPackages(ModifiedFileSet.builder().modify(PathFragment.create("b/c/BUILD")).build());
reporter.removeHandler(failFastHandler); // expect errors
assertLabelsVisitedWithErrors(ImmutableSet.of("//a:a"), ImmutableSet.of("//a:a"));
assertContainsEvent("Label '//b:c/d/foo' crosses boundary of subpackage 'b/c'");
subpackageBuildFile.delete();
- syncPackages(ModifiedFileSet.builder().modify(new PathFragment("b/c/BUILD")).build());
+ syncPackages(ModifiedFileSet.builder().modify(PathFragment.create("b/c/BUILD")).build());
assertLabelsVisited(
ImmutableSet.of("//a:a"), ImmutableSet.of("//a:a"), !EXPECT_ERROR, !KEEP_GOING);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java
index d4dda9baf3..5561adcf71 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TargetMarkerFunctionTest.java
@@ -93,7 +93,7 @@ public class TargetMarkerFunctionTest extends BuildViewTestCase {
scratch.file("a/b/BUILD");
ModifiedFileSet subpackageBuildFile =
- ModifiedFileSet.builder().modify(new PathFragment("a/b/BUILD")).build();
+ ModifiedFileSet.builder().modify(PathFragment.create("a/b/BUILD")).build();
skyframeExecutor.invalidateFilesUnderPathForTesting(
reporter, subpackageBuildFile, rootDirectory);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 8caead9e87..4b6b7002f5 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -309,7 +309,7 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase {
Artifact createSourceArtifact(FileSystem fs, String name) {
Path root = fs.getPath(TestUtils.tmpDir());
- return new Artifact(new PathFragment(name), Root.asSourceRoot(root));
+ return new Artifact(PathFragment.create(name), Root.asSourceRoot(root));
}
protected Artifact createDerivedArtifact(String name) {
@@ -318,7 +318,7 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase {
Artifact createDerivedArtifact(FileSystem fs, String name) {
Path execRoot = fs.getPath(TestUtils.tmpDir());
- PathFragment execPath = new PathFragment("out").getRelative(name);
+ PathFragment execPath = PathFragment.create("out").getRelative(name);
Path path = execRoot.getRelative(execPath);
return new Artifact(
path, Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), execPath, ALL_OWNER);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
index 99da8b961b..c682340282 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
@@ -709,9 +709,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// artifact1 is a tree artifact generated by a TouchingTestAction.
Artifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child1"));
+ artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child2"));
+ artifact1, PathFragment.create("child2"));
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
@@ -723,9 +723,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// We mock out the action template function to expand into two actions that just touch the
// output files.
TreeFileArtifact expectedOutputTreeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child1"));
+ artifact2, PathFragment.create("child1"));
TreeFileArtifact expectedOutputTreeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child2"));
+ artifact2, PathFragment.create("child2"));
Action generateOutputAction = new DummyAction(
ImmutableList.<Artifact>of(treeFileArtifactA), expectedOutputTreeFileArtifact1);
Action noGenerateOutputAction = new DummyAction(
@@ -747,9 +747,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// artifact1 is a tree artifact generated by a TouchingTestAction.
Artifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child1"));
+ artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child2"));
+ artifact1, PathFragment.create("child2"));
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
@@ -762,9 +762,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// One Action that touches the output file.
// The other action that does not generate the output file.
TreeFileArtifact expectedOutputTreeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child1"));
+ artifact2, PathFragment.create("child1"));
TreeFileArtifact expectedOutputTreeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child2"));
+ artifact2, PathFragment.create("child2"));
Action generateOutputAction = new DummyAction(
ImmutableList.<Artifact>of(treeFileArtifactA), expectedOutputTreeFileArtifact1);
Action noGenerateOutputAction = new NoOpDummyAction(
@@ -792,9 +792,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// artifact1 is a tree artifact generated by a TouchingTestAction.
Artifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child1"));
+ artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child2"));
+ artifact1, PathFragment.create("child2"));
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
@@ -807,9 +807,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// One Action that touches the output file.
// The other action that just throws when executed.
TreeFileArtifact expectedOutputTreeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child1"));
+ artifact2, PathFragment.create("child1"));
TreeFileArtifact expectedOutputTreeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child2"));
+ artifact2, PathFragment.create("child2"));
Action generateOutputAction = new DummyAction(
ImmutableList.<Artifact>of(treeFileArtifactA), expectedOutputTreeFileArtifact1);
Action throwingAction = new ThrowingDummyAction(
@@ -837,9 +837,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// artifact1 is a tree artifact generated by a TouchingTestAction.
Artifact artifact1 = createTreeArtifact("treeArtifact1");
TreeFileArtifact treeFileArtifactA = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child1"));
+ artifact1, PathFragment.create("child1"));
TreeFileArtifact treeFileArtifactB = ActionInputHelper.treeFileArtifact(
- artifact1, new PathFragment("child2"));
+ artifact1, PathFragment.create("child2"));
registerAction(new TouchingTestAction(treeFileArtifactA, treeFileArtifactB));
// artifact2 is a tree artifact generated by an action template.
@@ -850,9 +850,9 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
// We mock out the action template function to expand into two actions that throw when executed.
TreeFileArtifact expectedOutputTreeFileArtifact1 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child1"));
+ artifact2, PathFragment.create("child1"));
TreeFileArtifact expectedOutputTreeFileArtifact2 = ActionInputHelper.treeFileArtifact(
- artifact2, new PathFragment("child2"));
+ artifact2, PathFragment.create("child2"));
Action throwingAction = new ThrowingDummyAction(
ImmutableList.<Artifact>of(treeFileArtifactA),
ImmutableList.<Artifact>of(expectedOutputTreeFileArtifact1));
@@ -1044,7 +1044,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
void registerOutput(ActionExecutionContext context, String outputName) throws IOException {
context.getMetadataHandler().addExpandedTreeOutput(
- treeFileArtifact(getSoleOutput(), new PathFragment(outputName)));
+ treeFileArtifact(getSoleOutput(), PathFragment.create(outputName)));
}
static List<TreeFileArtifact> asTreeFileArtifacts(final Artifact parent, String... files) {
@@ -1158,7 +1158,7 @@ public class TreeArtifactBuildTest extends TimestampBuilderTestCase {
private Artifact createTreeArtifact(String name) {
FileSystem fs = scratch.getFileSystem();
Path execRoot = fs.getPath(TestUtils.tmpDir());
- PathFragment execPath = new PathFragment("out").getRelative(name);
+ PathFragment execPath = PathFragment.create("out").getRelative(name);
Path path = execRoot.getRelative(execPath);
return new SpecialArtifact(
path, Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), execPath, ALL_OWNER,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
index 03d661867a..56bf8a511c 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
@@ -124,7 +124,7 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
public void testEqualTreeArtifacts() throws Exception {
Artifact treeArtifact = createTreeArtifact("out");
ImmutableList<PathFragment> children =
- ImmutableList.of(new PathFragment("one"), new PathFragment("two"));
+ ImmutableList.of(PathFragment.create("one"), PathFragment.create("two"));
TreeArtifactValue valueOne = evaluateTreeArtifact(treeArtifact, children);
MemoizingEvaluator evaluator = driver.getGraphForTesting();
evaluator.delete(new Predicate<SkyKey>() {
@@ -142,18 +142,18 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
@Test
public void testTreeArtifactsWithDigests() throws Exception {
fastDigest = true;
- doTestTreeArtifacts(ImmutableList.of(new PathFragment("one")));
+ doTestTreeArtifacts(ImmutableList.of(PathFragment.create("one")));
}
@Test
public void testTreeArtifactsWithoutDigests() throws Exception {
fastDigest = false;
- doTestTreeArtifacts(ImmutableList.of(new PathFragment("one")));
+ doTestTreeArtifacts(ImmutableList.of(PathFragment.create("one")));
}
@Test
public void testTreeArtifactMultipleDigests() throws Exception {
- doTestTreeArtifacts(ImmutableList.of(new PathFragment("one"), new PathFragment("two")));
+ doTestTreeArtifacts(ImmutableList.of(PathFragment.create("one"), PathFragment.create("two")));
}
@Test
@@ -162,7 +162,7 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
Artifact one = createTreeArtifact("outOne");
Artifact two = createTreeArtifact("outTwo");
ImmutableList<PathFragment> children =
- ImmutableList.of(new PathFragment("one"), new PathFragment("two"));
+ ImmutableList.of(PathFragment.create("one"), PathFragment.create("two"));
TreeArtifactValue valueOne = evaluateTreeArtifact(one, children);
TreeArtifactValue valueTwo = evaluateTreeArtifact(two, children);
assertThat(valueOne.getDigest()).isEqualTo(valueTwo.getDigest());
@@ -188,7 +188,7 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
try {
Artifact artifact = createTreeArtifact("outOne");
TreeArtifactValue value = evaluateTreeArtifact(artifact,
- ImmutableList.of(new PathFragment("one")));
+ ImmutableList.of(PathFragment.create("one")));
fail("MissingInputFileException expected, got " + value);
} catch (Exception e) {
assertThat(Throwables.getRootCause(e).getMessage()).contains(exception.getMessage());
@@ -201,7 +201,7 @@ public class TreeArtifactMetadataTest extends ArtifactFunctionTestCase {
}
private Artifact createTreeArtifact(String path) throws IOException {
- PathFragment execPath = new PathFragment("out").getRelative(path);
+ PathFragment execPath = PathFragment.create("out").getRelative(path);
Path fullPath = root.getRelative(execPath);
Artifact output =
new SpecialArtifact(
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunctionTest.java
index 832cb1c5c7..95e1a6218a 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunctionTest.java
@@ -60,7 +60,7 @@ public class WorkspaceASTFunctionTest extends BuildViewTestCase {
Path workspacePath = scratch.overwriteFile("WORKSPACE", contents);
fakeWorkspaceFileValue.setSize(workspacePath.getFileSize());
return RootedPath.toRootedPath(
- workspacePath.getParentDirectory(), new PathFragment(workspacePath.getBaseName()));
+ workspacePath.getParentDirectory(), PathFragment.create(workspacePath.getBaseName()));
}
private SkyFunction.Environment getEnv() throws InterruptedException {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java
index 0f5e046c1e..714c662fc8 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java
@@ -124,7 +124,7 @@ public class WorkspaceFileFunctionTest extends BuildViewTestCase {
Path workspacePath = scratch.overwriteFile("WORKSPACE", contents);
fakeWorkspaceFileValue.setSize(workspacePath.getFileSize());
return RootedPath.toRootedPath(
- workspacePath.getParentDirectory(), new PathFragment(workspacePath.getBaseName()));
+ workspacePath.getParentDirectory(), PathFragment.create(workspacePath.getBaseName()));
}
// Dummy harmcrest matcher that match the function name of a skykey
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
index fbb1e644ef..589a53cf04 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunctionTest.java
@@ -36,7 +36,7 @@ public class WorkspaceNameFunctionTest extends BuildViewTestCase {
private EvaluationResult<WorkspaceNameValue> eval() throws InterruptedException {
getSkyframeExecutor().invalidateFilesUnderPathForTesting(
reporter,
- ModifiedFileSet.builder().modify(new PathFragment("WORKSPACE")).build(),
+ ModifiedFileSet.builder().modify(PathFragment.create("WORKSPACE")).build(),
rootDirectory);
return SkyframeExecutorTestUtils.evaluate(
getSkyframeExecutor(), key, /*keepGoing=*/ false, reporter);
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
index 71e9cec416..5ad7027643 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
@@ -243,8 +243,8 @@ public class EnvironmentTest extends EvaluationTestCase {
}
}
DummyFreezable dummy = new DummyFreezable();
- Location locA = Location.fromPathFragment(new PathFragment("/a"));
- Location locB = Location.fromPathFragment(new PathFragment("/b"));
+ Location locA = Location.fromPathFragment(PathFragment.create("/a"));
+ Location locB = Location.fromPathFragment(PathFragment.create("/b"));
Environment env = Environment.builder(mutability).build();
// Acquire two locks, release two locks, check along the way.
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java b/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java
index 10da1add9b..b270a54f65 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java
@@ -41,7 +41,7 @@ public class LexerTest {
* error handler beforehand.
*/
private Lexer createLexer(String input) {
- PathFragment somePath = new PathFragment("/some/path.txt");
+ PathFragment somePath = PathFragment.create("/some/path.txt");
ParserInputSource inputSource = ParserInputSource.create(input, somePath);
Reporter reporter = new Reporter(new EventBus());
reporter.addHandler(new EventHandler() {
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java b/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java
index c461635406..4377b3527a 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java
@@ -29,7 +29,7 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class LineNumberTableTest {
private LineNumberTable create(String buffer) {
- return LineNumberTable.create(buffer.toCharArray(), new PathFragment("/fake/file"));
+ return LineNumberTable.create(buffer.toCharArray(), PathFragment.create("/fake/file"));
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserInputSourceTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserInputSourceTest.java
index d93fc6a6a9..467a5ba84d 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserInputSourceTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserInputSourceTest.java
@@ -50,7 +50,7 @@ public class ParserInputSourceTest {
public void testCreateFromString() {
String content = "Content provided as a string.";
String pathName = "/the/name/of/the/content.txt";
- ParserInputSource input = ParserInputSource.create(content, new PathFragment(pathName));
+ ParserInputSource input = ParserInputSource.create(content, PathFragment.create(pathName));
assertEquals(content, new String(input.getContent()));
assertEquals(pathName, input.getPath().toString());
}
@@ -60,7 +60,7 @@ public class ParserInputSourceTest {
String content = "Content provided as a string.";
String pathName = "/the/name/of/the/content.txt";
char[] contentChars = content.toCharArray();
- ParserInputSource input = ParserInputSource.create(contentChars, new PathFragment(pathName));
+ ParserInputSource input = ParserInputSource.create(contentChars, PathFragment.create(pathName));
assertEquals(content, new String(input.getContent()));
assertEquals(pathName, input.getPath().toString());
}
@@ -81,12 +81,12 @@ public class ParserInputSourceTest {
@Test
public void testWillNotTryToReadInputFileIfContentProvidedAsString() {
ParserInputSource.create(
- "Content provided as string.", new PathFragment("/will/not/try/to/read"));
+ "Content provided as string.", PathFragment.create("/will/not/try/to/read"));
}
@Test
public void testWillNotTryToReadInputFileIfContentProvidedAsChars() {
char[] content = "Content provided as char array.".toCharArray();
- ParserInputSource.create(content, new PathFragment("/will/not/try/to/read"));
+ ParserInputSource.create(content, PathFragment.create("/will/not/try/to/read"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index db96a9de38..e107d1b6bd 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -1025,7 +1025,7 @@ public class ParserTest extends EvaluationTestCase {
assertThat(imp.getImportString()).named("getImportString()").isEqualTo("/some/skylark/file");
assertThat(imp.hasAbsolutePath()).named("hasAbsolutePath()").isTrue();
assertThat(imp.getAbsolutePath()).named("getAbsolutePath()")
- .isEqualTo(new PathFragment("/some/skylark/file.bzl"));
+ .isEqualTo(PathFragment.create("/some/skylark/file.bzl"));
int startOffset = stmt.getImport().getLocation().getStartOffset();
int endOffset = stmt.getImport().getLocation().getEndOffset();
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
index 49fdd73bcf..fa9dfbfa51 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
@@ -46,7 +46,7 @@ public class SkylarkImportTest {
.isEqualTo(Label.parseAbsoluteUnchecked(expectedLabelString));
assertThat(importForLabel.asPathFragment()).named("asPathFragment()")
- .isEqualTo(new PathFragment(expectedPathString));
+ .isEqualTo(PathFragment.create(expectedPathString));
thrown.expect(IllegalStateException.class);
importForLabel.getAbsolutePath();
@@ -76,10 +76,10 @@ public class SkylarkImportTest {
Label irrelevantContainingFile = Label.parseAbsoluteUnchecked("//another/path:BUILD");
assertThat(importForPath.getAbsolutePath()).named("getAbsolutePath()")
- .isEqualTo(new PathFragment("//some/skylark/file.bzl"));
+ .isEqualTo(PathFragment.create("//some/skylark/file.bzl"));
assertThat(importForPath.asPathFragment()).named("asPathFragment()")
- .isEqualTo(new PathFragment("/some/skylark/file.bzl"));
+ .isEqualTo(PathFragment.create("/some/skylark/file.bzl"));
thrown.expect(IllegalStateException.class);
importForPath.getLabel(irrelevantContainingFile);
@@ -99,7 +99,7 @@ public class SkylarkImportTest {
.isEqualTo(Label.parseAbsolute(expectedLabelString));
assertThat(importForLabel.asPathFragment()).named("asPathFragment()")
- .isEqualTo(new PathFragment(expectedPathString));
+ .isEqualTo(PathFragment.create(expectedPathString));
thrown.expect(IllegalStateException.class);
importForLabel.getAbsolutePath();
@@ -149,7 +149,7 @@ public class SkylarkImportTest {
.isEqualTo(Label.parseAbsolute(expectedLabelString));
assertThat(importForPath.asPathFragment()).named("asPathFragment()")
- .isEqualTo(new PathFragment(expectedPathString));
+ .isEqualTo(PathFragment.create(expectedPathString));
thrown.expect(IllegalStateException.class);
importForPath.getAbsolutePath();
diff --git a/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java b/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java
index fd051904b1..67bdfe2804 100644
--- a/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/FileTypeTest.java
@@ -97,7 +97,7 @@ public class FileTypeTest {
@Test
public void handlesPathFragmentObjects() {
- PathFragment readme = new PathFragment("some/where/readme.txt");
+ PathFragment readme = PathFragment.create("some/where/readme.txt");
assertTrue(TEXT.matches(readme));
}
diff --git a/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java b/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java
index faf974578f..d1806ee003 100644
--- a/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/FingerprintTest.java
@@ -112,7 +112,7 @@ public class FingerprintTest {
@Test
public void addPath() throws Exception {
- PathFragment pf = new PathFragment("/etc/pwd");
+ PathFragment pf = PathFragment.create("/etc/pwd");
assertThat(new Fingerprint().addPath(pf).hexDigestAndReset())
.isEqualTo("63ab5c47c117635407a1af6377e216bc");
Path p = new InMemoryFileSystem(BlazeClock.instance()).getPath(pf);
@@ -161,8 +161,8 @@ public class FingerprintTest {
.addNullableBoolean(null)
.addNullableInt(null)
.addNullableString(null)
- .addPath(new PathFragment("/foo/bar"))
- .addPaths(ImmutableList.of(new PathFragment("/foo/bar")))
+ .addPath(PathFragment.create("/foo/bar"))
+ .addPaths(ImmutableList.of(PathFragment.create("/foo/bar")))
.addString("baz")
.addUUID(UUID.fromString("12345678-1234-1234-1234-1234567890ab"))
.hexDigestAndReset();
diff --git a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
index 9995dfc34f..84030ad481 100644
--- a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java
@@ -124,7 +124,7 @@ public class OptionsUtilsTest {
}
private PathFragment fragment(String string) {
- return new PathFragment(string);
+ return PathFragment.create(string);
}
private List<PathFragment> convert(String input) throws Exception {
@@ -155,7 +155,7 @@ public class OptionsUtilsTest {
@Test
public void valueisUnmodifiable() throws Exception {
try {
- new PathFragmentListConverter().convert("value").add(new PathFragment("other"));
+ new PathFragmentListConverter().convert("value").add(PathFragment.create("other"));
fail("could modify value");
} catch (UnsupportedOperationException expected) {}
}
diff --git a/src/test/java/com/google/devtools/build/lib/util/PathFragmentFilterTest.java b/src/test/java/com/google/devtools/build/lib/util/PathFragmentFilterTest.java
index 134c7a51a3..3f25414582 100644
--- a/src/test/java/com/google/devtools/build/lib/util/PathFragmentFilterTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/PathFragmentFilterTest.java
@@ -35,11 +35,11 @@ public class PathFragmentFilterTest {
}
protected void assertIncluded(String path) {
- assertTrue(filter.isIncluded(new PathFragment(path)));
+ assertTrue(filter.isIncluded(PathFragment.create(path)));
}
protected void assertExcluded(String path) {
- assertFalse(filter.isIncluded(new PathFragment(path)));
+ assertFalse(filter.isIncluded(PathFragment.create(path)));
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemTest.java
index 8b4255b510..0a1d052002 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemTest.java
@@ -306,7 +306,7 @@ public abstract class FileSystemTest {
@Test
public void testCreatePathRelativeToWorkingDirectory() {
Path relativeCreatedPath = absolutize("some-file");
- Path expectedResult = workingDir.getRelative(new PathFragment("some-file"));
+ Path expectedResult = workingDir.getRelative(PathFragment.create("some-file"));
assertEquals(expectedResult, relativeCreatedPath);
}
@@ -1091,7 +1091,7 @@ public abstract class FileSystemTest {
@Test
public void testGetPathOnlyAcceptsAbsolutePathFragment() {
try {
- testFS.getPath(new PathFragment("not-absolute"));
+ testFS.getPath(PathFragment.create("not-absolute"));
fail("The expected Exception was not thrown.");
} catch (IllegalArgumentException ex) {
assertThat(ex).hasMessage("not-absolute (not an absolute path)");
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java
index f9f4850320..421b9fbd59 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/FileSystemUtilsTest.java
@@ -227,69 +227,70 @@ public class FileSystemUtilsTest {
@Test
public void testReplaceExtension_PathFragment() throws Exception {
assertPath("foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("foo/bar"), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("foo/bar"), ".baz"));
assertPath("foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("foo/bar.cc"), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("foo/bar.cc"), ".baz"));
assertPath("/foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("/foo/bar"), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("/foo/bar"), ".baz"));
assertPath("/foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("/foo/bar.cc"), ".baz"));
- assertPath("foo.baz", FileSystemUtils.replaceExtension(new PathFragment("foo/"), ".baz"));
- assertPath("foo.baz", FileSystemUtils.replaceExtension(new PathFragment("foo.cc/"), ".baz"));
- assertPath("/foo.baz", FileSystemUtils.replaceExtension(new PathFragment("/foo/"), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("/foo/bar.cc"), ".baz"));
+ assertPath("foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("foo/"), ".baz"));
+ assertPath("foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("foo.cc/"), ".baz"));
+ assertPath("/foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("/foo/"), ".baz"));
assertPath("/foo.baz",
- FileSystemUtils.replaceExtension(new PathFragment("/foo.cc/"), ".baz"));
- assertPath("foo.baz", FileSystemUtils.replaceExtension(new PathFragment("foo"), ".baz"));
- assertPath("foo.baz", FileSystemUtils.replaceExtension(new PathFragment("foo.cc"), ".baz"));
- assertPath("/foo.baz", FileSystemUtils.replaceExtension(new PathFragment("/foo"), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("/foo.cc/"), ".baz"));
+ assertPath("foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("foo"), ".baz"));
+ assertPath("foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("foo.cc"), ".baz"));
+ assertPath("/foo.baz", FileSystemUtils.replaceExtension(PathFragment.create("/foo"), ".baz"));
assertPath("/foo.baz",
- FileSystemUtils.replaceExtension(new PathFragment("/foo.cc"), ".baz"));
- assertPath(".baz", FileSystemUtils.replaceExtension(new PathFragment(".cc"), ".baz"));
- assertNull(FileSystemUtils.replaceExtension(new PathFragment("/"), ".baz"));
- assertNull(FileSystemUtils.replaceExtension(new PathFragment(""), ".baz"));
+ FileSystemUtils.replaceExtension(PathFragment.create("/foo.cc"), ".baz"));
+ assertPath(".baz", FileSystemUtils.replaceExtension(PathFragment.create(".cc"), ".baz"));
+ assertNull(FileSystemUtils.replaceExtension(PathFragment.create("/"), ".baz"));
+ assertNull(FileSystemUtils.replaceExtension(PathFragment.create(""), ".baz"));
assertPath("foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("foo/bar.pony"), ".baz", ".pony"));
+ FileSystemUtils.replaceExtension(PathFragment.create("foo/bar.pony"), ".baz", ".pony"));
assertPath("foo/bar.baz",
- FileSystemUtils.replaceExtension(new PathFragment("foo/bar"), ".baz", ""));
- assertNull(FileSystemUtils.replaceExtension(new PathFragment(""), ".baz", ".pony"));
+ FileSystemUtils.replaceExtension(PathFragment.create("foo/bar"), ".baz", ""));
+ assertNull(FileSystemUtils.replaceExtension(PathFragment.create(""), ".baz", ".pony"));
assertNull(
- FileSystemUtils.replaceExtension(new PathFragment("foo/bar.pony"), ".baz", ".unicorn"));
+ FileSystemUtils.replaceExtension(PathFragment.create("foo/bar.pony"), ".baz", ".unicorn"));
}
@Test
public void testAppendWithoutExtension() throws Exception {
assertPath("libfoo-src.jar",
- appendWithoutExtension(new PathFragment("libfoo.jar"), "-src"));
+ appendWithoutExtension(PathFragment.create("libfoo.jar"), "-src"));
assertPath("foo/libfoo-src.jar",
- appendWithoutExtension(new PathFragment("foo/libfoo.jar"), "-src"));
+ appendWithoutExtension(PathFragment.create("foo/libfoo.jar"), "-src"));
assertPath("java/com/google/foo/libfoo-src.jar",
- appendWithoutExtension(new PathFragment("java/com/google/foo/libfoo.jar"), "-src"));
+ appendWithoutExtension(PathFragment.create("java/com/google/foo/libfoo.jar"), "-src"));
assertPath("libfoo.bar-src.jar",
- appendWithoutExtension(new PathFragment("libfoo.bar.jar"), "-src"));
+ appendWithoutExtension(PathFragment.create("libfoo.bar.jar"), "-src"));
assertPath("libfoo-src",
- appendWithoutExtension(new PathFragment("libfoo"), "-src"));
+ appendWithoutExtension(PathFragment.create("libfoo"), "-src"));
assertPath("libfoo-src.jar",
- appendWithoutExtension(new PathFragment("libfoo.jar/"), "-src"));
+ appendWithoutExtension(PathFragment.create("libfoo.jar/"), "-src"));
assertPath("libfoo.src.jar",
- appendWithoutExtension(new PathFragment("libfoo.jar"), ".src"));
- assertNull(appendWithoutExtension(new PathFragment("/"), "-src"));
- assertNull(appendWithoutExtension(new PathFragment(""), "-src"));
+ appendWithoutExtension(PathFragment.create("libfoo.jar"), ".src"));
+ assertNull(appendWithoutExtension(PathFragment.create("/"), "-src"));
+ assertNull(appendWithoutExtension(PathFragment.create(""), "-src"));
}
@Test
public void testReplaceSegments() {
assertPath(
"poo/bar/baz.cc",
- FileSystemUtils.replaceSegments(new PathFragment("foo/bar/baz.cc"), "foo", "poo", true));
+ FileSystemUtils.replaceSegments(PathFragment.create("foo/bar/baz.cc"), "foo", "poo", true));
assertPath(
"poo/poo/baz.cc",
- FileSystemUtils.replaceSegments(new PathFragment("foo/foo/baz.cc"), "foo", "poo", true));
+ FileSystemUtils.replaceSegments(PathFragment.create("foo/foo/baz.cc"), "foo", "poo", true));
assertPath(
"poo/foo/baz.cc",
- FileSystemUtils.replaceSegments(new PathFragment("foo/foo/baz.cc"), "foo", "poo", false));
+ FileSystemUtils.replaceSegments(
+ PathFragment.create("foo/foo/baz.cc"), "foo", "poo", false));
assertPath(
"foo/bar/baz.cc",
- FileSystemUtils.replaceSegments(new PathFragment("foo/bar/baz.cc"), "boo", "poo", true));
+ FileSystemUtils.replaceSegments(PathFragment.create("foo/bar/baz.cc"), "boo", "poo", true));
}
@Test
@@ -308,11 +309,11 @@ public class FileSystemUtilsTest {
@Test
public void testResolveRelativeToFilesystemWorkingDir() {
- PathFragment relativePath = new PathFragment("relative/path");
+ PathFragment relativePath = PathFragment.create("relative/path");
assertEquals(workingDir.getRelative(relativePath),
workingDir.getRelative(relativePath));
- PathFragment absolutePath = new PathFragment("/absolute/path");
+ PathFragment absolutePath = PathFragment.create("/absolute/path");
assertEquals(fileSystem.getPath(absolutePath),
workingDir.getRelative(absolutePath));
}
@@ -781,16 +782,16 @@ public class FileSystemUtilsTest {
@Test
public void testStartsWithAnySuccess() throws Exception {
- PathFragment a = new PathFragment("a");
+ PathFragment a = PathFragment.create("a");
assertTrue(FileSystemUtils.startsWithAny(a,
- Arrays.asList(new PathFragment("b"), new PathFragment("a"))));
+ Arrays.asList(PathFragment.create("b"), PathFragment.create("a"))));
}
@Test
public void testStartsWithAnyNotFound() throws Exception {
- PathFragment a = new PathFragment("a");
+ PathFragment a = PathFragment.create("a");
assertFalse(FileSystemUtils.startsWithAny(a,
- Arrays.asList(new PathFragment("b"), new PathFragment("c"))));
+ Arrays.asList(PathFragment.create("b"), PathFragment.create("c"))));
}
@Test
@@ -811,7 +812,7 @@ public class FileSystemUtilsTest {
@Test
public void testEnsureSymbolicLinkDoesNotMakeUnnecessaryChanges() throws Exception {
- PathFragment target = new PathFragment("/b");
+ PathFragment target = PathFragment.create("/b");
Path file = fileSystem.getPath("/a");
file.createSymbolicLink(target);
long prevTimeMillis = clock.currentTimeMillis();
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/ModifiedFileSetTest.java b/src/test/java/com/google/devtools/build/lib/vfs/ModifiedFileSetTest.java
index 07eedbeded..f3c5eb63e7 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/ModifiedFileSetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/ModifiedFileSetTest.java
@@ -28,8 +28,8 @@ public class ModifiedFileSetTest {
@Test
public void testHashCodeAndEqualsContract() throws Exception {
- PathFragment fragA = new PathFragment("a");
- PathFragment fragB = new PathFragment("b");
+ PathFragment fragA = PathFragment.create("a");
+ PathFragment fragB = PathFragment.create("b");
ModifiedFileSet empty1 = ModifiedFileSet.NOTHING_MODIFIED;
ModifiedFileSet empty2 = ModifiedFileSet.builder().build();
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java
index c4ac7c1b32..2e455ccae8 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentTest.java
@@ -40,10 +40,13 @@ import org.junit.runners.JUnit4;
public class PathFragmentTest {
@Test
public void testMergeFourPathsWithAbsolute() {
- assertEquals(new PathFragment("x/y/z/a/b/c/d/e"),
- new PathFragment(new PathFragment("x/y"), new PathFragment("z/a"),
- new PathFragment("/b/c"), // absolute!
- new PathFragment("d/e")));
+ assertEquals(
+ PathFragment.create("x/y/z/a/b/c/d/e"),
+ PathFragment.create(
+ PathFragment.create("x/y"),
+ PathFragment.create("z/a"),
+ PathFragment.create("/b/c"),
+ PathFragment.create("d/e")));
}
@Test
@@ -68,22 +71,22 @@ public class PathFragmentTest {
new EqualsTester()
.addEqualityGroup(
- new PathFragment("../relative/path"),
- new PathFragment("..").getRelative("relative").getRelative("path"),
- new PathFragment('\0', false, new String[] {"..", "relative", "path"}),
- new PathFragment(new File("../relative/path")))
- .addEqualityGroup(new PathFragment("something/else"))
- .addEqualityGroup(new PathFragment("/something/else"))
- .addEqualityGroup(new PathFragment("/"), new PathFragment("//////"))
- .addEqualityGroup(new PathFragment(""), PathFragment.EMPTY_FRAGMENT)
+ PathFragment.create("../relative/path"),
+ PathFragment.create("..").getRelative("relative").getRelative("path"),
+ PathFragment.createNoClone('\0', false, new String[] {"..", "relative", "path"}),
+ PathFragment.create(new File("../relative/path")))
+ .addEqualityGroup(PathFragment.create("something/else"))
+ .addEqualityGroup(PathFragment.create("/something/else"))
+ .addEqualityGroup(PathFragment.create("/"), PathFragment.create("//////"))
+ .addEqualityGroup(PathFragment.create(""), PathFragment.EMPTY_FRAGMENT)
.addEqualityGroup(filesystem.getRootDirectory()) // A Path object.
.testEquals();
}
@Test
public void testHashCodeCache() {
- PathFragment relativePath = new PathFragment("../relative/path");
- PathFragment rootPath = new PathFragment("/");
+ PathFragment relativePath = PathFragment.create("../relative/path");
+ PathFragment rootPath = PathFragment.create("/");
int oldResult = relativePath.hashCode();
int rootResult = rootPath.hashCode();
@@ -92,19 +95,21 @@ public class PathFragmentTest {
}
private void checkRelativeTo(String path, String base) {
- PathFragment relative = new PathFragment(path).relativeTo(base);
- assertEquals(new PathFragment(path), new PathFragment(base).getRelative(relative).normalize());
+ PathFragment relative = PathFragment.create(path).relativeTo(base);
+ assertEquals(
+ PathFragment.create(path),
+ PathFragment.create(base).getRelative(relative).normalize());
}
@Test
public void testRelativeTo() {
- assertPath("bar/baz", new PathFragment("foo/bar/baz").relativeTo("foo"));
- assertPath("bar/baz", new PathFragment("/foo/bar/baz").relativeTo("/foo"));
- assertPath("baz", new PathFragment("foo/bar/baz").relativeTo("foo/bar"));
- assertPath("baz", new PathFragment("/foo/bar/baz").relativeTo("/foo/bar"));
- assertPath("foo", new PathFragment("/foo").relativeTo("/"));
- assertPath("foo", new PathFragment("foo").relativeTo(""));
- assertPath("foo/bar", new PathFragment("foo/bar").relativeTo(""));
+ assertPath("bar/baz", PathFragment.create("foo/bar/baz").relativeTo("foo"));
+ assertPath("bar/baz", PathFragment.create("/foo/bar/baz").relativeTo("/foo"));
+ assertPath("baz", PathFragment.create("foo/bar/baz").relativeTo("foo/bar"));
+ assertPath("baz", PathFragment.create("/foo/bar/baz").relativeTo("/foo/bar"));
+ assertPath("foo", PathFragment.create("/foo").relativeTo("/"));
+ assertPath("foo", PathFragment.create("foo").relativeTo(""));
+ assertPath("foo/bar", PathFragment.create("foo/bar").relativeTo(""));
checkRelativeTo("foo/bar/baz", "foo");
checkRelativeTo("/foo/bar/baz", "/foo");
@@ -117,26 +122,26 @@ public class PathFragmentTest {
@Test
public void testIsAbsolute() {
- assertTrue(new PathFragment("/absolute/test").isAbsolute());
- assertFalse(new PathFragment("relative/test").isAbsolute());
- assertTrue(new PathFragment(new File("/absolute/test")).isAbsolute());
- assertFalse(new PathFragment(new File("relative/test")).isAbsolute());
+ assertTrue(PathFragment.create("/absolute/test").isAbsolute());
+ assertFalse(PathFragment.create("relative/test").isAbsolute());
+ assertTrue(PathFragment.create(new File("/absolute/test")).isAbsolute());
+ assertFalse(PathFragment.create(new File("relative/test")).isAbsolute());
}
@Test
public void testIsNormalized() {
- assertTrue(new PathFragment("/absolute/path").isNormalized());
- assertTrue(new PathFragment("some//path").isNormalized());
- assertFalse(new PathFragment("some/./path").isNormalized());
- assertFalse(new PathFragment("../some/path").isNormalized());
- assertFalse(new PathFragment("some/other/../path").isNormalized());
- assertTrue(new PathFragment("some/other//tricky..path..").isNormalized());
- assertTrue(new PathFragment("/some/other//tricky..path..").isNormalized());
+ assertTrue(PathFragment.create("/absolute/path").isNormalized());
+ assertTrue(PathFragment.create("some//path").isNormalized());
+ assertFalse(PathFragment.create("some/./path").isNormalized());
+ assertFalse(PathFragment.create("../some/path").isNormalized());
+ assertFalse(PathFragment.create("some/other/../path").isNormalized());
+ assertTrue(PathFragment.create("some/other//tricky..path..").isNormalized());
+ assertTrue(PathFragment.create("/some/other//tricky..path..").isNormalized());
}
@Test
public void testRootNodeReturnsRootString() {
- PathFragment rootFragment = new PathFragment("/");
+ PathFragment rootFragment = PathFragment.create("/");
assertEquals("/", rootFragment.getPathString());
}
@@ -144,27 +149,27 @@ public class PathFragmentTest {
public void testGetPathFragmentDoesNotNormalize() {
String nonCanonicalPath = "/a/weird/noncanonical/../path/.";
assertEquals(nonCanonicalPath,
- new PathFragment(nonCanonicalPath).getPathString());
+ PathFragment.create(nonCanonicalPath).getPathString());
}
@Test
public void testGetRelative() {
- assertEquals("a/b", new PathFragment("a").getRelative("b").getPathString());
- assertEquals("a/b/c/d", new PathFragment("a/b").getRelative("c/d").getPathString());
- assertEquals("/a/b", new PathFragment("c/d").getRelative("/a/b").getPathString());
- assertEquals("a", new PathFragment("a").getRelative("").getPathString());
- assertEquals("/", new PathFragment("/").getRelative("").getPathString());
+ assertEquals("a/b", PathFragment.create("a").getRelative("b").getPathString());
+ assertEquals("a/b/c/d", PathFragment.create("a/b").getRelative("c/d").getPathString());
+ assertEquals("/a/b", PathFragment.create("c/d").getRelative("/a/b").getPathString());
+ assertEquals("a", PathFragment.create("a").getRelative("").getPathString());
+ assertEquals("/", PathFragment.create("/").getRelative("").getPathString());
}
@Test
public void testGetChildWorks() {
- PathFragment pf = new PathFragment("../some/path");
- assertEquals(new PathFragment("../some/path/hi"), pf.getChild("hi"));
+ PathFragment pf = PathFragment.create("../some/path");
+ assertEquals(PathFragment.create("../some/path/hi"), pf.getChild("hi"));
}
@Test
public void testGetChildRejectsInvalidBaseNames() {
- PathFragment pf = new PathFragment("../some/path");
+ PathFragment pf = PathFragment.create("../some/path");
assertGetChildFails(pf, ".");
assertGetChildFails(pf, "..");
assertGetChildFails(pf, "x/y");
@@ -182,8 +187,14 @@ public class PathFragmentTest {
// Tests after here test the canonicalization
private void assertRegular(String expected, String actual) {
- assertEquals(expected, new PathFragment(actual).getPathString()); // compare string forms
- assertEquals(new PathFragment(expected), new PathFragment(actual)); // compare fragment forms
+ // compare string forms
+ assertEquals(
+ expected,
+ PathFragment.create(actual).getPathString());
+ // compare fragment forms
+ assertEquals(
+ PathFragment.create(expected),
+ PathFragment.create(actual));
}
@Test
@@ -218,19 +229,19 @@ public class PathFragmentTest {
@Test
public void testGetParentDirectory() {
- PathFragment fooBarWiz = new PathFragment("foo/bar/wiz");
- PathFragment fooBar = new PathFragment("foo/bar");
- PathFragment foo = new PathFragment("foo");
- PathFragment empty = new PathFragment("");
+ PathFragment fooBarWiz = PathFragment.create("foo/bar/wiz");
+ PathFragment fooBar = PathFragment.create("foo/bar");
+ PathFragment foo = PathFragment.create("foo");
+ PathFragment empty = PathFragment.create("");
assertEquals(fooBar, fooBarWiz.getParentDirectory());
assertEquals(foo, fooBar.getParentDirectory());
assertEquals(empty, foo.getParentDirectory());
assertNull(empty.getParentDirectory());
- PathFragment fooBarWizAbs = new PathFragment("/foo/bar/wiz");
- PathFragment fooBarAbs = new PathFragment("/foo/bar");
- PathFragment fooAbs = new PathFragment("/foo");
- PathFragment rootAbs = new PathFragment("/");
+ PathFragment fooBarWizAbs = PathFragment.create("/foo/bar/wiz");
+ PathFragment fooBarAbs = PathFragment.create("/foo/bar");
+ PathFragment fooAbs = PathFragment.create("/foo");
+ PathFragment rootAbs = PathFragment.create("/");
assertEquals(fooBarAbs, fooBarWizAbs.getParentDirectory());
assertEquals(fooAbs, fooBarAbs.getParentDirectory());
assertEquals(rootAbs, fooAbs.getParentDirectory());
@@ -238,60 +249,60 @@ public class PathFragmentTest {
// Note, this is surprising but correct behavior:
assertEquals(fooBarAbs,
- new PathFragment("/foo/bar/..").getParentDirectory());
+ PathFragment.create("/foo/bar/..").getParentDirectory());
}
@Test
public void testSegmentsCount() {
- assertEquals(2, new PathFragment("foo/bar").segmentCount());
- assertEquals(2, new PathFragment("/foo/bar").segmentCount());
- assertEquals(2, new PathFragment("foo//bar").segmentCount());
- assertEquals(2, new PathFragment("/foo//bar").segmentCount());
- assertEquals(1, new PathFragment("foo/").segmentCount());
- assertEquals(1, new PathFragment("/foo/").segmentCount());
- assertEquals(1, new PathFragment("foo").segmentCount());
- assertEquals(1, new PathFragment("/foo").segmentCount());
- assertEquals(0, new PathFragment("/").segmentCount());
- assertEquals(0, new PathFragment("").segmentCount());
+ assertEquals(2, PathFragment.create("foo/bar").segmentCount());
+ assertEquals(2, PathFragment.create("/foo/bar").segmentCount());
+ assertEquals(2, PathFragment.create("foo//bar").segmentCount());
+ assertEquals(2, PathFragment.create("/foo//bar").segmentCount());
+ assertEquals(1, PathFragment.create("foo/").segmentCount());
+ assertEquals(1, PathFragment.create("/foo/").segmentCount());
+ assertEquals(1, PathFragment.create("foo").segmentCount());
+ assertEquals(1, PathFragment.create("/foo").segmentCount());
+ assertEquals(0, PathFragment.create("/").segmentCount());
+ assertEquals(0, PathFragment.create("").segmentCount());
}
@Test
public void testGetSegment() {
- assertEquals("foo", new PathFragment("foo/bar").getSegment(0));
- assertEquals("bar", new PathFragment("foo/bar").getSegment(1));
- assertEquals("foo", new PathFragment("/foo/bar").getSegment(0));
- assertEquals("bar", new PathFragment("/foo/bar").getSegment(1));
- assertEquals("foo", new PathFragment("foo/").getSegment(0));
- assertEquals("foo", new PathFragment("/foo/").getSegment(0));
- assertEquals("foo", new PathFragment("foo").getSegment(0));
- assertEquals("foo", new PathFragment("/foo").getSegment(0));
+ assertEquals("foo", PathFragment.create("foo/bar").getSegment(0));
+ assertEquals("bar", PathFragment.create("foo/bar").getSegment(1));
+ assertEquals("foo", PathFragment.create("/foo/bar").getSegment(0));
+ assertEquals("bar", PathFragment.create("/foo/bar").getSegment(1));
+ assertEquals("foo", PathFragment.create("foo/").getSegment(0));
+ assertEquals("foo", PathFragment.create("/foo/").getSegment(0));
+ assertEquals("foo", PathFragment.create("foo").getSegment(0));
+ assertEquals("foo", PathFragment.create("/foo").getSegment(0));
}
@Test
public void testBasename() throws Exception {
- assertEquals("bar", new PathFragment("foo/bar").getBaseName());
- assertEquals("bar", new PathFragment("/foo/bar").getBaseName());
- assertEquals("foo", new PathFragment("foo/").getBaseName());
- assertEquals("foo", new PathFragment("/foo/").getBaseName());
- assertEquals("foo", new PathFragment("foo").getBaseName());
- assertEquals("foo", new PathFragment("/foo").getBaseName());
- assertThat(new PathFragment("/").getBaseName()).isEmpty();
- assertThat(new PathFragment("").getBaseName()).isEmpty();
+ assertEquals("bar", PathFragment.create("foo/bar").getBaseName());
+ assertEquals("bar", PathFragment.create("/foo/bar").getBaseName());
+ assertEquals("foo", PathFragment.create("foo/").getBaseName());
+ assertEquals("foo", PathFragment.create("/foo/").getBaseName());
+ assertEquals("foo", PathFragment.create("foo").getBaseName());
+ assertEquals("foo", PathFragment.create("/foo").getBaseName());
+ assertThat(PathFragment.create("/").getBaseName()).isEmpty();
+ assertThat(PathFragment.create("").getBaseName()).isEmpty();
}
@Test
public void testFileExtension() throws Exception {
- assertThat(new PathFragment("foo.bar").getFileExtension()).isEqualTo("bar");
- assertThat(new PathFragment("foo.barr").getFileExtension()).isEqualTo("barr");
- assertThat(new PathFragment("foo.b").getFileExtension()).isEqualTo("b");
- assertThat(new PathFragment("foo.").getFileExtension()).isEmpty();
- assertThat(new PathFragment("foo").getFileExtension()).isEmpty();
- assertThat(new PathFragment(".").getFileExtension()).isEmpty();
- assertThat(new PathFragment("").getFileExtension()).isEmpty();
- assertThat(new PathFragment("foo/bar.baz").getFileExtension()).isEqualTo("baz");
- assertThat(new PathFragment("foo.bar.baz").getFileExtension()).isEqualTo("baz");
- assertThat(new PathFragment("foo.bar/baz").getFileExtension()).isEmpty();
+ assertThat(PathFragment.create("foo.bar").getFileExtension()).isEqualTo("bar");
+ assertThat(PathFragment.create("foo.barr").getFileExtension()).isEqualTo("barr");
+ assertThat(PathFragment.create("foo.b").getFileExtension()).isEqualTo("b");
+ assertThat(PathFragment.create("foo.").getFileExtension()).isEmpty();
+ assertThat(PathFragment.create("foo").getFileExtension()).isEmpty();
+ assertThat(PathFragment.create(".").getFileExtension()).isEmpty();
+ assertThat(PathFragment.create("").getFileExtension()).isEmpty();
+ assertThat(PathFragment.create("foo/bar.baz").getFileExtension()).isEqualTo("baz");
+ assertThat(PathFragment.create("foo.bar.baz").getFileExtension()).isEqualTo("baz");
+ assertThat(PathFragment.create("foo.bar/baz").getFileExtension()).isEmpty();
}
private static void assertPath(String expected, PathFragment actual) {
@@ -300,66 +311,66 @@ public class PathFragmentTest {
@Test
public void testReplaceName() throws Exception {
- assertPath("foo/baz", new PathFragment("foo/bar").replaceName("baz"));
- assertPath("/foo/baz", new PathFragment("/foo/bar").replaceName("baz"));
- assertPath("foo", new PathFragment("foo/bar").replaceName(""));
- assertPath("baz", new PathFragment("foo/").replaceName("baz"));
- assertPath("/baz", new PathFragment("/foo/").replaceName("baz"));
- assertPath("baz", new PathFragment("foo").replaceName("baz"));
- assertPath("/baz", new PathFragment("/foo").replaceName("baz"));
- assertNull(new PathFragment("/").replaceName("baz"));
- assertNull(new PathFragment("/").replaceName(""));
- assertNull(new PathFragment("").replaceName("baz"));
- assertNull(new PathFragment("").replaceName(""));
-
- assertPath("foo/bar/baz", new PathFragment("foo/bar").replaceName("bar/baz"));
- assertPath("foo/bar/baz", new PathFragment("foo/bar").replaceName("bar/baz/"));
+ assertPath("foo/baz", PathFragment.create("foo/bar").replaceName("baz"));
+ assertPath("/foo/baz", PathFragment.create("/foo/bar").replaceName("baz"));
+ assertPath("foo", PathFragment.create("foo/bar").replaceName(""));
+ assertPath("baz", PathFragment.create("foo/").replaceName("baz"));
+ assertPath("/baz", PathFragment.create("/foo/").replaceName("baz"));
+ assertPath("baz", PathFragment.create("foo").replaceName("baz"));
+ assertPath("/baz", PathFragment.create("/foo").replaceName("baz"));
+ assertNull(PathFragment.create("/").replaceName("baz"));
+ assertNull(PathFragment.create("/").replaceName(""));
+ assertNull(PathFragment.create("").replaceName("baz"));
+ assertNull(PathFragment.create("").replaceName(""));
+
+ assertPath("foo/bar/baz", PathFragment.create("foo/bar").replaceName("bar/baz"));
+ assertPath("foo/bar/baz", PathFragment.create("foo/bar").replaceName("bar/baz/"));
// Absolute path arguments will clobber the original path.
- assertPath("/absolute", new PathFragment("foo/bar").replaceName("/absolute"));
- assertPath("/", new PathFragment("foo/bar").replaceName("/"));
+ assertPath("/absolute", PathFragment.create("foo/bar").replaceName("/absolute"));
+ assertPath("/", PathFragment.create("foo/bar").replaceName("/"));
}
@Test
public void testSubFragment() throws Exception {
assertPath("/foo/bar/baz",
- new PathFragment("/foo/bar/baz").subFragment(0, 3));
+ PathFragment.create("/foo/bar/baz").subFragment(0, 3));
assertPath("foo/bar/baz",
- new PathFragment("foo/bar/baz").subFragment(0, 3));
+ PathFragment.create("foo/bar/baz").subFragment(0, 3));
assertPath("/foo/bar",
- new PathFragment("/foo/bar/baz").subFragment(0, 2));
+ PathFragment.create("/foo/bar/baz").subFragment(0, 2));
assertPath("bar/baz",
- new PathFragment("/foo/bar/baz").subFragment(1, 3));
+ PathFragment.create("/foo/bar/baz").subFragment(1, 3));
assertPath("/foo",
- new PathFragment("/foo/bar/baz").subFragment(0, 1));
+ PathFragment.create("/foo/bar/baz").subFragment(0, 1));
assertPath("bar",
- new PathFragment("/foo/bar/baz").subFragment(1, 2));
- assertPath("baz", new PathFragment("/foo/bar/baz").subFragment(2, 3));
- assertPath("/", new PathFragment("/foo/bar/baz").subFragment(0, 0));
- assertPath("", new PathFragment("foo/bar/baz").subFragment(0, 0));
- assertPath("", new PathFragment("foo/bar/baz").subFragment(1, 1));
+ PathFragment.create("/foo/bar/baz").subFragment(1, 2));
+ assertPath("baz", PathFragment.create("/foo/bar/baz").subFragment(2, 3));
+ assertPath("/", PathFragment.create("/foo/bar/baz").subFragment(0, 0));
+ assertPath("", PathFragment.create("foo/bar/baz").subFragment(0, 0));
+ assertPath("", PathFragment.create("foo/bar/baz").subFragment(1, 1));
try {
- fail("unexpectedly succeeded: " + new PathFragment("foo/bar/baz").subFragment(3, 2));
+ fail("unexpectedly succeeded: " + PathFragment.create("foo/bar/baz").subFragment(3, 2));
} catch (IndexOutOfBoundsException e) { /* Expected. */ }
try {
- fail("unexpectedly succeeded: " + new PathFragment("foo/bar/baz").subFragment(4, 4));
+ fail("unexpectedly succeeded: " + PathFragment.create("foo/bar/baz").subFragment(4, 4));
} catch (IndexOutOfBoundsException e) { /* Expected. */ }
}
@Test
public void testStartsWith() {
- PathFragment foobar = new PathFragment("/foo/bar");
- PathFragment foobarRelative = new PathFragment("foo/bar");
+ PathFragment foobar = PathFragment.create("/foo/bar");
+ PathFragment foobarRelative = PathFragment.create("foo/bar");
// (path, prefix) => true
assertTrue(foobar.startsWith(foobar));
- assertTrue(foobar.startsWith(new PathFragment("/")));
- assertTrue(foobar.startsWith(new PathFragment("/foo")));
- assertTrue(foobar.startsWith(new PathFragment("/foo/")));
- assertTrue(foobar.startsWith(new PathFragment("/foo/bar/"))); // Includes trailing slash.
+ assertTrue(foobar.startsWith(PathFragment.create("/")));
+ assertTrue(foobar.startsWith(PathFragment.create("/foo")));
+ assertTrue(foobar.startsWith(PathFragment.create("/foo/")));
+ assertTrue(foobar.startsWith(PathFragment.create("/foo/bar/"))); // Includes trailing slash.
// (prefix, path) => false
- assertFalse(new PathFragment("/foo").startsWith(foobar));
- assertFalse(new PathFragment("/").startsWith(foobar));
+ assertFalse(PathFragment.create("/foo").startsWith(foobar));
+ assertFalse(PathFragment.create("/").startsWith(foobar));
// (absolute, relative) => false
assertFalse(foobar.startsWith(foobarRelative));
@@ -367,40 +378,40 @@ public class PathFragmentTest {
// (relative path, relative prefix) => true
assertTrue(foobarRelative.startsWith(foobarRelative));
- assertTrue(foobarRelative.startsWith(new PathFragment("foo")));
- assertTrue(foobarRelative.startsWith(new PathFragment("")));
+ assertTrue(foobarRelative.startsWith(PathFragment.create("foo")));
+ assertTrue(foobarRelative.startsWith(PathFragment.create("")));
// (path, sibling) => false
- assertFalse(new PathFragment("/foo/wiz").startsWith(foobar));
- assertFalse(foobar.startsWith(new PathFragment("/foo/wiz")));
+ assertFalse(PathFragment.create("/foo/wiz").startsWith(foobar));
+ assertFalse(foobar.startsWith(PathFragment.create("/foo/wiz")));
// Does not normalize.
- PathFragment foodotbar = new PathFragment("foo/./bar");
+ PathFragment foodotbar = PathFragment.create("foo/./bar");
assertTrue(foodotbar.startsWith(foodotbar));
- assertTrue(foodotbar.startsWith(new PathFragment("foo/.")));
- assertTrue(foodotbar.startsWith(new PathFragment("foo/./")));
- assertTrue(foodotbar.startsWith(new PathFragment("foo/./bar")));
- assertFalse(foodotbar.startsWith(new PathFragment("foo/bar")));
+ assertTrue(foodotbar.startsWith(PathFragment.create("foo/.")));
+ assertTrue(foodotbar.startsWith(PathFragment.create("foo/./")));
+ assertTrue(foodotbar.startsWith(PathFragment.create("foo/./bar")));
+ assertFalse(foodotbar.startsWith(PathFragment.create("foo/bar")));
}
@Test
public void testFilterPathsStartingWith() {
// Retains everything:
ImmutableSet<PathFragment> allUnderA = toPathsSet("a/b", "a/c", "a/d");
- assertThat(PathFragment.filterPathsStartingWith(allUnderA, new PathFragment("a")))
+ assertThat(PathFragment.filterPathsStartingWith(allUnderA, PathFragment.create("a")))
.containsExactlyElementsIn(allUnderA);
// Retains some but not others:
ImmutableSet<PathFragment> mixed = toPathsSet("a/b", "a/c", "b/c");
assertThat(PathFragment.filterPathsStartingWith(mixed,
- new PathFragment("a"))).containsExactlyElementsIn(toPathsSet("a/b", "a/c"));
+ PathFragment.create("a"))).containsExactlyElementsIn(toPathsSet("a/b", "a/c"));
// Retains none:
- assertThat(PathFragment.filterPathsStartingWith(allUnderA, new PathFragment("b"))).isEmpty();
+ assertThat(PathFragment.filterPathsStartingWith(allUnderA, PathFragment.create("b"))).isEmpty();
// Retains paths equal to the startingWithPath:
assertThat(PathFragment.filterPathsStartingWith(toPathsSet("a"),
- new PathFragment("a"))).containsExactlyElementsIn(toPathsSet("a"));
+ PathFragment.create("a"))).containsExactlyElementsIn(toPathsSet("a"));
// Retains everything when startingWithPath is the empty fragment:
assertThat(PathFragment.filterPathsStartingWith(mixed, PathFragment.EMPTY_FRAGMENT))
@@ -408,23 +419,23 @@ public class PathFragmentTest {
// Supports multi-segment startingWithPaths:
assertThat(PathFragment.filterPathsStartingWith(toPathsSet("a/b/c", "a/b/d", "a/c/d"),
- new PathFragment("a/b"))).containsExactlyElementsIn(toPathsSet("a/b/c", "a/b/d"));
+ PathFragment.create("a/b"))).containsExactlyElementsIn(toPathsSet("a/b/c", "a/b/d"));
}
@Test
public void testCheckAllPathsStartWithButAreNotEqualTo() {
// Check passes:
PathFragment.checkAllPathsAreUnder(toPathsSet("a/b", "a/c"),
- new PathFragment("a"));
+ PathFragment.create("a"));
// Check trivially passes:
PathFragment.checkAllPathsAreUnder(ImmutableList.<PathFragment>of(),
- new PathFragment("a"));
+ PathFragment.create("a"));
// Check fails when some path does not start with startingWithPath:
try {
PathFragment.checkAllPathsAreUnder(toPathsSet("a/b", "b/c"),
- new PathFragment("a"));
+ PathFragment.create("a"));
fail();
} catch (IllegalArgumentException expected) {
}
@@ -432,7 +443,7 @@ public class PathFragmentTest {
// Check fails when some path is equal to startingWithPath:
try {
PathFragment.checkAllPathsAreUnder(toPathsSet("a/b", "a"),
- new PathFragment("a"));
+ PathFragment.create("a"));
fail();
} catch (IllegalArgumentException expected) {
}
@@ -440,24 +451,24 @@ public class PathFragmentTest {
@Test
public void testEndsWith() {
- PathFragment foobar = new PathFragment("/foo/bar");
- PathFragment foobarRelative = new PathFragment("foo/bar");
+ PathFragment foobar = PathFragment.create("/foo/bar");
+ PathFragment foobarRelative = PathFragment.create("foo/bar");
// (path, suffix) => true
assertTrue(foobar.endsWith(foobar));
- assertTrue(foobar.endsWith(new PathFragment("bar")));
- assertTrue(foobar.endsWith(new PathFragment("foo/bar")));
- assertTrue(foobar.endsWith(new PathFragment("/foo/bar")));
- assertFalse(foobar.endsWith(new PathFragment("/bar")));
+ assertTrue(foobar.endsWith(PathFragment.create("bar")));
+ assertTrue(foobar.endsWith(PathFragment.create("foo/bar")));
+ assertTrue(foobar.endsWith(PathFragment.create("/foo/bar")));
+ assertFalse(foobar.endsWith(PathFragment.create("/bar")));
// (prefix, path) => false
- assertFalse(new PathFragment("/foo").endsWith(foobar));
- assertFalse(new PathFragment("/").endsWith(foobar));
+ assertFalse(PathFragment.create("/foo").endsWith(foobar));
+ assertFalse(PathFragment.create("/").endsWith(foobar));
// (suffix, path) => false
- assertFalse(new PathFragment("/bar").endsWith(foobar));
- assertFalse(new PathFragment("bar").endsWith(foobar));
- assertFalse(new PathFragment("").endsWith(foobar));
+ assertFalse(PathFragment.create("/bar").endsWith(foobar));
+ assertFalse(PathFragment.create("bar").endsWith(foobar));
+ assertFalse(PathFragment.create("").endsWith(foobar));
// (absolute, relative) => true
assertTrue(foobar.endsWith(foobarRelative));
@@ -467,18 +478,18 @@ public class PathFragmentTest {
// (relative path, relative prefix) => true
assertTrue(foobarRelative.endsWith(foobarRelative));
- assertTrue(foobarRelative.endsWith(new PathFragment("bar")));
- assertTrue(foobarRelative.endsWith(new PathFragment("")));
+ assertTrue(foobarRelative.endsWith(PathFragment.create("bar")));
+ assertTrue(foobarRelative.endsWith(PathFragment.create("")));
// (path, sibling) => false
- assertFalse(new PathFragment("/foo/wiz").endsWith(foobar));
- assertFalse(foobar.endsWith(new PathFragment("/foo/wiz")));
+ assertFalse(PathFragment.create("/foo/wiz").endsWith(foobar));
+ assertFalse(foobar.endsWith(PathFragment.create("/foo/wiz")));
}
static List<PathFragment> toPaths(List<String> strs) {
List<PathFragment> paths = Lists.newArrayList();
for (String s : strs) {
- paths.add(new PathFragment(s));
+ paths.add(PathFragment.create(s));
}
return paths;
}
@@ -486,7 +497,7 @@ public class PathFragmentTest {
static ImmutableSet<PathFragment> toPathsSet(String... strs) {
ImmutableSet.Builder<PathFragment> builder = ImmutableSet.builder();
for (String str : strs) {
- builder.add(new PathFragment(str));
+ builder.add(PathFragment.create(str));
}
return builder.build();
}
@@ -528,24 +539,24 @@ public class PathFragmentTest {
@Test
public void testGetSafePathString() {
- assertEquals("/", new PathFragment("/").getSafePathString());
- assertEquals("/abc", new PathFragment("/abc").getSafePathString());
- assertEquals(".", new PathFragment("").getSafePathString());
+ assertEquals("/", PathFragment.create("/").getSafePathString());
+ assertEquals("/abc", PathFragment.create("/abc").getSafePathString());
+ assertEquals(".", PathFragment.create("").getSafePathString());
assertEquals(".", PathFragment.EMPTY_FRAGMENT.getSafePathString());
- assertEquals("abc/def", new PathFragment("abc/def").getSafePathString());
+ assertEquals("abc/def", PathFragment.create("abc/def").getSafePathString());
}
@Test
public void testNormalize() {
- assertEquals(new PathFragment("/a/b"), new PathFragment("/a/b").normalize());
- assertEquals(new PathFragment("/a/b"), new PathFragment("/a/./b").normalize());
- assertEquals(new PathFragment("/b"), new PathFragment("/a/../b").normalize());
- assertEquals(new PathFragment("a/b"), new PathFragment("a/b").normalize());
- assertEquals(new PathFragment("../b"), new PathFragment("a/../../b").normalize());
- assertEquals(new PathFragment(".."), new PathFragment("a/../..").normalize());
- assertEquals(new PathFragment("b"), new PathFragment("a/../b").normalize());
- assertEquals(new PathFragment("a/b"), new PathFragment("a/b/../b").normalize());
- assertEquals(new PathFragment("/.."), new PathFragment("/..").normalize());
+ assertEquals(PathFragment.create("/a/b"), PathFragment.create("/a/b").normalize());
+ assertEquals(PathFragment.create("/a/b"), PathFragment.create("/a/./b").normalize());
+ assertEquals(PathFragment.create("/b"), PathFragment.create("/a/../b").normalize());
+ assertEquals(PathFragment.create("a/b"), PathFragment.create("a/b").normalize());
+ assertEquals(PathFragment.create("../b"), PathFragment.create("a/../../b").normalize());
+ assertEquals(PathFragment.create(".."), PathFragment.create("a/../..").normalize());
+ assertEquals(PathFragment.create("b"), PathFragment.create("a/../b").normalize());
+ assertEquals(PathFragment.create("a/b"), PathFragment.create("a/b/../b").normalize());
+ assertEquals(PathFragment.create("/.."), PathFragment.create("/..").normalize());
}
@Test
@@ -564,7 +575,7 @@ public class PathFragmentTest {
}
private void checkSerialization(String pathFragmentString, int expectedSize) throws Exception {
- PathFragment a = new PathFragment(pathFragmentString);
+ PathFragment a = PathFragment.create(pathFragmentString);
byte[] sa = TestUtils.serializeObject(a);
assertEquals(expectedSize, sa.length);
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentWindowsTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentWindowsTest.java
index 9506202d16..d22080901b 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentWindowsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/PathFragmentWindowsTest.java
@@ -34,47 +34,47 @@ public class PathFragmentWindowsTest {
@Test
public void testWindowsSeparator() {
- assertEquals("bar/baz", new PathFragment("bar\\baz").toString());
- assertEquals("C:/bar/baz", new PathFragment("c:\\bar\\baz").toString());
+ assertEquals("bar/baz", PathFragment.create("bar\\baz").toString());
+ assertEquals("C:/bar/baz", PathFragment.create("c:\\bar\\baz").toString());
}
@Test
public void testIsAbsoluteWindows() {
- assertTrue(new PathFragment("C:/").isAbsolute());
- assertTrue(new PathFragment("C:/").isAbsolute());
- assertTrue(new PathFragment("C:/foo").isAbsolute());
- assertTrue(new PathFragment("d:/foo/bar").isAbsolute());
+ assertTrue(PathFragment.create("C:/").isAbsolute());
+ assertTrue(PathFragment.create("C:/").isAbsolute());
+ assertTrue(PathFragment.create("C:/foo").isAbsolute());
+ assertTrue(PathFragment.create("d:/foo/bar").isAbsolute());
- assertFalse(new PathFragment("*:/").isAbsolute());
+ assertFalse(PathFragment.create("*:/").isAbsolute());
// C: is not an absolute path, it points to the current active directory on drive C:.
- assertFalse(new PathFragment("C:").isAbsolute());
- assertFalse(new PathFragment("C:foo").isAbsolute());
+ assertFalse(PathFragment.create("C:").isAbsolute());
+ assertFalse(PathFragment.create("C:foo").isAbsolute());
}
@Test
public void testAbsoluteAndAbsoluteLookingPaths() {
- PathFragment p1 = new PathFragment("/c");
+ PathFragment p1 = PathFragment.create("/c");
assertThat(p1.isAbsolute()).isTrue();
assertThat(p1.getDriveLetter()).isEqualTo('\0');
assertThat(p1.getSegments()).containsExactly("c");
- PathFragment p2 = new PathFragment("/c/");
+ PathFragment p2 = PathFragment.create("/c/");
assertThat(p2.isAbsolute()).isTrue();
assertThat(p2.getDriveLetter()).isEqualTo('\0');
assertThat(p2.getSegments()).containsExactly("c");
- PathFragment p3 = new PathFragment("C:/");
+ PathFragment p3 = PathFragment.create("C:/");
assertThat(p3.isAbsolute()).isTrue();
assertThat(p3.getDriveLetter()).isEqualTo('C');
assertThat(p3.getSegments()).isEmpty();
- PathFragment p4 = new PathFragment("C:");
+ PathFragment p4 = PathFragment.create("C:");
assertThat(p4.isAbsolute()).isFalse();
assertThat(p4.getDriveLetter()).isEqualTo('C');
assertThat(p4.getSegments()).isEmpty();
- PathFragment p5 = new PathFragment("/c:");
+ PathFragment p5 = PathFragment.create("/c:");
assertThat(p5.isAbsolute()).isTrue();
assertThat(p5.getDriveLetter()).isEqualTo('\0');
assertThat(p5.getSegments()).containsExactly("c:");
@@ -90,39 +90,39 @@ public class PathFragmentWindowsTest {
@Test
public void testIsAbsoluteWindowsBackslash() {
- assertTrue(new PathFragment(new File("C:\\blah")).isAbsolute());
- assertTrue(new PathFragment(new File("C:\\")).isAbsolute());
- assertTrue(new PathFragment(new File("\\blah")).isAbsolute());
- assertTrue(new PathFragment(new File("\\")).isAbsolute());
+ assertTrue(PathFragment.create(new File("C:\\blah")).isAbsolute());
+ assertTrue(PathFragment.create(new File("C:\\")).isAbsolute());
+ assertTrue(PathFragment.create(new File("\\blah")).isAbsolute());
+ assertTrue(PathFragment.create(new File("\\")).isAbsolute());
}
@Test
public void testIsNormalizedWindows() {
- assertTrue(new PathFragment("C:/").isNormalized());
- assertTrue(new PathFragment("C:/absolute/path").isNormalized());
- assertFalse(new PathFragment("C:/absolute/./path").isNormalized());
- assertFalse(new PathFragment("C:/absolute/../path").isNormalized());
+ assertTrue(PathFragment.create("C:/").isNormalized());
+ assertTrue(PathFragment.create("C:/absolute/path").isNormalized());
+ assertFalse(PathFragment.create("C:/absolute/./path").isNormalized());
+ assertFalse(PathFragment.create("C:/absolute/../path").isNormalized());
}
@Test
public void testRootNodeReturnsRootStringWindows() {
- PathFragment rootFragment = new PathFragment("C:/");
+ PathFragment rootFragment = PathFragment.create("C:/");
assertEquals("C:/", rootFragment.getPathString());
}
@Test
public void testGetRelativeWindows() {
- assertEquals("C:/a/b", new PathFragment("C:/a").getRelative("b").getPathString());
- assertEquals("C:/a/b/c/d", new PathFragment("C:/a/b").getRelative("c/d").getPathString());
- assertEquals("C:/b", new PathFragment("C:/a").getRelative("C:/b").getPathString());
- assertEquals("C:/c/d", new PathFragment("C:/a/b").getRelative("C:/c/d").getPathString());
- assertEquals("C:/b", new PathFragment("a").getRelative("C:/b").getPathString());
- assertEquals("C:/c/d", new PathFragment("a/b").getRelative("C:/c/d").getPathString());
+ assertEquals("C:/a/b", PathFragment.create("C:/a").getRelative("b").getPathString());
+ assertEquals("C:/a/b/c/d", PathFragment.create("C:/a/b").getRelative("c/d").getPathString());
+ assertEquals("C:/b", PathFragment.create("C:/a").getRelative("C:/b").getPathString());
+ assertEquals("C:/c/d", PathFragment.create("C:/a/b").getRelative("C:/c/d").getPathString());
+ assertEquals("C:/b", PathFragment.create("a").getRelative("C:/b").getPathString());
+ assertEquals("C:/c/d", PathFragment.create("a/b").getRelative("C:/c/d").getPathString());
}
private void assertGetRelative(String path, String relative, PathFragment expected)
throws Exception {
- PathFragment actual = new PathFragment(path).getRelative(relative);
+ PathFragment actual = PathFragment.create(path).getRelative(relative);
assertThat(actual.getPathString()).isEqualTo(expected.getPathString());
assertThat(actual).isEqualTo(expected);
assertThat(actual.getDriveLetter()).isEqualTo(expected.getDriveLetter());
@@ -131,8 +131,8 @@ public class PathFragmentWindowsTest {
private void assertRelativeTo(String path, String relativeTo, String... expectedPathSegments)
throws Exception {
- PathFragment expected = new PathFragment('\0', false, expectedPathSegments);
- PathFragment actual = new PathFragment(path).relativeTo(relativeTo);
+ PathFragment expected = PathFragment.createNoClone('\0', false, expectedPathSegments);
+ PathFragment actual = PathFragment.create(path).relativeTo(relativeTo);
assertThat(actual.getPathString()).isEqualTo(expected.getPathString());
assertThat(actual).isEqualTo(expected);
assertThat(actual.getDriveLetter()).isEqualTo(expected.getDriveLetter());
@@ -141,7 +141,7 @@ public class PathFragmentWindowsTest {
private void assertCantComputeRelativeTo(String path, String relativeTo) throws Exception {
try {
- new PathFragment(path).relativeTo(relativeTo);
+ PathFragment.create(path).relativeTo(relativeTo);
Assert.fail("expected failure");
} catch (Exception e) {
assertThat(e.getMessage()).contains("is not beneath");
@@ -149,7 +149,7 @@ public class PathFragmentWindowsTest {
}
private static PathFragment makePath(char drive, boolean absolute, String... segments) {
- return new PathFragment(drive, absolute, segments);
+ return PathFragment.createNoClone(drive, absolute, segments);
}
@Test
@@ -193,14 +193,14 @@ public class PathFragmentWindowsTest {
@Test
public void testGetChildWorks() {
- PathFragment pf = new PathFragment("../some/path");
- assertEquals(new PathFragment("../some/path/hi"), pf.getChild("hi"));
+ PathFragment pf = PathFragment.create("../some/path");
+ assertEquals(PathFragment.create("../some/path/hi"), pf.getChild("hi"));
}
// Tests after here test the canonicalization
private void assertRegular(String expected, String actual) {
- PathFragment exp = new PathFragment(expected);
- PathFragment act = new PathFragment(actual);
+ PathFragment exp = PathFragment.create(expected);
+ PathFragment act = PathFragment.create(actual);
assertThat(exp.getPathString()).isEqualTo(expected);
assertThat(act.getPathString()).isEqualTo(expected);
assertThat(act).isEqualTo(exp);
@@ -233,18 +233,18 @@ public class PathFragmentWindowsTest {
// information to the path itself.
assertAllEqual(
PathFragment.EMPTY_FRAGMENT,
- new PathFragment("C:"),
- new PathFragment("D:"),
- new PathFragment('\0', false, new String[0]),
- new PathFragment('C', false, new String[0]),
- new PathFragment('D', false, new String[0]));
- assertAllEqual(new PathFragment("/c"), new PathFragment("/c/"));
- assertThat(new PathFragment("C:/")).isNotEqualTo(new PathFragment("/c"));
- assertThat(new PathFragment("C:/foo")).isNotEqualTo(new PathFragment("/c/foo"));
+ PathFragment.create("C:"),
+ PathFragment.create("D:"),
+ PathFragment.createNoClone('\0', false, new String[0]),
+ PathFragment.createNoClone('C', false, new String[0]),
+ PathFragment.createNoClone('D', false, new String[0]));
+ assertAllEqual(PathFragment.create("/c"), PathFragment.create("/c/"));
+ assertThat(PathFragment.create("C:/")).isNotEqualTo(PathFragment.create("/c"));
+ assertThat(PathFragment.create("C:/foo")).isNotEqualTo(PathFragment.create("/c/foo"));
- assertThat(new PathFragment("C:/")).isNotEqualTo(new PathFragment("C:"));
- assertThat(new PathFragment("C:/").getPathString())
- .isNotEqualTo(new PathFragment("C:").getPathString());
+ assertThat(PathFragment.create("C:/")).isNotEqualTo(PathFragment.create("C:"));
+ assertThat(PathFragment.create("C:/").getPathString())
+ .isNotEqualTo(PathFragment.create("C:").getPathString());
}
@Test
@@ -271,10 +271,10 @@ public class PathFragmentWindowsTest {
@Test
public void testGetParentDirectoryWindows() {
- PathFragment fooBarWizAbs = new PathFragment("C:/foo/bar/wiz");
- PathFragment fooBarAbs = new PathFragment("C:/foo/bar");
- PathFragment fooAbs = new PathFragment("C:/foo");
- PathFragment rootAbs = new PathFragment("C:/");
+ PathFragment fooBarWizAbs = PathFragment.create("C:/foo/bar/wiz");
+ PathFragment fooBarAbs = PathFragment.create("C:/foo/bar");
+ PathFragment fooAbs = PathFragment.create("C:/foo");
+ PathFragment rootAbs = PathFragment.create("C:/");
assertEquals(fooBarAbs, fooBarWizAbs.getParentDirectory());
assertEquals(fooAbs, fooBarAbs.getParentDirectory());
assertEquals(rootAbs, fooAbs.getParentDirectory());
@@ -282,29 +282,29 @@ public class PathFragmentWindowsTest {
// Note, this is suprising but correct behaviour:
assertEquals(fooBarAbs,
- new PathFragment("C:/foo/bar/..").getParentDirectory());
+ PathFragment.create("C:/foo/bar/..").getParentDirectory());
}
@Test
public void testSegmentsCountWindows() {
- assertEquals(1, new PathFragment("C:/foo").segmentCount());
- assertEquals(0, new PathFragment("C:/").segmentCount());
+ assertEquals(1, PathFragment.create("C:/foo").segmentCount());
+ assertEquals(0, PathFragment.create("C:/").segmentCount());
}
@Test
public void testGetSegmentWindows() {
- assertEquals("foo", new PathFragment("C:/foo/bar").getSegment(0));
- assertEquals("bar", new PathFragment("C:/foo/bar").getSegment(1));
- assertEquals("foo", new PathFragment("C:/foo/").getSegment(0));
- assertEquals("foo", new PathFragment("C:/foo").getSegment(0));
+ assertEquals("foo", PathFragment.create("C:/foo/bar").getSegment(0));
+ assertEquals("bar", PathFragment.create("C:/foo/bar").getSegment(1));
+ assertEquals("foo", PathFragment.create("C:/foo/").getSegment(0));
+ assertEquals("foo", PathFragment.create("C:/foo").getSegment(0));
}
@Test
public void testBasenameWindows() throws Exception {
- assertEquals("bar", new PathFragment("C:/foo/bar").getBaseName());
- assertEquals("foo", new PathFragment("C:/foo").getBaseName());
+ assertEquals("bar", PathFragment.create("C:/foo/bar").getBaseName());
+ assertEquals("foo", PathFragment.create("C:/foo").getBaseName());
// Never return the drive name as a basename.
- assertThat(new PathFragment("C:/").getBaseName()).isEmpty();
+ assertThat(PathFragment.create("C:/").getBaseName()).isEmpty();
}
private static void assertPath(String expected, PathFragment actual) {
@@ -313,43 +313,43 @@ public class PathFragmentWindowsTest {
@Test
public void testReplaceNameWindows() throws Exception {
- assertPath("C:/foo/baz", new PathFragment("C:/foo/bar").replaceName("baz"));
- assertNull(new PathFragment("C:/").replaceName("baz"));
+ assertPath("C:/foo/baz", PathFragment.create("C:/foo/bar").replaceName("baz"));
+ assertNull(PathFragment.create("C:/").replaceName("baz"));
}
@Test
public void testStartsWithWindows() {
- assertTrue(new PathFragment("C:/foo/bar").startsWith(new PathFragment("C:/foo")));
- assertTrue(new PathFragment("C:/foo/bar").startsWith(new PathFragment("C:/")));
- assertTrue(new PathFragment("C:foo/bar").startsWith(new PathFragment("C:")));
- assertTrue(new PathFragment("C:/").startsWith(new PathFragment("C:/")));
- assertTrue(new PathFragment("C:").startsWith(new PathFragment("C:")));
+ assertTrue(PathFragment.create("C:/foo/bar").startsWith(PathFragment.create("C:/foo")));
+ assertTrue(PathFragment.create("C:/foo/bar").startsWith(PathFragment.create("C:/")));
+ assertTrue(PathFragment.create("C:foo/bar").startsWith(PathFragment.create("C:")));
+ assertTrue(PathFragment.create("C:/").startsWith(PathFragment.create("C:/")));
+ assertTrue(PathFragment.create("C:").startsWith(PathFragment.create("C:")));
// The first path is absolute, the second is not.
- assertFalse(new PathFragment("C:/foo/bar").startsWith(new PathFragment("C:")));
- assertFalse(new PathFragment("C:/").startsWith(new PathFragment("C:")));
+ assertFalse(PathFragment.create("C:/foo/bar").startsWith(PathFragment.create("C:")));
+ assertFalse(PathFragment.create("C:/").startsWith(PathFragment.create("C:")));
}
@Test
public void testEndsWithWindows() {
- assertTrue(new PathFragment("C:/foo/bar").endsWith(new PathFragment("bar")));
- assertTrue(new PathFragment("C:/foo/bar").endsWith(new PathFragment("foo/bar")));
- assertTrue(new PathFragment("C:/foo/bar").endsWith(new PathFragment("C:/foo/bar")));
- assertTrue(new PathFragment("C:/").endsWith(new PathFragment("C:/")));
+ assertTrue(PathFragment.create("C:/foo/bar").endsWith(PathFragment.create("bar")));
+ assertTrue(PathFragment.create("C:/foo/bar").endsWith(PathFragment.create("foo/bar")));
+ assertTrue(PathFragment.create("C:/foo/bar").endsWith(PathFragment.create("C:/foo/bar")));
+ assertTrue(PathFragment.create("C:/").endsWith(PathFragment.create("C:/")));
}
@Test
public void testGetSafePathStringWindows() {
- assertEquals("C:/", new PathFragment("C:/").getSafePathString());
- assertEquals("C:/abc", new PathFragment("C:/abc").getSafePathString());
- assertEquals("C:/abc/def", new PathFragment("C:/abc/def").getSafePathString());
+ assertEquals("C:/", PathFragment.create("C:/").getSafePathString());
+ assertEquals("C:/abc", PathFragment.create("C:/abc").getSafePathString());
+ assertEquals("C:/abc/def", PathFragment.create("C:/abc/def").getSafePathString());
}
@Test
public void testNormalizeWindows() {
- assertEquals(new PathFragment("C:/a/b"), new PathFragment("C:/a/b").normalize());
- assertEquals(new PathFragment("C:/a/b"), new PathFragment("C:/a/./b").normalize());
- assertEquals(new PathFragment("C:/b"), new PathFragment("C:/a/../b").normalize());
- assertEquals(new PathFragment("C:/../b"), new PathFragment("C:/../b").normalize());
+ assertEquals(PathFragment.create("C:/a/b"), PathFragment.create("C:/a/b").normalize());
+ assertEquals(PathFragment.create("C:/a/b"), PathFragment.create("C:/a/./b").normalize());
+ assertEquals(PathFragment.create("C:/b"), PathFragment.create("C:/a/../b").normalize());
+ assertEquals(PathFragment.create("C:/../b"), PathFragment.create("C:/../b").normalize());
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathGetParentTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathGetParentTest.java
index 5e6224c998..5681ba2ab1 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/PathGetParentTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/PathGetParentTest.java
@@ -81,6 +81,6 @@ public class PathGetParentTest {
// Under UNIX, inode(/tmp/wiz/..) == inode(/). However getPath() does not
// perform I/O, only string operations, so it disagrees:
- assertEquals(tmp, tmp.getRelative(new PathFragment("wiz/..")));
+ assertEquals(tmp, tmp.getRelative(PathFragment.create("wiz/..")));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/PathTest.java b/src/test/java/com/google/devtools/build/lib/vfs/PathTest.java
index 1976f05f8d..de1a47cb4c 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/PathTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/PathTest.java
@@ -179,11 +179,11 @@ public class PathTest {
public void testGetRelativeWithFragmentWorks() {
Path dir = filesystem.getPath("/first/x");
assertEquals("/first/x/y",
- dir.getRelative(new PathFragment("y")).toString());
+ dir.getRelative(PathFragment.create("y")).toString());
assertEquals("/first/x/x",
- dir.getRelative(new PathFragment("./x")).toString());
+ dir.getRelative(PathFragment.create("./x")).toString());
assertEquals("/first/y",
- dir.getRelative(new PathFragment("../y")).toString());
+ dir.getRelative(PathFragment.create("../y")).toString());
}
@@ -191,7 +191,7 @@ public class PathTest {
public void testGetRelativeWithAbsoluteFragmentWorks() {
Path root = filesystem.getPath("/first/x");
assertEquals("/x/y",
- root.getRelative(new PathFragment("/x/y")).toString());
+ root.getRelative(PathFragment.create("/x/y")).toString());
}
@Test
@@ -238,14 +238,14 @@ public class PathTest {
@Test
public void testSiblingNonEquivalenceFragment() {
assertNotSame(
- root.getRelative(new PathFragment("aSingleSegment")),
- root.getRelative(new PathFragment("aDifferentSegment")));
+ root.getRelative(PathFragment.create("aSingleSegment")),
+ root.getRelative(PathFragment.create("aDifferentSegment")));
}
@Test
public void testHashCodeStableAcrossGarbageCollections() {
Path parent = filesystem.getPath("/a");
- PathFragment childFragment = new PathFragment("b");
+ PathFragment childFragment = PathFragment.create("b");
Path child = parent.getRelative(childFragment);
WeakReference<Path> childRef = new WeakReference<>(child);
int childHashCode1 = childRef.get().hashCode();
@@ -315,7 +315,7 @@ public class PathTest {
}
private void assertAsFragmentWorks(String expected) {
- assertEquals(new PathFragment(expected), filesystem.getPath(expected).asFragment());
+ assertEquals(PathFragment.create(expected), filesystem.getPath(expected).asFragment());
}
private void assertGetRelativeWorks(String expected, String relative) {
@@ -324,7 +324,7 @@ public class PathTest {
}
private void assertRelativeToWorks(String expected, String relative, String original) {
- assertEquals(new PathFragment(expected),
+ assertEquals(PathFragment.create(expected),
filesystem.getPath(relative).relativeTo(filesystem.getPath(original)));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java b/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java
index 83a72111b5..7ad65313c0 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/RootedPathTest.java
@@ -40,12 +40,14 @@ public class RootedPathTest {
public void testEqualsAndHashCodeContract() throws Exception {
Path pkgRoot1 = root.getRelative("pkgroot1");
Path pkgRoot2 = root.getRelative("pkgroot2");
- RootedPath rootedPathA1 = RootedPath.toRootedPath(pkgRoot1, new PathFragment("foo/bar"));
- RootedPath rootedPathA2 = RootedPath.toRootedPath(pkgRoot1, new PathFragment("foo/bar"));
- RootedPath absolutePath1 = RootedPath.toRootedPath(root, new PathFragment("pkgroot1/foo/bar"));
- RootedPath rootedPathB1 = RootedPath.toRootedPath(pkgRoot2, new PathFragment("foo/bar"));
- RootedPath rootedPathB2 = RootedPath.toRootedPath(pkgRoot2, new PathFragment("foo/bar"));
- RootedPath absolutePath2 = RootedPath.toRootedPath(root, new PathFragment("pkgroot2/foo/bar"));
+ RootedPath rootedPathA1 = RootedPath.toRootedPath(pkgRoot1, PathFragment.create("foo/bar"));
+ RootedPath rootedPathA2 = RootedPath.toRootedPath(pkgRoot1, PathFragment.create("foo/bar"));
+ RootedPath absolutePath1 =
+ RootedPath.toRootedPath(root, PathFragment.create("pkgroot1/foo/bar"));
+ RootedPath rootedPathB1 = RootedPath.toRootedPath(pkgRoot2, PathFragment.create("foo/bar"));
+ RootedPath rootedPathB2 = RootedPath.toRootedPath(pkgRoot2, PathFragment.create("foo/bar"));
+ RootedPath absolutePath2 =
+ RootedPath.toRootedPath(root, PathFragment.create("pkgroot2/foo/bar"));
new EqualsTester()
.addEqualityGroup(rootedPathA1, rootedPathA2)
.addEqualityGroup(rootedPathB1, rootedPathB2)
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/ScopeEscapableFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/ScopeEscapableFileSystemTest.java
index f321ab93e3..cec1523a0e 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/ScopeEscapableFileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/ScopeEscapableFileSystemTest.java
@@ -129,7 +129,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
}
}
- protected static final PathFragment SCOPE_ROOT = new PathFragment("/fs/root");
+ protected static final PathFragment SCOPE_ROOT = PathFragment.create("/fs/root");
private Path fileLink;
private PathFragment fileLinkTarget;
@@ -146,11 +146,11 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
}
fileLink = testFS.getPath(SCOPE_ROOT.getRelative("link"));
- fileLinkTarget = new PathFragment("/should/be/delegated/fileLinkTarget");
+ fileLinkTarget = PathFragment.create("/should/be/delegated/fileLinkTarget");
testFS.createSymbolicLink(fileLink, fileLinkTarget);
dirLink = testFS.getPath(SCOPE_ROOT.getRelative("dirlink"));
- dirLinkTarget = new PathFragment("/should/be/delegated/dirLinkTarget");
+ dirLinkTarget = PathFragment.create("/should/be/delegated/dirLinkTarget");
testFS.createSymbolicLink(dirLink, dirLinkTarget);
}
@@ -605,7 +605,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
};
scopedFS().setDelegator(delegator);
- PathFragment newLinkTarget = new PathFragment("/something/else");
+ PathFragment newLinkTarget = PathFragment.create("/something/else");
dirLink.getRelative("a").createSymbolicLink(newLinkTarget);
assertEquals(dirLinkTarget.getRelative("a"), delegator.lastPath());
assertSame(newLinkTarget, delegator.objectState());
@@ -623,7 +623,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
scopedFS().setDelegator(delegator);
// Since we're not following the link, this shouldn't invoke delegation.
- delegator.setState(new PathFragment("whatever"));
+ delegator.setState(PathFragment.create("whatever"));
PathFragment p = fileLink.readSymbolicLink();
assertNull(delegator.lastPath());
assertNotSame(delegator.objectState(), p);
@@ -705,7 +705,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
*/
private void assertInScopeLink(String link, String target, TestDelegator d) throws IOException {
Path l = testFS.getPath(SCOPE_ROOT.getRelative(link));
- testFS.createSymbolicLink(l, new PathFragment(target));
+ testFS.createSymbolicLink(l, PathFragment.create(target));
l.exists();
assertNull(d.lastPath());
}
@@ -717,7 +717,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
private void assertOutOfScopeLink(String link, String target, String expectedPath,
TestDelegator d) throws IOException {
Path l = testFS.getPath(SCOPE_ROOT.getRelative(link));
- testFS.createSymbolicLink(l, new PathFragment(target));
+ testFS.createSymbolicLink(l, PathFragment.create(target));
l.exists();
assertEquals(expectedPath, d.lastPath().getPathString());
}
@@ -768,7 +768,7 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
// Out-of-scope symlink that's not the final segment in a query.
Path oDirLink = testFS.getPath(SCOPE_ROOT.getRelative("olinkdir"));
- testFS.createSymbolicLink(oDirLink, new PathFragment("/some/other/dir"));
+ testFS.createSymbolicLink(oDirLink, PathFragment.create("/some/other/dir"));
oDirLink.getRelative("file").exists();
assertEquals("/some/other/dir/file", d.lastPath().getPathString());
}
@@ -807,13 +807,13 @@ public abstract class ScopeEscapableFileSystemTest extends SymlinkAwareFileSyste
// In-scope symlink that's not the final segment in a query.
Path iDirLink = testFS.getPath(SCOPE_ROOT.getRelative("dir/dir2/ilinkdir"));
- testFS.createSymbolicLink(iDirLink, new PathFragment("../../dir"));
+ testFS.createSymbolicLink(iDirLink, PathFragment.create("../../dir"));
iDirLink.getRelative("file").exists();
assertNull(d.lastPath());
// Out-of-scope symlink that's not the final segment in a query.
Path oDirLink = testFS.getPath(SCOPE_ROOT.getRelative("dir/dir2/olinkdir"));
- testFS.createSymbolicLink(oDirLink, new PathFragment("../../../other/dir"));
+ testFS.createSymbolicLink(oDirLink, PathFragment.create("../../../other/dir"));
oDirLink.getRelative("file").exists();
assertEquals(chopScopeRoot(1) + "/other/dir/file", d.lastPath().getPathString());
}
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/SymlinkAwareFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/SymlinkAwareFileSystemTest.java
index 9f9480c19b..b048748861 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/SymlinkAwareFileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/SymlinkAwareFileSystemTest.java
@@ -200,7 +200,7 @@ public abstract class SymlinkAwareFileSystemTest extends FileSystemTest {
};
Path linkPath = absolutize("link");
for (String linkTarget : linkTargets) {
- PathFragment relative = new PathFragment(linkTarget);
+ PathFragment relative = PathFragment.create(linkTarget);
linkPath.delete();
createSymbolicLink(linkPath, relative);
if (supportsSymlinks) {
@@ -246,7 +246,7 @@ public abstract class SymlinkAwareFileSystemTest extends FileSystemTest {
@Test
public void testLinkToFragmentContainingLinkResolvesCorrectly() throws IOException {
Path link1 = absolutize("link1");
- PathFragment link1target = new PathFragment("link2/foo");
+ PathFragment link1target = PathFragment.create("link2/foo");
Path link2 = absolutize("link2");
Path link2target = xNonEmptyDirectory;
@@ -331,7 +331,7 @@ public abstract class SymlinkAwareFileSystemTest extends FileSystemTest {
String prefix = "./";
while ((ancestor = ancestor.getParentDirectory()) != null) {
xLinkToFile.delete();
- createSymbolicLink(xLinkToFile, new PathFragment(prefix + xFile.relativeTo(ancestor)));
+ createSymbolicLink(xLinkToFile, PathFragment.create(prefix + xFile.relativeTo(ancestor)));
assertEquals(xFile, xLinkToFile.resolveSymbolicLinks());
prefix += "../";
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/UnionFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/UnionFileSystemTest.java
index 50329d6ed0..c1e793562a 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/UnionFileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/UnionFileSystemTest.java
@@ -64,8 +64,8 @@ public class UnionFileSystemTest extends SymlinkAwareFileSystemTest {
private UnionFileSystem createDefaultUnionFileSystem(boolean readOnly) {
return new UnionFileSystem(ImmutableMap.<PathFragment, FileSystem>of(
- new PathFragment("/in"), inDelegate,
- new PathFragment("/out"), outDelegate),
+ PathFragment.create("/in"), inDelegate,
+ PathFragment.create("/out"), outDelegate),
defaultDelegate, readOnly);
}
@@ -123,8 +123,8 @@ public class UnionFileSystemTest extends SymlinkAwareFileSystemTest {
@Test
public void testPrefixDelegation() throws Exception {
unionfs = new UnionFileSystem(ImmutableMap.<PathFragment, FileSystem>of(
- new PathFragment("/foo"), inDelegate,
- new PathFragment("/foo/bar"), outDelegate), defaultDelegate);
+ PathFragment.create("/foo"), inDelegate,
+ PathFragment.create("/foo/bar"), outDelegate), defaultDelegate);
assertSame(inDelegate, unionfs.getDelegate(unionfs.getPath("/foo/foo.txt")));
assertSame(outDelegate, unionfs.getDelegate(unionfs.getPath("/foo/bar/foo.txt")));
@@ -220,7 +220,7 @@ public class UnionFileSystemTest extends SymlinkAwareFileSystemTest {
outStream.close();
Path outFoo = unionfs.getPath("/out/foo");
- unionfs.createSymbolicLink(outFoo, new PathFragment("../in/bar.txt"));
+ unionfs.createSymbolicLink(outFoo, PathFragment.create("../in/bar.txt"));
assertTrue(unionfs.stat(outFoo, false).isSymbolicLink());
try {
@@ -253,8 +253,8 @@ public class UnionFileSystemTest extends SymlinkAwareFileSystemTest {
@Test
public void testWithinDirectoryMapping() throws Exception {
unionfs = new UnionFileSystem(ImmutableMap.<PathFragment, FileSystem>of(
- new PathFragment("/fruit/a"), inDelegate,
- new PathFragment("/fruit/b"), outDelegate), defaultDelegate);
+ PathFragment.create("/fruit/a"), inDelegate,
+ PathFragment.create("/fruit/b"), outDelegate), defaultDelegate);
assertTrue(unionfs.createDirectory(unionfs.getPath("/fruit")));
assertTrue(defaultDelegate.getPath("/fruit").isDirectory());
assertTrue(inDelegate.getPath("/fruit").createDirectory());
@@ -309,7 +309,7 @@ public class UnionFileSystemTest extends SymlinkAwareFileSystemTest {
@Test
public void testCreateParentsAcrossMapping() throws Exception {
unionfs = new UnionFileSystem(ImmutableMap.<PathFragment, FileSystem>of(
- new PathFragment("/out/dir"), outDelegate), defaultDelegate, false);
+ PathFragment.create("/out/dir"), outDelegate), defaultDelegate, false);
Path outDir = unionfs.getPath("/out/dir/biz/bang");
FileSystemUtils.createDirectoryAndParents(outDir);
assertTrue(outDir.isDirectory());
diff --git a/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java b/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java
index 65446664d3..ee4dfe937a 100644
--- a/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java
+++ b/src/test/java/com/google/devtools/build/lib/vfs/inmemoryfs/InMemoryFileSystemTest.java
@@ -394,8 +394,8 @@ public class InMemoryFileSystemTest extends ScopeEscapableFileSystemTest {
public void testEloop() throws Exception {
Path a = testFS.getPath("/a");
Path b = testFS.getPath("/b");
- a.createSymbolicLink(new PathFragment("b"));
- b.createSymbolicLink(new PathFragment("a"));
+ a.createSymbolicLink(PathFragment.create("b"));
+ b.createSymbolicLink(PathFragment.create("a"));
try {
a.stat();
} catch (IOException e) {
@@ -406,7 +406,7 @@ public class InMemoryFileSystemTest extends ScopeEscapableFileSystemTest {
@Test
public void testEloopSelf() throws Exception {
Path a = testFS.getPath("/a");
- a.createSymbolicLink(new PathFragment("a"));
+ a.createSymbolicLink(PathFragment.create("a"));
try {
a.stat();
} catch (IOException e) {