首页 > 代码库 > Gradle源码入门五
Gradle源码入门五
分析DefaultGradleLauncher.java
private void doBuildStages(Stage upTo) 函数的第二步
// Evaluate settings script SettingsInternal settings = settingsHandler.findAndLoadSettings(gradle); buildListener.settingsEvaluated(settings);
从 startParameter 开始 StartParameter{taskRequests=[DefaultTaskExecutionRequest{args=[hello],projectPath='null'}], excludedTaskNames=[], currentDir=C:\Users\xxx\workspace\Gradle, searchUpwards=true, projectProperties={}, systemPropertiesArgs={}, gradleUserHomeDir=C:\Users\xxx\.gradle, gradleHome=C:\gradle-2.2.1, logLevel=LIFECYCLE, showStacktrace=INTERNAL_EXCEPTIONS, buildFile=null, initScripts=[], dryRun=false, rerunTasks=false, recompileScripts=false, offline=false, refreshDependencies=false, parallelThreadCount=0, configureOnDemand=false} 这个变量有一个searchUpwards, 如果为true,找 currentDir + settings.gradle then loop: parentDir + settings.gradle parentDir/master + settings.gradle 找到一个有效的即止 ------------------ 如果为false,找到父目录即止 ========================= 在org.gradle.initialization SettingsLocation.java public SettingsLocation(File settingsDir, File settingsFile) { this.settingsDir = settingsDir; this.settingsScriptSource = settingsFile == null ? new StringScriptSource("empty settings script", "") : new UriScriptSource("settings file", settingsFile); } 如果没有任何settings文件, settingdir就是currentDir, settingsFile is null
过程基本和init 文件相似,调用DefaultScriptPluginFactory.java 里面的 ScriptPluginImpl.apply
结果
Gradle源码入门五
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。