Manuel Jordan
Manuel Jordan

Reputation: 16311

IntelliJ (2020.2) - How disable 'Build project automatically' for a project based on Gradle?

I am an Eclipse/STS user/developer, now trying to use IntelliJ Idea (CE)

For a project based on Gradle, how spring-integration, when I open the IDE it happens the following

enter image description here

Ok, let the IDE load the project ... but

enter image description here

From above, that is the problem, I don't want that the IDE starts automatically to build/rebuild the project. I just need, open the project and that's all.

Observation: for example in Eclipse/STS exists the option to disable Build Automatically

enter image description here

I did do a research in the Web and I read the following posts and questions:

Sadly the dialog options were changed but ...

Therefore:

enter image description here

From above, seems nothing to do.

enter image description here

Observation: from above observe the Build project automatically option is disabled

Even with that disabled and after to restart the IDE, I must always stop manually the build process

enter image description here

So what is missing? or Do I need a special extra plugin to accomplish my goal?

Upvotes: 9

Views: 27391

Answers (2)

Elena
Elena

Reputation: 181

The images that you show indicate that you are building with Gradle, but the Compiler option that you disable is relevant for building projects with Idea not with Gradle. For the 2020.2 version, you need to do the following:

  1. Open the Setting > Build Tools page.
  2. Disable the "Reload changes in build scripts" option.

This way you can manually control the reload. When you change the build script, you will see a small gradle icon in the right side of the editor.

For more info, refer to the IntelliJ IDEA help > Gradle section. https://www.jetbrains.com/help/idea/work-with-gradle-projects.html#auto_reload

Upvotes: 10

Kuzneц
Kuzneц

Reputation: 727

There are two different things in IntelliJ's Gradle support that sometimes confused: sync and build. Your pictures demonstrate sync process (note caption on the toolwindow). Word build is kind of misleading here.

What is sync? In gradle we use Groovy to define the build procedure. Groovy is an imperative programming language, so it's hard to predict resulting dependencies graph without actually executing the script. During the sync Idea executes configuration phase of gradle build (one that builds dependency graph), and obtains configured objects from the Gradle daemon. This information is used to setup project in the IDE: modules, libraries, dependencies, which sources are test, which are prod, etc.

Actual build is not happening during sync. You can convince yourself by adding syntax error to any source file, and observe that the sync succeeds. But build will fail if you invoke it.


In answer to the original question: you can't disable automatic build, because it is not enabled.

Is it possible to disable sync in Gradle project? Short answer - no. If you need a code browser, which is not required to understand all the cross-references in the source code, IDEA is not the best choice probably.


TL;DR;

Without sync IDE does not know which files are sources, and which are not. IDEA cannot open folders. It only can open projects. Good thing is that module can contain folder. So you can do the following: File | New | Project. Select Empty project, Next, select some random folder outside the source folder you want to open, Finish.

Then add new module: enter image description here

Select Java in the left panel, everything else keep default, Next, Finish. Then in new module remove existing content root, and add folder with sources as new content root enter image description here

Resulting project is mostly useless. Tons of red code (at least, unresolved symbols from external libraries), no inspections, no navigation, no sense. But it might be useful in some rare situations indeed.

Upvotes: 5

Related Questions