Buildship questions - build cache interference w/ cmd line, and subprojects as Eclipse subprojects

Hello - I’m new to Buildship and fairly new to Gradle. I have a build working from the command line (Windows 10), and I imported it with Buildship and it builds with that too. A couple of behaviors I did not expect though:

  1. Building from Eclipse seems to not respect the build cache generated from the command-line build, and vice versa. If I do a build from Eclipse, then “gradle build” from the command line, it rebuilds everything. At first I thought it might be the gradle version being different, but even after changing Eclipse to point to my external Gradle installation (4.8), it did not fix it. What is causing this?

  2. I do not want Buildship to create Eclipse projects for my Gradle subprojects. I manually deleted the Eclipse projects, but doing a refresh adds them back. In my Eclipse workspace, I have a multiple top-level projects, often differing only by branch name. For example, I have top-level project names like: R19.1, R19.2, etc., each containing the same directory structures. I have subprojects named: interfaces, IDL, xsd, wsdl, core. So it creates an unwanted situation in the Navigator view where my project list is: core, IDL, interfaces, R19.1, R19.2, wsdl, xsd. The subprojects really don’t make sense if there are multiple top-level projects in the workspace. Is there any way to avoid this (other than having a workspace for each top-level project, where it might be OK to have them be Eclipse projects)?

Thanks.

Buildship should work with the build cache. Does this happen with an empty project (generated by the init task) or only for yours? For the latter case, could you please provide an example project exhibiting the problem?

The partial import feature is not yet implemented. The completeness of the classpath relies on the fact that all Gradle projects are available in the workspace after the synchronization. We have two tickets for this to track the story. Please vote for them so that we prioritize the implementation for an upcoming release.