Вы можете использовать конфигурацию include или exclude (или обе, если это соответствует вашим потребностям), чтобы указать, какие пакеты вы хотите использовать в своем uberjar.
Пример:
task customJar(type: Jar) {
.....
exclude('com/somePack/excludePack1/**')
exclude('com/somePack/excludePack2/**')
include('com/somePack/**')
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
// this example will include only packages with com/somePack/
// since exclude configuration specifies com/somePack/excludePack1/ and
// com/somePack/excludePack2/ packages to be excluded.
// any other packages under com/somePack/ will be included in the jar.
Если вы используете includeон будет содержать только те пакеты, которые соответствуют определениям.
Если вы используете исключение, оно не будет содержать никаких пакетов, которые исключают определения.
Вы можете исключить свои собственные исходные коды, подобные этой.Я предлагаю создать пользовательскую задачу jar и выполнить эту задачу для такого рода вещей.(Например: gradle yourJarTaskName)