flutter_rb 1.0.2 → 1.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: 8fd9ab4300d4125491e760985c8d40ffc3fa5f96991591e175f944841982328f
4
- data.tar.gz: b1458595c0f9f9ffdd6f288acb6ef38a2e008a6d692bdacfc1c91afb9512c193
3
+ metadata.gz: 5d708635770d65db09e97f3864f6e35ebcba46c13c84d6a388e6f10e9adc72e4
4
+ data.tar.gz: 1db4f12f4a0d23ba569a1c885eb3db6b295f11f2954594207750e738c91fa885
5
5
  SHA512:
6
- metadata.gz: 44ee511a8e2f5537d14eaa0097fcb0ba22e61fdfcb9b9300814b5b793cc23617a7017dd413384069f95cbd7f6ebd7a1cf3330a0011aa942318bc4224bdc5b2db
7
- data.tar.gz: 42eb043999a521b44ec7a9950e6cb9e1fc8fb8fecf2f8d59cc0b9c6e0c369a69d43a071be6970bcac8780e3caa734f7c2ea9468b098e40d52daed92b6be43d29
6
+ metadata.gz: ce685d7cfeb7b65bd31113f167d91aa59fb5ba23368f744a4d1efa14d7b2f5e97e32e7b4fa2012a32ba2fafb94f29c6d30e68602e25648aff0fe7695bafc0ce5
7
+ data.tar.gz: 6d11387d9654065b86410ab14612ec2ac4711f181d8c56d9551f762d408b6ba00ba0c1b81f72145af283d970e17b51dafa0c8d545925dae11df65b7630bfd70c
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ <!--suppress CheckImageSize -->
1
2
  <img src="media/logo/ic_lib.png" height="100px" alt="Project's logo">
2
3
 
3
4
  # flutter_rb
@@ -25,15 +26,16 @@ Each issue has a `level` parameter that describes its significant importance.
25
26
 
26
27
  #### Flutter
27
28
 
28
- | Check | Description | Level |
29
- |-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|
30
- | `PluginDirectoriesCheck` | Check plugin directories structure in pubspec file. Example: if a Flutter plugin has only Android specific code but not contains iOS folder with description, then iOS build fails | `ERROR` |
31
- | `PluginPubspecNameCheck` | Check plugin name in pubspec file. Exists or not | `ERROR` |
32
- | `PluginPubspecDescriptionCheck` | Check plugin description in pubspec file. Exists or not | `WARNING` |
33
- | `PluginPubspecVersionCheck` | Check plugin version in pubspec. Exists or not | `ERROR` |
34
- | `PluginPubspecAuthorCheck` | Check plugin author in pubspec. Exists or not. `author` section deprecated in `pubspec.yaml` | `WARNING` |
35
- | `PluginPubspecHomepageCheck` | Check plugin homepage in pubspec. Exists or not | `ERROR` |
36
- | `PluginPubspecEffectiveDartCheck` | Check Flutter plugin Effective Dart depencency in pubspec file. Exists or not | `ERROR` |
29
+ | Check | Description | Level |
30
+ |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|
31
+ | `PluginDirectoriesCheck` | Check plugin directories structure in pubspec file. Example: if a Flutter plugin has only Android specific code but not contains iOS folder with description, then iOS build fails | `ERROR` |
32
+ | `PluginPubspecNameCheck` | Check plugin name in pubspec file. Exists or not | `ERROR` |
33
+ | `PluginPubspecDescriptionCheck` | Check plugin description in pubspec file. Exists or not | `WARNING` |
34
+ | `PluginPubspecVersionCheck` | Check plugin version in pubspec. Exists or not | `ERROR` |
35
+ | `PluginPubspecAuthorCheck` | Check plugin author in pubspec. Exists or not. `author` section deprecated in `pubspec.yaml` | `WARNING` |
36
+ | `PluginPubspecHomepageCheck` | Check plugin homepage in pubspec. Exists or not | `ERROR` |
37
+ | `PluginPubspecLintsCheck` | Check Flutter plugin `lints` dependency in pubspec file. Exists or not | `ERROR` |
38
+ | `PluginPubspecFlutterLintsCheck` | Check Flutter plugin `flutter_lints` dependency in pubspec file. Exists or not | `ERROR` |
37
39
 
