自定义插件任务,用于在gradle中创建源代码的zip

时间:2016-02-10 16:36:46

标签: gradle

我正在编写以下代码来获取我的android项目源代码的zip。

 project.task("myTask", type:Zip){
        baseName = "outputs"
        from (project.rootDir){
            include ('*')
            from ('gradle/wrapper/'){ include ('*') }
            exclude 'build/','.gradle/','.idea/','*.iml'
            from (project.projectDir)
            {
                include ('libs/')
                include ('*')
                exclude ('build/','*.iml')
                include ('src/**/*')
            }
            from ('gradle/')
            { include('*') }
        }
        destinationDir project.rootProject.buildDir
    }

这会产生一个包含所有文件的源zip。但是,这里需要进行一次修正。我希望子项目在我的zip中包含其中的所有文件,因为目录结构应该保持不变。但是现在我得到了空项目文件夹及其在该文件夹之外的内容,它改变了它的目录结构。任何人都可以告诉如何获得它。谢谢你的推荐!

1 个答案:

答案 0 :(得分:0)

我发现自定义插件没有帮助。我找到的解决方案很少,但在我的案例中没有任何效果。最后,这对我有用:

Task taskSourceZip = project.task("makeSourceZip", type:Zip){
        baseName = "source"
        from (project.rootDir){
            exclude ('*/*.iml')
            exclude 'sourceZip.zip'
        }
        destinationDir project.rootDir
    }