1 package org.codehaus.plexus.archiver;
2
3 import java.io.File;
4
5 /**
6 * A file set, which consists of the files and directories in
7 * a common base directory.
8 *
9 * @since 1.0-alpha-9
10 */
11 public interface FileSet extends BaseFileSet {
12
13 /**
14 * Returns the file sets base directory.
15 */
16 File getDirectory();
17
18 /**
19 * Returns whether symbolic links below the base directory are followed.
20 * <p>
21 * When {@code false} (the default), a symbolic link is added to the archive as a link and the
22 * contents of a linked directory are not scanned. When {@code true}, links are resolved: a
23 * linked directory is added as a directory and its target's contents are included.
24 * <p>
25 * Following links means the scan can descend into a directory that links back to one of its own
26 * ancestors, so only enable it for trees known not to contain such cycles.
27 *
28 * @since 4.14.0
29 */
30 default boolean isFollowingSymLinks() {
31 return false;
32 }
33 }