У меня есть задача, которая создает каталог в рамках Build-Directory. В каталоге есть один файл. Я пытаюсь добавить этот каталог в ClassPath из плагина Gradle, написанного в Java. < /P>
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>
Это приводит к тому, что Classpath, подобная этой (обратите внимание на последнюю строку): < /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
Однако я хочу, чтобы просто хотел, чтобы каталог отображался в классе, а не в файлах внутри него. Что -то вроде этого: < /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
Подробнее здесь: [url]https://stackoverflow.com/questions/79571233/how-to-add-a-directory-to-classpath-from-a-gradle-plugin[/url]
У меня есть задача, которая создает каталог в рамках Build-Directory. В каталоге есть один файл. Я пытаюсь добавить этот каталог в ClassPath из плагина Gradle, написанного в Java. < /P> [code]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> Это приводит к тому, что Classpath, подобная этой (обратите внимание на последнюю строку): < /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 Однако я хочу, чтобы просто хотел, чтобы каталог отображался в классе, а не в файлах внутри него. Что -то вроде этого: < /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
У меня есть задача, которая создает каталог в рамках Build-Directory. В каталоге есть один файл. Я пытаюсь добавить этот каталог в ClassPath из плагина Gradle, написанного в Java.
public class Myplugin implements Plugin {
@Override
public void...
Я бы хотел, чтобы мой скрипт сборки Gradle Build добавил полный класс в манифестный файл, содержащийся в файле JAR, созданный после сборки.Manifest-Version: 1.0
Class-Path: MyProject.jar SomeLibrary.jar AnotherLib.jar