一、罕用的源集属性
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 公布!
发表回复