/ / Виключити деякі компіляційні залежності для виконання в Gradle - groovy, gradle

Виключити деякі комбінації залежностей для runtime в Gradle - groovy, gradle

Я використовую Gradle для створення моєї програми Groovy. Як завжди, я вказую compile залежностей в build.gradle скрипт, подібно до цього:

dependencies {
// groovy
compile "org.codehaus.groovy:groovy:$groovyVersion"
compile "org.codehaus.groovy:groovy-json:$groovyVersion"
compile "org.codehaus.groovy:groovy-test:$groovyVersion"

// some more external dependencies...
}

Гаразд, для runtime Я не потребую всіх цих залежностей, наприклад, я не потребую класів тестування. Тож, що я зараз шукаю, це спосіб сказати Gradle, що він повинен використовувати ті ж самі залежності runtime як для compile (який за замовчуванням у будь-якому випадку), але виключаючи деякі з них.

Чи існує короткий шлях для досягнення цієї мети, чи я повинен вказати всі залежності для runtime так само?

Відповіді:

1 для відповіді № 1

Це навпаки: перехідні залежності Groovy, як правило, не потрібні для компіляції (за винятком того, що через відоме обмеження компілятора Groovy вони іноді є), але вони, безумовно, потрібні під час виконання. Проте тут не варто оптимізувати залежності компіляції, тому просто продовжуйте оголошувати залежностi Groovy як compile залежності (що автоматично робить їх runtime залежностей). Групові тестові залежності слід додати до testCompile конфігурація