public interface ExternalSystemProjectResolver<S extends ExternalSystemExecutionSettings>
Modifier and Type | Method and Description |
---|---|
boolean |
cancelTask(ExternalSystemTaskId taskId,
ExternalSystemTaskNotificationListener listener) |
default DataNode<ProjectData> |
resolveProjectInfo(ExternalSystemTaskId id,
java.lang.String projectPath,
boolean isPreviewMode,
S settings,
ExternalSystemTaskNotificationListener listener)
Builds object-level representation of the external system config file contained at the given path.
|
default DataNode<ProjectData> |
resolveProjectInfo(ExternalSystemTaskId id,
java.lang.String projectPath,
boolean isPreviewMode,
S settings,
ProjectResolverPolicy resolverPolicy,
ExternalSystemTaskNotificationListener listener) |
default DataNode<ProjectData> resolveProjectInfo(ExternalSystemTaskId id, java.lang.String projectPath, boolean isPreviewMode, S settings, ExternalSystemTaskNotificationListener listener) throws ExternalSystemException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
id
- id of the current 'resolve project info' taskprojectPath
- absolute path to the target external system config fileisPreviewMode
- Indicates, that an implementation can not provide/resolve any external dependencies.
Only project dependencies and local file dependencies may included on the modules' classpath.
And should not include any 'heavy' tasks like not trivial code generations.
It is supposed to be fast.settings
- settings to use for the project resolving;
null
as indication that no specific settings are requiredlistener
- callback to be notified about the executionnull
if it's not possible to resolve the project due to the objective reasonsExternalSystemException
- in case when unexpected exception occurs during project info constructionjava.lang.IllegalArgumentException
- if given path is invalidjava.lang.IllegalStateException
- if it's not possible to resolve target project infodefault DataNode<ProjectData> resolveProjectInfo(ExternalSystemTaskId id, java.lang.String projectPath, boolean isPreviewMode, S settings, ProjectResolverPolicy resolverPolicy, ExternalSystemTaskNotificationListener listener) throws ExternalSystemException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
ExternalSystemException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
boolean cancelTask(ExternalSystemTaskId taskId, ExternalSystemTaskNotificationListener listener)
taskId
- id of the 'resolve project info' tasklistener
- callback to be notified about the cancellation