Module: Pindo::BuildSourceFilesGuard

Defined in:
lib/pindo/module/source_files_guard.rb

Overview

autobuild 会注入配置的固定源码清单。路径中的工程名、Target 名和 Module 名用 glob 匹配。

Constant Summary collapse

IOS_PATTERNS =
[
  'config.json',
  'Podfile.lock',
  '**/*.xcodeproj/project.pbxproj',
  '**/Info.plist',
  '**/*.entitlements',
  '**/AppIcon.appiconset',
  '**/iMessage App Icon.stickersiconset'
].freeze
ANDROID_PATTERNS =
[
  'build.gradle',
  'build.gradle.kts',
  'settings.gradle',
  'settings.gradle.kts',
  'google-services.json',
  '**/build.gradle',
  '**/build.gradle.kts',
  '**/google-services.json',
  '**/src/main/AndroidManifest.xml',
  '**/src/main/res'
].freeze
EXCLUDED_PATH_COMPONENTS =
%w[
  .git
  .gradle
  .build
  Pods
  build
  DerivedData
  GoodPlatform
].freeze

Class Method Summary collapse

Class Method Details

.android(project_path) ⇒ Object



55
56
57
# File 'lib/pindo/module/source_files_guard.rb', line 55

def android(project_path)
  source_paths(project_path, ANDROID_PATTERNS)
end

.for_project(project_path) ⇒ Object



40
41
42
43
44
45
46
47
48
49
# File 'lib/pindo/module/source_files_guard.rb', line 40

def for_project(project_path)
  case Pindo::BuildHelper.share_instance.project_type(project_path)
  when :ios
    ios(project_path)
  when :android
    android(project_path)
  else
    unity(project_path)
  end
end

.ios(project_path) ⇒ Object



51
52
53
# File 'lib/pindo/module/source_files_guard.rb', line 51

def ios(project_path)
  source_paths(project_path, IOS_PATTERNS)
end

.unity(_project_path) ⇒ Object

Unity 平台工程导出到已忽略的 GoodPlatform,不提交 Unity 源码配置。



60
61
62
# File 'lib/pindo/module/source_files_guard.rb', line 60

def unity(_project_path)
  []
end