ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Quail <>
Subject [task contrib] task for generating an IntelliJ IDEA .ipr file
Date Fri, 11 Jan 2002 01:36:37 GMT
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,

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

- 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.

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


Basic usage looks like this:

  <intellij file="foo.ipr">
          <pathelement location="some/directory/thirdparty.jar"/>
          <path refid="compile.classpath"/>
          <pathelement location="source/common/code"/>
          <pathelement location="source/other/code"/>
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.


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 Quail -- Senior Software Engineer

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message