You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Daniel Spiewak (JIRA)" <ji...@apache.org> on 2009/07/14 03:26:14 UTC

[jira] Created: (BUILDR-297) Add Support for Continuous Compilation Mode

Add Support for Continuous Compilation Mode
-------------------------------------------

                 Key: BUILDR-297
                 URL: https://issues.apache.org/jira/browse/BUILDR-297
             Project: Buildr
          Issue Type: New Feature
          Components: Core features
    Affects Versions: 1.3.4
            Reporter: Daniel Spiewak
            Assignee: Daniel Spiewak


Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730958#action_12730958 ] 

Daniel Spiewak commented on BUILDR-297:
---------------------------------------

Oh, here's another question: should this task be recursive?  I'm not entirely sure how Buildr handles that, but it makes sense that continuous compilation would monitor not only the current project but any sub-projects as well.

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Work started: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on BUILDR-297 started by Daniel Spiewak.

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730671#action_12730671 ] 

Daniel Spiewak commented on BUILDR-297:
---------------------------------------

Hacked up a prototype implementation.  The main thing it's lacking is testing and a configurable poll frequency -- right now, it's hard-coded at 200 ms.  Implementation can be found in my Git fork:

git://github.com/djspiewak/buildr.git / continuous-compilation

Any thoughts on this?  If I can figure out a way to test it, I think this would be a great addition to 1.3.5.  Actually, between this and the shell support, we may have enough really new features to push up to 1.4, but that's another discussion.

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731035#action_12731035 ] 

Daniel Spiewak commented on BUILDR-297:
---------------------------------------

What exactly do I have to do to make it recursive?  I know about recursive_task, but how does that affect the logic?  Would you be able to fork the Git branch and implement something quick and sketchy?

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Resolved: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spiewak resolved BUILDR-297.
-----------------------------------

    Fix Version/s: 1.4
       Resolution: Fixed

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>             Fix For: 1.4
>
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Daniel Spiewak (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730916#action_12730916 ] 

Daniel Spiewak commented on BUILDR-297:
---------------------------------------

HELPWANTED on the testing front.  I have some ideas as to how it can be tested, but none of them are pretty.  Idea number one is that we split off a separate thread in the specs for the CC task.  Then, we touch files and monitor the mtime of directories (not sure how well that'll work).  Idea number two is to adjust the implementation somewhat so that we can mock the important bits, allowing the specs to just hook directly into the task, preventing it from doing anything and allowing a less hacky monitoring strategy.  Opinions?  Ideas?

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730742#action_12730742 ] 

Assaf Arkin commented on BUILDR-297:
------------------------------------

+1 on this feature and with shell, definitely worth making a new release.  need to wrapup specs, though.

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731037#action_12731037 ] 

Alex Boisvert commented on BUILDR-297:
--------------------------------------

I would also go down the mocks approach, if only because writing specs that run concurrent code (reliably) is more difficult.   (And more difficult for the next person to read and reason with)

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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


[jira] Commented: (BUILDR-297) Add Support for Continuous Compilation Mode

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731027#action_12731027 ] 

Assaf Arkin commented on BUILDR-297:
------------------------------------

I think it should be recursive.

Specs are much more useful if they run quickly and reliably, so I would recommend writing most specs with mocks and hooking directly into the task, so you're only testing what the logic will do without having to wait (or even compile).  Best guess, it will be enough to have just one spec that runs CC in a separate thread, forces and checks the result of compilation.

> Add Support for Continuous Compilation Mode
> -------------------------------------------
>
>                 Key: BUILDR-297
>                 URL: https://issues.apache.org/jira/browse/BUILDR-297
>             Project: Buildr
>          Issue Type: New Feature
>          Components: Core features
>    Affects Versions: 1.3.4
>            Reporter: Daniel Spiewak
>            Assignee: Daniel Spiewak
>
> Buildr should include a project_local :cc task which activates a continuous compilation mode.  This mode should monitor source and test directories for changes, triggering a recompilation as necessary.  Given Buildr's primitive recompilation detection (especially with Groovy and Scala) and its extremely long startup time on JRuby, this feature should save a great deal of time, particularly in a quick-rebuild scenario.  For this reason, I am assigning it a priority of "Major".

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