buildr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rhett Sutphin <>
Subject Re: Idea 7x issues
Date Wed, 24 Feb 2010 23:16:40 GMT

IDEA project file creation is indeed a slippery thing.  I use heavily  
modified version of idea7x myself (on IDEA 8) and have avoided  
upgrading to IDEA 9 partially because I don't want to deal with  
updating that task to work with 9 (if any are needed -- I haven't  
actually tried).

That said, I have been meaning to re-package my custom task as a gem.   
It seems to me that this is a better way to deal with IDEA support  
since none of the committers (AFAIK) use it.  I agree that a base  
abstraction with output that would work with both 8 and 9 (at least)  
would be nice.  Here are the features I have in my custom task (which  
is called iidea) over idea7x:

1) Detects VCS automatically (subversion and git only) with manual  
2) Automatically excludes all target and report directories from  
3) Supports manual configuration of source and test paths for each  
4) Supports low-level configuration of particular IML sections (by  
building XML directly in the buildr project definition)
5) Provides a "clean" task
6) Includes all buildr subprojects (not just ones that are packaged)  
but allows particular subprojects to be skipped using a project  

All of those except for (4) should be possible using a base  
abstraction.  I'll see what I can come up with, though it will be a  
couple of weeks before I can really look at it.

FWIW, IDEA 8 still supports the file-based approach.  (It's what I'm  
using with 8.1.4.)  I don't believe in committing IDE project files  
(or anything else which is generatable) to VCS, so it works fine for  
me and my team.  All the patches Alex brought up are minor changes to  
the existing idea7x code, so they use the file-based approach.

Alex, BUILDR-367 and BUILDR-376 are both genuine issues which I've  
fixed in my task.  BUILDR-377 uses a feature of IDEA I'm not familiar  
with but which sounds useful.  I haven't reviewed any of the patches,  


On Feb 24, 2010, at 8:46 AM, Shane Witbeck wrote:

> A few things to consider:
>   1. I think we need to define which versions of IDEA these patches  
> should
>   work with. The last idea7x patch which I wrote was specifically  
> for IDEA 7x.
>   It seems each subsequent version of IDEA (8x and 9x) has had  
> changes to the
>   way they handle project and module files.
>   2. Version 8x of IDEA introduced a new way of defining project and  
> module
>   files. It's called the "directory-based" approach. I believe the new
>   approach was to make it easier to share project files among team  
> members by
>   checking into a source repository. The older project files  
> apparently were
>   hard to keep in sync because of merge conflicts, etc. Do these  
> patches
>   address the traditional project files or the new directory-based  
> approach?
>   3. Having gone through the process of trying to keep changes in  
> Buildr
>   and IDEA project files in synch along with changing formats with  
> each new
>   IDEA version, I finally gave up. I propose a more clearly defined  
> approach
>   which addresses differences between IDEA project file version  
> formats.
>   Perhaps a departure from idea vs idea7x tasks and have one idea  
> task with a
>   param indicating which version to generate the project files for?
> That all being said, I'm willing to help in this effort.
> -Shane
> On Wed, Feb 24, 2010 at 1:13 AM, Alex Boisvert < 
> >wrote:
>> On Tue, Feb 23, 2010 at 9:18 PM, Alex Boisvert <
>>> wrote:
>>> Any committer wants to step in and review these patches?
>>> I don't use IDEA and I'm not familiar with their project  
>>> descriptions.
>> While we're at it there's also this one to be reviewed,
>> In lieu of specs (which are sadly missing for IDEA), I could be  
>> consoled if
>> fellow IDEA contributors cross-reviewed their patches.  i.e., Alexis
>> reviewing BUILDR-376/377 and Peter reviewing BUILDR-369, or anybody  
>> else...
>> Just indicate so on the issue itself to help expedite the process.
>> thanks!
>> alex

View raw message