You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* The name of the {@link #getPluginsPath() plugins folder} and also the plugins folder inside the IDE folders of {@link #getSettingsPath() settings} (e.g.
87
+
* settings/eclipse/plugins).
88
88
*/
89
89
StringFOLDER_PLUGINS = "plugins";
90
90
91
91
/**
92
-
* The name of the workspace folder inside the IDE specific {@link #FOLDER_SETTINGS settings} containing the
93
-
* configuration templates in #FOLDER_SETUP #FOLDER_UPDATE.
92
+
* The name of the workspace folder inside the IDE specific {@link #FOLDER_SETTINGS settings} containing the configuration templates in #FOLDER_SETUP
93
+
* #FOLDER_UPDATE.
94
94
*/
95
95
StringFOLDER_WORKSPACE = "workspace";
96
96
97
97
/**
98
-
* The name of the setup folder inside the {@link #FOLDER_WORKSPACE workspace} folder containing the templates for the
99
-
* configuration templates for the initial setup of a workspace. This is closely related with the
100
-
* {@link #FOLDER_UPDATE update} folder.
98
+
* The name of the setup folder inside the {@link #FOLDER_WORKSPACE workspace} folder containing the templates for the configuration templates for the initial
99
+
* setup of a workspace. This is closely related with the {@link #FOLDER_UPDATE update} folder.
101
100
*/
102
101
StringFOLDER_SETUP = "setup";
103
102
104
103
/**
105
-
* The name of the update folder inside the {@link #FOLDER_WORKSPACE workspace} folder containing the templates for
106
-
* the configuration templates for the update of a workspace. Configurations in this folder will be applied every time
107
-
* the IDE is started. They will override the settings the user may have manually configured every time. This is only
108
-
* for settings that have to be the same for every developer in the project. An example would be the number of spaces
109
-
* used for indentation and other code-formatting settings. If all developers in a project team use the same formatter
110
-
* settings, this will actively prevent diff-wars. However, the entire team needs to agree on these settings.<br>
111
-
* Never configure aspects inside this update folder that may be of personal flavor such as the color theme. Otherwise
112
-
* developers will hate you as you actively take away their freedom to customize the IDE to their personal needs and
113
-
* wishes. Therefore do all "biased" or "flavored" configurations in {@link #FOLDER_SETUP setup} so these are only
114
-
* pre-configured but can be changed by the user as needed.
104
+
* The name of the update folder inside the {@link #FOLDER_WORKSPACE workspace} folder containing the templates for the configuration templates for the update
105
+
* of a workspace. Configurations in this folder will be applied every time the IDE is started. They will override the settings the user may have manually
106
+
* configured every time. This is only for settings that have to be the same for every developer in the project. An example would be the number of spaces used
107
+
* for indentation and other code-formatting settings. If all developers in a project team use the same formatter settings, this will actively prevent
108
+
* diff-wars. However, the entire team needs to agree on these settings.<br> Never configure aspects inside this update folder that may be of personal flavor
109
+
* such as the color theme. Otherwise developers will hate you as you actively take away their freedom to customize the IDE to their personal needs and
110
+
* wishes. Therefore do all "biased" or "flavored" configurations in {@link #FOLDER_SETUP setup} so these are only pre-configured but can be changed by the
111
+
* user as needed.
115
112
*/
116
113
StringFOLDER_UPDATE = "update";
117
114
@@ -139,8 +136,7 @@ public interface IdeContext extends IdeLogger {
139
136
booleanisQuietMode();
140
137
141
138
/**
142
-
* @return {@code true} in case of batch mode (no {@link #question(String) user-interaction}), {@code false}
143
-
* otherwise.
139
+
* @return {@code true} in case of batch mode (no {@link #question(String) user-interaction}), {@code false} otherwise.
144
140
*/
145
141
booleanisBatchMode();
146
142
@@ -155,8 +151,7 @@ public interface IdeContext extends IdeLogger {
155
151
booleanisOfflineMode();
156
152
157
153
/**
158
-
* @return {@code true} if {@link #isOfflineMode() offline mode} is active or we are NOT {@link #isOnline() online},
159
-
* {@code false} otherwise.
154
+
* @return {@code true} if {@link #isOfflineMode() offline mode} is active or we are NOT {@link #isOnline() online}, {@code false} otherwise.
* @param <O> type of the option. E.g. {@link String}.
196
191
* @param question the question to ask.
197
-
* @param options the available options for the user to answer. There should be at least two options given as
198
-
* otherwise the question cannot make sense.
192
+
* @param options the available options for the user to answer. There should be at least two options given as otherwise the question cannot make sense.
199
193
* @return the option selected by the user as answer.
200
194
*/
201
195
@SuppressWarnings("unchecked")
202
196
<O> Oquestion(Stringquestion, O... options);
203
197
204
198
/**
205
-
* Will ask the given question. If the user answers with "yes" the method will return and the process can continue.
206
-
* Otherwise if the user answers with "no" an exception is thrown to abort further processing.
199
+
* Will ask the given question. If the user answers with "yes" the method will return and the process can continue. Otherwise if the user answers with "no" an
200
+
* exception is thrown to abort further processing.
207
201
*
208
202
* @param question the yes/no question to {@link #question(String) ask}.
209
203
* @throws CliAbortException if the user answered with "no" and further processing shall be aborted.
* @return the {@link Path} to the IDE installation root directory. This is the top-level folder where the
269
-
* {@link #getIdeHome() IDE instances} are located as sub-folder. There is a reserved ".ide" folder where
270
-
* central IDE data is stored such as the {@link #getUrlsPath() download metadata} and the central software
271
-
* repository.
262
+
* @return the {@link Path} to the IDE installation root directory. This is the top-level folder where the {@link #getIdeHome() IDE instances} are located as
263
+
* sub-folder. There is a reserved ".ide" folder where central IDE data is stored such as the {@link #getUrlsPath() download metadata} and the central
* @return the {@link Path} to the download metadata (ide-urls). Here a git repository is cloned and updated (pulled)
295
-
* to always have the latest metadata to download tools.
285
+
* @return the {@link Path} to the download metadata (ide-urls). Here a git repository is cloned and updated (pulled) to always have the latest metadata to
* @return the {@link UrlMetadata}. Will be lazily instantiated and thereby automatically be cloned or pulled (by
302
-
* default).
292
+
* @return the {@link UrlMetadata}. Will be lazily instantiated and thereby automatically be cloned or pulled (by default).
303
293
*/
304
294
UrlMetadatagetUrls();
305
295
306
296
/**
307
-
* @return the {@link Path} to the download cache. All downloads will be placed here using a unique naming pattern
308
-
* that allows to reuse these artifacts. So if the same artifact is requested again it will be taken from the
309
-
* cache to avoid downloading it again.
297
+
* @return the {@link Path} to the download cache. All downloads will be placed here using a unique naming pattern that allows to reuse these artifacts. So if
298
+
* the same artifact is requested again it will be taken from the cache to avoid downloading it again.
310
299
*/
311
300
PathgetDownloadPath();
312
301
313
302
/**
314
-
* @return the {@link Path} to the software folder inside {@link #getIdeHome() IDE_HOME}. All tools for that IDE
315
-
* instance will be linked here from the {@link #getSoftwareRepositoryPath() software repository} as
316
-
* sub-folder named after the according tool.
303
+
* @return the {@link Path} to the software folder inside {@link #getIdeHome() IDE_HOME}. All tools for that IDE instance will be linked here from the
304
+
* {@link #getSoftwareRepositoryPath() software repository} as sub-folder named after the according tool.
317
305
*/
318
306
PathgetSoftwarePath();
319
307
320
308
/**
321
-
* @return the {@link Path} to the global software repository. This is the central directory where the tools are
322
-
* extracted physically on the local disc. Those are shared among all IDE instances (see {@link #getIdeHome()
323
-
* IDE_HOME}) via symbolic links (see {@link #getSoftwarePath()}). Therefore this repository follows the
324
-
* sub-folder structure {@code «repository»/«tool»/«edition»/«version»/}. So multiple versions of the same
325
-
* tool exist here as different folders. Further, such software may not be modified so e.g. installation of
326
-
* plugins and other kind of changes to such tool need to happen strictly out of the scope of this folders.
309
+
* @return the {@link Path} to the global software repository. This is the central directory where the tools are extracted physically on the local disc. Those
310
+
* are shared among all IDE instances (see {@link #getIdeHome() IDE_HOME}) via symbolic links (see {@link #getSoftwarePath()}). Therefore this repository
311
+
* follows the sub-folder structure {@code «repository»/«tool»/«edition»/«version»/}. So multiple versions of the same tool exist here as different folders.
312
+
* Further, such software may not be modified so e.g. installation of plugins and other kind of changes to such tool need to happen strictly out of the scope
313
+
* of this folders.
327
314
*/
328
315
PathgetSoftwareRepositoryPath();
329
316
330
317
/**
331
-
* @return the {@link Path} to the {@link #FOLDER_PLUGINS plugins folder} inside {@link #getIdeHome() IDE_HOME}. All
332
-
* plugins of the IDE instance will be stored here. For each tool that supports plugins a sub-folder with the
333
-
* tool name will be created where the plugins for that tool get installed.
318
+
* @return the {@link Path} to the {@link #FOLDER_PLUGINS plugins folder} inside {@link #getIdeHome() IDE_HOME}. All plugins of the IDE instance will be
319
+
* stored here. For each tool that supports plugins a sub-folder with the tool name will be created where the plugins for that tool get installed.
334
320
*/
335
321
PathgetPluginsPath();
336
322
337
323
/**
338
-
* @return the {@link Path} to the central tool repository. All tools will be installed in this location using the
339
-
* directory naming schema of {@code «repository»/«tool»/«edition»/«version»/}. Actual {@link #getIdeHome()
340
-
* IDE instances} will only contain symbolic links to the physical tool installations in this repository. This
341
-
* allows to share and reuse tool installations across multiple {@link #getIdeHome() IDE instances}. The
342
-
* variable {@code «repository»} is typically {@code default} for the tools from our standard
343
-
* {@link #getUrlsPath() ide-urls download metadata} but this will differ for custom tools from a private
344
-
* repository.
324
+
* @return the {@link Path} to the central tool repository. All tools will be installed in this location using the directory naming schema of
325
+
* {@code «repository»/«tool»/«edition»/«version»/}. Actual {@link #getIdeHome() IDE instances} will only contain symbolic links to the physical tool
326
+
* installations in this repository. This allows to share and reuse tool installations across multiple {@link #getIdeHome() IDE instances}. The variable
327
+
* {@code «repository»} is typically {@code default} for the tools from our standard {@link #getUrlsPath() ide-urls download metadata} but this will differ
328
+
* for custom tools from a private repository.
345
329
*/
346
330
PathgetToolRepositoryPath();
347
331
348
332
/**
349
-
* @return the {@link Path} to the users home directory. Typically initialized via the
350
-
* {@link System#getProperty(String) system property} "user.home".
333
+
* @return the {@link Path} to the users home directory. Typically initialized via the {@link System#getProperty(String) system property} "user.home".
0 commit comments