Merged
Show file tree
Hide file tree
Changes from all commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Failed to load files.
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
name: Java CI
name: CI Pull Request

on:
push:
branches:
- master
pull_request:
branches:
- master
Expand All@@ -15,37 +12,44 @@ jobs:
strategy:
matrix:
java: [ '11', '17' ]
name: Java ${{ matrix.java }} setup
name: Java ${{ matrix.java }} Pull Request setup

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v1

uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'

- name: Build
run: ./gradlew classes
- name: Code Style
run: './gradlew spotlessCheck'

- name: Codestyle
run: ./gradlew spotlessCheck
- name: Build
run: './gradlew classes'

- name: Test
if: matrix.java == '11'
run: ./gradlew test jacocoTestReport
run: './gradlew test jacocoTestReport'
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY_1 }}

- name: Test
if: matrix.java == '17'
run: ./gradlew test jacocoTestReport
run: './gradlew test jacocoTestReport'
env:
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY_2 }}

- name: Test Report
if: matrix.java == '17'
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: |
**/test-results/**/*.xml

- name: SonarQube
if: matrix.java == '17'
run: ./gradlew sonarqube
run: './gradlew sonar --info'
env:
_TOKEN: ${{ secrets._TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
# Contributing Code or Documentation Guide

## Running Tests

The new code should contain tests that check new behavior.

Run tests `./gradlew test` to check that code works as behavior.

## Code Style

The code base should remain clean, following industry best practices for organization, javadoc and style, as much as possible.

To run the Code Style check use `./gradlew spotlessCheck`.

If check found any errors, you can apply Code Style by running `./gradlew spotlessApply`

## Creating a pull request

Once you are satisfied with your changes:

- Commit changes to the local branch you created.
- Push that branch with changes to the corresponding remote branch on
- Submit a [pull request](https://help..com/articles/creating-a-pull-request) to `dev` branch.
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
# Java EtherScan API

[![Minimum required Java version](https://img.shields.io/badge/Java-1.8%2B-blue?logo=openjdk)](https://openjdk.org/projects/jdk8/)
[![ Action](https://.com/goodforgod/java-etherscan-api/workflows/Java%20CI/badge.svg)](https://.com/GoodforGod/java-etherscan-api/actions?query=workflow%3A%22Java+CI%22)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com..goodforgod/java-etherscan-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com..goodforgod/java-etherscan-api)
[![Java CI](https://.com/GoodforGod/java-etherscan-api/workflows/CI%20Master/badge.svg)](https://.com/GoodforGod/java-etherscan-api/actions?query=workflow%3ACI+Master)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=coverage)](https://sonarcloud.io/dasard?id=GoodforGod_java-etherscan-api)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=sqale_rating)](https://sonarcloud.io/dasard?id=GoodforGod_java-etherscan-api)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=GoodforGod_java-etherscan-api&metric=ncloc)](https://sonarcloud.io/dasard?id=GoodforGod_java-etherscan-api)
Expand All@@ -14,15 +15,15 @@ Library supports EtherScan *API* for all available *Ethereum Networks* for *ethe

**Gradle**
```groovy
implementation "com..goodforgod:java-etherscan-api:2.0.0"
implementation "com..goodforgod:java-etherscan-api:2.1.0"
```

**Maven**
```xml
<dependency>
<groupId>com..goodforgod</groupId>
<artifactId>java-etherscan-api</artifactId>
<version>2.0.0</version>
<version>2.1.0</version>
</dependency>
```

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,8 +3,9 @@ plugins {
id "java-library"
id "maven-publish"

id "org.sonarqube" version "3.3"
id "com.diffplug.spotless" version "6.12.0"
id "org.sonarqube" version "4.3.0.3225"
id "com.diffplug.spotless" version "6.19.0"
id "io..gradle-nexus.publish-plugin" version "1.3.0"
}

repositories {
Expand All@@ -13,7 +14,8 @@ repositories {
}

group = groupId
version = artifactVersion
var ver = System.getenv().getOrDefault("RELEASE_VERSION", artifactVersion)
version = ver.startsWith("v") ? ver.substring(1) : ver

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
Expand All@@ -28,6 +30,7 @@ dependencies {
}

test {
failFast(false)
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
Expand All@@ -36,17 +39,21 @@ test {
}

reports {
html.enabled(false)
junitXml.enabled(false)
html.required = false
junitXml.required = true
}

environment([
"": "",
])
}

spotless {
java {
encoding("UTF-8")
importOrder()
removeUnusedImports()
eclipse("4.21.0").configFile("${rootDir}/config/codestyle.xml")
eclipse("4.21").configFile("${rootDir}/config/codestyle.xml")
}
}

Expand All@@ -58,6 +65,18 @@ sonarqube {
}
}

nexusPublishing {
packageGroup = groupId
repositories {
sonatype {
username = System.getenv("OSS_USERNAME")
password = System.getenv("OSS_PASSWORD")
nexusUrl.set(uri("https://oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://oss.sonatype.org/content/repositories/snapshots/"))
}
}
}

publishing {
publications {
mavenJava(MavenPublication) {
Expand DownExpand Up@@ -99,6 +118,16 @@ publishing {
password System.getenv("OSS_PASSWORD")
}
}
if (!version.endsWith("SNAPSHOT")) {
maven {
name = "Packages"
url = "https://maven.pkg..com/GoodforGod/$artifactId"
credentials {
username = System.getenv("_ACTOR")
password = System.getenv("_TOKEN")
}
}
}
}
}

Expand All@@ -116,7 +145,7 @@ tasks.withType(JavaCompile) {
check.dependsOn jacocoTestReport
jacocoTestReport {
reports {
xml.enabled true
xml.required = true
html.destination file("${buildDir}/jacocoHtml")
}
}
Expand All@@ -128,9 +157,12 @@ javadoc {
}
}

if (project.hasProperty("signing.keyId")) {
if (project.hasProperty("signingKey")) {
apply plugin: "signing"
signing {
def signingKey = findProperty("signingKey")
def signingPassword = findProperty("signingPassword")
useInMemoryPgpKeys(signingKey, signingPassword)
sign publishing.publications.mavenJava
}
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
groupId=com..goodforgod
artifactId=java-etherscan-api
artifactVersion=2.0.0
artifactVersion=2.1.0-SNAPSHOT


##### GRADLE #####
Expand Down
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading