Skip to content

Commit 5e9845b

Browse files
authored
Merge pull request tronprotocol#2233 from tronprotocol/release_3.6
release_3.6 to master
2 parents 524896b + 7278761 commit 5e9845b

File tree

698 files changed

+49306
-6148
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

698 files changed

+49306
-6148
lines changed

.circleci/config.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ jobs:
1414
- checkout
1515
- run:
1616
name: multi_os_result
17-
command: curl http://60.205.215.34/multi_os_result
17+
command: echo "curl http://60.205.215.34/multi_os_result"
18+
#
19+
# - run:
20+
# name: Daily Build Report
21+
# command: curl http://60.205.215.34/Daily_Build_Task_Report
22+
#
23+
# - run:
24+
# name: Download Links
25+
# command: sh DownloadLinks.sh
1826

19-
- run:
20-
name: Daily Build Report
21-
command: curl http://60.205.215.34/Daily_Build_Task_Report
22-
23-
- run:
24-
name: Download Links
25-
command: sh DownloadLinks.sh

README.md

Lines changed: 35 additions & 293 deletions
Large diffs are not rendered by default.

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ dependencies {
180180

181181
compile "io.vavr:vavr:0.9.2"
182182
compile group: 'org.pf4j', name: 'pf4j', version: '2.5.0'
183+
compile group: 'org.zeromq', name: 'jeromq', version: '0.5.0'
184+
183185
}
184186

185187
check.dependsOn 'lint'

