org.sonar.api.batch.bootstrap
Class ProjectDefinition

java.lang.Object
  extended by org.sonar.api.batch.bootstrap.ProjectDefinition

public class ProjectDefinition
extends Object

Defines project metadata (key, name, source directories, ...). It's generally used by the extension point and must not be used by other standard extensions.

Since:
2.9

Field Summary
static String BINARIES_PROPERTY
           
static String BUILD_DIR_PROPERTY
           
static String LIBRARIES_PROPERTY
           
static String SOURCE_DIRS_PROPERTY
           
static String SOURCE_FILES_PROPERTY
           
static String TEST_DIRS_PROPERTY
           
static String TEST_FILES_PROPERTY
           
 
Method Summary
 ProjectDefinition addBinaryDir(File f)
           
 ProjectDefinition addBinaryDir(String path)
           
 ProjectDefinition addContainerExtension(Object extension)
          Adds an extension, which would be available in PicoContainer during analysis of this project.
 void addLibrary(String path)
           
 ProjectDefinition addSourceDirs(File... dirs)
           
 ProjectDefinition addSourceDirs(String... paths)
           
 ProjectDefinition addSourceFiles(File... files)
          Adding source files is possible only if no source directories have been set.
 ProjectDefinition addSourceFiles(String... paths)
          Adding source files is possible only if no source directories have been set.
 ProjectDefinition addSubProject(ProjectDefinition child)
           
 ProjectDefinition addTestDirs(File... dirs)
           
 ProjectDefinition addTestDirs(String... paths)
           
 ProjectDefinition addTestFiles(File... files)
          Adding source files is possible only if no source directories have been set.
 ProjectDefinition addTestFiles(String... paths)
          Adding source files is possible only if no source directories have been set.
static ProjectDefinition create()
           
static ProjectDefinition create(Properties properties)
          Deprecated. in 2.12, because it uses external object to represent internal state. To ensure backward-compatibility with Ant task this method cannot clone properties, so other callers must explicitly make clone of properties before passing into this method. Thus better to use create() with combination of other methods like setProperties(Properties) and setProperty(String, String).
 boolean equals(Object o)
           
 File getBaseDir()
           
 List<String> getBinaries()
           
 File getBuildDir()
           
 List<Object> getContainerExtensions()
           
 String getDescription()
           
 String getKey()
           
 List<String> getLibraries()
           
 String getName()
           
 ProjectDefinition getParent()
           
 Properties getProperties()
           
 List<String> getSourceDirs()
           
 List<String> getSourceFiles()
           
 List<ProjectDefinition> getSubProjects()
           
 List<String> getTestDirs()
           
 List<String> getTestFiles()
           
 String getVersion()
           
 File getWorkDir()
           
 int hashCode()
           
 void remove()
           
 ProjectDefinition resetSourceDirs()
           
 ProjectDefinition resetTestDirs()
           
 ProjectDefinition setBaseDir(File baseDir)
           
 ProjectDefinition setBuildDir(File d)
           
 ProjectDefinition setDescription(String s)
           
 ProjectDefinition setKey(String key)
           
 ProjectDefinition setName(String s)
           
 ProjectDefinition setProperties(Properties properties)
          Copies specified properties into this object.
 ProjectDefinition setProperty(String key, String value)
           
 ProjectDefinition setSourceDirs(File... dirs)
           
 ProjectDefinition setSourceDirs(String... paths)
           
 ProjectDefinition setTestDirs(File... dirs)
           
 ProjectDefinition setTestDirs(String... paths)
           
 ProjectDefinition setVersion(String s)
           
 ProjectDefinition setWorkDir(File workDir)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SOURCE_DIRS_PROPERTY

public static final String SOURCE_DIRS_PROPERTY
See Also:
Constant Field Values

SOURCE_FILES_PROPERTY

public static final String SOURCE_FILES_PROPERTY
See Also:
Constant Field Values

TEST_DIRS_PROPERTY

public static final String TEST_DIRS_PROPERTY
See Also:
Constant Field Values

TEST_FILES_PROPERTY

public static final String TEST_FILES_PROPERTY
See Also:
Constant Field Values

BINARIES_PROPERTY

public static final String BINARIES_PROPERTY
See Also:
Constant Field Values

LIBRARIES_PROPERTY

