What did you do with compiling in 4.5???

My project has been compiled with ant (1600 classes in ~2 min + jsps). Now I want to change only only class in Idea and compile this with CtrlShiftF9. Before it was no problem - Idea did only that, not like now - recompiling the complete project!

I would like to get this feature back!

35 comments
Comment actions Permalink

Alexander Demidovich wrote:

My project has been compiled with ant (1600 classes in ~2 min + jsps). Now I want to change only only class in Idea and compile this with CtrlShiftF9. Before it was no problem - Idea did only that, not like now - recompiling the complete project!

I would like to get this feature back!


It never worked that way. When project is compiled with IDEA's make it
also generates some dependency info required to make a decision what
files should be recompiled. If you compile the project with ant there's
no depinfo and IDEA has to perform full rebuild.

0
Comment actions Permalink

I had this same problem. (Thread 96858 in support)

I'll post more detailed info when I have it available, but basically Alexander stated Compile (Ctrl-Shift-F9) NOT Make, therefore, from some other threads I've read, it should not be doing a full rebuild.

0
Comment actions Permalink

Maxim Shafirov (JetBrains) wrote:

It never worked that way. When project is compiled with IDEA's make it
also generates some dependency info required to make a decision what
files should be recompiled. If you compile the project with ant there's
no depinfo and IDEA has to perform full rebuild.


I have a vague memory of reading that you changed ctrl-shift-f9 from
"compile this and only this file" to "compile this file and whatever it
depends on", but I might be mistaken.

0
Comment actions Permalink

How about giving us a way to compile with ant and still have the dependency info generated? Some wrapper around javac?

Would this be feasible?

If have the feeling my time is really wasted if I use ant (to deploy/package/schemaexport whatever) and all files compiled by ant are always recompiled by Idea.

0
Comment actions Permalink

Jonas Kvarnström wrote:

I have a vague memory of reading that you changed ctrl-shift-f9 from
"compile this and only this file" to "compile this file and whatever it
depends on", but I might be mistaken.


Quite right. I just misunderstood the problem thinking Alexander is
talking about make, not compile. This change has actually been requested
by many users and makes sense IMO so this won't be changed back.

--
Maxim Shafirov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0
Comment actions Permalink

But the "compile this and only this file" is useful when working with things such as aspectj members introduction. Once the member is introduced in the superclass using ajc, the subclasses could be compiled using IDEA's ctrl-shift-f9. Now this can't be done.

0
Comment actions Permalink

This also causes problems when using JDO.
We have an ant task that compiles our persistent classes and "JDO enhances"
them afterwards which does bytecode manipulation on the class, then I deploy
this to the app server.

Next I compile a junit test with intellij but intellij also decides to
recompile my persistent classes and so "unenhances" them.
My only solution is to NEVER compile anything in intellij, which is rather
dissapointing !

With 4.0 I used to use ctrlshiftF9 to compile a single file (usually a
test case).

Chris.

"Santiago Villalba" <sdvillal@jazzfree.com> wrote in message
news:1014006.1092310939835.JavaMail.itn@is.intellij.net...

But the "compile this and only this file" is useful when working with

things such as aspectj members introduction. Once the member is introduced
in the superclass using ajc, the subclasses could be compiled using IDEA's
ctrl-shift-f9. Now this can't be done.


0
Comment actions Permalink

>Quite right. I just misunderstood the problem thinking Alexander is

talking about make, not compile. This change has actually been requested
by many users and makes sense IMO so this won't be changed back.


Than it would be nice to have smth additional. Smth like ctrlaltshift+f9 to compile this and only this file. If I do some changes internally in the function, I now that nothing is changed around. So, I would only to have the class to be compiled as fast as possible.

P.s.: you are right. It's not compiling (making) the complete project, but only the depending classes. In my case it's enough time to make a cup of coffee :)

0
Comment actions Permalink

I don't see why the filesystem date information couldn't be used to determine when a file needs to be recompiled. If I do a compile via ant, then change one class and compile that class, IDEA should be smart enough to figure out that only that class needs compiling.

0
Comment actions Permalink

Unfortunately, for us ant 1.5 does sometime mistakes. He doesn't detect all changes and doesn't recompile all necessary classes. As result, the application starts to work unstable. The simple "clean compile" solves all problems...

0
Comment actions Permalink

I am trying to compilation process...

If I have a module with a large number of files,
then I cannot use the Ctrl + Shift + F9 function, correct?

Also, am I supposed to use the make Module/ make Project feature only?

0
Comment actions Permalink

There's a ]]> task in Ant, which has some non-default options to check dependency really thoroughly.

0
Comment actions Permalink

This is insane. I have a huge code base which I just have taken over. There are a large number of ANT scripts doing the build, but I need to be able to debug parts of the application and I can't get IntelliJ do compile the crap.

I have to use the output of the ANT scripts as dependencies in order to get this compiled and I don't like that. Why shouldn't I be able to compile a specific class within a module without compiling the whole module ?

