1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.buildcache.xml;
20
21 import javax.annotation.Nonnull;
22 import javax.annotation.Nullable;
23
24 import java.util.List;
25 import java.util.regex.Pattern;
26
27 import org.apache.maven.buildcache.PluginScanConfig;
28 import org.apache.maven.buildcache.hash.HashFactory;
29 import org.apache.maven.buildcache.xml.config.DirName;
30 import org.apache.maven.buildcache.xml.config.Exclude;
31 import org.apache.maven.buildcache.xml.config.Include;
32 import org.apache.maven.buildcache.xml.config.MultiModule;
33 import org.apache.maven.buildcache.xml.config.PropertyName;
34 import org.apache.maven.buildcache.xml.config.TrackedProperty;
35 import org.apache.maven.model.Plugin;
36 import org.apache.maven.model.PluginExecution;
37 import org.apache.maven.plugin.MojoExecution;
38
39
40
41
42 public interface CacheConfig {
43
44 @Nonnull
45 CacheState initialize();
46
47 @Nonnull
48 List<TrackedProperty> getTrackedProperties(MojoExecution mojoExecution);
49
50 boolean isLogAllProperties(MojoExecution mojoExecution);
51
52 @Nonnull
53 List<PropertyName> getLoggedProperties(MojoExecution mojoExecution);
54
55 @Nonnull
56 List<PropertyName> getNologProperties(MojoExecution mojoExecution);
57
58 @Nonnull
59 List<String> getEffectivePomExcludeProperties(Plugin plugin);
60
61 boolean isPluginDependenciesExcluded(Plugin plugin);
62
63 @Nullable
64 MultiModule getMultiModule();
65
66 String isProcessPlugins();
67
68 String getDefaultGlob();
69
70 @Nonnull
71 List<Include> getGlobalIncludePaths();
72
73 @Nonnull
74 List<Exclude> getGlobalExcludePaths();
75
76 @Nonnull
77 PluginScanConfig getPluginDirScanConfig(Plugin plugin);
78
79 @Nonnull
80 PluginScanConfig getExecutionDirScanConfig(Plugin plugin, PluginExecution exec);
81
82 @Nonnull
83 HashFactory getHashFactory();
84
85 boolean isForcedExecution(MojoExecution execution);
86
87 String getId();
88
89 String getUrl();
90
91 String getTransport();
92
93 boolean isEnabled();
94
95 boolean isRemoteCacheEnabled();
96
97 boolean isSaveToRemote();
98
99 boolean isSaveToRemoteFinal();
100
101 boolean isSkipCache();
102
103 boolean isFailFast();
104
105 int getMaxLocalBuildsCached();
106
107 String getLocalRepositoryLocation();
108
109 List<DirName> getAttachedOutputs();
110
111 boolean isPreservePermissions();
112
113 boolean adjustMetaInfVersion();
114
115 boolean calculateProjectVersionChecksum();
116
117 boolean canIgnore(MojoExecution mojoExecution);
118
119 @Nonnull
120 List<Pattern> getExcludePatterns();
121
122 boolean isBaselineDiffEnabled();
123
124 String getBaselineCacheUrl();
125
126
127
128
129
130
131
132
133 boolean isLazyRestore();
134
135
136
137
138
139 boolean isRestoreGeneratedSources();
140
141
142
143
144 boolean isRestoreOnDiskArtifacts();
145
146 String getAlwaysRunPlugins();
147
148
149
150
151 boolean isSkipSave();
152
153
154
155
156 boolean isMandatoryClean();
157 }