redhat-developer / redhat-developer/vscode-java

Gradle Source Dependencies do not Show up in Intellisense

Abierto
#1,781 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement Gradle
Lenguaje dominante
TypeScript
Estrellas
2.3k
Forks
546
Merge medio
20 h 1 min
PR fusionados (30 d)
11

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el problema con los proyectos de ejemplo de aplicación y biblioteca vinculados utilizando la configuración de dependencias de código fuente proporcionada en settings.gradle y build.gradle. Empieza comprobando cómo gestiona la extensión de Java las dependencias de Gradle y, después, verifica si org.frcnomad:lib aparece en IntelliSense; se considera completado cuando se reconocen sus contenidos y Gradle continúa compilando y ejecutándose correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
tooling
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.