Wie füge ich aus einem Gradle -Plugin ein Verzeichnis zum Unterricht hinzu?
Posted: 13 Apr 2025, 07:48
Ich habe eine Aufgabe, die ein Verzeichnis innerhalb von Build-Verzeichnis erstellt. Es gibt eine Datei im Verzeichnis. Ich versuche, diesen Verzeichnis aus einem in Java geschriebenen Gradle-Plugin dem Klassenpfad hinzuzufügen.
Code: Select all
public class Myplugin implements Plugin
{
@Override
public void apply(Project target) {
SourceSetContainer sourceSetContainer = target.getExtensions().getByType(SourceSetContainer.class);
SourceSet main = sourceSetContainer.findByName("main");
assert main != null;
// Next line is adding 'my-directory' to the classpath
main.setRuntimeClasspath(main.getRuntimeClasspath().plus(target.getLayout().getBuildDirectory().dir("my-directory").get().getAsFileTree()));
}
}
< /code>
Dies führt zu CLASSPATH (Beachten Sie die letzte Zeile): < /p>
/Users/MYUSER/git/my-repo/build/classes/java/main,
/Users/MYUSER/git/my-repo/build/classes/kotlin/main,
/Users/MYUSER/git/my-repo/build/classes/groovy/main,
/Users/MYUSER/git/my-repo/build/tmp/kapt3/classes/main,
/Users/MYUSER/git/my-repo/build/resources/main,
... Bunch of JAR files ...
/Users/MYUSER/git/my-repo/build/my-directory/my-file.yml
Ich möchte jedoch nur, dass das Verzeichnis im Klassenpfad angezeigt wird, nicht in den darin enthaltenen Dateien. So etwas: < /p>
/Users/MYUSER/git/my-repo/build/classes/java/main,
/Users/MYUSER/git/my-repo/build/classes/kotlin/main,
/Users/MYUSER/git/my-repo/build/classes/groovy/main,
/Users/MYUSER/git/my-repo/build/tmp/kapt3/classes/main,
/Users/MYUSER/git/my-repo/build/resources/main,
... Bunch of JAR files ...
/Users/MYUSER/git/my-repo/build/my-directory