public abstract class ProjectStructureDetector
extends java.lang.Object
The implementation should be registered in your plugin.xml
:
<extensions defaultExtensionNs="com.intellij"> <projectStructureDetector implementation="qualified-class-name"/> </extensions>
Modifier and Type | Class and Description |
---|---|
static class |
ProjectStructureDetector.DirectoryProcessingResult |
Modifier and Type | Field and Description |
---|---|
static ExtensionPointName<ProjectStructureDetector> |
EP_NAME |
Constructor and Description |
---|
ProjectStructureDetector() |
Modifier and Type | Method and Description |
---|---|
java.util.List<ModuleWizardStep> |
createWizardSteps(ProjectFromSourcesBuilder builder,
ProjectDescriptor projectDescriptor,
javax.swing.Icon stepIcon)
Return additional wizard steps which will be shown if some roots are detected by this detector
|
abstract ProjectStructureDetector.DirectoryProcessingResult |
detectRoots(java.io.File dir,
java.io.File [] children,
java.io.File base,
java.util.List<DetectedProjectRoot> result)
This methods is called recursively for all directories under the selected root directory.
|
java.lang.String |
getDetectorId() |
void |
setupProjectStructure(java.util.Collection<DetectedProjectRoot> roots,
ProjectDescriptor projectDescriptor,
ProjectFromSourcesBuilder builder)
Setup modules and libraries for the selected roots
|
public static final ExtensionPointName<ProjectStructureDetector> EP_NAME
public abstract ProjectStructureDetector.DirectoryProcessingResult detectRoots(java.io.File dir, java.io.File [] children, java.io.File base, java.util.List<DetectedProjectRoot> result)
dir
- current directorychildren
- its childrenbase
- the root directory in which project files are detected. All detected roots must be located under this directory.result
- list of detected rootsProjectStructureDetector.DirectoryProcessingResult.PROCESS_CHILDREN
if children of dir
need to be processed by this detectorProjectStructureDetector.DirectoryProcessingResult.SKIP_CHILDREN
to skip all children of dir
from processingProjectStructureDetector.DirectoryProcessingResult.skipChildrenAndParentsUpTo(java.io.File)
(parent)
to skip all directories under parent
from processing.
parent
must be an ancestor of dir
or dir
itself
public java.util.List<ModuleWizardStep> createWizardSteps(ProjectFromSourcesBuilder builder, ProjectDescriptor projectDescriptor, javax.swing.Icon stepIcon)
public java.lang.String getDetectorId()
public void setupProjectStructure(java.util.Collection<DetectedProjectRoot> roots, ProjectDescriptor projectDescriptor, ProjectFromSourcesBuilder builder)