Skip to content

Commit f1a6a28

Browse files
committed
� Conflicts: � .gitignore � README.md � src/main/java/io/api/etherscan/core/impl/BasicProvider.java � src/main/java/io/api/etherscan/error/ParseException.java � src/main/java/io/api/etherscan/error/RateLimitException.java � src/main/java/io/api/etherscan/executor/impl/HttpExecutor.java � src/main/java/io/api/etherscan/model/Log.java
2 parents f7bb00c + 8ba73e8 commit f1a6a28

File tree

104 files changed

+1672
-1023
lines changed

Some content is hidden

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

104 files changed

+1672
-1023
lines changed

‎.editorconfig

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# all-encompassing default settings unless otherwise specified
7+
[*]
8+
end_of_line = lf
9+
charset = utf-8
10+
11+
# Yaml
12+
[{*.yml, *.yaml}]
13+
indent_size = 2
14+
indent_style = space
15+
16+
# Property files
17+
[*.properties]
18+
indent_size = 2
19+
indent_style = space
20+
21+

‎.gitattributes

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Handle line endings automatically for files detected as text
2+
# and leave all files detected as binary untouched.
3+
* text=auto
4+
5+
#
6+
# The above will handle all files NOT found below
7+
#
8+
# These files are text and should be normalized (Convert crlf => lf)
9+
*.bash text eol=lf
10+
*.css text diff=css
11+
*.df text
12+
*.htm text diff=html
13+
*.html text diff=html eol=lf
14+
*.java text diff=java eol=lf
15+
*.js text
16+
*.json text eol=lf
17+
*.jsp text eol=lf
18+
*.jspf text eol=lf
19+
*.jspx text eol=lf
20+
*.properties text eol=lf
21+
*.sh text eol=lf
22+
*.tld text
23+
*.txt text eol=lf
24+
*.tag text
25+
*.tagx text
26+
*.xml text
27+
*.yml text eol=lf
28+
29+
# These files are binary and should be left untouched
30+
# (binary is a macro for -text -diff)
31+
*.class binary
32+
*.dll binary
33+
*.ear binary
34+
*.gif binary
35+
*.ico binary
36+
*.jar binary
37+
*.jpg binary
38+
*.jpeg binary
39+
*.png binary
40+
*.so binary
41+
*.war binary

‎.github/workflows/gradle.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Java CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
schedule:
8+
- cron: "0 12 1 * *"
9+
pull_request:
10+
branches:
11+
- master
12+
- dev
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
strategy:
18+
matrix:
19+
java: [ '11' ]
20+
name: Java ${{ matrix.java }} setup
21+
22+
steps:
23+
- uses: actions/checkout@v1
24+
- name: Set up JDK
25+
uses: actions/setup-java@v1
26+
27+
with:
28+
java-version: ${{ matrix.java }}
29+
30+
- name: Build with Gradle
31+
run: ./gradlew build jacocoTestReport
32+
env:
33+
API_KEY: ${{ secrets.API_KEY }}
34+
35+
- name: Analyze with SonarQube
36+
run: ./gradlew sonarqube
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
40+
API_KEY: ${{ secrets.API_KEY }}

‎.gitignore

+6-31
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,7 @@
1-
# Compiled class files
2-
*.class
3-
4-
# Log file
5-
*.log
6-
**/.log
7-
8-
# IntelliJ
9-
*.iml
10-
/.idea
11-
12-
# Package Files #
13-
*.jar
14-
*.war
15-
*.nar
16-
*.ear
17-
*.zip
18-
*.tar.gz
19-
*.rar
20-
21-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
22-
hs_err_pid*
23-
24-
# other
25-
/bin/
26-
/.classpath
27-
/.project
28-
/target/
29-
/out/
30-
/.DS_Store
311
/.settings/
32-
2+
.idea
3+
.idea/httpRequests
4+
*.iml
5+
.gradle
6+
build
7+
target/

‎.travis.yml

-14
This file was deleted.

‎README.md

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# java-etherscan-api
22

