cleaning up org.gradle.api package

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

cleaning up org.gradle.api package

Adam Murdoch-2
Hi,

There are a few changes I'd like to make to the classes in
org.gradle.api to clean up this package and finish the javadocs for it.  
I want to check that these are reasonable things to do.

1. Remove DagAction. Doesn't appear to be used.
2. Move DependencyManagerFactory to o.g.a.internal.dependencies
3. Make project and task lookup consistent when using the Project interface:

Currently:
- Project.findProject() takes an absolute path and returns null if no
such project
- Project.project() takes a relative or absolute path and fails if no
such project
- Project.task() takes a task name and fails if no such task

I'd like to change this to:
- All methods take a name, relative path, or absolute path.
- project() and task() fail if no such project or task
- findProject() and (new) findTask() return null if not such project or task

Thoughts?

 
Adam

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: cleaning up org.gradle.api package

hans_d
Administrator

On Aug 22, 2008, at 5:14 AM, Adam Murdoch wrote:

> Hi,
>
> There are a few changes I'd like to make to the classes in  
> org.gradle.api to clean up this package and finish the javadocs for  
> it.  I want to check that these are reasonable things to do.
>
> 1. Remove DagAction. Doesn't appear to be used.

Yes.

> 2. Move DependencyManagerFactory to o.g.a.internal.dependencies

Yes.

> 3. Make project and task lookup consistent when using the Project  
> interface:
>
> Currently:
> - Project.findProject() takes an absolute path and returns null if  
> no such project
> - Project.project() takes a relative or absolute path and fails if  
> no such project
> - Project.task() takes a task name and fails if no such task
>
> I'd like to change this to:
> - All methods take a name, relative path, or absolute path.
> - project() and task() fail if no such project or task
> - findProject() and (new) findTask() return null if not such  
> project or task

Yes.

- Hans

--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: cleaning up org.gradle.api package

Adam Murdoch-2
In reply to this post by Adam Murdoch-2
One more, potentially:  What is Project.setRootDir() used for? It
doesn't seem like a good thing to do. Should we remove it from the
interface?

Adam Murdoch wrote:

> Hi,
>
> There are a few changes I'd like to make to the classes in
> org.gradle.api to clean up this package and finish the javadocs for
> it.  I want to check that these are reasonable things to do.
>
> 1. Remove DagAction. Doesn't appear to be used.
> 2. Move DependencyManagerFactory to o.g.a.internal.dependencies
> 3. Make project and task lookup consistent when using the Project
> interface:
>
> Currently:
> - Project.findProject() takes an absolute path and returns null if no
> such project
> - Project.project() takes a relative or absolute path and fails if no
> such project
> - Project.task() takes a task name and fails if no such task
>
> I'd like to change this to:
> - All methods take a name, relative path, or absolute path.
> - project() and task() fail if no such project or task
> - findProject() and (new) findTask() return null if not such project
> or task
>
> Thoughts?
>
>
> Adam
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: cleaning up org.gradle.api package

hans_d
Administrator

On Aug 22, 2008, at 8:20 AM, Adam Murdoch wrote:

> One more, potentially:  What is Project.setRootDir() used for? It  
> doesn't seem like a good thing to do. Should we remove it from the  
> interface?

The only users of this method are unit tests of for example tasks. A  
task has an association with the project interface. But this is no  
good reason to have setRootDir in the public interface, as we might  
as well cast to AbstractProject in the unit test to execute this  
operation. So, yes, I think we can remove it from the interface.

- Hans

>
> Adam Murdoch wrote:
>> Hi,
>>
>> There are a few changes I'd like to make to the classes in  
>> org.gradle.api to clean up this package and finish the javadocs  
>> for it.  I want to check that these are reasonable things to do.
>>
>> 1. Remove DagAction. Doesn't appear to be used.
>> 2. Move DependencyManagerFactory to o.g.a.internal.dependencies
>> 3. Make project and task lookup consistent when using the Project  
>> interface:
>>
>> Currently:
>> - Project.findProject() takes an absolute path and returns null if  
>> no such project
>> - Project.project() takes a relative or absolute path and fails if  
>> no such project
>> - Project.task() takes a task name and fails if no such task
>>
>> I'd like to change this to:
>> - All methods take a name, relative path, or absolute path.
>> - project() and task() fail if no such project or task
>> - findProject() and (new) findTask() return null if not such  
>> project or task
>>
>> Thoughts?
>>
>>
>> Adam
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>    http://xircles.codehaus.org/manage_email
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>

--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email