Question

I just added a new test source directory to my Gradle project and want IntelliJ to recognize it. I can close the project and reopen the build.gradle file and chose "Delete Existing Project and Import"; is there a way to update the module sources without deleting the existing project?

idea {
    module {
        // just added these two lines        
        testSourceDirs += file('src/integration-test/java')
        testSourceDirs += file('src/integration-test/resources')
    }
}

I don't want to just manually add the sources, instead I want IntelliJ to re-import the Gradle project structure from the 'build.gradle' file.

Details: Gradle v1.7, IntelliJ v12

Was it helpful?

Solution

IntelliJ 13 supports "refreshing" the Gradle project. When the project is refreshed any dependency changes are picked up as well as any changes to the project structure.

In order to do so go to View -> Tool Windows and open the Gradle Tool Window you find the refresh button in the upper bar.

OTHER TIPS

I'm using intellij 2017 and was unable to locate the "refresh" option as described in previous versions of intellij. For me,

./gradlew idea corrected the issue. gradle idea should also work.

UPDATE

As noted in the comments, when using intellij 2017 open the build.gradle file as a project and enable the "auto import" command to avoid this issue all together!

Right click on the build.gradle file and select import gradle project

Steps that helped me:

  1. Close the project
  2. Delete ‘gradle’ and '.gradle' folders in the project root
  3. Import the project as gradle project

See images of Gradle tab before and after

The Gradle support in IntelliJ 12 is limited. (I've heard 12.4 is somewhat better, but I don't know if it supports updating the project.) Either check out the new Gradle plugin in IntelliJ 13 (EAP), or generate IDE files using Gradle's IntelliJ plugin.

For IntelliJ 2020, right-click the build.gradle file and press the Import Gradle Project option. This will let IntelliJ know it's a Gradle project and be able to interpret it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top