build.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# How to Build
2+
3+
## Prepare dependencies
4+
5+
* JDK 1.8 (JDK 1.9+ are not supported yet)
6+
* On Linux Ubuntu system (e.g. Ubuntu 16.04.4 LTS), ensure that the machine has [__Oracle JDK 8__](https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04), instead of having __Open JDK 8__ in the system. If you are building the source code by using __Open JDK 8__, you will get [__Build Failed__](https://github.com/tronprotocol/java-tron/issues/337) result.
7+
* Open **UDP** ports for connection to the network
8+
* **MINIMUM** 2 ENERGY Cores
9+
10+
## Build and Deploy automatically using scripts
11+
12+
- Please take a look at the [Tron Deployment Scripts](https://github.com/tronprotocol/TronDeployment) repository.
13+
14+
## Getting the code with git
15+
16+
* Use Git from the Terminal, see the [Setting up Git](https://help.github.com/articles/set-up-git/) and [Fork a Repo](https://help.github.com/articles/fork-a-repo/) articles.
17+
* develop branch: the newest code
18+
* master branch: more stable than develop.
19+
In the shell command, type:
20+
```bash
21+
git clone https://github.com/tronprotocol/java-tron.git
22+
git checkout -t origin/master
23+
```
24+
25+
* For Mac, you can also install **[GitHub for Mac](https://mac.github.com/)** then **[fork and clone our repository](https://guides.github.com/activities/forking/)**.
26+
27+
* If you'd rather not use Git, [Download the ZIP](https://github.com/tronprotocol/java-tron/archive/develop.zip)
28+
29+
## Including java-tron as dependency
30+
31+
* If you don't want to checkout the code and build the project, you can include it directly as a dependency
32+
33+
**Using gradle:**
34+
35+
```
36+
repositories {
37+
maven { url 'https://jitpack.io' }
38+
}
39+
dependencies {
40+
implementation 'com.github.tronprotocol:java-tron:develop-SNAPSHOT'
41+
}
42+
```
43+
44+
**Using maven:**
45+
46+
```xml
47+
...
48+
<repositories>
49+
<repository>
50+
<id>jitpack.io</id>
51+
<url>https://jitpack.io</url>
52+
</repository>
53+
</repositories>
54+
...
55+
<dependency>
56+
<groupId>com.github.tronprotocol</groupId>
57+
<artifactId>java-tron</artifactId>
58+
<version>develop-SNAPSHOT</version><!--You can use any of the tag/branch name available-->
59+
</dependency>
60+
```
61+
62+
63+
64+
65+
## Building from source code
66+
67+
* Build in the Terminal
68+
69+
```bash
70+
cd java-tron
71+
./gradlew build
72+
```
73+
74+
75+
* Build in [IntelliJ IDEA](https://www.jetbrains.com/idea/) (community version is enough):
76+
77+
**Please run ./gradlew build once to build the protocol files**
78+
79+
1. Start IntelliJ. Select `File` -> `Open`, then locate to the java-tron folder which you have git cloned to your local drive. Then click `Open` button on the right bottom.
80+
2. Check on `Use auto-import` on the `Import Project from Gradle` dialog. Select JDK 1.8 in the `Gradle JVM` option. Then click `OK`.
81+
3. IntelliJ will open the project and start gradle syncing, which will take several minutes, depending on your network connection and your IntelliJ configuration
82+
4. Enable Annotations, `Preferences` -> Search `annotations` -> check `Enable Annotation Processing`.
83+
5. After the syncing finished, select `Gradle` -> `Tasks` -> `build`, and then double click `build` option.
84+

config/checkstyle/checkStyleAll.xml

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<property name="charset" value="UTF-8"/>
2020

2121
<property name="severity" value="warning"/>
22-
22+
<!--<property name="localeLanguage" value="en"/>-->
2323
<property name="fileExtensions" value="java, properties, xml"/>
2424
<!-- Checks for whitespace -->
2525
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
@@ -108,51 +108,51 @@
108108
<property name="tokens" value="METHOD_REF"/>
109109
<property name="option" value="nl"/>
110110
</module>
111-
<module name="PackageName">
112-
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
113-
<message key="name.invalidPattern"
114-
value="Package name ''{0}'' must match pattern ''{1}''."/>
115-
</module>
116-
<module name="TypeName">
117-
<message key="name.invalidPattern"
118-
value="Type name ''{0}'' must match pattern ''{1}''."/>
119-
</module>
120-
<module name="MemberName">
121-
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
122-
<message key="name.invalidPattern"
123-
value="Member name ''{0}'' must match pattern ''{1}''."/>
124-
</module>
125-
<module name="ParameterName">
126-
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
127-
<message key="name.invalidPattern"
128-
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
129-
</module>
130-
<module name="CatchParameterName">
131-
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
132-
<message key="name.invalidPattern"
133-
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
134-
</module>
135-
<module name="LocalVariableName">
136-
<property name="tokens" value="VARIABLE_DEF"/>
137-
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
138-
<message key="name.invalidPattern"
139-
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
140-
</module>
141-
<module name="ClassTypeParameterName">
142-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
143-
<message key="name.invalidPattern"
144-
value="Class type name ''{0}'' must match pattern ''{1}''."/>
145-
</module>
146-
<module name="MethodTypeParameterName">
147-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
148-
<message key="name.invalidPattern"
149-
value="Method type name ''{0}'' must match pattern ''{1}''."/>
150-
</module>
151-
<module name="InterfaceTypeParameterName">
152-
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
153-
<message key="name.invalidPattern"
154-
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
155-
</module>
111+
<!--<module name="PackageName">-->
112+
<!--<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>-->
113+
<!--<message key="name.invalidPattern"-->
114+
<!--value="Package name ''{0}'' must match pattern ''{1}''."/>-->
115+
<!--</module>-->
116+
<!--<module name="TypeName">-->
117+
<!--<message key="name.invalidPattern"-->
118+
<!--value="Type name ''{0}'' must match pattern ''{1}''."/>-->
119+
<!--</module>-->
120+
<!--<module name="MemberName">-->
121+
<!--<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>-->
122+
<!--<message key="name.invalidPattern"-->
123+
<!--value="Member name ''{0}'' must match pattern ''{1}''."/>-->
124+
<!--</module>-->
125+
<!--<module name="ParameterName">-->
126+
<!--<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>-->
127+
<!--<message key="name.invalidPattern"-->
128+
<!--value="Parameter name ''{0}'' must match pattern ''{1}''."/>-->
129+
<!--</module>-->
130+
<!--<module name="CatchParameterName">-->
131+
<!--<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>-->
132+
<!--<message key="name.invalidPattern"-->
133+
<!--value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>-->
134+
<!--</module>-->
135+
<!--<module name="LocalVariableName">-->
136+
<!--<property name="tokens" value="VARIABLE_DEF"/>-->
137+
<!--<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>-->
138+
<!--<message key="name.invalidPattern"-->
139+
<!--value="Local variable name ''{0}'' must match pattern ''{1}''."/>-->
140+
<!--</module>-->
141+
<!--<module name="ClassTypeParameterName">-->
142+
<!--<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>-->
143+
<!--<message key="name.invalidPattern"-->
144+
<!--value="Class type name ''{0}'' must match pattern ''{1}''."/>-->
145+
<!--</module>-->
146+
<!--<module name="MethodTypeParameterName">-->
147+
<!--<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>-->
148+
<!--<message key="name.invalidPattern"-->
149+
<!--value="Method type name ''{0}'' must match pattern ''{1}''."/>-->
150+
<!--</module>-->
151+
<!--<module name="InterfaceTypeParameterName">-->
152+
<!--<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>-->
153+
<!--<message key="name.invalidPattern"-->
154+
<!--value="Interface type name ''{0}'' must match pattern ''{1}''."/>-->
155+
<!--</module>-->
156156
<module name="NoFinalizer"/>
157157
<module name="GenericWhitespace">
158158
<message key="ws.followed"
@@ -172,12 +172,12 @@
172172
<property name="lineWrappingIndentation" value="4"/>
173173
<property name="arrayInitIndent" value="2"/>
174174
</module>
175-
<module name="AbbreviationAsWordInName">
176-
<property name="ignoreFinal" value="false"/>
177-
<property name="allowedAbbreviationLength" value="1"/>
178-
</module>
175+
<!--<module name="AbbreviationAsWordInName">-->
176+
<!--<property name="ignoreFinal" value="false"/>-->
177+
<!--<property name="allowedAbbreviationLength" value="1"/>-->
178+
<!--</module>-->
179179
<module name="OverloadMethodsDeclarationOrder"/>
180-
<module name="VariableDeclarationUsageDistance"/>
180+
<!--<module name="VariableDeclarationUsageDistance"/>-->
181181
<module name="CustomImportOrder">
182182
<property name="sortImportsInGroupAlphabetically" value="true"/>
183183
<property name="separateLineBetweenGroups" value="true"/>
@@ -203,32 +203,32 @@
203203
<property name="allowSamelineMultipleAnnotations" value="true"/>
204204
</module>
205205
<module name="NonEmptyAtclauseDescription"/>
206-
<module name="JavadocTagContinuationIndentation"/>
207-
<module name="SummaryJavadoc">
208-
<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
209-
</module>
210-
<module name="JavadocParagraph"/>
211-
<module name="AtclauseOrder">
212-
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
213-
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
214-
</module>
215-
<module name="JavadocMethod">
216-
<property name="scope" value="public"/>
217-
<property name="allowMissingParamTags" value="true"/>
218-
<property name="allowMissingThrowsTags" value="true"/>
219-
<property name="allowMissingReturnTag" value="true"/>
220-
<property name="minLineCount" value="2"/>
221-
<property name="allowedAnnotations" value="Override, Test"/>
222-
<property name="allowThrowsTagsForSubclasses" value="true"/>
223-
</module>
224-
<module name="MethodName">
225-
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
226-
<message key="name.invalidPattern"
227-
value="Method name ''{0}'' must match pattern ''{1}''."/>
228-
</module>
229-
<module name="SingleLineJavadoc">
230-
<property name="ignoreInlineTags" value="false"/>
231-
</module>
206+
<!--<module name="JavadocTagContinuationIndentation"/>-->
207+
<!--<module name="SummaryJavadoc">-->
208+
<!--<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>-->
209+
<!--</module>-->
210+
<!--<module name="JavadocParagraph"/>-->
211+
<!--<module name="AtclauseOrder">-->
212+
<!--<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>-->
213+
<!--<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>-->
214+
<!--</module>-->
215+
<!--<module name="JavadocMethod">-->
216+
<!--<property name="scope" value="public"/>-->
217+
<!--<property name="allowMissingParamTags" value="true"/>-->
218+
<!--<property name="allowMissingThrowsTags" value="true"/>-->
219+
<!--<property name="allowMissingReturnTag" value="true"/>-->
220+
<!--<property name="minLineCount" value="2"/>-->
221+
<!--<property name="allowedAnnotations" value="Override, Test"/>-->
222+
<!--<property name="allowThrowsTagsForSubclasses" value="true"/>-->
223+
<!--</module>-->
224+
<!--<module name="MethodName">-->
225+
<!--<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>-->
226+
<!--<message key="name.invalidPattern"-->
227+
<!--value="Method name ''{0}'' must match pattern ''{1}''."/>-->
228+
<!--</module>-->
229+
<!--<module name="SingleLineJavadoc">-->
230+
<!--<property name="ignoreInlineTags" value="false"/>-->
231+
<!--</module>-->
232232
<module name="EmptyCatchBlock">
233233
<property name="exceptionVariableName" value="expected"/>
234234
</module>

docs/images/architecture_diagram.png

71.9 KB
Loading

prop.properties

Whitespace-only changes.

querySonar.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
PassFlag=`curl -s 'https://sonarcloud.io/api/project_badges/measure?project=java-tron&metric=alert_status'|grep -A4 "quality gate"|grep "pass"|wc -l`
3+
echo "Please visit https://sonarcloud.io/dashboard?id=java-tron for more details"
4+
if [ $PassFlag -eq 0 ]; then
5+
echo "Sonar Check Failed"
6+
exit 1
7+
else
8+
echo "Sonar Check Pass"
9+
exit 0
10+
fi

0 commit comments

Comments
 (0)