gradleGradle中文用户组开发工具之Gradle

[Gradle中文教程系列]-跟我学Gradle-3:快速入门,

2016-04-19  本文已影响939人  PKAQ

本文基于gradle2.12版本

标准结构

Gradle遵循COC(convention over configuration约定优于配置)的理念,默认情况下提供了与maven相同的项目结构配置
大体结构如下

创建标准结构

好在,Gradle提供了一些内置初始化任务,可以方便的为我们生成默认的目录结构以及示例代码,如下命令会产生如下效果

“java-library使用示例”

//创建一个java项目,默认使用Junit测试框架
gradle init --type java-library 
//使用spock替代junit
gradle init --type java-library --test-framework spock
//使用testng替代junit
gradle init --type java-library --test-framework testng

“scala-library使用示例”
gradle init --type scala-library

“groovy-library使用示例”
gradle init --type groovy-library

非标准结构配置

在一些老项目上,可能目录结构并不是标准结构,然而一般开发人员又不好进行结构调整.此时可以通过配置sourceSet来指定目录结构

sourceSets {
    main {
        java {
            srcDir 'src/java'
        }
        resources {
            srcDir 'src/resources'
        }
    }
}

或者采用如下写法也是可以的

sourceSets {
    main.java.srcDirs = ['src/java']
    main.resources.srcDirs = ['src/resources']
}

在android中

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        androidTest.setRoot('tests')
    }
}

当然如果你的资源目录与源码目录相同这样就比较....了,但你仍然可以按照如下方式搭配includeexclude进行指定

sourceSets {
  main {
    java {
      //your java source paths and exclusions go here...
    }

    resources {
      srcDir 'main/resources'
      include '**/*.properties'
      include '**/*.png'


      srcDir 'src'
      include '**/Messages*.properties'
      exclude '**/*.java'
    }
  }
}
上一篇下一篇

猜你喜欢

热点阅读