fastlane-plugin-appdevops 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 052cfb3bff632cc316df352597eef864e84bc32fd2d32be397520cd27bc81adb
4
- data.tar.gz: 5e7313ded6e3d03e2a8f0de886ff0bda87ac2d5178acbaa6e8327d3443dcec7b
3
+ metadata.gz: fce5a1431f53a912385f42baf1fb059477ebdd68ecc91515aef7952f4a88fc91
4
+ data.tar.gz: 83dda43dbc7d4e65f42337a53c639d813641eaa0cf5ba95785e6dac94f55861b
5
5
  SHA512:
6
- metadata.gz: a7daff87290c94493fa81bd464b37f1cf9f2a88ffd9c6784de82aef118010bd31cad0623b2b342eeaf845378737edc3b411757f08ada47bf155b2175b4698671
7
- data.tar.gz: 19db84caab672b53a12025c67640f1ed116c655367a167d232621307060cdd024e7ed32f220686ce54c8ff7ee056c90dc7ae80eae335511b9df02a431083741c
6
+ metadata.gz: 99dfceb6813bd20e77e28dbc8178c216e987fbe2d087c10294b1278c0ceee883db6b76572f33526f4d4169c300158135bb3ae999f2ccddbbc8606a74365cde44
7
+ data.tar.gz: dc59999402bb59a4fd875b114c8d0273239840dde529b085851cbd98b6b3586d0adafbd18b04b57faea2b770aa46d5dc76f7d1d0790025385d39f185fdbdbe7e
@@ -3,9 +3,16 @@ require_relative '../helper/appdevops_helper'
3
3
 
4
4
  module Fastlane
5
5
  module Actions
6
+ module SharedValues
7
+ AUTO_BUILD_DEBUG = :AUTO_BUILD_DEBUG
8
+ end
6
9
  class AppdevopsAction < Action
7
10
  def self.run(params)
8
- UI.message("The appdevops plugin is working!")
11
+ isDebug = params[:debug]
12
+ UI.message("开始自动打#{isDebug ? "开发" : "appstore"}版本ipa并且上传!")
13
+ Actions.lane_context[SharedValues::AUTO_BUILD_DEBUG] = isDebug
14
+ other_action.ios_auto_build_ipa
15
+ other_action.ios_auto_upload
9
16
  end
10
17
 
11
18
  def self.description
@@ -19,6 +26,13 @@ module Fastlane
19
26
  def self.return_value
20
27
  # If your method provides a return value, you can describe here what it does
21
28
  end
29
+ def self.output
30
+ # Define the shared values you are going to provide
31
+ # Example
32
+ [
33
+ ['AUTO_BUILD_DEBUG', 'A description of what this value contains']
34
+ ]
35
+ end
22
36
 
23
37
  def self.details
24
38
  # Optional:
@@ -27,19 +41,15 @@ module Fastlane
27
41
 
28
42
  def self.available_options
29
43
  [
30
- # FastlaneCore::ConfigItem.new(key: :your_option,
31
- # env_name: "APPDEVOPS_YOUR_OPTION",
32
- # description: "A description of your option",
33
- # optional: false,
34
- # type: String)
44
+ FastlaneCore::ConfigItem.new(key: :debug,
45
+ description: "开发模式还是appstore模式",
46
+ optional: true,
47
+ default_value: false,
48
+ is_string: false)
35
49
  ]
36
50
  end
37
51
 
38
52
  def self.is_supported?(platform)
39
- # Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
40
- # See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
41
- #
42
- # [:ios, :mac, :android].include?(platform)
43
53
  true
44
54
  end
45
55
  end
