feat: init ios plugin (#2)
This commit is contained in:
		
							parent
							
								
									d4a16eba70
								
							
						
					
					
						commit
						ee58f96126
					
				
							
								
								
									
										43
									
								
								plugins/fastlane-plugin-ios_cd/.circleci/config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								plugins/fastlane-plugin-ios_cd/.circleci/config.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | # Ruby CircleCI 2.0 configuration file | ||||||
|  | # | ||||||
|  | # Check https://circleci.com/docs/2.0/language-ruby/ for more details | ||||||
|  | # | ||||||
|  | version: 2 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     docker: | ||||||
|  |       # specify the version you desire here | ||||||
|  |        - image: circleci/ruby:2.5 | ||||||
|  | 
 | ||||||
|  |     working_directory: ~/repo | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |       - checkout | ||||||
|  | 
 | ||||||
|  |       # Download and cache dependencies | ||||||
|  |       - restore_cache: | ||||||
|  |           keys: | ||||||
|  |           - v1-dependencies-{{ checksum "Gemfile" }} | ||||||
|  |           # fallback to using the latest cache if no exact match is found | ||||||
|  |           - v1-dependencies- | ||||||
|  | 
 | ||||||
|  |       - run: | ||||||
|  |           name: install dependencies | ||||||
|  |           command: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle | ||||||
|  | 
 | ||||||
|  |       - save_cache: | ||||||
|  |           paths: | ||||||
|  |             - ./vendor | ||||||
|  |           key: v1-dependencies-{{ checksum "Gemfile" }} | ||||||
|  | 
 | ||||||
|  |       # run tests! | ||||||
|  |       - run: | ||||||
|  |           name: run tests | ||||||
|  |           command: bundle exec rake | ||||||
|  | 
 | ||||||
|  |       # collect reports | ||||||
|  |       - store_test_results: | ||||||
|  |           path: ~/repo/test-results | ||||||
|  |       - store_artifacts: | ||||||
|  |           path: ~/repo/test-results | ||||||
|  |           destination: test-results | ||||||
							
								
								
									
										29
									
								
								plugins/fastlane-plugin-ios_cd/.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								plugins/fastlane-plugin-ios_cd/.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | name: Test | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   test: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v2 | ||||||
|  |     - uses: actions/cache@v1 | ||||||
|  |       with: | ||||||
|  |         path: vendor/bundle | ||||||
|  |         key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile') }} | ||||||
|  |         restore-keys: | | ||||||
|  |           ${{ runner.os }}-gem- | ||||||
|  |     - name: Set up Ruby | ||||||
|  |       uses: ruby/setup-ruby@v1 | ||||||
|  |       with: | ||||||
|  |         ruby-version: 2.5 | ||||||
|  |     - name: Install dependencies | ||||||
|  |       run: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle | ||||||
|  |     - name: Run tests | ||||||
|  |       run: bundle exec rake | ||||||
|  |     - name: Upload artifact | ||||||
|  |       uses: actions/upload-artifact@v2 | ||||||
|  |       with: | ||||||
|  |         name: test-results | ||||||
|  |         path: test-results | ||||||
							
								
								
									
										12
									
								
								plugins/fastlane-plugin-ios_cd/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								plugins/fastlane-plugin-ios_cd/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | *.gem | ||||||
|  | Gemfile.lock | ||||||
|  | 
 | ||||||
|  | ## Documentation cache and generated files: | ||||||
|  | /.yardoc/ | ||||||
|  | /_yardoc/ | ||||||
|  | /doc/ | ||||||
|  | /rdoc/ | ||||||
|  | fastlane/README.md | ||||||
|  | fastlane/report.xml | ||||||
|  | coverage | ||||||
|  | test-results | ||||||
							
								
								
									
										5
									
								
								plugins/fastlane-plugin-ios_cd/.rspec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								plugins/fastlane-plugin-ios_cd/.rspec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | --require spec_helper | ||||||
|  | --color | ||||||
|  | --format d | ||||||
|  | --format RspecJunitFormatter | ||||||
|  | --out test-results/rspec/rspec.xml | ||||||
							
								
								
									
										188
									
								
								plugins/fastlane-plugin-ios_cd/.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								plugins/fastlane-plugin-ios_cd/.rubocop.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,188 @@ | |||||||
|  | --- | ||||||
|  | require: | ||||||
|  | - rubocop/require_tools | ||||||
|  | - rubocop-performance | ||||||
|  | AllCops: | ||||||
|  |   TargetRubyVersion: 2.6 | ||||||
|  |   NewCops: enable | ||||||
|  |   Include: | ||||||
|  |   - "**/*.rb" | ||||||
|  |   - "**/*file" | ||||||
|  |   - "**/*.gemspec" | ||||||
|  |   - "*/lib/assets/*Template" | ||||||
|  |   - "*/lib/assets/*TemplateAndroid" | ||||||
|  |   Exclude: | ||||||
|  |   - "**/lib/assets/custom_action_template.rb" | ||||||
|  |   - "./vendor/**/*" | ||||||
|  |   - "**/lib/assets/DefaultFastfileTemplate" | ||||||
|  |   - "**/lib/assets/MatchfileTemplate" | ||||||
|  |   - "**/spec/fixtures/broken_files/broken_file.rb" | ||||||
|  |   - "**/*.provisionprofile" | ||||||
|  | Lint/ErbNewArguments: | ||||||
|  |   Enabled: false | ||||||
|  | Style/SlicingWithRange: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MultipleComparison: | ||||||
|  |   Enabled: false | ||||||
|  | Style/PercentLiteralDelimiters: | ||||||
|  |   Enabled: false | ||||||
|  | Style/ClassCheck: | ||||||
|  |   EnforcedStyle: kind_of? | ||||||
|  | Style/FrozenStringLiteralComment: | ||||||
|  |   Enabled: false | ||||||
|  | Style/SafeNavigation: | ||||||
|  |   Enabled: false | ||||||
|  | Performance/RegexpMatch: | ||||||
|  |   Enabled: false | ||||||
|  | Performance/StringReplacement: | ||||||
|  |   Enabled: false | ||||||
|  | Style/NumericPredicate: | ||||||
|  |   Enabled: false | ||||||
|  | Metrics/BlockLength: | ||||||
|  |   Enabled: false | ||||||
|  | Metrics/ModuleLength: | ||||||
|  |   Enabled: false | ||||||
|  | Naming/VariableNumber: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MissingRespondToMissing: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MultilineBlockChain: | ||||||
|  |   Enabled: false | ||||||
|  | Style/NumericLiteralPrefix: | ||||||
|  |   Enabled: false | ||||||
|  | Style/TernaryParentheses: | ||||||
|  |   Enabled: false | ||||||
|  | Style/EmptyMethod: | ||||||
|  |   Enabled: false | ||||||
|  | Lint/UselessAssignment: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/spec/**/*" | ||||||
|  | Require/MissingRequireStatement: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/spec/**/*.rb" | ||||||
|  |   - "**/spec_helper.rb" | ||||||
|  |   - spaceship/lib/spaceship/babosa_fix.rb | ||||||
|  |   - fastlane_core/lib/fastlane_core/ui/disable_colors.rb | ||||||
|  |   - "**/Fastfile" | ||||||
|  |   - "**/*.gemspec" | ||||||
|  |   - rakelib/**/* | ||||||
|  |   - "**/*.rake" | ||||||
|  |   - "**/Rakefile" | ||||||
|  |   - fastlane/**/* | ||||||
|  |   - supply/**/* | ||||||
|  | Layout/FirstHashElementIndentation: | ||||||
|  |   Enabled: false | ||||||
|  | Layout/HashAlignment: | ||||||
|  |   Enabled: false | ||||||
|  | Layout/DotPosition: | ||||||
|  |   Enabled: false | ||||||
|  | Style/DoubleNegation: | ||||||
|  |   Enabled: false | ||||||
|  | Style/SymbolArray: | ||||||
|  |   Enabled: false | ||||||
|  | Layout/HeredocIndentation: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MixinGrouping: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/spec/**/*" | ||||||
|  | Lint/SuppressedException: | ||||||
|  |   Enabled: false | ||||||
|  | Lint/UnusedBlockArgument: | ||||||
|  |   Enabled: false | ||||||
|  | Lint/AmbiguousBlockAssociation: | ||||||
|  |   Enabled: false | ||||||
|  | Style/GlobalVars: | ||||||
|  |   Enabled: false | ||||||
|  | Style/ClassAndModuleChildren: | ||||||
|  |   Enabled: false | ||||||
|  | Style/SpecialGlobalVars: | ||||||
|  |   Enabled: false | ||||||
|  | Metrics/AbcSize: | ||||||
|  |   Enabled: false | ||||||
|  | Metrics/MethodLength: | ||||||
|  |   Enabled: false | ||||||
|  | Metrics/CyclomaticComplexity: | ||||||
|  |   Enabled: false | ||||||
|  | Style/WordArray: | ||||||
|  |   MinSize: 19 | ||||||
|  | Style/SignalException: | ||||||
|  |   Enabled: false | ||||||
|  | Style/RedundantReturn: | ||||||
|  |   Enabled: false | ||||||
|  | Style/IfUnlessModifier: | ||||||
|  |   Enabled: false | ||||||
|  | Style/AndOr: | ||||||
|  |   Enabled: true | ||||||
|  |   EnforcedStyle: conditionals | ||||||
|  | Metrics/ClassLength: | ||||||
|  |   Max: 320 | ||||||
|  | Layout/LineLength: | ||||||
|  |   Max: 370 | ||||||
|  | Metrics/ParameterLists: | ||||||
|  |   Max: 17 | ||||||
|  | Style/GuardClause: | ||||||
|  |   Enabled: false | ||||||
|  | Style/StringLiterals: | ||||||
|  |   Enabled: false | ||||||
|  | Style/ConditionalAssignment: | ||||||
|  |   Enabled: false | ||||||
|  | Style/RedundantSelf: | ||||||
|  |   Enabled: false | ||||||
|  | Lint/UnusedMethodArgument: | ||||||
|  |   Enabled: false | ||||||
|  | Lint/ParenthesesAsGroupedExpression: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/spec/**/*" | ||||||
|  | Naming/PredicateName: | ||||||
|  |   Enabled: false | ||||||
|  | Style/PerlBackrefs: | ||||||
|  |   Enabled: false | ||||||
|  | Layout/SpaceAroundOperators: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/spec/actions_specs/xcodebuild_spec.rb" | ||||||
|  | Naming/FileName: | ||||||
|  |   Exclude: | ||||||
|  |   - "**/Dangerfile" | ||||||
|  |   - "**/Brewfile" | ||||||
|  |   - "**/Gemfile" | ||||||
|  |   - "**/Podfile" | ||||||
|  |   - "**/Rakefile" | ||||||
|  |   - "**/Fastfile" | ||||||
|  |   - "**/Deliverfile" | ||||||
|  |   - "**/Snapfile" | ||||||
|  |   - "**/Pluginfile" | ||||||
|  |   - "**/*.gemspec" | ||||||
|  | Style/Documentation: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MutableConstant: | ||||||
|  |   Enabled: false | ||||||
|  | Style/ZeroLengthPredicate: | ||||||
|  |   Enabled: false | ||||||
|  | Style/IfInsideElse: | ||||||
|  |   Enabled: false | ||||||
|  | Style/CollectionMethods: | ||||||
|  |   Enabled: false | ||||||
|  | Style/MethodCallWithArgsParentheses: | ||||||
|  |   Enabled: true | ||||||
|  |   IgnoredMethods: | ||||||
|  |   - require | ||||||
|  |   - require_relative | ||||||
|  |   - fastlane_require | ||||||
|  |   - gem | ||||||
|  |   - program | ||||||
|  |   - command | ||||||
|  |   - raise | ||||||
|  |   - attr_accessor | ||||||
|  |   - attr_reader | ||||||
|  |   - desc | ||||||
|  |   - lane | ||||||
|  |   - private_lane | ||||||
|  |   - platform | ||||||
|  |   - to | ||||||
|  |   - not_to | ||||||
|  |   - describe | ||||||
|  |   - it | ||||||
|  |   - be | ||||||
|  |   - context | ||||||
|  |   - before | ||||||
|  |   - after | ||||||
							
								
								
									
										4
									
								
								plugins/fastlane-plugin-ios_cd/.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								plugins/fastlane-plugin-ios_cd/.travis.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | # os: osx # enable this if you need macOS support | ||||||
|  | language: ruby | ||||||
|  | rvm: | ||||||
|  |   - 2.2.4 | ||||||
							
								
								
									
										6
									
								
								plugins/fastlane-plugin-ios_cd/Gemfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								plugins/fastlane-plugin-ios_cd/Gemfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | source('https://rubygems.org') | ||||||
|  | 
 | ||||||
|  | gemspec | ||||||
|  | 
 | ||||||
|  | plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') | ||||||
|  | eval_gemfile(plugins_path) if File.exist?(plugins_path) | ||||||
							
								
								
									
										21
									
								
								plugins/fastlane-plugin-ios_cd/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								plugins/fastlane-plugin-ios_cd/LICENSE
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | The MIT License (MIT) | ||||||
|  | 
 | ||||||
|  | Copyright (c) 2023 Malo Léon <malo.leon@wyatt-studio.fr> | ||||||
|  | 
 | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | of this software and associated documentation files (the "Software"), to deal | ||||||
|  | in the Software without restriction, including without limitation the rights | ||||||
|  | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||||
|  | copies of the Software, and to permit persons to whom the Software is | ||||||
|  | furnished to do so, subject to the following conditions: | ||||||
|  | 
 | ||||||
|  | The above copyright notice and this permission notice shall be included in all | ||||||
|  | copies or substantial portions of the Software. | ||||||
|  | 
 | ||||||
|  | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||||
|  | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||||
|  | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||||
|  | SOFTWARE. | ||||||
							
								
								
									
										52
									
								
								plugins/fastlane-plugin-ios_cd/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								plugins/fastlane-plugin-ios_cd/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | |||||||
|  | # ios_cd plugin | ||||||
|  | 
 | ||||||
|  | [](https://rubygems.org/gems/fastlane-plugin-ios_cd) | ||||||
|  | 
 | ||||||
|  | ## Getting Started | ||||||
|  | 
 | ||||||
|  | This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-ios_cd`, add it to your project by running: | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | fastlane add_plugin ios_cd | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## About ios_cd | ||||||
|  | 
 | ||||||
|  | Testflight and AppStore deployment plugin for Fastlane, simplifying the  build and deployment porcess to internal, external, and production channels, and promoting builds for testing. | ||||||
|  | 
 | ||||||
|  | **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here. | ||||||
|  | 
 | ||||||
|  | ## Example | ||||||
|  | 
 | ||||||
|  | Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`. | ||||||
|  | 
 | ||||||
|  | **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary) | ||||||
|  | 
 | ||||||
|  | ## Run tests for this plugin | ||||||
|  | 
 | ||||||
|  | To run both the tests, and code style validation, run | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | rake | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | To automatically fix many of the styling issues, use | ||||||
|  | ``` | ||||||
|  | rubocop -a | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Issues and Feedback | ||||||
|  | 
 | ||||||
|  | For any other issues and feedback about this plugin, please submit it to this repository. | ||||||
|  | 
 | ||||||
|  | ## Troubleshooting | ||||||
|  | 
 | ||||||
|  | If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide. | ||||||
|  | 
 | ||||||
|  | ## Using _fastlane_ Plugins | ||||||
|  | 
 | ||||||
|  | For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/). | ||||||
|  | 
 | ||||||
|  | ## About _fastlane_ | ||||||
|  | 
 | ||||||
|  | _fastlane_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools). | ||||||
							
								
								
									
										9
									
								
								plugins/fastlane-plugin-ios_cd/Rakefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								plugins/fastlane-plugin-ios_cd/Rakefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | require 'bundler/gem_tasks' | ||||||
|  | 
 | ||||||
|  | require 'rspec/core/rake_task' | ||||||
|  | RSpec::Core::RakeTask.new | ||||||
|  | 
 | ||||||
|  | require 'rubocop/rake_task' | ||||||
|  | RuboCop::RakeTask.new(:rubocop) | ||||||
|  | 
 | ||||||
|  | task(default: [:spec, :rubocop]) | ||||||
| @ -0,0 +1,36 @@ | |||||||
|  | lib = File.expand_path("lib", __dir__) | ||||||
|  | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | ||||||
|  | require 'fastlane/plugin/ios_cd/version' | ||||||
|  | 
 | ||||||
|  | Gem::Specification.new do |spec| | ||||||
|  |   spec.name          = 'fastlane-plugin-ios_cd' | ||||||
|  |   spec.version       = Fastlane::IosCd::VERSION | ||||||
|  |   spec.author        = 'Malo Léon' | ||||||
|  |   spec.email         = 'malo.leon@wyatt-studio.fr' | ||||||
|  | 
 | ||||||
|  |   spec.summary       = 'Testflight and AppStore deployment plugin for Fastlane, simplifying the  build and deployment porcess to internal, external, and production channels, and promoting builds for testing.' | ||||||
|  |   # spec.homepage      = "https://github.com/<GITHUB_USERNAME>/fastlane-plugin-ios_cd" | ||||||
|  |   spec.license       = "MIT" | ||||||
|  | 
 | ||||||
|  |   spec.files         = Dir["lib/**/*"] + %w(README.md LICENSE) | ||||||
|  |   spec.test_files    = spec.files.grep(%r{^(test|spec|features)/}) | ||||||
|  |   spec.require_paths = ['lib'] | ||||||
|  | 
 | ||||||
|  |   spec.required_ruby_version = '>= 2.6' | ||||||
|  | 
 | ||||||
|  |   # Don't add a dependency to fastlane or fastlane_re | ||||||
|  |   # since this would cause a circular dependency | ||||||
|  | 
 | ||||||
|  |   # spec.add_dependency 'your-dependency', '~> 1.0.0' | ||||||
|  | 
 | ||||||
|  |   spec.add_development_dependency('bundler') | ||||||
|  |   spec.add_development_dependency('fastlane', '>= 2.212.2') | ||||||
|  |   spec.add_development_dependency('pry') | ||||||
|  |   spec.add_development_dependency('rake') | ||||||
|  |   spec.add_development_dependency('rspec') | ||||||
|  |   spec.add_development_dependency('rspec_junit_formatter') | ||||||
|  |   spec.add_development_dependency('rubocop', '1.12.1') | ||||||
|  |   spec.add_development_dependency('rubocop-performance') | ||||||
|  |   spec.add_development_dependency('rubocop-require_tools') | ||||||
|  |   spec.add_development_dependency('simplecov') | ||||||
|  | end | ||||||
							
								
								
									
										3
									
								
								plugins/fastlane-plugin-ios_cd/fastlane/Fastfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								plugins/fastlane-plugin-ios_cd/fastlane/Fastfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | lane :test do | ||||||
|  |   ios_cd | ||||||
|  | end | ||||||
							
								
								
									
										1
									
								
								plugins/fastlane-plugin-ios_cd/fastlane/Pluginfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								plugins/fastlane-plugin-ios_cd/fastlane/Pluginfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | # Autogenerated by fastlane | ||||||
							
								
								
									
										16
									
								
								plugins/fastlane-plugin-ios_cd/lib/fastlane/plugin/ios_cd.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								plugins/fastlane-plugin-ios_cd/lib/fastlane/plugin/ios_cd.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | require 'fastlane/plugin/ios_cd/version' | ||||||
|  | 
 | ||||||
|  | module Fastlane | ||||||
|  |   module IosCd | ||||||
|  |     # Return all .rb files inside the "actions" and "helper" directory | ||||||
|  |     def self.all_classes | ||||||
|  |       Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))] | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | # By default we want to import all available actions and helpers | ||||||
|  | # A plugin can contain any number of actions and plugins | ||||||
|  | Fastlane::IosCd.all_classes.each do |current| | ||||||
|  |   require current | ||||||
|  | end | ||||||
| @ -0,0 +1,47 @@ | |||||||
|  | require 'fastlane/action' | ||||||
|  | require_relative '../helper/ios_cd_helper' | ||||||
|  | 
 | ||||||
|  | module Fastlane | ||||||
|  |   module Actions | ||||||
|  |     class IosCdAction < Action | ||||||
|  |       def self.run(params) | ||||||
|  |         UI.message("The ios_cd plugin is working!") | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.description | ||||||
|  |         "Testflight and AppStore deployment plugin for Fastlane, simplifying the  build and deployment porcess to internal, external, and production channels, and promoting builds for testing." | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.authors | ||||||
|  |         ["Malo Léon"] | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.return_value | ||||||
|  |         # If your method provides a return value, you can describe here what it does | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.details | ||||||
|  |         # Optional: | ||||||
|  |         "The Fastlane Testflight / Appstore deloyment action streamlines the build and deployment to internal, external and production channels. Allow you to promote builds on testflight beta tests." | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.available_options | ||||||
|  |         [ | ||||||
|  |           # FastlaneCore::ConfigItem.new(key: :your_option, | ||||||
|  |           #                         env_name: "IOS_CD_YOUR_OPTION", | ||||||
|  |           #                      description: "A description of your option", | ||||||
|  |           #                         optional: false, | ||||||
|  |           #                             type: String) | ||||||
|  |         ] | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       def self.is_supported?(platform) | ||||||
|  |         # Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example) | ||||||
|  |         # See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform | ||||||
|  |         # | ||||||
|  |         # [:ios, :mac, :android].include?(platform) | ||||||
|  |         true | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | require 'fastlane_core/ui/ui' | ||||||
|  | 
 | ||||||
|  | module Fastlane | ||||||
|  |   UI = FastlaneCore::UI unless Fastlane.const_defined?("UI") | ||||||
|  | 
 | ||||||
|  |   module Helper | ||||||
|  |     class IosCdHelper | ||||||
|  |       # class methods that you define here become available in your action | ||||||
|  |       # as `Helper::IosCdHelper.your_method` | ||||||
|  |       # | ||||||
|  |       def self.show_message | ||||||
|  |         UI.message("Hello from the ios_cd plugin helper!") | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | module Fastlane | ||||||
|  |   module IosCd | ||||||
|  |     VERSION = "0.1.0" | ||||||
|  |   end | ||||||
|  | end | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | describe Fastlane::Actions::IosCdAction do | ||||||
|  |   describe '#run' do | ||||||
|  |     it 'prints a message' do | ||||||
|  |       expect(Fastlane::UI).to receive(:message).with("The ios_cd plugin is working!") | ||||||
|  | 
 | ||||||
|  |       Fastlane::Actions::IosCdAction.run(nil) | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										15
									
								
								plugins/fastlane-plugin-ios_cd/spec/spec_helper.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								plugins/fastlane-plugin-ios_cd/spec/spec_helper.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | $LOAD_PATH.unshift(File.expand_path('../lib', __dir__)) | ||||||
|  | 
 | ||||||
|  | require 'simplecov' | ||||||
|  | 
 | ||||||
|  | # SimpleCov.minimum_coverage 95 | ||||||
|  | SimpleCov.start | ||||||
|  | 
 | ||||||
|  | # This module is only used to check the environment is currently a testing env | ||||||
|  | module SpecHelper | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | require 'fastlane' # to import the Action super class | ||||||
|  | require 'fastlane/plugin/ios_cd' # import the actual plugin | ||||||
|  | 
 | ||||||
|  | Fastlane.load_actions # load other actions (in case your plugin calls other actions or shared values) | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user