@terafina/tffa-sfdx-plugin 13.0.0 → 14.0.0-rc.3
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.
- package/README.md +13 -12
- package/assets/homepage.html +49 -0
- package/bin/pmd/apex_ruleset.xml +143 -0
- package/bin/pmd/apex_test_ruleset.xml +36 -0
- package/bin/pmd/lib/animal-sniffer-annotations-1.14.jar +0 -0
- package/bin/pmd/lib/antlr-2.7.7.jar +0 -0
- package/bin/pmd/lib/antlr-runtime-3.5.2.jar +0 -0
- package/bin/pmd/lib/antlr4-runtime-4.7.2.jar +0 -0
- package/bin/pmd/lib/aopalliance-1.0.jar +0 -0
- package/bin/pmd/lib/asm-9.2.jar +0 -0
- package/bin/pmd/lib/cglib-3.3.0.jar +0 -0
- package/bin/pmd/lib/common_2.13-4.2.0.jar +0 -0
- package/bin/pmd/lib/commons-lang3-3.8.1.jar +0 -0
- package/bin/pmd/lib/error_prone_annotations-2.1.3.jar +0 -0
- package/bin/pmd/lib/gson-2.8.9.jar +0 -0
- package/bin/pmd/lib/j2objc-annotations-1.1.jar +0 -0
- package/bin/pmd/lib/javax.inject-1.jar +0 -0
- package/bin/pmd/lib/jcommander-1.48.jar +0 -0
- package/bin/pmd/lib/jol-core-0.4.jar +0 -0
- package/bin/pmd/lib/jsr305-3.0.2.jar +0 -0
- package/bin/pmd/lib/logback-classic-1.2.9.jar +0 -0
- package/bin/pmd/lib/logback-core-1.2.9.jar +0 -0
- package/bin/pmd/lib/pmd-apex-6.47.0.jar +0 -0
- package/bin/pmd/lib/pmd-apex-jorje-6.47.0-lib.jar +0 -0
- package/bin/pmd/lib/pmd-apex-jorje-6.47.0.pom +140 -0
- package/bin/pmd/lib/pmd-core-6.47.0.jar +0 -0
- package/bin/pmd/lib/rhino-1.7.14.jar +0 -0
- package/bin/pmd/lib/saxon-9.1.0.8-dom.jar +0 -0
- package/bin/pmd/lib/saxon-9.1.0.8.jar +0 -0
- package/bin/pmd/lib/slf4j-api-1.7.32.jar +0 -0
- package/bin/pmd/lib/snakeyaml-1.30.jar +0 -0
- package/bin/pmd/lib/stringtemplate-3.2.1.jar +0 -0
- package/bin/update.sh +49 -0
- package/lib/commands/tffa/apexdoc.js +3 -3
- package/lib/commands/tffa/apexdoc.js.map +1 -1
- package/lib/commands/tffa/lint.d.ts +1 -0
- package/lib/commands/tffa/lint.js +8 -1
- package/lib/commands/tffa/lint.js.map +1 -1
- package/lib/shared/apexdoc/common/apex-docs-error.js +1 -2
- package/lib/shared/apexdoc/common/apex-docs-error.js.map +1 -1
- package/lib/shared/apexdoc/common/models/engine-config.d.ts +2 -3
- package/lib/shared/apexdoc/common/models/engine-config.js +17 -1
- package/lib/shared/apexdoc/common/models/engine-config.js.map +1 -1
- package/lib/shared/apexdoc/common/settings.d.ts +1 -1
- package/lib/shared/apexdoc/common/settings.js +5 -7
- package/lib/shared/apexdoc/common/settings.js.map +1 -1
- package/lib/shared/apexdoc/common/utils.d.ts +1 -0
- package/lib/shared/apexdoc/common/utils.js +20 -0
- package/lib/shared/apexdoc/common/utils.js.map +1 -1
- package/lib/shared/apexdoc/common/validator-engine.d.ts +0 -1
- package/lib/shared/apexdoc/common/validator-engine.js +6 -6
- package/lib/shared/apexdoc/common/validator-engine.js.map +1 -1
- package/lib/shared/apexdoc/engine/file-manager.js +4 -1
- package/lib/shared/apexdoc/engine/file-manager.js.map +1 -1
- package/lib/shared/lint/apex-class-lint.js +2 -2
- package/lib/shared/lint/apex-class-lint.js.map +1 -1
- package/lib/shared/lint/apex-pmd.d.ts +8 -0
- package/lib/shared/lint/apex-pmd.js +124 -0
- package/lib/shared/lint/apex-pmd.js.map +1 -0
- package/lib/shared/lint/ignored-files.d.ts +1 -0
- package/lib/shared/lint/ignored-files.js +13 -2
- package/lib/shared/lint/ignored-files.js.map +1 -1
- package/lib/shared/meta/field-scan.js +1 -1
- package/lib/shared/meta/field-scan.js.map +1 -1
- package/lib/shared/utils/jreSetupManager.d.ts +17 -0
- package/lib/shared/utils/jreSetupManager.js +135 -0
- package/lib/shared/utils/jreSetupManager.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +9 -7
- package/bin/run +0 -4
- package/bin/run.cmd +0 -3
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ $ npm install -g @terafina/tffa-sfdx-plugin
|
|
|
41
41
|
$ sfdx COMMAND
|
|
42
42
|
running command...
|
|
43
43
|
$ sfdx (--version|-v)
|
|
44
|
-
@terafina/tffa-sfdx-plugin/
|
|
44
|
+
@terafina/tffa-sfdx-plugin/14.0.0-rc.3 linux-x64 node-v16.13.1
|
|
45
45
|
$ sfdx --help [COMMAND]
|
|
46
46
|
USAGE
|
|
47
47
|
$ sfdx COMMAND
|
|
@@ -53,8 +53,8 @@ USAGE
|
|
|
53
53
|
|
|
54
54
|
<!-- commands -->
|
|
55
55
|
* [`sfdx help [COMMAND]`](#sfdx-help-command)
|
|
56
|
-
* [`sfdx tffa:apexdoc [-
|
|
57
|
-
* [`sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffalint--s-directory--m-integer--j---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
56
|
+
* [`sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaapexdoc--s-directory---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
57
|
+
* [`sfdx tffa:lint [-s <directory>] [-m <integer>] [-r <filepath>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffalint--s-directory--m-integer--r-filepath--j---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
58
58
|
* [`sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffameta--s-directory--d-directory--c-directory--o-jsoncsvhuman--f---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
59
59
|
* [`sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-tffaping---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
|
|
60
60
|
* [`sfdx version`](#sfdx-version)
|
|
@@ -79,17 +79,17 @@ DESCRIPTION
|
|
|
79
79
|
|
|
80
80
|
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_
|
|
81
81
|
|
|
82
|
-
## `sfdx tffa:apexdoc [-
|
|
82
|
+
## `sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
83
83
|
|
|
84
84
|
Generate Apex API Documentation
|
|
85
85
|
|
|
86
86
|
```
|
|
87
87
|
USAGE
|
|
88
|
-
$ sfdx tffa:apexdoc [-
|
|
88
|
+
$ sfdx tffa:apexdoc [-s <directory>] [--json] [--loglevel
|
|
89
89
|
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
90
90
|
|
|
91
91
|
FLAGS
|
|
92
|
-
-
|
|
92
|
+
-s, --sourcefolder=<value> [default: .] directory containing
|
|
93
93
|
package metadata
|
|
94
94
|
--json format output as json
|
|
95
95
|
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
@@ -102,21 +102,22 @@ EXAMPLES
|
|
|
102
102
|
Generate Apex API Documentation : $sfdx tffa:apexdoc
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
_See code: [src/commands/tffa/apexdoc.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/
|
|
105
|
+
_See code: [src/commands/tffa/apexdoc.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v14.0.0-rc.3/src/commands/tffa/apexdoc.ts)_
|
|
106
106
|
|
|
107
|
-
## `sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
107
|
+
## `sfdx tffa:lint [-s <directory>] [-m <integer>] [-r <filepath>] [-j] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
108
108
|
|
|
109
109
|
scan a sfdx project and provide a violations report based on defined standards
|
|
110
110
|
|
|
111
111
|
```
|
|
112
112
|
USAGE
|
|
113
|
-
$ sfdx tffa:lint [-s <directory>] [-m <integer>] [-j] [--loglevel
|
|
113
|
+
$ sfdx tffa:lint [-s <directory>] [-m <integer>] [-r <filepath>] [-j] [--loglevel
|
|
114
114
|
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
|
|
115
115
|
|
|
116
116
|
FLAGS
|
|
117
117
|
-j, --json generate json output
|
|
118
118
|
-m, --minapi=<value> [default: 53] minimum api version to
|
|
119
119
|
use during quality checks
|
|
120
|
+
-r, --rulesetpath=<value> path to pmd ruleset
|
|
120
121
|
-s, --sourcefolder=<value> [default: .] directory containing
|
|
121
122
|
sfdx project
|
|
122
123
|
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
|
|
@@ -129,7 +130,7 @@ EXAMPLES
|
|
|
129
130
|
Scan a sfdx project and provide list of code violations : $sfdx tffa:scan
|
|
130
131
|
```
|
|
131
132
|
|
|
132
|
-
_See code: [src/commands/tffa/lint.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/
|
|
133
|
+
_See code: [src/commands/tffa/lint.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v14.0.0-rc.3/src/commands/tffa/lint.ts)_
|
|
133
134
|
|
|
134
135
|
## `sfdx tffa:meta [-s <directory>] [-d <directory>] [-c <directory>] [-o json|csv|human] [-f] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
135
136
|
|
|
@@ -158,7 +159,7 @@ EXAMPLES
|
|
|
158
159
|
scan a sfdx project for metadata : $sfdx tffa:meta
|
|
159
160
|
```
|
|
160
161
|
|
|
161
|
-
_See code: [src/commands/tffa/meta.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/
|
|
162
|
+
_See code: [src/commands/tffa/meta.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v14.0.0-rc.3/src/commands/tffa/meta.ts)_
|
|
162
163
|
|
|
163
164
|
## `sfdx tffa:ping [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
|
|
164
165
|
|
|
@@ -180,7 +181,7 @@ EXAMPLES
|
|
|
180
181
|
$ sfdx tffa:ping
|
|
181
182
|
```
|
|
182
183
|
|
|
183
|
-
_See code: [src/commands/tffa/ping.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/
|
|
184
|
+
_See code: [src/commands/tffa/ping.ts](https://github.com/terafina/tffa-sfdx-plugin/blob/v14.0.0-rc.3/src/commands/tffa/ping.ts)_
|
|
184
185
|
|
|
185
186
|
## `sfdx version`
|
|
186
187
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
|
|
3
|
+
<body>
|
|
4
|
+
<h2>Terafina Financial Application Documentation</h2>
|
|
5
|
+
<p>Terafina provides a Fully Integrated Omni Channel Sales Platform for Financial Institutions. The Application provides a seamless
|
|
6
|
+
sales experience combining digital, call center & branch sales in one platform for all key banking products.
|
|
7
|
+
<br />
|
|
8
|
+
<p>
|
|
9
|
+
This documentation is aimed at unmanaged customization developers who would access the classes.
|
|
10
|
+
<br />
|
|
11
|
+
The key groups are : <br />
|
|
12
|
+
<ol>
|
|
13
|
+
<li>
|
|
14
|
+
Common - Framework and utility classes
|
|
15
|
+
</li>
|
|
16
|
+
<li>
|
|
17
|
+
Controller - Global accessible RemoteAction controllers
|
|
18
|
+
</li>
|
|
19
|
+
<li>
|
|
20
|
+
Data Transfer Object (DTO) - A data container which is used to transport data between layers . It mainly contains of attributes.
|
|
21
|
+
DTOs are anemic in general and do not contain any business logic.
|
|
22
|
+
</li>
|
|
23
|
+
<li>
|
|
24
|
+
Enumeration - All the enumerations used throughout the code
|
|
25
|
+
</li>
|
|
26
|
+
<li>
|
|
27
|
+
Extension - The service pre and post extension classes
|
|
28
|
+
</li>
|
|
29
|
+
<li>
|
|
30
|
+
Provider - All external integration providers and their factory
|
|
31
|
+
</li>
|
|
32
|
+
<li>
|
|
33
|
+
Job - Apex Batch Jobs part of the package. All batch jobs should extend AbstractBatchJob
|
|
34
|
+
</li>
|
|
35
|
+
<li>
|
|
36
|
+
REST Service - Apex classes and methods so that external applications can access your code and your application through the REST
|
|
37
|
+
architecture
|
|
38
|
+
</li>
|
|
39
|
+
<li>
|
|
40
|
+
Service - Encapsulates business logic that are NOT typical CRUD operations – those would belong to a Repository.
|
|
41
|
+
Services are always exposed as an interface to expose a set of cohesive operations in the form of a contract.
|
|
42
|
+
</li>
|
|
43
|
+
</ol>
|
|
44
|
+
</p>
|
|
45
|
+
</p>
|
|
46
|
+
<br />
|
|
47
|
+
</body>
|
|
48
|
+
|
|
49
|
+
</html>
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<ruleset
|
|
3
|
+
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
|
4
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
5
|
+
name="TFFA ruleset for Salesforce.com Apex"
|
|
6
|
+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd"
|
|
7
|
+
>
|
|
8
|
+
<description>TFFA ruleset for Salesforce.com Apex</description>
|
|
9
|
+
<exclude-pattern>.*</exclude-pattern>
|
|
10
|
+
<include-pattern>.*/app/main/default/classes/.*</include-pattern>
|
|
11
|
+
<include-pattern>.*/app/main/default/triggers/.*</include-pattern>
|
|
12
|
+
<!--SECURITY -->
|
|
13
|
+
<rule ref="category/apex/security.xml">
|
|
14
|
+
<priority>1</priority>
|
|
15
|
+
<exclude name="ApexOpenRedirect" />
|
|
16
|
+
<exclude name="ApexBadCrypto" />
|
|
17
|
+
<exclude name="ApexSuggestUsingNamedCred" />
|
|
18
|
+
</rule>
|
|
19
|
+
<!--SECURITY -->
|
|
20
|
+
<!--DESIGN -->
|
|
21
|
+
<rule ref="category/apex/design.xml">
|
|
22
|
+
<exclude name="StdCyclomaticComplexity" />
|
|
23
|
+
<exclude name="ExcessivePublicCount" />
|
|
24
|
+
<exclude name="CyclomaticComplexity" />
|
|
25
|
+
<exclude name="CognitiveComplexity" />
|
|
26
|
+
<exclude name="TooManyFields" />
|
|
27
|
+
<exclude name="NcssMethodCount" />
|
|
28
|
+
<exclude name="NcssConstructorCount" />
|
|
29
|
+
<exclude name="ExcessiveParameterList" />
|
|
30
|
+
<exclude name="NcssTypeCount" />
|
|
31
|
+
<exclude name="ExcessiveClassLength" />
|
|
32
|
+
<exclude name="AvoidDeeplyNestedIfStmts" />
|
|
33
|
+
</rule>
|
|
34
|
+
<rule ref="category/apex/design.xml/AvoidDeeplyNestedIfStmts" message="Deeply nested if..else statements are hard to read">
|
|
35
|
+
<priority>3</priority>
|
|
36
|
+
<properties>
|
|
37
|
+
<property name="problemDepth" value="10" />
|
|
38
|
+
</properties>
|
|
39
|
+
</rule>
|
|
40
|
+
<rule ref="category/apex/design.xml/ExcessiveClassLength" message="Avoid really long classes (lines of code)">
|
|
41
|
+
<priority>3</priority>
|
|
42
|
+
<properties>
|
|
43
|
+
<property name="minimum" value="4000" />
|
|
44
|
+
</properties>
|
|
45
|
+
</rule>
|
|
46
|
+
<rule ref="category/apex/design.xml/NcssTypeCount" message="The type has an NCSS line count of {0}">
|
|
47
|
+
<priority>3</priority>
|
|
48
|
+
<properties>
|
|
49
|
+
<property name="minimum" value="1500" />
|
|
50
|
+
</properties>
|
|
51
|
+
</rule>
|
|
52
|
+
<!--DESIGN -->
|
|
53
|
+
<!-- BEST PRACTICES -->
|
|
54
|
+
<rule ref="category/apex/bestpractices.xml">
|
|
55
|
+
<exclude name="ApexAssertionsShouldIncludeMessage" />
|
|
56
|
+
<exclude name="AvoidGlobalModifier" />
|
|
57
|
+
<exclude name="UnusedLocalVariable" />
|
|
58
|
+
<exclude name="DebugsShouldUseLoggingLevel" />
|
|
59
|
+
|
|
60
|
+
</rule>
|
|
61
|
+
<!-- BEST PRACTICES -->
|
|
62
|
+
<!-- DOCUMENTATION -->
|
|
63
|
+
<rule ref="category/apex/documentation.xml">
|
|
64
|
+
<exclude name="ApexDoc" />
|
|
65
|
+
</rule>
|
|
66
|
+
<!-- DOCUMENTATION -->
|
|
67
|
+
<!-- PERFORMANCE -->
|
|
68
|
+
<rule ref="category/apex/performance.xml">
|
|
69
|
+
<exclude name="EagerlyLoadedDescribeSObjectResult" />
|
|
70
|
+
<exclude name="AvoidDebugStatements" />
|
|
71
|
+
</rule>
|
|
72
|
+
<rule ref="category/apex/performance.xml/AvoidDebugStatements" message="Avoid System.debug statements use tffa.Logger instead">
|
|
73
|
+
<priority>1</priority>
|
|
74
|
+
<properties />
|
|
75
|
+
</rule>
|
|
76
|
+
<!-- PERFORMANCE -->
|
|
77
|
+
<!-- CODE STYLE -->
|
|
78
|
+
<rule ref="category/apex/codestyle.xml">
|
|
79
|
+
<priority>3</priority>
|
|
80
|
+
<exclude name="FieldDeclarationsShouldBeAtStart" />
|
|
81
|
+
<exclude name="IfElseStmtsMustUseBraces" />
|
|
82
|
+
<exclude name="IfStmtsMustUseBraces" />
|
|
83
|
+
<exclude name="MethodNamingConventions" />
|
|
84
|
+
<exclude name="FieldNamingConventions" />
|
|
85
|
+
<exclude name="PropertyNamingConventions" />
|
|
86
|
+
<exclude name="FormalParameterNamingConventions" />
|
|
87
|
+
<exclude name="LocalVariableNamingConventions" />
|
|
88
|
+
|
|
89
|
+
</rule>
|
|
90
|
+
<rule ref="category/apex/codestyle.xml/MethodNamingConventions" message="Method name does not begin with a lower case character.">
|
|
91
|
+
<priority>3</priority>
|
|
92
|
+
<properties>
|
|
93
|
+
<property name="testPattern" value="[a-zA-Z0-9_]*" />
|
|
94
|
+
<property name="staticPattern" value="[a-zA-Z0-9_]*" />
|
|
95
|
+
<property name="instancePattern" value="[a-zA-Z0-9_]*" />
|
|
96
|
+
</properties>
|
|
97
|
+
</rule>
|
|
98
|
+
<rule ref="category/apex/codestyle.xml/FieldNamingConventions" message="The {0} name doesn''t match ''{2}''">
|
|
99
|
+
<priority>3</priority>
|
|
100
|
+
<properties>
|
|
101
|
+
<property name="enumConstantPattern" value="[A-Z][a-zA-Z0-9_]*" />
|
|
102
|
+
<property name="constantPattern" value="[a-zA-Z0-9_]*" />
|
|
103
|
+
<property name="finalPattern" value="[a-zA-Z0-9_]*" />
|
|
104
|
+
<property name="staticPattern" value="[a-zA-Z0-9_]*" />
|
|
105
|
+
<property name="instancePattern" value="[a-zA-Z][a-zA-Z0-9_]*" />
|
|
106
|
+
</properties>
|
|
107
|
+
</rule>
|
|
108
|
+
<rule ref="category/apex/codestyle.xml/PropertyNamingConventions" message="The {0} name doesn''t match ''{2}''">
|
|
109
|
+
<priority>3</priority>
|
|
110
|
+
<properties>
|
|
111
|
+
<property name="staticPattern" value="[a-zA-Z][a-z_A-Z0-9]*" />
|
|
112
|
+
<property name="instancePattern" value="[a-zA-Z][a-z_A-Z0-9]*" />
|
|
113
|
+
</properties>
|
|
114
|
+
</rule>
|
|
115
|
+
<rule ref="category/apex/codestyle.xml/FormalParameterNamingConventions" message="The {0} name doesn''t match ''{2}''">
|
|
116
|
+
<priority>3</priority>
|
|
117
|
+
<properties>
|
|
118
|
+
<property name="finalMethodParameterPattern" value="[a-z][a-zA-Z0-9]*" />
|
|
119
|
+
<property name="methodParameterPattern" value="[a-z][a-zA-Z0-9_]*" />
|
|
120
|
+
</properties>
|
|
121
|
+
</rule>
|
|
122
|
+
<rule ref="category/apex/codestyle.xml/LocalVariableNamingConventions" message="The {0} name doesn''t match ''{2}''">
|
|
123
|
+
<priority>3</priority>
|
|
124
|
+
<properties>
|
|
125
|
+
<property name="finalLocalPattern" value="[a-z][a-zA-Z0-9]*" />
|
|
126
|
+
<property name="localPattern" value="[a-z][a-zA-Z0-9]*" />
|
|
127
|
+
</properties>
|
|
128
|
+
</rule>
|
|
129
|
+
<!-- CODE STYLE -->
|
|
130
|
+
<!-- ERROR PRONE -->
|
|
131
|
+
<rule ref="category/apex/errorprone.xml">
|
|
132
|
+
<exclude name="EmptyCatchBlock" />
|
|
133
|
+
<exclude name="EmptyStatementBlock" />
|
|
134
|
+
</rule>
|
|
135
|
+
<rule ref="category/apex/errorprone.xml/EmptyCatchBlock" message="Avoid empty catch blocks">
|
|
136
|
+
<priority>3</priority>
|
|
137
|
+
<properties>
|
|
138
|
+
<property name="allowCommentedBlocks" value="true" />
|
|
139
|
+
<property name="allowExceptionNameRegex" value="^(ignored|expected)$" />
|
|
140
|
+
</properties>
|
|
141
|
+
</rule>
|
|
142
|
+
<!-- END ERROR PRONE -->
|
|
143
|
+
</ruleset>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
|
2
|
+
<ruleset
|
|
3
|
+
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
|
4
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
5
|
+
name="TFFA ruleset for Salesforce.com Apex tests"
|
|
6
|
+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd"
|
|
7
|
+
>
|
|
8
|
+
<description>TFFA ruleset for Salesforce.com Apex tests</description>
|
|
9
|
+
<exclude-pattern>.*</exclude-pattern>
|
|
10
|
+
<include-pattern>.*/app/test/default/classes/.*</include-pattern>
|
|
11
|
+
<!-- BEST PRACTICES -->
|
|
12
|
+
<rule ref="category/apex/bestpractices.xml">
|
|
13
|
+
<priority>1</priority>
|
|
14
|
+
<exclude name="ApexAssertionsShouldIncludeMessage" />
|
|
15
|
+
<exclude name="AvoidGlobalModifier" />
|
|
16
|
+
<exclude name="UnusedLocalVariable" />
|
|
17
|
+
<exclude name="DebugsShouldUseLoggingLevel" />
|
|
18
|
+
</rule>
|
|
19
|
+
<!-- BEST PRACTICES -->
|
|
20
|
+
<!-- ERROR PRONE -->
|
|
21
|
+
<rule ref="category/apex/errorprone.xml">
|
|
22
|
+
<exclude name="EmptyCatchBlock" />
|
|
23
|
+
<exclude name="EmptyStatementBlock" />
|
|
24
|
+
<exclude name="AvoidHardcodingId" />
|
|
25
|
+
</rule>
|
|
26
|
+
<rule ref="category/apex/errorprone.xml/EmptyCatchBlock" message="Avoid empty catch blocks">
|
|
27
|
+
<priority>3</priority>
|
|
28
|
+
<properties>
|
|
29
|
+
<property name="allowCommentedBlocks" value="true" />
|
|
30
|
+
<property name="allowExceptionNameRegex" value="^(ignored|expected)$" />
|
|
31
|
+
</properties>
|
|
32
|
+
</rule>
|
|
33
|
+
<!-- END ERROR PRONE -->
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
</ruleset>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
|
4
|
+
<artifactId>pmd-apex-jorje</artifactId>
|
|
5
|
+
<name>PMD Apex Jorje Parser Library</name>
|
|
6
|
+
<packaging>pom</packaging>
|
|
7
|
+
|
|
8
|
+
<parent>
|
|
9
|
+
<groupId>net.sourceforge.pmd</groupId>
|
|
10
|
+
<artifactId>pmd</artifactId>
|
|
11
|
+
<version>6.47.0</version>
|
|
12
|
+
<relativePath>../pom.xml</relativePath>
|
|
13
|
+
</parent>
|
|
14
|
+
|
|
15
|
+
<properties>
|
|
16
|
+
<java.version>8</java.version>
|
|
17
|
+
<apex.jorje.version>2021-10-08-631b8c</apex.jorje.version>
|
|
18
|
+
</properties>
|
|
19
|
+
|
|
20
|
+
<build>
|
|
21
|
+
<plugins>
|
|
22
|
+
<plugin>
|
|
23
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
24
|
+
<artifactId>build-helper-maven-plugin</artifactId>
|
|
25
|
+
<version>3.0.0</version>
|
|
26
|
+
<executions>
|
|
27
|
+
<execution>
|
|
28
|
+
<id>attach-apex-jorje</id>
|
|
29
|
+
<phase>package</phase>
|
|
30
|
+
<goals>
|
|
31
|
+
<goal>attach-artifact</goal>
|
|
32
|
+
</goals>
|
|
33
|
+
<configuration>
|
|
34
|
+
<artifacts>
|
|
35
|
+
<artifact>
|
|
36
|
+
<file>${basedir}/repo/apex/apex-jorje-lsp-minimized/${apex.jorje.version}/apex-jorje-lsp-minimized-${apex.jorje.version}.jar</file>
|
|
37
|
+
<type>jar</type>
|
|
38
|
+
<classifier>lib</classifier>
|
|
39
|
+
</artifact>
|
|
40
|
+
</artifacts>
|
|
41
|
+
</configuration>
|
|
42
|
+
</execution>
|
|
43
|
+
</executions>
|
|
44
|
+
</plugin>
|
|
45
|
+
</plugins>
|
|
46
|
+
</build>
|
|
47
|
+
<dependencies>
|
|
48
|
+
<!-- transitive dependencies of apex-jorje -->
|
|
49
|
+
<dependency>
|
|
50
|
+
<groupId>cglib</groupId>
|
|
51
|
+
<artifactId>cglib</artifactId>
|
|
52
|
+
<version>3.3.0</version> <!-- apex jorje actually depends on 3.2.0 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
53
|
+
</dependency>
|
|
54
|
+
<dependency>
|
|
55
|
+
<groupId>ch.qos.logback</groupId>
|
|
56
|
+
<artifactId>logback-classic</artifactId>
|
|
57
|
+
<version>1.2.9</version> <!-- apex jorje actually depends on 1.1.7 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
58
|
+
</dependency>
|
|
59
|
+
<dependency>
|
|
60
|
+
<groupId>ch.qos.logback</groupId>
|
|
61
|
+
<artifactId>logback-core</artifactId>
|
|
62
|
+
<version>1.2.9</version> <!-- apex jorje actually depends on 1.1.7 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
63
|
+
</dependency>
|
|
64
|
+
<dependency>
|
|
65
|
+
<groupId>com.google.code.findbugs</groupId>
|
|
66
|
+
<artifactId>jsr305</artifactId>
|
|
67
|
+
<version>3.0.2</version>
|
|
68
|
+
</dependency>
|
|
69
|
+
<dependency>
|
|
70
|
+
<groupId>com.google.code.gson</groupId>
|
|
71
|
+
<artifactId>gson</artifactId>
|
|
72
|
+
<!-- apex jorje actually depends on 2.7 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
73
|
+
</dependency>
|
|
74
|
+
<dependency>
|
|
75
|
+
<groupId>com.google.errorprone</groupId>
|
|
76
|
+
<artifactId>error_prone_annotations</artifactId>
|
|
77
|
+
<version>2.1.3</version>
|
|
78
|
+
</dependency>
|
|
79
|
+
<dependency>
|
|
80
|
+
<groupId>com.google.guava</groupId>
|
|
81
|
+
<artifactId>guava</artifactId>
|
|
82
|
+
<!-- apex jorje actually depends on 26.0-jre (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
83
|
+
</dependency>
|
|
84
|
+
<dependency>
|
|
85
|
+
<groupId>com.google.j2objc</groupId>
|
|
86
|
+
<artifactId>j2objc-annotations</artifactId>
|
|
87
|
+
<version>1.1</version>
|
|
88
|
+
</dependency>
|
|
89
|
+
<dependency>
|
|
90
|
+
<groupId>org.antlr</groupId>
|
|
91
|
+
<artifactId>antlr-runtime</artifactId>
|
|
92
|
+
</dependency>
|
|
93
|
+
<dependency>
|
|
94
|
+
<groupId>org.antlr</groupId>
|
|
95
|
+
<artifactId>stringtemplate</artifactId>
|
|
96
|
+
<version>3.2.1</version>
|
|
97
|
+
</dependency>
|
|
98
|
+
<dependency>
|
|
99
|
+
<groupId>org.apache.commons</groupId>
|
|
100
|
+
<artifactId>commons-lang3</artifactId>
|
|
101
|
+
<version>3.0</version>
|
|
102
|
+
</dependency>
|
|
103
|
+
<dependency>
|
|
104
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
105
|
+
<artifactId>animal-sniffer-annotations</artifactId>
|
|
106
|
+
<version>1.14</version>
|
|
107
|
+
</dependency>
|
|
108
|
+
<dependency>
|
|
109
|
+
<groupId>org.openjdk.jol</groupId>
|
|
110
|
+
<artifactId>jol-core</artifactId>
|
|
111
|
+
<version>0.4</version>
|
|
112
|
+
</dependency>
|
|
113
|
+
<dependency>
|
|
114
|
+
<groupId>org.slf4j</groupId>
|
|
115
|
+
<artifactId>slf4j-api</artifactId>
|
|
116
|
+
<!-- apex jorje actually depends on 1.7.20 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
117
|
+
</dependency>
|
|
118
|
+
<dependency>
|
|
119
|
+
<groupId>org.yaml</groupId>
|
|
120
|
+
<artifactId>snakeyaml</artifactId>
|
|
121
|
+
<!-- apex jorje actually depends on 1.17 (https://github.com/forcedotcom/salesforcedx-vscode/commit/631b8cfb85cff5e989bfea13bca681b6cedcb003) -->
|
|
122
|
+
</dependency>
|
|
123
|
+
<dependency>
|
|
124
|
+
<groupId>aopalliance</groupId>
|
|
125
|
+
<artifactId>aopalliance</artifactId>
|
|
126
|
+
<version>1.0</version>
|
|
127
|
+
</dependency>
|
|
128
|
+
<dependency>
|
|
129
|
+
<groupId>javax.inject</groupId>
|
|
130
|
+
<artifactId>javax.inject</artifactId>
|
|
131
|
+
<version>1</version>
|
|
132
|
+
</dependency>
|
|
133
|
+
<dependency>
|
|
134
|
+
<groupId>org.ow2.asm</groupId>
|
|
135
|
+
<artifactId>asm</artifactId>
|
|
136
|
+
<version>5.0.3</version>
|
|
137
|
+
<scope>runtime</scope>
|
|
138
|
+
</dependency>
|
|
139
|
+
</dependencies>
|
|
140
|
+
</project>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/update.sh
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
2
|
+
rm -rf ${DIR}/pmd/lib/*
|
|
3
|
+
VERSION=$(curl -s https://api.github.com/repos/pmd/pmd/releases/latest | jq --raw-output ".tag_name")
|
|
4
|
+
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/pmd/pmd/releases/latest | jq --raw-output ".assets[].browser_download_url" | grep pmd-bin)
|
|
5
|
+
echo "version=${VERSION}"
|
|
6
|
+
echo "url=${DOWNLOAD_URL}"
|
|
7
|
+
curl $DOWNLOAD_URL -L -o ${DIR}/pmd.zip
|
|
8
|
+
mkdir -p ${DIR}/pmd
|
|
9
|
+
bsdtar --strip-components=1 -xvf ${DIR}/pmd.zip -C ${DIR}/pmd
|
|
10
|
+
rm ${DIR}/pmd.zip
|
|
11
|
+
cd ./pmd/lib
|
|
12
|
+
rm -rf fast*
|
|
13
|
+
rm -rf groovy*
|
|
14
|
+
rm -rf lenses*
|
|
15
|
+
rm -rf parsers*
|
|
16
|
+
rm -rf protobuf*
|
|
17
|
+
rm -rf scala*
|
|
18
|
+
rm -rf sourcecode*
|
|
19
|
+
rm -rf trees*
|
|
20
|
+
rm -rf jsoup*
|
|
21
|
+
rm -rf pmd-cpp*
|
|
22
|
+
rm -rf pmd-cs*
|
|
23
|
+
rm -rf pmd-dart*
|
|
24
|
+
rm -rf pmd-fortran*
|
|
25
|
+
rm -rf pmd-go*
|
|
26
|
+
rm -rf pmd-groovy*
|
|
27
|
+
rm -rf pmd-jsp*
|
|
28
|
+
rm -rf pmd-kotlin*
|
|
29
|
+
rm -rf pmd-lua*
|
|
30
|
+
rm -rf pmd-matlab*
|
|
31
|
+
rm -rf pmd-modelica*
|
|
32
|
+
rm -rf pmd-objectivec*
|
|
33
|
+
rm -rf pmd-perl*
|
|
34
|
+
rm -rf pmd-php*
|
|
35
|
+
rm -rf pmd-plsql*
|
|
36
|
+
rm -rf pmd-python*
|
|
37
|
+
rm -rf pmd-ruby*
|
|
38
|
+
rm -rf pmd-scala*
|
|
39
|
+
rm -rf pmd-swift*
|
|
40
|
+
rm -rf pmd-ui*
|
|
41
|
+
rm -rf pmd-html*
|
|
42
|
+
rm -rf pmd-java*
|
|
43
|
+
rm -rf pmd-javascript*
|
|
44
|
+
rm -rf pmd-visualforce*
|
|
45
|
+
rm -rf pmd-xml*
|
|
46
|
+
rm -rf pmd-vm*
|
|
47
|
+
cd ../..
|
|
48
|
+
rm -rf ${DIR}/pmd/bin
|
|
49
|
+
rm -rf ${DIR}/pmd/LICENSE
|
|
@@ -16,9 +16,9 @@ const utils_1 = tslib_1.__importDefault(require("../../shared/apexdoc/common/uti
|
|
|
16
16
|
const array_utils_1 = require("../../shared/apexdoc/common/array-utils");
|
|
17
17
|
class ApexDoc extends command_1.SfdxCommand {
|
|
18
18
|
async run() {
|
|
19
|
-
await core_1.SfdxProject.resolve();
|
|
19
|
+
await core_1.SfdxProject.resolve(this.flags.sourcefolder);
|
|
20
20
|
try {
|
|
21
|
-
settings_1.default.config = settings_1.default.getConfig(settings_1.Feature.ENGINE);
|
|
21
|
+
settings_1.default.config = settings_1.default.getConfig(settings_1.Feature.ENGINE, this.flags.sourcefolder);
|
|
22
22
|
this.generateDocs(settings_1.default.config);
|
|
23
23
|
}
|
|
24
24
|
catch (e) {
|
|
@@ -264,7 +264,7 @@ ApexDoc.description = 'Generate Apex API Documentation';
|
|
|
264
264
|
ApexDoc.examples = [`Generate Apex API Documentation :\t$sfdx tffa:apexdoc `];
|
|
265
265
|
ApexDoc.flagsConfig = {
|
|
266
266
|
sourcefolder: command_1.flags.directory({
|
|
267
|
-
char: '
|
|
267
|
+
char: 's',
|
|
268
268
|
description: 'directory containing package metadata',
|
|
269
269
|
default: '.'
|
|
270
270
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,mFAA6D;AAC7D,2CAA0D;AAE1D,yFAAyE;AACzE,oGAAmE;AACnE,+BAAgC;AAChC,2CAAyC;AACzC,kGAAiE;AACjE,sFAAsD;AACtD,yEAA+D;AAE/D,MAAqB,OAAQ,SAAQ,qBAAW;IAcvC,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"apexdoc.js","sourceRoot":"","sources":["../../../src/commands/tffa/apexdoc.ts"],"names":[],"mappings":";AAAA;;IAEI;;;AAEJ,iDAAyD;AACzD,mFAA6D;AAC7D,2CAA0D;AAE1D,yFAAyE;AACzE,oGAAmE;AACnE,+BAAgC;AAChC,2CAAyC;AACzC,kGAAiE;AACjE,sFAAsD;AACtD,yEAA+D;AAE/D,MAAqB,OAAQ,SAAQ,qBAAW;IAcvC,KAAK,CAAC,GAAG;QACd,MAAM,kBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI;YACF,kBAAQ,CAAC,MAAM,GAAG,kBAAQ,CAAC,SAAS,CAAgB,kBAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7F,IAAI,CAAC,YAAY,CAAC,kBAAQ,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,gBAAS,CAAC,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;SACpD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,MAAqB;QACxC,MAAM,YAAY,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;QAEvD,4CAA4C;QAC5C,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,kCAAkC;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,IAAA,eAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAElE,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5C,YAAY,EAAE,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,WAAW,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAElE,eAAe;QACf,MAAM,UAAU,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,sCAAsC,YAAY,wBAAwB,OAAO,IAAI,CAAC,CAAC;IACtG,CAAC;IAEO,mBAAmB,CAAC,MAAyC;QACnE,MAAM,aAAa,GAAmC,IAAI,GAAG,EAA6B,CAAC;QAE3F,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,sDAAsD;YACtD,oDAAoD;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,eAAe,EAC9C,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAEvC,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE;gBACf,UAAU,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aACxD;iBAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACpC,UAAU,CAAC,aAAa,GAAG,WAAW,CAAC;aACxC;YAED,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,QAAgB,EAAE,SAAyB;QACnE,MAAM,MAAM,GAAG,IAAI,qBAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,KAAK,EAAqB,CAAC;QAE/C,IAAI,IAA0B,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,EACb,qBAAqB,GAAG,CAAC,CAAC;QAC5B,IAAI,eAAe,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,CAAC;QAC1B,IAAI,MAAiC,EAAE,YAAuC,CAAC;QAC/E,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC7B,kDAAkD;YAClD,iCAAiC;YACjC,IAAI;YACJ,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE;gBAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;gBAEV,mBAAmB;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;oBAChB,SAAS;iBACV;gBAED,8DAA8D;gBAC9D,wDAAwD;gBACxD,6DAA6D;gBAC7D,yBAAyB;gBACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,CAAC,EAAE;oBAChB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;wBAChB,SAAS;qBACV;iBACF;gBAED,yBAAyB;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACzB,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,YAAY,GAAG,KAAK,CAAC;oBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAQ,CAAC,YAAY,CAAC,EAAE;wBAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,EAAE;4BACzC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAQ,CAAC,aAAa,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC;4BACtE,YAAY,GAAG,IAAI,CAAC;yBACrB;wBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,eAAe,GAAG,IAAI,CAAC;qBACxB;oBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE;wBACzD,eAAe,GAAG,KAAK,CAAC;wBACxB,eAAe,GAAG,KAAK,CAAC;qBACzB;oBACD,SAAS;iBACV;gBAED,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAQ,CAAC,aAAa,CAAC,EAAE;oBAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAQ,CAAC,aAAa,EAAE,kBAAQ,CAAC,eAAe,CAAC,CAAC;oBACtE,IAAI,eAAe,EAAE;wBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,eAAe,GAAG,KAAK,CAAC;qBACzB;oBACD,eAAe,GAAG,KAAK,CAAC;oBACxB,SAAS;iBACV;gBAED,IAAI,eAAe,EAAE;oBACnB,IAAI,eAAe,EAAE;wBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACrB;oBACD,SAAS;iBACV;gBAED,6DAA6D;gBAC7D,MAAM,WAAW,GAAG,eAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,eAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjD,qBAAqB,IAAI,WAAW,CAAC;gBACrC,qBAAqB,IAAI,YAAY,CAAC;gBAEtC,wEAAwE;gBACxE,gFAAgF;gBAChF,IAAI,qBAAqB,KAAK,CAAC,IAAI,WAAW,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;oBAC/F,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,MAAM,GAAG,IAAA,kBAAI,EAAC,OAAO,CAAC,CAAC;oBACvB,SAAS;iBACV;gBAED,6EAA6E;gBAC7E,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;iBAClC;gBAED,mEAAmE;gBACnE,iDAAiD;gBACjD,MAAM,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;iBAClC;gBAED,uDAAuD;gBACvD,yDAAyD;gBACzD,IAAI,eAAK,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;oBACtC,SAAS;iBACV;gBAED,oBAAoB;gBACpB,IAAI,eAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;oBAClC,uBAAuB;oBACvB,MAAM,SAAS,GAAsB,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC7G,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBACxC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBACxD,QAAQ,GAAG,EAAE,CAAC;oBAEd,sEAAsE;oBACtE,uDAAuD;oBACvD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,YAAY,EAAE;wBACrD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACxB,MAAM,GAAG,SAAS,CAAC;qBACpB;oBAED,6CAA6C;oBAC7C,IAAI,YAAY,EAAE;wBAChB,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;qBACvC;yBAAM;wBACL,YAAY,GAAG,SAAS,CAAC;qBAC1B;oBAED,SAAS;iBACV;gBAED,mBAAmB;gBACnB,IAAI,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC;oBAE7B,mCAAmC;oBACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1B,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;qBACX;oBAED,MAAM,MAAM,GAAqB,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;oBAC/F,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBAErD,sDAAsD;oBACtD,uDAAuD;oBACvD,oDAAoD;oBACpD,mDAAmD;oBACnD,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;wBACnC,OAAO,MAAM,CAAC;qBACf;yBAAM;wBACL,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpC,QAAQ,GAAG,EAAE,CAAC;wBACd,SAAS;qBACV;iBACF;gBAED,oBAAoB;gBACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC;oBAE7B,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1B,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;qBACX;oBAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAuB,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBAC9G,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBACrD,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtC,QAAQ,GAAG,EAAE,CAAC;oBACd,SAAS;iBACV;gBAED,qBAAqB;gBACrB,MAAM,MAAM,GAAyB,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBAClG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACrD,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,QAAQ,GAAG,EAAE,CAAC;gBACd,SAAS;aACV;SACF;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACxE,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;YAE9B,MAAM,SAAS,GAAsB,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC7G,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACxC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACxD,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,OAA6B,YAAY,CAAC;IAC5C,CAAC;;AAvSH,0BAwSC;AAvSe,mBAAW,GAAG,iCAAiC,CAAC;AAEhD,gBAAQ,GAAG,CAAC,wDAAwD,CAAC,CAAC;AAGnE,mBAAW,GAAG;IAC7B,YAAY,EAAE,eAAK,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,GAAG;KACb,CAAC;CACH,CAAC"}
|