Hi all,

I've written (not polished yet) a task for generating an IntelliJ .ipr
project file. As well as other things, it can take <classpath>s and
<src> specifications, and generate a working IntelliJ IDEA project file
with those source directories and against those classpaths.

(FYI: IntelliJ IDEA is a way-cool Java IDE, http://www.intellij.com/)

I'm quite happy to contrib this to Jakarta Ant when it is ready;
description follows, I have some questions at the bottom.

RATIONALE:
- We use Ant.
- We have a quite few developers that use IDEA, and we are often
  working on several projects at once.
- All our projects are version controlled (ant files version
  controlled as well, of course).
- Each developer maintains their own IDEA file, and they are not
  checked in.
- Our classpaths for our projects change semi-regularly (updated
  library versions, etc.) -- this just means a change in one ant
  file. Sourcepaths change occasionally, also. But each developer must
  make changes to their own IDEA project files each time.
- Checking IDEA project files into version control is inelegant
  because that means changes in two places (ant build file and IDEA
  .ipr file).
- It often takes new developers a while to create their own IDEA
  project files from scratch.

therefore...
- use the information in your ant file to generate the IDEA project
  file 'automatically'.

TASK USAGE:

Basic usage looks like this:

  <intellij file="foo.ipr">
      <classpath>
          <pathelement location="some/directory/thirdparty.jar"/>
          <path refid="compile.classpath"/>
      </classpath>
      <src>
          <pathelement location="source/common/code"/>
          <pathelement location="source/other/code"/>
      </src>
  </intellij>
        
and will generate a foo.ipr file. Multiple (or none) <classpath> and
<src> are supported, of course.

<intellij> also supports a jdk attribute, which tells IDEA which JDK
to use (same as "File | Project Properties | Target JDK").

You can also specify a <antfile> sub-tag to <intellij> that configures
the IDEA's ant integration (same as "Window | Ant Build | ...").

     <antfile file="./build.xml"/>

I intend to add a few more options that IDEA supports (.class file
output directory, javadoc, etc).

I've tested with IDEA 2.5, but I will test with the previous version
as well. If necessary, I will add a version="..." attribute if there
are any incompatible differences.

QUESTIONS:

Any comments about the structure of the <intellij> task, or its name?

Any specific features of IDEA that you would like to be able to
configure from the <intellij> task?

:)

=Matt
 

-- 
Matt Quail -- Senior Software Engineer
http://www.cortexebusiness.com.au/
mailto:[EMAIL PROTECTED]


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to