@@ -0,0 +1,90 @@
1
+ module Fastlane
2
+ module Actions
3
+
4
+ class IosAutoBuildIpaAction < Action
5
+ def self.run(params)
6
+ # 自动证书同步
7
+ autoCode_signing
8
+ #检测pod自动安装
9
+ autoPodInstall
10
+ #自动增加build号
11
+ autoIncrement
12
+ #自动构建app
13
+ other_action.build_app(
14
+ build_path: "build",
15
+ export_method: isDebug ? "development" : "app-store"
16
+ )
17
+ end
18
+
19
+ # 自动增加build号
20
+ def self.autoIncrement
21
+ if isDebug
22
+ other_action.increment_build_number(build_number: other_action.number_of_commits)
23
+ else
24
+ other_action.increment_build_number(
25
+ build_number: other_action.latest_testflight_build_number(version: other_action.get_version_number) + 1,
26
+ )
27
+ end
28
+ end
29
+
30
+ # 检测pod自动安装
31
+ def self.autoPodInstall
32
+ other_action.cocoapods(try_repo_update_on_error:true) if File.file?("Podfile")
33
+ end
34
+ # 自动同步证书
35
+ def self.autoCode_signing
36
+ ENV['MATCH_READONLY'] = "true" unless ENV['MATCH_READONLY']
37
+ ENV['MATCH_KEYCHAIN_PASSWORD'] = "123456" unless ENV['MATCH_KEYCHAIN_PASSWORD']
38
+
39
+ other_action.sync_code_signing(
40
+ type: isDebug ? "development" : "appstore" ,
41
+ api_key: isDebug ? nil : auto_api_key,
42
+ )
43
+ end
44
+
45
+ def self.auto_api_key
46
+ return nil unless ENV['APP_STORE_CONNECT_API_KEY_KEY_ID']
47
+ other_action.app_store_connect_api_key unless isDebug
48
+ end
49
+ def self.isDebug
50
+ return Actions.lane_context[SharedValues::AUTO_BUILD_DEBUG]
51
+ end
52
+
53
+ #####################################################
54
+ # @!group Documentation
55
+ #####################################################
56
+
57
+ def self.description
58
+ "iOS自动打包"
59
+ end
60
+
61
+ def self.details
62
+ "证书同步,版本自增,构建IPA"
63
+ end
64
+
65
+ def self.available_options
66
+ [
67
+ # FastlaneCore::ConfigItem.new(key: apptype,
68
+ # env_name: "FL_IOS_AUTO_BUILD_IPA_API_TOKEN", # The name of the environment variable
69
+ # description: "API Token for IosAutoBuildIpaAction", # a short description of this parameter
70
+ # verify_block: proc do |value|
71
+ # UI.user_error!("No API token for IosAutoBuildIpaAction given, pass using `api_token: 'token'`") unless (value and not value.empty?)
72
+ # # UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
73
+ # end)
74
+ ]
75
+ end
76
+
77
+ def self.return_value
78
+ # If your method provides a return value, you can describe here what it does
79
+ end
80
+
81
+ def self.authors
82
+ ["yaochenfeng"]
83
+ end
84
+
85
+ def self.is_supported?(platform)
86
+ platform == :ios
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,49 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ end
5
+
6
+ class IosAutoUploadAction < Action
7
+ def self.run(params)
8
+ uploadDebug if isDebug
9
+ uploadBeta unless isDebug
10
+ end
11
+
12
+ # 上传testflight
13
+ def self.uploadBeta
14
+ UI.message "没有登录 APP_STORE_CONNECT_API_KEY" unless ENV['APP_STORE_CONNECT_API_KEY']
15
+ other_action.upload_to_testflight if ENV['APP_STORE_CONNECT_API_KEY']
16
+ end
17
+ # 上传debug
18
+ def self.uploadDebug
19
+ uploadPyger
20
+ end
21
+
22
+ def self.uploadPyger
23
+ other_action.pgyer if ENV['PGYER_API_KEY'] && ENV['PGYER_USER_KEY']
24
+ end
25
+
26
+ def self.isDebug
27
+ return Actions.lane_context[SharedValues::AUTO_BUILD_DEBUG]
28
+ end
29
+ #####################################################
30
+ # @!group Documentation
31
+ #####################################################
32
+
33
+ def self.description
34
+ "A short description with <= 80 characters of what this action does"
35
+ end
36
+
37
+ def self.details
38
+ "自动上传app"
39
+ end
40
+
41
+ def self.available_options
42
+ end
43
+
44
+ def self.is_supported?(platform)
45
+ platform == :ios
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Appdevops
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-appdevops
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - yaochenfeng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-10 00:00:00.000000000 Z
11
+ date: 2022-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -160,6 +160,8 @@ files:
160
160
  - README.md
161
161
  - lib/fastlane/plugin/appdevops.rb
162
162
  - lib/fastlane/plugin/appdevops/actions/appdevops_action.rb
163
+ - lib/fastlane/plugin/appdevops/actions/ios_auto_build_ipa.rb
164
+ - lib/fastlane/plugin/appdevops/actions/ios_auto_upload.rb
163
165
  - lib/fastlane/plugin/appdevops/helper/appdevops_helper.rb
164
166
  - lib/fastlane/plugin/appdevops/version.rb
165
167
  homepage: https://github.com/yaochenfeng/fastlane-plugin-appdevops
@@ -181,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
183
  - !ruby/object:Gem::Version
182
184
  version: '0'
183
185
  requirements: []
184
- rubygems_version: 3.1.2
186
+ rubygems_version: 3.0.1
185
187
  signing_key:
186
188
  specification_version: 4
187
189
  summary: app自动化