3-
[![travis](https://travis-ci.org/GoodforGod/java-etherscan-api.svg?branch=master)](https://travis-ci.com/iSnow/java-etherscan-api)
4-
[![Maintainability](https://api.codeclimate.com/v1/badges/808997be2e69ff1ae8fe/maintainability)](https://codeclimate.com/github/GoodforGod/java-etherscan-api/maintainability)
5-
[![codecov](https://codecov.io/gh/GoodforGod/java-etherscan-api/branch/master/graph/badge.svg)](https://codecov.io/gh/GoodforGod/java-etherscan-api)
6-
[![Jitpack](https://jitpack.io/v/iSnow/java-etherscan-api.svg)](https://jitpack.io/#iSnow/java-etherscan-api)
3+
[![GitHub Action](https://github.com/goodforgod/java-etherscan-api/workflows/Java%20CI/badge.svg)](https://github.com/GoodforGod/dummymaker/actions?query=workflow%3A%22Java+CI%22)
4+
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=coverage)](https://sonarcloud.io/dashboard?id=GoodforGod_dummymaker)
5+
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=GoodforGod_dummymaker)
6+
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=ncloc)](https://sonarcloud.io/dashboard?id=GoodforGod_dummymaker)
7+
[![Jitpack](https://jitpack.io/v/iSnow/java-etherscan-api.svg)](https://jitpack.io/#GoodforGod/java-etherscan-api)
78

89
[Etherscan](https://etherscan.io/apis) Java API implementation.
910

@@ -15,14 +16,14 @@ Library supports all available EtherScan *API* calls for all available *Ethereum
1516
<dependency>
1617
<groupId>com.github.goodforgod</groupId>
1718
<artifactId>java-etherscan-api</artifactId>
18-
<version>1.0.2</version>
19+
<version>1.1.0</version>
1920
</dependency>
2021
```
2122

2223
**Gradle**
2324
```groovy
2425
dependencies {
25-
compile 'com.github.goodforgod:java-etherscan-api:1.0.2'
26+
compile 'com.github.goodforgod:java-etherscan-api:1.1.0'
2627
}
2728
```
2829

@@ -166,6 +167,8 @@ Token API methods migrated to [Account](#account-api) & [Stats](#stats-api) resp
166167

167168
## Version History
168169

170+
**1.1.0** - Improved error handling, QueueManager improved, Gradle 6.7 instead of Maven, GitHub CI, Sonarcloud analyzer, dependencies updated.
171+
169172
**1.0.2** - Minor http client improvements.
170173

171174
**1.0.1** - Gorli & TOBALABA networks support.
@@ -174,4 +177,4 @@ Token API methods migrated to [Account](#account-api) & [Stats](#stats-api) resp
174177

175178
## License
176179

177-
This project is licensed under the MIT - see the [LICENSE](LICENSE) file for details.
180+
This project licensed under the MIT - see the [LICENSE](LICENSE) file for details.

‎build.gradle

+135
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
plugins {
2+
id 'jacoco'
3+
id 'java-library'
4+
id 'maven-publish'
5+
6+
id 'org.sonarqube' version '3.0'
7+
id 'com.diffplug.gradle.spotless' version '4.4.0'
8+
}
9+
10+
repositories {
11+
mavenLocal()
12+
mavenCentral()
13+
jcenter()
14+
}
15+
16+
group = groupId
17+
version = artifactVersion
18+
19+
sourceCompatibility = 1.8
20+
targetCompatibility = 1.8
21+
22+
spotless {
23+
java {
24+
encoding 'UTF-8'
25+
removeUnusedImports()
26+
eclipse().configFile "${projectDir}/config/codestyle.xml"
27+
}
28+
}
29+
30+
sonarqube {
31+
properties {
32+
property 'sonar.host.url', 'https://sonarcloud.io'
33+
property 'sonar.organization', 'goodforgod'
34+
property 'sonar.projectKey', 'GoodforGod_java-etherscan-api'
35+
}
36+
}
37+
38+
dependencies {
39+
implementation 'org.jetbrains:annotations:20.1.0'
40+
implementation 'com.google.code.gson:gson:2.8.6'
41+
42+
testImplementation 'junit:junit:4.13.1'
43+
}
44+
45+
test {
46+
failFast = true
47+
48+
useJUnit()
49+
testLogging {
50+
events "passed", "skipped", "failed"
51+
exceptionFormat "full"
52+
}
53+
}
54+
55+
tasks.withType(JavaCompile) {
56+
options.encoding = 'UTF-8'
57+
options.incremental = true
58+
options.fork = true
59+
}
60+
61+
tasks.withType(Test) {
62+
reports.html.enabled = false
63+
reports.junitXml.enabled = false
64+
}
65+
66+
java {
67+
withJavadocJar()
68+
withSourcesJar()
69+
}
70+
71+
publishing {
72+
publications {
73+
mavenJava(MavenPublication) {
74+
from components.java
75+
76+
pom {
77+
name = 'Java Etherscan API'
78+
url = 'https://github.com/GoodforGod/java-etherscan-api'
79+
description = 'Library is a wrapper for EtherScan API.'
80+
81+
license {
82+
name = 'MIT License'
83+
url = 'https://github.com/GoodforGod/java-etherscan-api/blob/master/LICENSE'
84+
distribution = 'repo'
85+
}
86+
87+
developer {
88+
id = 'GoodforGod'
89+
name = 'Anton Kurako'
90+
email = 'goodforgod.dev@gmail.com'
91+
url = 'https://github.com/GoodforGod'
92+
}
93+
94+
scm {
95+
connection = 'scm:git:git://github.com/GoodforGod/java-etherscan-api.git'
96+
developerConnection = 'scm:git:ssh://GoodforGod/java-etherscan-api.git'
97+
url = 'https://github.com/GoodforGod/java-etherscan-api/tree/master'
98+
}
99+
}
100+
}
101+
}
102+
repositories {
103+
maven {
104+
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2"
105+
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
106+
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
107+
credentials {
108+
username System.getenv("OSS_USERNAME")
109+
password System.getenv("OSS_PASSWORD")
110+
}
111+
}
112+
}
113+
}
114+
115+
check.dependsOn jacocoTestReport
116+
jacocoTestReport {
117+
reports {
118+
xml.enabled true
119+
html.destination file("${buildDir}/jacocoHtml")
120+
}
121+
}
122+
123+
if (project.hasProperty("signing.keyId")) {
124+
apply plugin: 'signing'
125+
signing {
126+
sign publishing.publications.mavenJava
127+
}
128+
}
129+
130+
javadoc {
131+
options.encoding = "UTF-8"
132+
if (JavaVersion.current().isJava9Compatible()) {
133+
options.addBooleanOption('html5', true)
134+
}
135+
}

0 commit comments

Comments
 (0)