org.schmant.project.intellij
Class IntelliJWorkspace

java.lang.Object
  extended by org.schmant.project.AbstractProjectRepository<IntelliJWorkspace,IntelliJWorkspaceConfiguration>
      extended by org.schmant.project.intellij.IntelliJWorkspace
All Implemented Interfaces:
ProjectRepository

public class IntelliJWorkspace
extends AbstractProjectRepository<IntelliJWorkspace,IntelliJWorkspaceConfiguration>

This object is used for representing an IntelliJ project, containing projects (IntelliJ modules).

Information about the workspace is parsed from its .ipr and .iml files. If the workspace has dependencies to global or application-supplied libraries, they have to be supplied separately.

The .iml files are parsed by IntelliJModuleCreatorPlugin plugins that task packages may provide. The standard (base) task package provides a plugin for Java modules (projects).

This class is documented in the User's guide.

Note: Implementing good support for building an IntelliJ workspace is difficult since there are so many possible valid configurations. If you stumble upon something that does not work properly, please register it as a bug.

Since:
0.7.1
Author:
Karl Gustafsson

Constructor Summary
IntelliJWorkspace(Object wosRoot, AbsoluteLocation f)
          Create an IntelliJ workspace based on the contents of the provided project (.ipr) or module (.iml) file.
IntelliJWorkspace(Object wosRoot, AbsoluteLocation f, IntelliJWorkspaceSettings settings)
          Create an IntelliJ workspace based on the contents of the provided project (.ipr) or module (.iml) file.
 
Method Summary
 
Methods inherited from class org.schmant.project.AbstractProjectRepository
getProject, getProjectRepositoryConfiguration, getProjects, getProjects, hasProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntelliJWorkspace

public IntelliJWorkspace(Object wosRoot,
                         AbsoluteLocation f)
Create an IntelliJ workspace based on the contents of the provided project (.ipr) or module (.iml) file.

The projects in the workspace cannot have dependencies to any global or application-supplied libraries.

Parameters:
wosRoot - The workspace directory. Interpreted with InterpretAsReadOnlyDirectoryStrategy. (Any filters in the in the DirectoryRepresentation object are ignored, but directory views work as usual.)
f - The absolute location, under the project root directory, to the project's .ipr file or the module's .iml file.
See Also:
IntelliJWorkspace(Object, AbsoluteLocation, IntelliJWorkspaceSettings)

IntelliJWorkspace

public IntelliJWorkspace(Object wosRoot,
                         AbsoluteLocation f,
                         IntelliJWorkspaceSettings settings)
Create an IntelliJ workspace based on the contents of the provided project (.ipr) or module (.iml) file.

Parameters:
wosRoot - The workspace directory. Interpreted with InterpretAsReadOnlyDirectoryStrategy. (Any filters in the in the DirectoryRepresentation object are ignored, but directory views work as usual.)
f - The absolute location, under the project root directory, to the project's .ipr file or the module's .iml file.
settings - Settings for the workspace, such as global libraries and the location of an IntelliJ IDEA installation. May be null.
See Also:
IntelliJWorkspace(Object, AbsoluteLocation)