一、罕用的源集属性
apply plugin:'java'sourceSets { main { // 对main SourceSet进行配置 }}task custom65SourceSetTask { sourceSets.all { println "name:" + name println "outputs.getFiles():" + outputs.getFiles() println "outputs.class:" + outputs.class println "outputs:" + outputs println "java:" + java println "java.getClass():" + java.getClass() println "resources:" + resources println "getResources():" + getResources() println "==================================" }}
这面是SourceSet汇合中罕用的属性打印
二、插件增加的工作
三、多个构建工程
include ':app'project(":app").projectDir = new File(rootDir, 'chapter2/app')include ':base'project(":base").projectDir = new File(rootDir, "chapter2/base")// 上面就是目录构造// -- chapter2// -- --app// -- -- --build.gradle// -- -- --src// -- --base// -- -- -- base.iml// -- -- -- builde.gradle// -- -- -- src
- 配置好了构建文件,那么就去看一下具体的文件
文件地址;app/build.gradle
dependencies { complie project(':base')}apply plugin:'java'
能够应用上面的配置对所有的子项目进行配置
subprojects { apply plugin: 'java' repositories { mavenCentral() } dependencies { testCompile 'junit:junit:4.12' }}
四、公布构建工程后果
apply plugin:'java'task publishJar(type: Jar)artifacts { archives publishJar}// 间接公布一个文件def publishFile = file('base/AndroidManifest.xml')artifacts { archives publishFile}version '1.0.0' // 指定公布的版本号uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } }}// 上面是上传到maven仓库中,在用户目录的.m2/repository中能够找到group 'org.flysnow.anroidgradlebook.example'version '1.0.0'uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } mavenLocal() }}// 上面是上传到公有的maven仓库中,这里以公司搭建的Nexus私服为例apply plugin:'maven'version '1.0.0'uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } mavenLocal() mavenDeployer { repository(url: "http://repo.mycompany.com/nexus/content/repositories/releases") { authentication(urerName: "username", password: "pwd") } snapshotRepository(url: "http://repo.mycompany.com/nexus/content/repositories/snapshots") { authentication(userName: "username", password: "pwd") } } }}
五、生成Idea和Eclipse配置
apply plugin:'java'apply plugin: 'idea'apply plugin: 'eclipse'
六、android插件
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' }}apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVeresion "23.0.1"}
android{}是一个android提供的一个阔韩类型,能够自定义AndroidGradle工程,下面的buildscript会去jecenter上依照id进行查找插件,而后进行构建。
七、一个残缺android构建工程脚本
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.4' }}apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "org.flysnow.app.test" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testComplie 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:28.0.0' compile 'com.android.support:design:23.0.0'}
八、源码
- gitee门路:https://gitee.com/dongqianrui...
- CSDN:https://blog.csdn.net/weixin_...
- 博客园:https://www.cnblogs.com/ruige...
- 欢送关注微信公众号:傅里叶变换,集体账号,仅用于技术交换
本文由博客一文多发平台 OpenWrite 公布!