Fastlane-Plugin-Semantic_Release 使用教程
1. 项目的目录结构及介绍
Fastlane-Plugin-Semantic_Release 项目的目录结构如下:
fastlane-plugin-semantic_release/
├── circleci/
├── docs/
├── fastlane/
│ └── plugin/
│ └── semantic_release/
├── lib/
│ └── fastlane/
│ └── plugin/
│ └── semantic_release/
├── spec/
├── .gitignore
├── .rspec
├── .rubocop.yml
├── .travis.yml
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
└── fastlane-plugin-semantic_release.gemspec
目录介绍
circleci/
: 包含 CircleCI 配置文件。docs/
: 包含项目文档。fastlane/
: 包含 Fastlane 插件的主要代码。lib/
: 包含插件的库文件。spec/
: 包含测试文件。.gitignore
: Git 忽略文件配置。.rspec
: RSpec 配置文件。.rubocop.yml
: RuboCop 配置文件。.travis.yml
: Travis CI 配置文件。Gemfile
: Ruby 依赖管理文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。Rakefile
: Rake 任务配置文件。fastlane-plugin-semantic_release.gemspec
: 插件的 gemspec 文件。
2. 项目的启动文件介绍
项目的启动文件主要是 fastlane-plugin-semantic_release.gemspec
和 Rakefile
。
fastlane-plugin-semantic_release.gemspec
这个文件定义了插件的 gem 规范,包括名称、版本、依赖等信息。
Gem::Specification.new do |spec|
spec.name = "fastlane-plugin-semantic_release"
spec.version = "1.18.2"
spec.authors = ["Jiří Otáhal"]
spec.email = ["jiri.otahal@gmail.com"]
spec.summary = "Automated version managment and generator of release notes"
spec.homepage = "https://github.com/xotahal/fastlane-plugin-semantic_release"
spec.license = "MIT"
spec.files = Dir["lib/**/*"] + ["README.md", "LICENSE"]
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency 'bundler'
spec.add_development_dependency 'fastlane'
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'
spec.add_development_dependency 'rubocop-require_tools'
spec.add_development_dependency 'simplecov'
end
Rakefile
这个文件定义了 Rake 任务,用于运行测试和其他开发任务。
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
task :default => :spec
3. 项目的配置文件介绍
项目的配置文件主要包括 .rubocop.yml
和 .travis.yml
。
.rubocop.yml
这个文件定义了 RuboCop 的代码风格检查规则。
require:
- rubocop-require_tools
AllCops:
TargetRubyVersion: 2.6
Exclude:
- 'vendor/**/*'
- 'spec/fixtures/**/*'
- 'fastlane/plugin/semantic_release/version.rb'
.travis.yml
这个文件定义了 Travis CI 的构建配置。
language: ruby
rvm:
- 2.6.0
before_install: