question about output directory created at build

OK, when you build the source, a new directory named "out" is created which contains the result of the ANT build process (I believe...).

I've attached an picture of that out directory and its subfolders.

My goal is to locate the folders which contain  those .class files which consittute IntelliJ Community Edition and which were the result of compiling the source.

If you look at the picture you'll see that  there are ultimately 2 folders named production at different levels , one directly under "out" the other under a "calsses" folder which itself is directly under "out"

Examining the contents of these folders reveals they both contain compiled  .class files.  

(Of course there are also other folders , artefacts which contains a few executable jars, some "dist" which are empty and a "tests" folder which we can suppose is contains just  what its name implies).

OK so that's the preamble now here's my question. Of the two production folders do one (and if so which one?) , or both of them contain the actual classes which are the compiled version of the source and which *is* IntelliJ community eidtion.

Thanks in advance !

Comment actions Permalink

Both. The out/classes directory contains classes built from the IDE; the out directory contains classes built by the command-line Ant build.
What are you trying to achieve?

Comment actions Permalink

I am trying to write aspects which attach to intellij classes for my own and toher's edification.

I need to know, for that thing we call the IDE, where are all  its classes located? Specifacllly what is the exhaustive list of parent directories which contained the result of compiling the community source?  

Towards this same goal, it woudl be great if I could invoke the IDE instance  which is  the result of bulding that source, that instance of the IDE I am talking about, it would be great if I could invoke it with aj - which is aspectJ's runtime, instead of java.  
Doing that is pretty simple if you've set up aspectJ on your machine, it's just substituting java with aj, aspectJ's runtime thusly:

at the command line instead of:
A) >> java *whateverCommandlineStuffIntellijIsNormallyInvokedWith*

do this
B) >>aj *whateverCommandlineStuffIntellijIsNormallyInvokedWith*

I went to to do this and I realized I really have no idea where or  what line in what file or what code or ANT directive  to change in order to achieve this.
Somewhere , after all is said and done with scripts and reading stuff from property files and running ANT commands any of which  may or may not exist, somewhere somehow A) above must happen each time  I launch Intellij.
That's really all I know.

Comment actions Permalink

Both of the directories contain *all* of the classes compiled from the IntelliJ IDEA source code. They don't include the libraries; those are stored in the lib directory of the source tree.

The easiest way to run IntelliJ IDEA under the AspectJ runtime is to edit idea.bat (or and replace java with aj (in idea.bat this is the line thar sets the JAVA_EXE variable, in this is the $JDK/bin/java invocation at the very end of the script).

Comment actions Permalink

OK just to be perfectly clear.  what you're saying is

A)  both of the directories contain all of  the classes. This is the same as saying what classes each individual directoy  contains  are duplicated in the other directory, which is the same as saying   I can use either directory  but there is no reason to use both, since they contain duplicate classes.


B) Or did you mean that taken together, the two directories contain all of the classes, but you have to include them both to be sure to get all the classes.

Thanks for the heads up on how to run aj!

Comment actions Permalink

What I'm saying is A)


Please sign in to leave a comment.