Gradle 编译前重命名包

Gradle rename package before compile

我有 eclipse java 项目。 Gradle 脚本:

apply plugin: 'java'
jar {
    manifest {
        attributes 'Title': 'xxx' 
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile fileTree(dir: 'lib', include: '**/*.jar')
}
def myPackage = 'mypackage'
sourceSets {
    main {
        java.srcDirs = ['src']
    }
}

项目文件结构

src
    com.company.core
                    ....classes
    com.company.impl
                    ....classes

jar文件中需要文件结构

com.company.core
                ...classes
com.mypackage.impl
                ...classes

需要重命名包 公司 -> jar 文件中的 mypackge

不是android。

请帮忙。

UPD

谢谢,兰斯 Java。 它为我工作。

但是有一个问题。来自 libs (google-play-services.jar, android.jar) 的所有 类 都进入 jar...我需要 类 仅位于 src 文件夹中...我可以排除所有包 类,但我认为这不是一个好的解决方案...

shadowJar 还有其他方法吗?

我的依赖项:

dependencies {
    compile files('libs/android.jar')
    compile files('libs/google-play-services.jar')
}

这可以通过 shadow 插件完成

relocating packages