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 +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.
|