public static final String LIBRARIES_PROPERTY
See Also:
Constant Field Values

BUILD_DIR_PROPERTY

public static final String BUILD_DIR_PROPERTY
See Also:
Constant Field Values
Method Detail

create

@Deprecated
public static ProjectDefinition create(Properties properties)
Deprecated. in 2.12, because it uses external object to represent internal state. To ensure backward-compatibility with Ant task this method cannot clone properties, so other callers must explicitly make clone of properties before passing into this method. Thus better to use create() with combination of other methods like setProperties(Properties) and setProperty(String, String).


create

public static ProjectDefinition create()

setBaseDir

public ProjectDefinition setBaseDir(File baseDir)

getBaseDir

public File getBaseDir()

setWorkDir

public ProjectDefinition setWorkDir(File workDir)

getWorkDir

public File getWorkDir()

setBuildDir

public ProjectDefinition setBuildDir(File d)

getBuildDir

public File getBuildDir()

getProperties

public Properties getProperties()

setProperties

public ProjectDefinition setProperties(Properties properties)
Copies specified properties into this object.

Since:
2.12

setProperty

public ProjectDefinition setProperty(String key,
                                     String value)

setKey

public ProjectDefinition setKey(String key)

setVersion

public ProjectDefinition setVersion(String s)

setName

public ProjectDefinition setName(String s)

setDescription

public ProjectDefinition setDescription(String s)

getKey

public String getKey()

getVersion

public String getVersion()

getName

public String getName()

getDescription

public String getDescription()

getSourceDirs

public List<String> getSourceDirs()

addSourceDirs

public ProjectDefinition addSourceDirs(String... paths)
Parameters:
paths - paths to directory with main sources. They can be absolute or relative to project base directory.

addSourceDirs

public ProjectDefinition addSourceDirs(File... dirs)

resetSourceDirs

public ProjectDefinition resetSourceDirs()

setSourceDirs

public ProjectDefinition setSourceDirs(String... paths)

setSourceDirs

public ProjectDefinition setSourceDirs(File... dirs)

addSourceFiles

public ProjectDefinition addSourceFiles(String... paths)
Adding source files is possible only if no source directories have been set. Absolute path or relative path from project base dir.


addSourceFiles

public ProjectDefinition addSourceFiles(File... files)
Adding source files is possible only if no source directories have been set.


getSourceFiles

public List<String> getSourceFiles()

getTestDirs

public List<String> getTestDirs()

addTestDirs

public ProjectDefinition addTestDirs(String... paths)
Parameters:
paths - path to directory with test sources. It can be absolute or relative to project directory.

addTestDirs

public ProjectDefinition addTestDirs(File... dirs)

setTestDirs

public ProjectDefinition setTestDirs(String... paths)

setTestDirs

public ProjectDefinition setTestDirs(File... dirs)

resetTestDirs

public ProjectDefinition resetTestDirs()

addTestFiles

public ProjectDefinition addTestFiles(String... paths)
Adding source files is possible only if no source directories have been set. Absolute path or relative path from project base dir.


addTestFiles

public ProjectDefinition addTestFiles(File... files)
Adding source files is possible only if no source directories have been set.


getTestFiles

public List<String> getTestFiles()

getBinaries

public List<String> getBinaries()

addBinaryDir

public ProjectDefinition addBinaryDir(String path)
Parameters:
path - path to directory with compiled source. In case of Java this is directory with class files. It can be absolute or relative to project directory. TODO currently Sonar supports only one such directory due to dependency on MavenProject

addBinaryDir

public ProjectDefinition addBinaryDir(File f)

getLibraries

public List<String> getLibraries()

addLibrary

public void addLibrary(String path)
Parameters:
path - path to file with third-party library. In case of Java this is path to jar file. It can be absolute or relative to project directory.

addContainerExtension

public ProjectDefinition addContainerExtension(Object extension)
Adds an extension, which would be available in PicoContainer during analysis of this project.

Since:
2.8

getContainerExtensions

public List<Object> getContainerExtensions()
Since:
2.8

addSubProject

public ProjectDefinition addSubProject(ProjectDefinition child)
Since:
2.8

getParent

public ProjectDefinition getParent()

remove

public void remove()

getSubProjects

public List<ProjectDefinition> getSubProjects()
Since:
2.8

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2009-2013 SonarSource. All Rights Reserved.