git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271304 13f79535-47bb-0310-9956-ffa450edef68master
@@ -298,6 +298,26 @@ take the following attributes: | |||||
<font color="#000000" size="-1" face="arial,helvetica,sanserif"> | <font color="#000000" size="-1" face="arial,helvetica,sanserif"> | ||||
Default Value | Default Value | ||||
</font> | </font> | ||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td bgcolor="#a0ddf0" colspan="" rowspan="" | |||||
valign="top" align="left"> | |||||
<font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |||||
name | |||||
</font> | |||||
</td> | |||||
<td bgcolor="#a0ddf0" colspan="" rowspan="" | |||||
valign="top" align="left"> | |||||
<font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |||||
The project name. | |||||
</font> | |||||
</td> | |||||
<td bgcolor="#a0ddf0" colspan="" rowspan="" | |||||
valign="top" align="left"> | |||||
<font color="#000000" size="-1" face="arial,helvetica,sanserif"> | |||||
The name of the project file, with the extension removed. | |||||
</font> | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
@@ -46,6 +46,25 @@ public class DefaultProject | |||||
///The base directory of project | ///The base directory of project | ||||
private File m_baseDirectory; | private File m_baseDirectory; | ||||
///The project name | |||||
private String m_name; | |||||
/** | |||||
* Returns the project name. | |||||
*/ | |||||
public String getProjectName() | |||||
{ | |||||
return m_name; | |||||
} | |||||
/** | |||||
* Sets the project name. | |||||
*/ | |||||
public void setProjectName( String name ) | |||||
{ | |||||
m_name = name; | |||||
} | |||||
/** | /** | ||||
* Get the imports for project. | * Get the imports for project. | ||||
* | * | ||||
@@ -111,7 +130,7 @@ public class DefaultProject | |||||
/** | /** | ||||
* Retrieve a target by name. | * Retrieve a target by name. | ||||
* | * | ||||
* @param name the name of target | |||||
* @param targetName the name of target | |||||
* @return the Target or null if no target exists with name | * @return the Target or null if no target exists with name | ||||
*/ | */ | ||||
public final Target getTarget( final String targetName ) | public final Target getTarget( final String targetName ) | ||||
@@ -151,14 +170,15 @@ public class DefaultProject | |||||
/** | /** | ||||
* Retrieve base directory of project. | * Retrieve base directory of project. | ||||
* | |||||
* @return the projects base directory | |||||
*/ | */ | ||||
public final void setBaseDirectory( final File baseDirectory ) | public final void setBaseDirectory( final File baseDirectory ) | ||||
{ | { | ||||
m_baseDirectory = baseDirectory; | m_baseDirectory = baseDirectory; | ||||
} | } | ||||
/** | |||||
* Adds a type library import to the project. | |||||
*/ | |||||
public final void addTypeLib( final TypeLib typeLib ) | public final void addTypeLib( final TypeLib typeLib ) | ||||
{ | { | ||||
m_imports.add( typeLib ); | m_imports.add( typeLib ); | ||||
@@ -128,6 +128,8 @@ public class DefaultProjectBuilder | |||||
} | } | ||||
//get project-level attributes | //get project-level attributes | ||||
final String projectName = configuration.getAttribute( "name", | |||||
FileUtil.removeExtension(file.getName()) ); | |||||
final String baseDirectoryName = configuration.getAttribute( "basedir", null ); | final String baseDirectoryName = configuration.getAttribute( "basedir", null ); | ||||
final String defaultTarget = configuration.getAttribute( "default", "main" ); | final String defaultTarget = configuration.getAttribute( "default", "main" ); | ||||
final Version version = getVersion( configuration ); | final Version version = getVersion( configuration ); | ||||
@@ -156,6 +158,7 @@ public class DefaultProjectBuilder | |||||
//create project and ... | //create project and ... | ||||
final DefaultProject project = new DefaultProject(); | final DefaultProject project = new DefaultProject(); | ||||
project.setProjectName( projectName ); | |||||
project.setDefaultTargetName( defaultTarget ); | project.setDefaultTargetName( defaultTarget ); | ||||
project.setBaseDirectory( baseDirectory ); | project.setBaseDirectory( baseDirectory ); | ||||
@@ -14,9 +14,6 @@ import org.apache.avalon.framework.component.Component; | |||||
* Abstraction used to interact with projects. | * Abstraction used to interact with projects. | ||||
* Implementations may choose to structure it anyway they choose. | * Implementations may choose to structure it anyway they choose. | ||||
* | * | ||||
* TODO: Determine if projects should carry their own name. Breaks IOC but | |||||
* Can be useful as project files embed own name (or should that be description). | |||||
* | |||||
* @author <a href="mailto:peter@apache.org">Peter Donald</a> | * @author <a href="mailto:peter@apache.org">Peter Donald</a> | ||||
* @version $Revision$ $Date$ | * @version $Revision$ $Date$ | ||||
*/ | */ | ||||
@@ -34,6 +31,14 @@ public interface Project | |||||
// the name of currently executing target | // the name of currently executing target | ||||
//String TARGET = "myrmidon.target.name"; | //String TARGET = "myrmidon.target.name"; | ||||
/** | |||||
* Returns the project name. | |||||
* | |||||
* TODO: Determine if projects should carry their own name. Breaks IOC but | |||||
* Can be useful as project files embed own name (or should that be description). | |||||
*/ | |||||
String getProjectName(); | |||||
/** | /** | ||||
* Get the imports for project. | * Get the imports for project. | ||||
* | * | ||||
@@ -42,14 +47,14 @@ public interface Project | |||||
TypeLib[] getTypeLibs(); | TypeLib[] getTypeLibs(); | ||||
/** | /** | ||||
* Get names of projects referred to by this project. | |||||
* Get names of projects referenced by this project. | |||||
* | * | ||||
* @return the names | * @return the names | ||||
*/ | */ | ||||
String[] getProjectNames(); | String[] getProjectNames(); | ||||
/** | /** | ||||
* Retrieve project reffered to by this project. | |||||
* Retrieve project referenced by this project. | |||||
* | * | ||||
* @param name the project name | * @param name the project name | ||||
* @return the Project or null if none by that name | * @return the Project or null if none by that name | ||||
@@ -174,6 +174,11 @@ take the following attributes: | |||||
<table> | <table> | ||||
<tr><th>Attribute</th><th>Description</th><th>Default Value</th></tr> | <tr><th>Attribute</th><th>Description</th><th>Default Value</th></tr> | ||||
<tr> | |||||
<td>name</td> | |||||
<td>The project name.</td> | |||||
<td>The name of the project file, with the extension removed.</td> | |||||
</tr> | |||||
<tr> | <tr> | ||||
<td>basedir</td> | <td>basedir</td> | ||||
<td>The base directory for the project.</td> | <td>The base directory for the project.</td> | ||||