You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Assaf Arkin (JIRA)" <ji...@apache.org> on 2008/09/01 02:41:44 UTC

[jira] Commented: (BUILDR-142) Allow running project tasks from a top directory in the same way as after 'cd' to the project's base dir

    [ https://issues.apache.org/jira/browse/BUILDR-142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12627361#action_12627361 ] 

Assaf Arkin commented on BUILDR-142:
------------------------------------

There is one way to run a specific task, and that's by naming it as an argument to buildr.

Separately, some people use the command line and they cd into a directory and work there, so we make some tasks pick on that and just find the projec(s) from the local directory.  It does the right thing most of the time, but is not recommended for automating a build (i.e. IDE, CI).

The notion of specific tasks is prevalent throughout Buildr.  It's how you name tasks, how you find tasks, what you'll see when you run buildr --prereqs, follow the console messages, diagnose error messages.  I doubt you can use Buildr effectively without understanding what it does, what do you do when things go wrong?

So if we're not doing a good enough job allowing people to do all these things, we should consider that either the Buildr model is wrong, or the documentation needs more work.

> Allow running project tasks from a top directory in the same way as after 'cd' to the project's base dir
> --------------------------------------------------------------------------------------------------------
>
>                 Key: BUILDR-142
>                 URL: https://issues.apache.org/jira/browse/BUILDR-142
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.2
>            Reporter: Ittay Dror
>            Assignee: Victor Hugo Borja
>             Fix For: 1.3.3
>
>         Attachments: 0001-rspec-for-p-switch.patch, 0002-added-p-switch.patch, 0003-allow-project-names-with-path-separators.patch, 0004-list-project-names-with-file-separator.patch
>
>
> Currently, to run a specific project's tasks, there are two alternatives:
> 1. cd to the project's base dir and run 'buildr' or 'buildr <tasks>'. 
> 2. run 'buildr <project name>:<task1> <project name>:<task2>'
> The first one requires 'cd' and is not comfortable to run from an IDE. The second one is verbose, cannot rely on default tasks and is confusing to new users. 
> Users usually expect the behavior as in 'make' or 'tar'. That is, a switch (usually -C) that first does a 'cd' for you and then continues to run as usual. This is an issue I'm faced with right now. People are confused when I tell them to run 'buildr top_project:sub_project:build'. Also, people don't think of projects as tasks. This is an implementation detail of Buildr, not something that people comprehend intuitively (at least my users)
> Moreover, several projects may share the same base directory (I intend to use this to compile the same source tree with different configurations), so a 'cd' will cause both to compile.
> Suggestion: add a '-p' switch that tells buildr the "local project" to use when running. Then users simply invoke 'buildr -p top_project:sub_project' and all default tasks run. 
> Suggestion 2: since project names will usually correspond with a directory layout, allow to specify them with File::SEPARATOR. this way, command line completion is easy (especially in windows).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.