1 package org.apache.maven.plugins.assembly;
2
3 /*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21
22 import java.io.File;
23 import java.util.List;
24 import java.util.Properties;
25
26 import javax.annotation.Nonnull;
27
28 import org.apache.maven.archiver.MavenArchiveConfiguration;
29 import org.apache.maven.artifact.repository.ArtifactRepository;
30 import org.apache.maven.execution.MavenSession;
31 import org.apache.maven.project.MavenProject;
32 import org.apache.maven.shared.filtering.MavenReaderFilter;
33 import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
34
35 /**
36 *
37 */
38 public interface AssemblerConfigurationSource
39 {
40 /**
41 * @return The descriptors.
42 */
43 String[] getDescriptors();
44
45 /**
46 * @return The descriptor references.
47 */
48 String[] getDescriptorReferences();
49
50 /**
51 * @return The descriptor source directory.
52 */
53 File getDescriptorSourceDirectory();
54
55 /**
56 * @return The base directory.
57 */
58 File getBasedir();
59
60 /**
61 * @return The Maven Project.
62 */
63 MavenProject getProject();
64
65 /**
66 * @return The site directory.
67 */
68 File getSiteDirectory();
69
70 /**
71 * @return The final name.
72 */
73 String getFinalName();
74
75 /**
76 * @return append the assembly id.
77 */
78 boolean isAssemblyIdAppended();
79
80 /**
81 * @return Tar long file mode.
82 */
83 String getTarLongFileMode();
84
85 /**
86 * @return The output directory.
87 */
88 File getOutputDirectory();
89
90 /**
91 * @return The working directory.
92 */
93 File getWorkingDirectory();
94
95 /**
96 * @return the jar archive configuration.
97 */
98 MavenArchiveConfiguration getJarArchiveConfiguration();
99
100 /**
101 * @return The local repository.
102 */
103 ArtifactRepository getLocalRepository();
104
105 /**
106 * @return The temporary root directory.
107 */
108 File getTemporaryRootDirectory();
109
110 /**
111 * @return The archive base directory.
112 */
113 File getArchiveBaseDirectory();
114
115 /**
116 * @return The filters.
117 */
118 List<String> getFilters();
119
120 /**
121 * @return the additional properties
122 */
123 Properties getAdditionalProperties();
124
125 /**
126 * @return include the project build filters or not.
127 */
128 boolean isIncludeProjectBuildFilters();
129
130 /**
131 * @return The list of reactor projects.
132 */
133 List<MavenProject> getReactorProjects();
134
135 /**
136 * @return The remote repositories.
137 */
138 List<ArtifactRepository> getRemoteRepositories();
139
140 /**
141 * @return Is this a test run.
142 */
143 boolean isDryRun();
144
145 /**
146 * @return Ignore directory format extensions.
147 */
148 boolean isIgnoreDirFormatExtensions();
149
150 /**
151 * @return Ignore missing descriptor.
152 */
153 boolean isIgnoreMissingDescriptor();
154
155 /**
156 * @return The maven session.
157 */
158 MavenSession getMavenSession();
159
160 /**
161 * @return The archiver configuration.
162 */
163 String getArchiverConfig();
164
165 /**
166 * Maven shared filtering utility.
167 *
168 * @return the maven reader filter
169 */
170 MavenReaderFilter getMavenReaderFilter();
171
172 /**
173 * @return Update only yes/no.
174 */
175 boolean isUpdateOnly();
176
177 /**
178 * @return Use JVM chmod yes/no.
179 */
180 boolean isUseJvmChmod();
181
182 /**
183 * @return Ignore permissions yes/no.
184 */
185 boolean isIgnorePermissions();
186
187 /**
188 * @return The current encoding.
189 */
190 String getEncoding();
191
192 /**
193 * @return The escape string.
194 */
195 String getEscapeString();
196
197 /**
198 * @return The list of delimiters.
199 */
200 List<String> getDelimiters();
201
202 @Nonnull
203 FixedStringSearchInterpolator getRepositoryInterpolator();
204
205 /**
206 * Gets an interpolator from environment variables and stuff
207 */
208 @Nonnull
209 FixedStringSearchInterpolator getCommandLinePropsInterpolator();
210
211 /**
212 * Gets an interpolator from environment variables and stuff
213 */
214 @Nonnull
215 FixedStringSearchInterpolator getEnvInterpolator();
216
217 @Nonnull
218 FixedStringSearchInterpolator getMainProjectInterpolator();
219
220 /**
221 * @return Override UID.
222 */
223 Integer getOverrideUid();
224
225 /**
226 * @return Override user name.
227 */
228 String getOverrideUserName();
229
230 /**
231 * @return Override GID.
232 */
233 Integer getOverrideGid();
234
235 /**
236 * @return Override group name.
237 */
238 String getOverrideGroupName();
239 }