Class: Fastlane::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/setup/setup.rb

Direct Known Subclasses

SetupAndroid, SetupIos

Instance Method Summary collapse

Instance Method Details

#is_android?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/fastlane/setup/setup.rb', line 31

def is_android?
  Dir["*.gradle"].count > 0
end

#is_ios?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/fastlane/setup/setup.rb', line 27

def is_ios?
  (Dir["*.xcodeproj"] + Dir["*.xcworkspace"]).count > 0
end

#runObject

Start the setup process



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fastlane/setup/setup.rb', line 4

def run
  platform = nil
  if is_ios?
    UI.message("Detected iOS/Mac project in current directory...")
    platform = :ios
  elsif is_android?
    UI.message("Detected Android project in current directory...")
    platform = :android
  else
    UI.message("Couldn't automatically detect the platform")
    val = agree("Is this project an iOS project? (y/n) ".yellow, true)
    platform = (val ? :ios : :android)
  end

  if platform == :ios
    SetupIos.new.run
  elsif platform == :android
    SetupAndroid.new.run
  else
    UI.user_error!("Couldn't find platform '#{platform}'")
  end
end

#show_analyticsObject



35
36
37
38
39
# File 'lib/fastlane/setup/setup.rb', line 35

def show_analytics
  UI.message("fastlane will send the number of errors for each action to")
  UI.message("https://github.com/fastlane/enhancer to detect integration issues")
  UI.message("No sensitive/private information will be uploaded")
end