flutter_rb 1.0.2 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -11
- data/bin/frb +2 -0
- data/lib/checkstyle_report/checkstyle_report.rb +5 -3
- data/lib/flutter_rb/checks/check.rb +3 -1
- data/lib/flutter_rb/checks/plugin_directories_check.rb +2 -0
- data/lib/flutter_rb/checks/plugin_gradle_check.rb +2 -0
- data/lib/flutter_rb/checks/plugin_podspec_check.rb +2 -0
- data/lib/flutter_rb/checks/plugin_pubspec_check.rb +43 -9
- data/lib/flutter_rb/config/flutter_rb_config.rb +2 -0
- data/lib/flutter_rb/config/flutter_rb_config_initializer.rb +26 -19
- data/lib/flutter_rb/project/project.rb +3 -6
- data/lib/flutter_rb/project/specs/android/android_folder.rb +2 -0
- data/lib/flutter_rb/project/specs/android/gradle.rb +2 -0
- data/lib/flutter_rb/project/specs/flutter/dev_dependency.rb +2 -0
- data/lib/flutter_rb/project/specs/flutter/platform_plugin.rb +4 -2
- data/lib/flutter_rb/project/specs/flutter/pubspec.rb +3 -6
- data/lib/flutter_rb/project/specs/flutter/pubspec_info.rb +3 -7
- data/lib/flutter_rb/project/specs/ios/ios_folder.rb +2 -0
- data/lib/flutter_rb/project/specs/ios/podspec.rb +3 -7
- data/lib/flutter_rb/report/check_report.rb +6 -9
- data/lib/flutter_rb.rb +7 -3
- metadata +16 -4
- data/CODE_OF_CONDUCT.md +0 -76
- data/COMMIT_CONVENTION.md +0 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d708635770d65db09e97f3864f6e35ebcba46c13c84d6a388e6f10e9adc72e4
|
4
|
+
data.tar.gz: 1db4f12f4a0d23ba569a1c885eb3db6b295f11f2954594207750e738c91fa885
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
29
|
-
|
30
|
-
| `PluginDirectoriesCheck`
|
31
|
-
| `PluginPubspecNameCheck`
|
32
|
-
| `PluginPubspecDescriptionCheck`
|
33
|
-
| `PluginPubspecVersionCheck`
|
34
|
-
| `PluginPubspecAuthorCheck`
|
35
|
-
| `PluginPubspecHomepageCheck`
|
36
|
-
| `
|
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
|
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
|
-
|
111
|
+
exclude:
|
110
112
|
flutter:
|
111
113
|
- check1
|
112
114
|
- check2
|
data/bin/frb
CHANGED
@@ -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'
|
84
|
-
SEVERITY_WARNING = 'warning'
|
85
|
-
SEVERITY_ERROR = 'error'
|
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'
|
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
|
|
@@ -145,34 +147,66 @@ module FlutterRb
|
|
145
147
|
end
|
146
148
|
end
|
147
149
|
|
148
|
-
# Check Flutter plugin
|
149
|
-
|
150
|
-
|
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
|
-
'
|
187
|
+
'PluginPubspecFlutterLintsCheck'
|
154
188
|
end
|
155
189
|
|
156
190
|
# @return {String}
|
157
191
|
def summary
|
158
|
-
'Validate Flutter plugin\'s
|
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
|
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
|
-
|
171
|
-
dev_dependency.name == '
|
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
|
-
|
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
|
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
|
-
|
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)
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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
|
-
|
41
|
-
|
42
|
-
|
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
|
-
|
47
|
-
|
48
|
-
|
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
|
-
|
55
|
-
|
56
|
-
|
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
|
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'
|
19
|
-
IOS = 'ios'
|
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 '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'
|
54
|
-
WARNING = 'warning'
|
55
|
-
ERROR = 'error'
|
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
|
-
#
|
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.
|
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-
|
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.
|