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)