38
40
  #### Android
39
41
 
@@ -103,10 +105,10 @@ $ local_frb
103
105
 
104
106
  ### Configuration
105
107
 
106
- Add `.flutter_rb.yaml` to root of a project for select checks that you are want to execute:
108
+ Add `.flutter_rb.yaml` to root of a project for select checks that you are want to exclude:
107
109
 
108
110
  ```yaml
109
- include:
111
+ exclude:
110
112
  flutter:
111
113
  - check1
112
114
  - check2
data/bin/frb CHANGED
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # frozen_string_literal: true
4
+
3
5
  require 'flutter_rb'
4
6
  require 'colorize'
5
7
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'nokogiri'
2
4
 
3
5
  # Module with classes for creating reports in Checkstyle format
@@ -80,9 +82,9 @@ module CheckstyleReport
80
82
 
81
83
  # Checkstyle error representation
82
84
  class CheckstyleError
83
- SEVERITY_NORMAL = 'normal'.freeze
84
- SEVERITY_WARNING = 'warning'.freeze
85
- SEVERITY_ERROR = 'error'.freeze
85
+ SEVERITY_NORMAL = 'normal'
86
+ SEVERITY_WARNING = 'warning'
87
+ SEVERITY_ERROR = 'error'
86
88
 
87
89
  # rubocop:disable Metrics/ParameterLists
88
90
  # @param {String} severity
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlutterRb
2
4
  # Base class for all checks
3
5
  # Class provides default methods structure
4
6
  # All methods using for create reports
5
7
  class Check
6
- UNIMPLEMENTED_ERROR = 'Error: missing method'.freeze
8
+ UNIMPLEMENTED_ERROR = 'Error: missing method'
7
9
 
8
10
  # @return {String}
9
11
  def name
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'check'
2
4
  require_relative '../report/check_report'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './check'
2
4
  require_relative '../report/check_report'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'check'
2
4
  require_relative '../report/check_report'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'check'
2
4
  require_relative '../report/check_report'
3
5
 
@@ -145,34 +147,66 @@ module FlutterRb
145
147
  end
146
148
  end
147
149
 
148
- # Check Flutter plugin Effective Dart dependency in pubspec file. Exists or not
149
- # noinspection RubyClassModuleNamingConvention
150
- class PluginPubspecEffectiveDartCheck < Check
150
+ # Check Flutter plugin lints dependency in pubspec file. Exists or not
151
+ class PluginPubspecLintsCheck < Check
152
+ # @return {String}
153
+ def name
154
+ 'PluginPubspecLintsCheck'
155
+ end
156
+
157
+ # @return {String}
158
+ def summary
159
+ 'Validate Flutter plugin\'s lints rules implementation in pubspec.yaml'
160
+ end
161
+
162
+ # @return {String}
163
+ def description
164
+ 'Check Flutter plugin lints dependency in pubspec file'
165
+ end
166
+
167
+ # @param {Project} project
168
+ # @return {CheckReport}
169
+ def check(project)
170
+ pubspec = project.pubspec
171
+ lints = pubspec.dev_dependencies&.detect do |dev_dependency|
172
+ dev_dependency.name == 'lints'
173
+ end
174
+ CheckReport.new(
175
+ name,
176
+ lints.nil? ? CheckReportStatus::ERROR : CheckReportStatus::NORMAL,
177
+ description,
178
+ pubspec.path
179
+ )
180
+ end
181
+ end
182
+
183
+ # Check Flutter plugin flutter_lints dependency in pubspec file. Exists or not
184
+ class PluginPubspecFlutterLintsCheck < Check
151
185
  # @return {String}
152
186
  def name
153
- 'PluginPubspecEffectiveDartCheck'
187
+ 'PluginPubspecFlutterLintsCheck'
154
188
  end
155
189
 
156
190
  # @return {String}
157
191
  def summary
158
- 'Validate Flutter plugin\'s Effective Dart rules implementation in pubspec.yaml'
192
+ 'Validate Flutter plugin\'s flutter_lints rules implementation in pubspec.yaml'
159
193
  end
160
194
 
161
195
  # @return {String}
162
196
  def description
163
- 'Check Flutter plugin Effective Dart depencency in pubspec file'
197
+ 'Check Flutter plugin flutter_lints dependency in pubspec file'
164
198
  end
165
199
 
166
200
  # @param {Project} project
167
201
  # @return {CheckReport}
168
202
  def check(project)
169
203
  pubspec = project.pubspec
170
- effective_dart = pubspec.dev_dependencies&.detect do |dev_dependency|
171
- dev_dependency.name == 'effective_dart'
204
+ flutter_lints = pubspec.dev_dependencies&.detect do |dev_dependency|
205
+ dev_dependency.name == 'flutter_lints'
172
206
  end
173
207
  CheckReport.new(
174
208
  name,
175
- effective_dart.nil? ? CheckReportStatus::ERROR : CheckReportStatus::NORMAL,
209
+ flutter_lints.nil? ? CheckReportStatus::ERROR : CheckReportStatus::NORMAL,
176
210
  description,
177
211
  pubspec.path
178
212
  )
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlutterRb
2
4
  # FlutterRb configuration representation from config in Flutter plugin
3
5
  class FlutterRbConfig
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './flutter_rb_config'
2
4
  require_relative '../checks/plugin_directories_check'
3
5
 
@@ -13,7 +15,8 @@ module FlutterRb
13
15
  PluginPubspecVersionCheck.new,
14
16
  PluginPubspecAuthorCheck.new,
15
17
  PluginPubspecHomepageCheck.new,
16
- PluginPubspecEffectiveDartCheck.new
18
+ PluginPubspecLintsCheck.new,
19
+ PluginPubspecFlutterLintsCheck.new
17
20
  ].freeze
18
21
 
19
22
  ANDROID_CHECKS = [
@@ -30,30 +33,34 @@ module FlutterRb
30
33
 
31
34
  # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
32
35
  # @param {String} path
36
+ # @return {FlutterRbConfig}
33
37
  def parse(path)
34
- config = YAML.load_file(path)['include']
35
- flutter_checks = []
36
- unless config['flutter'].nil?
37
- flutter_checks += config['flutter'].map do |check|
38
- Object.const_get("FlutterRb::#{check}").new
38
+ config = YAML.load_file(path)
39
+
40
+ exclude_flutter_checks = ::Set.new
41
+ exclude_android_checks = ::Set.new
42
+ exclude_ios_checks = ::Set.new
43
+
44
+ unless config.nil?
45
+ exclude_checks = YAML.load_file(path)['exclude']
46
+
47
+ unless exclude_checks['flutter'].nil?
48
+ exclude_flutter_checks += exclude_checks['flutter'].map { |check| "FlutterRb::#{check}" }
39
49
  end
40
- end
41
- android_checks = []
42
- unless config['android'].nil?
43
- android_checks += config['android'].map do |check|
44
- Object.const_get("FlutterRb::#{check}").new
50
+
51
+ unless exclude_checks['android'].nil?
52
+ exclude_android_checks += exclude_checks['android'].map { |check| "FlutterRb::#{check}" }
45
53
  end
46
- end
47
- ios_checks = []
48
- unless config['ios'].nil?
49
- ios_checks += config['ios'].map do |check|
50
- Object.const_get("FlutterRb::#{check}").new
54
+
55
+ unless exclude_checks['ios'].nil?
56
+ exclude_ios_checks += exclude_checks['ios'].map { |check| "FlutterRb::#{check}" }
51
57
  end
52
58
  end
59
+
53
60
  FlutterRbConfig.new(
54
- flutter_checks.empty? ? FLUTTER_CHECKS : flutter_checks,
55
- android_checks.empty? ? ANDROID_CHECKS : android_checks,
56
- ios_checks.empty? ? IOS_CHECKS : ios_checks
61
+ FLUTTER_CHECKS.reject { |check| exclude_flutter_checks&.include?(check.class.name) },
62
+ ANDROID_CHECKS.reject { |check| exclude_android_checks&.include?(check.class.name) },
63
+ IOS_CHECKS.reject { |check| exclude_ios_checks&.include?(check.class.name) }
57
64
  )
58
65
  end
59
66
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './specs/flutter/pubspec'
2
4
  require_relative './specs/flutter/dev_dependency'
3
5
  require_relative './specs/flutter/platform_plugin'
@@ -14,12 +16,7 @@ module FlutterRb
14
16
  # @param {Pubspec} pubspec
15
17
  # @param {AndroidFolder} android_folder
16
18
  # @param {IOSFolder} ios_folder
17
- def initialize(
18
- path,
19
- pubspec,
20
- android_folder,
21
- ios_folder
22
- )
19
+ def initialize(path, pubspec, android_folder, ios_folder)
23
20
  @path = path
24
21
  @pubspec = pubspec
25
22
  @android_folder = android_folder
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './gradle'
2
4
 
3
5
  module FlutterRb
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  module FlutterRb
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlutterRb
2
4
  # Dev dependency, contains name and version
3
5
  class DevDependency
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlutterRb
2
4
  # Flutter plugin, contains platform, package and plugin class
3
5
  class PlatformPlugin
@@ -15,7 +17,7 @@ module FlutterRb
15
17
 
16
18
  # Supported platforms for this tool
17
19
  class Platform
18
- ANDROID = 'android'.freeze
19
- IOS = 'ios'.freeze
20
+ ANDROID = 'android'
21
+ IOS = 'ios'
20
22
  end
21
23
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './pubspec_info'
2
4
  require_relative './dev_dependency'
3
5
  require_relative './platform_plugin'
@@ -9,12 +11,7 @@ module FlutterRb
9
11
  # @param {PubspecInfo} pubspec_info
10
12
  # @param {DevDependency[]} dev_dependencies
11
13
  # @param {PlatformPlugin[]} platform_plugins
12
- def initialize(
13
- path,
14
- pubspec_info,
15
- dev_dependencies,
16
- platform_plugins
17
- )
14
+ def initialize(path, pubspec_info, dev_dependencies, platform_plugins)
18
15
  @path = path
19
16
  @pubspec_info = pubspec_info
20
17
  @dev_dependencies = dev_dependencies
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlutterRb
2
4
  # Flutter plugin info from pubspec.yaml
3
5
  class PubspecInfo
@@ -6,13 +8,7 @@ module FlutterRb
6
8
  # @param {String} version
7
9
  # @param {String} author
8
10
  # @param {String} homepage
9
- def initialize(
10
- name,
11
- description,
12
- version,
13
- author,
14
- homepage
15
- )
11
+ def initialize(name, description, version, author, homepage)
16
12
  @name = name
17
13
  @description = description
18
14
  @version = version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './podspec'
2
4
 
3
5
  module FlutterRb
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cocoapods'
2
4
 
3
5
  module FlutterRb
@@ -8,13 +10,7 @@ module FlutterRb
8
10
  # @param {String} version
9
11
  # @param {String[]} authors
10
12
  # @param {String} source
11
- def initialize(
12
- path,
13
- name,
14
- version,
15
- authors,
16
- source
17
- )
13
+ def initialize(path, name, version, authors, source)
18
14
  @path = path
19
15
  @name = name
20
16
  @version = version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'colorize'
2
4
 
3
5
  module FlutterRb
@@ -7,12 +9,7 @@ module FlutterRb
7
9
  # @param {CheckReportStatus} check_report_status
8
10
  # @param {String} message
9
11
  # @param {String} path
10
- def initialize(
11
- check_name,
12
- check_report_status,
13
- message,
14
- path
15
- )
12
+ def initialize(check_name, check_report_status, message, path)
16
13
  @check_name = check_name
17
14
  @check_report_status = check_report_status
18
15
  @message = message
@@ -50,8 +47,8 @@ module FlutterRb
50
47
 
51
48
  # Check report status
52
49
  class CheckReportStatus
53
- NORMAL = 'normal'.freeze
54
- WARNING = 'warning'.freeze
55
- ERROR = 'error'.freeze
50
+ NORMAL = 'normal'
51
+ WARNING = 'warning'
52
+ ERROR = 'error'
56
53
  end
57
54
  end
data/lib/flutter_rb.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './flutter_rb/project/project'
2
4
  require_relative './flutter_rb/checks/plugin_directories_check'
3
5
  require_relative './flutter_rb/checks/plugin_pubspec_check'
@@ -8,10 +10,11 @@ require_relative './flutter_rb/config/flutter_rb_config_initializer'
8
10
  require_relative './checkstyle_report/checkstyle_report'
9
11
 
10
12
  module FlutterRb
11
- # Start FlutterRb checks
12
- # @param {String} path
13
- # @param {Bool} with_report
13
+ # FlutterRb entry
14
14
  class FlutterRb
15
+ # Start FlutterRb checks
16
+ # @param {String} path
17
+ # @param {Boolean} with_report
15
18
  def start(path, with_report)
16
19
  project = ProjectParser.new(path).project
17
20
  if project.nil?
@@ -25,6 +28,7 @@ module FlutterRb
25
28
  end
26
29
  end
27
30
 
31
+ # @return {Void}
28
32
  def exit_with_no_project
29
33
  puts 'No project'
30
34
  exit(-1)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flutter_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Fomchenkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-19 00:00:00.000000000 Z
11
+ date: 2023-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.8.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: dry-cli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: nokogiri
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -116,8 +130,6 @@ extensions: []
116
130
  extra_rdoc_files:
117
131
  - README.md
118
132
  files:
119
- - CODE_OF_CONDUCT.md
120
- - COMMIT_CONVENTION.md
121
133
  - LICENSE
122
134
  - README.md
123
135
  - bin/frb
data/CODE_OF_CONDUCT.md DELETED
@@ -1,76 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, sex characteristics, gender identity and expression,
9
- level of experience, education, socio-economic status, nationality, personal
10
- appearance, race, religion, or sexual identity and orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at jaman.smlnsk@gmail.com. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
-
73
- [homepage]: https://www.contributor-covenant.org
74
-
75
- For answers to common questions about this code of conduct, see
76
- https://www.contributor-covenant.org/faq
data/COMMIT_CONVENTION.md DELETED
@@ -1,58 +0,0 @@
1
- # Commit Convention
2
-
3
- ## How to work with a project
4
-
5
- ### As a repository maintainer
6
-
7
- #### New update
8
-
9
- 1. clone a project from a repository to local workspace;
10
- 2. create a new branch for an update;
11
- 3. complete the update;
12
- 4. perform a Code Review;
13
- 5. merge your branch with `master`;
14
- 6. delete your branch.
15
-
16
- #### Notes
17
-
18
- 1. always delete development branches;
19
- 2. always push squashed commit to `master`.
20
-
21
- ### As a contributor
22
-
23
- 1. clone a project from a repository to local workspace;
24
- 2. create a new branch for an update;
25
- 3. complete the update;
26
- 4. perform a Code Review;
27
- 5. create a Pull Request to the original repository.
28
-
29
- ## Branches
30
-
31
- ### In projects using next types of branches
32
-
33
- * `master` - master branch. Contains a production version of the project. Don't push working changes to `master`!
34
- * `version` - branch for a specific version.
35
- * `issue` - branch for a specific issue.
36
-
37
- ## Commit message structure
38
-
39
- ### Template
40
-
41
- ```text
42
- [DATE] [VERSION]: [MESSAGE]
43
- ```
44
-
45
- ### Example
46
-
47
- ```text
48
- 2019-05-12 v. 2.1.3: fixed bugs in History screen
49
- ```
50
-
51
- #### Commit body sections order
52
-
53
- 1. `added` - what was added in the commit;
54
- 2. `closed` - what issues closed in the commit;
55
- 3. `fixed` - what was fixed in the commit;
56
- 4. `updated` - what was updated in the commit;
57
- 5. `deleted` - what was deleted in the commit;
58
- 6. `refactored` - what was refactored in the commit.