Suppose you have a Gradle multiproject under version control (Subversion, for instance).
You check it out in a folder, say d:\myprj.
Let's say the Eclipse workspace is in d:\workspace and it is empty.
In Eclipse you do an import using the Gradle project import wizard; you select the d:\myprj folder, you presso the "build model" and then select the whole myprj multiproject, including its subprojects, and import it.
Then, the Gradle import wizard starts to create the projects in the workspace, set dependencies, etc.
What I'm observing is that if the myprj is huge, it takes some time before:
- all the projects are created in the workspace
- dependencies are set
- the SVN data is collected so that projects are recognized as under version control (the repository decoration appears on project and file icons in Project/Package Explorer)
- the project is built
The problem I observe is this. Having "build automatically" enabled, the project building can start BEFORE the SVN data is collected. This means that there's a timeframe in which the building of the project is made before the IDE realizes that the project is under version control.
What does this mean? It means that the "copying resources to the output folder" operations DOES NOT apply the exclusion filters inherited by the SCM plugin: in my case I find that the "bin" output folder of my projects contain copies of the .svn folders coming from the source folders.
This can lead to severe problems, especially if you don't use the resource filters to hide subprojects in the main project and you make a synchronization with the repository.
It's not easy to revert from this situation. If you clean all the projects after they have been recognized as being under version control, the "bin" output folders are cleaned, but the .svn folders right inside them are not removed. I mean, if after the first build the situation is this:
after cleaning the situation becomes this:
So, the .svn folders inside the packages are removed, but the one directly inside bin is not.
You have to manually remove that folder to take things back to normal.
My idea is the following: isn't there a way to "force" the team plugin (i.e.: Subversive, CVS, etc.) to collect the needed data BEFORE letting the first build of the imported project(s) start? I don't know if it's just a problem of setting the SVN nature before the Java nature or something like that (I'm not so expert...).