aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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) {