To be honest, I always liked the 'TaskSelector' that is-a 'EntryPoint'.
Until I read your email and started thinking about it :)

Some suggestions:

TaskName
TaskPath
RequestedTask

RequestedAction
RequestedOperation
BuildAction
BuildOperation
BuildItem
GradleAction

If the current names stay as they are, I won't cry too much, though. They
are not beautiful but at least very easy to grasp.

Cheers!


On Mon, Feb 24, 2014 at 9:14 AM, Adam Murdoch
<adam.murd...@gradleware.com>wrote:

> Hi,
>
> I'm looking for some suggestions for names for some concepts we're trying
> to model in the tooling API (and elsewhere).
>
> On the command-line, you can specify a bunch of things that you want
> Gradle to do. There are 3 kinds of things you can provide:
>
> 1. A qualified path, which means 'run the task with the given path'.
> 2. An unqualified name, which means 'run any task with the given name in
> the current project and all its sub-projects'.
> 3. Nothing, which means 'do some default stuff'.
>
> In the tooling API:
>
> For #1, we model this as a `Task`. If you give us a `Task` instance and
> say 'run this' then we run the corresponding task.
>
> For #2, we've called this a 'task selector'. If you give us a
> `TaskSelector` instance and say 'run this' then we run the corresponding
> tasks.
>
> For #3, we haven't modelled this, but in theory we could to make this
> explicit.
>
> Then, we have an abstract concept that represents these kinds of things.
> Currently we've called this an 'entry point'. So, a `Task` is-a
> `EntryPoint` and a `TaskSelector` is-a `EntryPoint`. For example, we have a
> method that accepts a sequence of `EntryPoint` instances. This is
> equivalent to providing the same entry points on the command-line (but
> somewhat more flexible).
>
> The idea is that an 'entry point' represents some action that Gradle can
> perform with the build. At the moment, this involves specifying some tasks,
> but that won't necessarily always be the case (e.g. 'validate the model for
> this project' might be an entry point that does not have a corresponding
> task) or may imply a task or tasks only indirectly (e.g. 'run this test
> class' or 'build this native library' will end up running some tasks but
> the client has not named them explicitly at all).
>
> I don't love the names we have at the moment. Anyone have any suggestions
> for better names?
>
>
> --
> Adam Murdoch
> Gradle Co-founder
> http://www.gradle.org
> VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting
> http://www.gradleware.com
>
>
>
>


-- 
Szczepan Faber
Principal engineer@gradle; Founder@mockito

Reply via email to