This smells like the IDE is trying to be a bit too smart and everytime an IDE begins to be force too much on my working style - I tend to try out alternatives. Haven't tried other IDEs for a long time, but right now I'm getting tempted on trying eclipse.....

0
Comment actions Permalink

So the problem is that when you attempt to compile a single file, IDEA also compiles the files this file depends on?

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"

"Trond Andersen" <trondandersen@c2i.net> wrote in message news:13920439.1095166574422.JavaMail.itn@is.intellij.net...

This is insane. I have a huge code base which I just have taken over. There are a large number of ANT scripts doing the build, but

I need to be able to debug parts of the application and I can't get IntelliJ do compile the crap.
>

I have to use the output of the ANT scripts as dependencies in order to get this compiled and I don't like that. Why shouldn't I

be able to compile a specific class within a module without compiling the whole module ?
>

This smells like the IDE is trying to be a bit too smart and everytime an IDE begins to be force too much on my working style - I

tend to try out alternatives. Haven't tried other IDEs for a long time, but right now I'm getting tempted on trying eclipse.....


0
Comment actions Permalink

So the problem is that when you attempt to compile a
single file, IDEA also compiles the files this file
depends on?

The problem is that the possibility to compile a spesific file is disabled. This makes it difficult to work on a class without compiling the whole module that contain the class.

In my case I have a large number of classes and some complex ANT scripts which builds the solution. What I would like is to work on a single class without having to compile the complete module.

0
Comment actions Permalink

I'm in the same situation and am looking for the same thing.

This change of behavior has actually convinced a number of developers in my department to stick with IntelliJ 4.0.3

0
Comment actions Permalink

The problem is that the possibility to compile a spesific file is disabled. This makes it difficult to work on a class without
compiling the whole module that contain the class.


Probably the case is your project configuration. Every java file that is under source root and not excluded from project can be
compiled individually.
Could you describe your project configuration?

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0
Comment actions Permalink

I've included a screenshot displaying the paths configuration for the module where the Compile for each class is disabled.



Attachment(s):
idea_config.png
0
Comment actions Permalink

Is it possible to examine the project files (ipr and iml)? You can send them to me directly.

0
Comment actions Permalink

So whats the solution for this compile issue? Or I would have to stick with 4.0.3, because with 4.5 it takes over a minute even when I make a small change to one file and just want that file to be recompiled.

Also I notice it takes quite a long time to sync up when I switch back and forth between idea and some other app say a command window. I guess its trying to check if any of the files has changed and autosynch. Is there a way to make that check non-blocking, make it run in some background thread.

thanks,
Kumar

0
Comment actions Permalink

We were sent a patch plugin by IntelliJ people which fixed the issue.

If you have a licensed copy of IntelliJ, I'm sure they'd be willing to provide it to you as well.

0
Comment actions Permalink

when I make a small change to one file and just want that file to be recompiled.


If you had your project successfully compiled before the change, the "make (ctrl-F9)" action does the job pretty fast.

If you still need a way to recompile exactly one file (without the files it depends on), then:
1. in Irida there's an option to control this behaviour
2. in Pallada there's a "CompileWithoutDependencies" plugin that patches the current behaviour. You can download and install the plugin from "Settings | Plugins" dialog.

0
Comment actions Permalink

I have intellij 4.5.1, build 2239 from August 19, 2004
I installed the plugin CompileWithoutDependencies.
But it still collects them and immediately compiles them.
What is wrong?

0
Comment actions Permalink

I have just updated to 4.5.4, build 2253 from February 8, 2005, but the story is the same - it still collects and compiles the dependencies.

0
Comment actions Permalink

I also noticed a new file compile_action_patch.jar versaion 1.1
Where do I need to put (into what directory) it if I download it from http://plugins.intellij.net/plugins/view/?id=CompileWithoutDependencies ?
Will it work with my build 2253 (it says it will work 2244 to 2250).
What can I use for 2253?

0
Avatar
Eugene Zhuravlev
Comment actions Permalink

We've updated the patch so that it works with build 2253, Try to install the plugin one more time: the right version will be picked

0
Avatar
Eugene Zhuravlev
Comment actions Permalink

P.S. Just use IDEA's Settings | Plugins dialog to download the plugin

0
Comment actions Permalink

I cannot. In my new version (4.5.4) I see an error dialog "Available plugins list is not loaded" when trying to see the available plugins.
Is there a way to have the problem fixed or is there a way to install the plugin manually?

0
Comment actions Permalink

I just go into Settings -> Plugins, and click on the "Available" tag, when I see this error dialog

0
Comment actions Permalink

Because I was never up too speed with setting IDEA to compile all the things as I like, not as somebody else thinks I like ;)

So I use ANT and there is small tool for ant which may or may not solve your problems, but on sure it is very precise about dependencies.

Take a look into:
http://www.experimentalstuff.com/Technologies/JavaMake/ant.html

I strongly recoment this tool. It adds about 2 seconds to the compilation time, but over all its great.

0

Please sign in to leave a comment.