Class FileGAVNameMapper

java.lang.Object
org.eclipse.aether.internal.impl.synccontext.named.FileGAVNameMapper
All Implemented Interfaces:
NameMapper, FileSystemFriendly

@Singleton @Named("file-gav") public class FileGAVNameMapper extends Object implements NameMapper, FileSystemFriendly
A NameMapper that creates same name mapping as Takari Local Repository does, with baseDir (local repo). Part of code blatantly copies parts of the Takari LockingSyncContext.
See Also:
  • Field Details

  • Constructor Details

    • FileGAVNameMapper

      public FileGAVNameMapper()
  • Method Details

    • nameLocks

      public TreeSet<String> nameLocks(RepositorySystemSession session, Collection<? extends Artifact> artifacts, Collection<? extends Metadata> metadatas)
      Description copied from interface: NameMapper
      Creates (opaque) names for passed in artifacts and metadata. Returned collection has max size of sum of the passed in artifacts and metadata collections, or less. If an empty collection is returned, there will be no locking happening. Never returns null. The resulting collection MUST BE "stable" (always sorted by same criteria) to avoid deadlocks by acquiring locks in same order, essentially disregarding the order of the input collections.
      Specified by:
      nameLocks in interface NameMapper
    • getPath

      private String getPath(Path baseDir, Artifact artifact)
    • getPath

      private String getPath(Path baseDir, Metadata metadata)