Module: Pindo::GradleHelper

Includes:
BaseAndroidHelper
Included in:
AndroidBuildHelper
Defined in:
lib/pindo/module/android/gradle_helper.rb

Instance Method Summary collapse

Methods included from BaseAndroidHelper

#find_android_subproject, #get_build_tools, #get_ext_values, #get_keystore_config, #get_main_module, #modify_il2cpp_config, #remove_desktop_google_service, #unity_android_project?

Instance Method Details

#check_gradle_files(project_path) ⇒ Object

[View source]

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pindo/module/android/gradle_helper.rb', line 7

def check_gradle_files(project_path)
  # 检查是否存在 gradlew 文件 如果没有则执行复制操作
  gradlew_path = File.join(project_path, "gradlew")
  if File.exist?(gradlew_path)
    puts "gradlew file already exists, skip copying."
  else
     # 复制gradle相关文件
    gradlew_content = File.read(get_build_tools[:gradlew])
    File.write(gradlew_path, gradlew_content)
  end
  # 设置gradlew可执行权限
  system("chmod", "777", gradlew_path)

  wrapper_jar_path = File.join(project_path, "gradle/wrapper/gradle-wrapper.jar")
  if File.exist?(wrapper_jar_path)
    puts "gradle-wrapper.jar file already exists, skip copying."
  else
    FileUtils.mkdir_p(File.dirname(wrapper_jar_path))
    gradle_wrapper_content = File.read(get_build_tools[:gradle_wrapper])
    File.write(wrapper_jar_path, gradle_wrapper_content)
  end
end

#update_build_gradle(project_path) ⇒ Object

[View source]

30
31
32
33
34
35
36
37
# File 'lib/pindo/module/android/gradle_helper.rb', line 30

def update_build_gradle(project_path)
  # 更新build.gradle
  build_gradle_path = File.join(project_path, "build.gradle")
  content = File.read(build_gradle_path)
  content.gsub!("classpath 'com.android.tools.build:gradle:4.0.1'",
                "classpath 'com.android.tools.build:gradle:4.2.2'")
  File.write(build_gradle_path, content)
end

#update_gradle_version(project_path) ⇒ Object

[View source]

39
40
41
42
43
44
45
# File 'lib/pindo/module/android/gradle_helper.rb', line 39

def update_gradle_version(project_path)
  # 更新gradle wrapper版本
  wrapper_path = File.join(project_path, "gradle/wrapper/gradle-wrapper.properties")
  content = File.read(wrapper_path)
  content.gsub!("gradle-6.1.1-bin.zip", "gradle-7.2-bin.zip")
  File.write(wrapper_path, content)
end