gradle - 自定义插件任务以在 gradle 中创建源代码的 zip

标签 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 中包含其中的所有文件,因为目录结构中的文件应该保持不变。但是现在我得到了空的项目文件夹及其在该文件夹之外的内容,这改变了它的目录结构。任何人都可以电话如何得到那个。提前谢谢!!

最佳答案

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

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

关于gradle - 自定义插件任务以在 gradle 中创建源代码的 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320863/

相关文章:

java - Gradle 如何将大量 jar 文件的平面目录转换为 .m2/repository 结构?

android - 如何制作单个 AAR 文件,有一些其他 AAR 文件

gradle - 如何在gradle中下载依赖项

android - 无法加载类 'org.gradle.internal.logging.LoggingManagerInternal'。此意外错误的可能原因

安卓工作室 :Failed to notify project evaluation listener

gradle - 对将快照发布到 BinTray 的过程感到困惑

java - Gradle 无法在 Mac 上运行 docker 任务

jenkins - Jenkins Artifactory插件未使用Gradle发布 Artifactory

android - 如何将aidl文件添加到Android工作室(来自应用内计费示例)

java - Android studio 2.1.3 - 由于 ':app:packageDebug',Android 应用程序构建失败