redhat-developer / redhat-developer/vscode-java

Gradle Source Dependencies do not Show up in Intellisense

Open
#1,781 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Gradle
Dominant language
TypeScript
Stars
2.3k
Forks
546
Avg merge
20h 1m
Merged PRs (30d)
11

Description

Gradle source dependencies (introduction article: https://blog.gradle.org/introducing-source-dependencies) do not show up inside of intellisense (and by extent, the debugger). Gradle can still build and run the projects fine, but the editor itself doesn't see any of it.

Example settings.gradle:

sourceControl {
    gitRepository("https://github.com/EliSauder/robot-lib-test.git") {
        producesModule("org.frcnomad:lib")
    }
}

Example build.gradle

plugins {
    id "application"
}

group = 'org.frcnomad'

repositories {
    mavenCentral()
}

sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11

mainClassName = 'org.frcnomad.robot.Main'

dependencies {
    implementation('org.frcnomad:lib') {
        version {
            branch = 'noFRC'
        }
    }

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
    
    testImplementation "org.mockito:mockito-core:2.+"
    testImplementation "org.mockito:mockito-junit-jupiter:2.+"
}

tasks.named('test') {
    useJUnitPlatform()
}

The dependency that is not being resolved is org.frcnomad:lib (a test library I wrote to test source dependencies)

Prior to pursuing this path I created a stack overflow issue here:
https://stackoverflow.com/questions/65912344/vscode-not-recognizing-gradle-source-dependency

Environment
  • Operating System: Windows 10 Pro - Build 19042
  • JDK version: 11.0.10
  • Visual Studio Code version: 1.52.1
  • Java extension version: 0.74.0
  • Gradle: 6.0.1 & 6.8.1 (I tested both versions)
Steps To Reproduce
  1. Create a gradle library to be used as a dependency and then post it publicly to any git server (such as github).
  2. Using gradle's source dependencies require that project directly from the git server.
  3. Intellisense will not detect the contents of the library however gradle will still build and run just fine.

Sample Projects:
Application: https://github.com/EliSauder/robot-test/tree/e652b3670f2bb63f1224c55d346fc5c95d0b1d49 (Linked to a commit since I have switched to jitpack until vscode works with source deps)
Library: https://github.com/EliSauder/robot-lib-test/tree/noFRC

Logs From VSCode (Includes me opening VSCode to opening a file that imports the source dependency): https://1drv.ms/u/s!As6xGUN6WyzakMVHpmJm6sVig9gbIw

Current Result

Intellisense does not recognize any of the contents of a source dependecy

Expected Result

Intellisense should recognize the contents of a source dependency

Additional Informations

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the linked application and library sample projects using the provided settings.gradle and build.gradle source-dependency configuration. Start by checking how the Java extension handles Gradle dependencies, then verify whether org.frcnomad:lib appears in IntelliSense; done means its contents are recognized while Gradle continues to build and run successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.