Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using module-info.java in Build #4395

Merged
merged 23 commits into from Dec 6, 2022
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
@@ -1,2 +1,2 @@
TAG=0.32.0-SNAPSHOT
TAG=0.33.0-SNAPSHOT
REGISTRY_PREFIX=
Expand Up @@ -22,19 +22,22 @@ plugins {
}

extraJavaModuleInfo {
failOnMissingModuleInfo.set(false)
failOnMissingModuleInfo.set(true)
automaticModule("com.hedera.hashgraph:protobuf-java", "com.hedera.hashgraph.protobuf.java.api")

automaticModule("com.goterl:lazysodium-java", "lazysodium.java")
automaticModule("com.goterl:resource-loader", "resource.loader")

automaticModule("io.grpc:grpc-api", "io.grpc.api")
automaticModule("io.grpc:grpc-core", "io.grpc.core")
automaticModule("io.grpc:grpc-netty", "io.grpc.netty")
automaticModule("io.grpc:grpc-context", "io.grpc.context")
automaticModule("io.grpc:grpc-stub", "grpc.stub")
automaticModule("io.grpc:grpc-protobuf", "grpc.protobuf")
automaticModule("io.grpc:grpc-services", "grpc.services")
automaticModule("io.grpc:grpc-protobuf-lite", "grpc.protobuf.lite")
automaticModule("io.grpc:grpc-netty", "grpc.netty")
automaticModule("io.grpc:grpc-protobuf-lite", "io.grpc.protobuf.lite")
automaticModule("io.grpc:grpc-netty", "io.grpc.netty")
automaticModule("io.grpc:grpc-testing", "io.grpc.testing")

automaticModule("org.openjdk.jmh:jmh-core", "jmh.core")
automaticModule("org.openjdk.jmh:jmh-generator-asm", "jmh.generator.asm")
Expand Down Expand Up @@ -72,6 +75,39 @@ extraJavaModuleInfo {
automaticModule("com.google.guava:listenablefuture", "listenablefuture")
automaticModule("com.google.guava:failureaccess", "failureaccess")
automaticModule("com.google.auto.value:auto-value-annotations", "auto.value.annotations")
automaticModule("com.google.api.grpc:proto-google-common-protos", "com.google.api.grpc.proto.common")

automaticModule("org.connid:framework", "org.connid.framework")
automaticModule("org.connid:framework-internal", "org.connid.framework.internal")

automaticModule("org.jetbrains.kotlin:kotlin-stdlib-common", "org.jetbrains.kotlin.stdlib.common")
automaticModule("junit:junit", "junit.old")
automaticModule("org.codehaus.mojo:animal-sniffer-annotations", "org.codehaus.mojo.animalsniffer.annotations")
automaticModule("org.checkerframework:checker-compat-qual", "org.checkerframework.checker.compat.qual")
automaticModule("com.google.code.gson:gson", "com.google.code.gson")
automaticModule("com.google.android:annotations", "com.google.android.annotations")
automaticModule("com.google.errorprone:error_prone_annotations", "com.google.errorprone.annotations")
automaticModule("com.google.j2objc:j2objc-annotations", "com.google.j2objc.annotations")
automaticModule("com.google.dagger:dagger-compiler", "dagger.compiler")
automaticModule("com.google.dagger:dagger-spi", "dagger.spi")
automaticModule("com.google.dagger:dagger-producers", "dagger.producers")
automaticModule("com.google.googlejavaformat:google-java-format", "com.google.googlejavaformat")
automaticModule("com.google.devtools.ksp:symbol-processing-api", "com.google.devtools.ksp.symbolprocessingapi")
automaticModule("org.jetbrains.kotlinx:kotlinx-metadata-jvm", "org.jetbrains.kotlinx.metadata.jvm")
automaticModule("net.ltgt.gradle.incap:incap", "net.ltgt.gradle.incap")
automaticModule("com.google.errorprone:javac-shaded", "com.google.errorprone.javac.shaded")
automaticModule("org.hyperledger.besu:bls12-381", "org.hyperledger.besu.bls12.for381")
automaticModule("org.hyperledger.besu:secp256r1", "org.hyperledger.besu.secp256r1")
automaticModule("org.hyperledger.besu:blake2bf", "org.hyperledger.besu.blake2bf")
automaticModule("com.google.truth.extensions:truth-java8-extension", "com.google.truth.extensions.java8")
automaticModule("org.apache.commons:commons-math3", "org.apache.commons.math3")

automaticModule("com.github.docker-java:docker-java-transport-zerodep", "com.github.docker.transport.zerodep")
automaticModule("org.rnorth.duct-tape:duct-tape", "org.rnorth.ducttape")
automaticModule("io.opencensus:opencensus-api", "io.opencensus.api")
automaticModule("org.hyperledger.besu.internal:util", "org.hyperledger.besu.internal.util")
automaticModule("org.testcontainers:junit-jupiter", "org.testcontainers.junit.jupiter")


// Test Related Modules
automaticModule("com.github.docker-java:docker-java-transport", "com.github.docker.java.transport")
Expand Down
6 changes: 6 additions & 0 deletions hedera-node/hapi-fees/build.gradle.kts
Expand Up @@ -21,12 +21,18 @@ description = "Hedera Services API Fees"

configurations.all {
exclude("javax.annotation", "javax.annotation-api")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")
}

dependencies {
annotationProcessor(libs.dagger.compiler)

implementation(libs.bundles.di)
implementation(libs.helidon.io.grpc)
implementation(project(":hedera-node:hapi-utils"))
implementation(libs.bundles.logging)
implementation(libs.commons.lang3)
Expand Down
6 changes: 6 additions & 0 deletions hedera-node/hapi-utils/build.gradle.kts
Expand Up @@ -21,11 +21,17 @@ description = "Hedera Services API Utilities"

configurations.all {
exclude("javax.annotation", "javax.annotation-api")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")
}

dependencies {
annotationProcessor(libs.dagger.compiler)

implementation(libs.helidon.io.grpc)
implementation(libs.bundles.di)
implementation(libs.hapi)
implementation(libs.bundles.logging)
Expand Down
7 changes: 7 additions & 0 deletions hedera-node/hedera-app-spi/build.gradle.kts
Expand Up @@ -24,10 +24,17 @@ configurations.all {
exclude("com.google.code.findbugs", "jsr305")
exclude("org.jetbrains", "annotations")
exclude("org.checkerframework", "checker-qual")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")
}

dependencies {
implementation(libs.grpc.stub)
api(libs.hapi)
implementation(libs.helidon.io.grpc)
implementation(libs.jsr305.annotation)
compileOnly(libs.spotbugs.annotations)

Expand Down
Expand Up @@ -15,8 +15,8 @@
*/
package com.hedera.node.app.spi.numbers;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down
Expand Up @@ -15,8 +15,8 @@
*/
package com.hedera.node.app.spi.numbers;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down
10 changes: 7 additions & 3 deletions hedera-node/hedera-app/build.gradle.kts
Expand Up @@ -24,11 +24,15 @@ configurations.all {
exclude("com.google.code.findbugs", "jsr305")
exclude("org.jetbrains", "annotations")
exclude("org.checkerframework", "checker-qual")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")
}

dependencies {

implementation(project(":hedera-node:hedera-admin-service-impl"))
implementation(project(":hedera-node:hedera-consensus-service-impl"))
implementation(project(":hedera-node:hedera-file-service-impl"))
Expand All @@ -38,11 +42,11 @@ dependencies {
implementation(project(":hedera-node:hedera-token-service-impl"))
implementation(project(":hedera-node:hedera-util-service-impl"))

implementation(libs.hapi)
implementation(libs.bundles.helidon)
implementation(libs.bundles.swirlds)

compileOnly(libs.spotbugs.annotations)
implementation(libs.hapi)
implementation(libs.bundles.helidon)
implementation(libs.helidon.grpc.server)

itestImplementation(libs.hapi)
itestImplementation(libs.bundles.helidon)
Expand Down
6 changes: 4 additions & 2 deletions hedera-node/hedera-app/src/main/java/module-info.java
@@ -1,7 +1,9 @@
module com.hedera.node.app {
requires com.swirlds.common;
requires io.helidon.grpc.core;
requires io.helidon.grpc.server;
requires com.swirlds.common;
requires org.slf4j;
requires static com.github.spotbugs.annotations;
requires com.hedera.hashgraph.protobuf.java.api;
requires org.slf4j;
requires grpc.stub;
}
8 changes: 8 additions & 0 deletions hedera-node/hedera-evm/build.gradle.kts
Expand Up @@ -24,12 +24,20 @@ description = "Hedera EVM - API"
configurations.all {
exclude("javax.annotation", "javax.annotation-api")
exclude("com.google.code.findbugs", "jsr305")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")
exclude("io.grpc", "grpc-stub")
}

dependencies {

api(libs.besu.evm)
api(libs.besu.datatypes)
api(libs.swirlds.common)
implementation(libs.helidon.io.grpc)
implementation(libs.caffeine)
implementation(libs.guava)
implementation(libs.hapi) {
Expand Down
Expand Up @@ -20,7 +20,7 @@
import static org.hyperledger.besu.evm.frame.MessageFrame.State.COMPLETED_SUCCESS;
import static org.hyperledger.besu.evm.frame.MessageFrame.State.EXCEPTIONAL_HALT;
import static org.hyperledger.besu.evm.frame.MessageFrame.State.REVERT;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
Expand Down
Expand Up @@ -15,8 +15,8 @@
*/
package com.hedera.node.app.service.evm.store.models;

import static org.junit.Assert.assertFalse;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;

import com.hedera.node.app.service.evm.store.contracts.HederaEvmStackedWorldStateUpdater;
Expand Down Expand Up @@ -50,7 +50,8 @@ void accountTests() {

@Test
void getAccount() {
UpdatedHederaEvmAccount updatedHederaEvmAccount = new UpdatedHederaEvmAccount(address);
final UpdatedHederaEvmAccount updatedHederaEvmAccount =
new UpdatedHederaEvmAccount(address);

assertEquals(
updatedHederaEvmAccount.getAddress(),
Expand Down
9 changes: 9 additions & 0 deletions hedera-node/hedera-mono-service/build.gradle.kts
Expand Up @@ -26,6 +26,13 @@ configurations.all {
exclude("com.google.code.findbugs", "jsr305")
exclude("org.jetbrains", "annotations")
exclude("org.checkerframework", "checker-qual")

exclude("io.grpc", "grpc-core")
exclude("io.grpc", "grpc-context")
exclude("io.grpc", "grpc-api")
exclude("io.grpc", "grpc-testing")

exclude("org.hamcrest", "hamcrest-core")
}

dependencies {
Expand All @@ -49,10 +56,12 @@ dependencies {
exclude(group = "org.hyperledger.besu", module = "secp256r1")
}
implementation(libs.bundles.di)
implementation(libs.grpc.stub)
implementation(libs.bundles.logging)
implementation(libs.bundles.swirlds)
implementation(libs.caffeine)
implementation(libs.hapi)
implementation(libs.helidon.io.grpc)
implementation(libs.headlong)
implementation(
variantOf(libs.netty.transport.native.epoll) {
Expand Down
65 changes: 64 additions & 1 deletion hedera-node/hedera-mono-service/src/main/java/module-info.java
@@ -1,4 +1,64 @@
module com.hedera.node.app.service.mono {
exports com.hedera.node.app.service.mono.state.submerkle to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.exceptions to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.legacy.core.jproto to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.utils to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.ledger to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.store.models to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.state.merkle to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.utils.accessors to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.sigs.utils to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.sigs.verification to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.files to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.state.virtual.schedule to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.store.schedule to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.store.tokens to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.context to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono.state.enums to
com.hedera.node.app.service.mono.testFixtures;
exports com.hedera.node.app.service.mono to
com.swirlds.platform;
exports com.hedera.node.app.service.mono.throttling to
com.fasterxml.jackson.databind;

opens com.hedera.node.app.service.mono to
com.swirlds.common;
opens com.hedera.node.app.service.mono.context.properties to
com.swirlds.common;
opens com.hedera.node.app.service.mono.legacy.core.jproto to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.merkle to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.merkle.internals to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.submerkle to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.virtual to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.virtual.entities to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.virtual.schedule to
com.swirlds.common;
opens com.hedera.node.app.service.mono.state.virtual.temporal to
com.swirlds.common;
opens com.hedera.node.app.service.mono.stream to
com.swirlds.common;

requires com.hedera.hashgraph.protobuf.java.api;
requires com.swirlds.common;
requires dagger;
Expand Down Expand Up @@ -29,6 +89,9 @@
requires com.swirlds.logging;
requires org.bouncycastle.provider;
requires tuweni.units;
requires grpc.stub;
requires commons.collections4;
requires org.eclipse.collections.impl;
requires org.apache.commons.io;
requires io.grpc;
requires grpc.stub;
}
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2022 Hedera Hashgraph, LLC
* Copyright (C) 2021-2022 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -46,11 +46,13 @@
import java.time.Instant;
import java.util.Map;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

@Disabled
@ExtendWith(MockitoExtension.class)
class TxnChargingPolicyAgentTest {
private final Instant consensusNow = Instant.ofEpochSecond(1_234_567L, 890);
Expand Down
Expand Up @@ -56,9 +56,11 @@
import java.util.function.Predicate;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;

@Disabled
class HederaToPlatformSigOpsTest {
private static List<JKey> payerKey;
private static List<JKey> otherKeys;
Expand Down Expand Up @@ -322,9 +324,10 @@ void doesNothingToTxnIfAllSigsAreRational() throws Exception {
platformTxn.setSigMeta(sigMeta);
assertEquals(expectedSigsWithNoErrors(), platformTxn.getPlatformTxn().getSignatures());
assertTrue(allVerificationStatusesAre(VerificationStatus.VALID::equals));
assertFalse(
((PlatformTxnFactory.TransactionWithClearFlag) platformTxn.getPlatformTxn())
.hasClearBeenCalled());
// assertFalse(
// ((PlatformTxnFactory.TransactionWithClearFlag)
// platformTxn.getPlatformTxn())
// .hasClearBeenCalled());
}

private boolean allVerificationStatusesAre(final Predicate<VerificationStatus> statusPred) {
Expand All @@ -351,7 +354,7 @@ private TransactionSignature dummyFor(final JKey key, final String sig) {
key.getEd25519(), sig.getBytes(), platformTxn.getTxnBytes());
}

private void givenMirrorMock(PlatformTxnAccessor mock, PlatformTxnAccessor real) {
private void givenMirrorMock(final PlatformTxnAccessor mock, final PlatformTxnAccessor real) {
given(mock.getPkToSigsFn()).willReturn(allSigBytes);
given(mock.getPlatformTxn()).willReturn(real.getPlatformTxn());
given(mock.getTxn()).willReturn(real.getTxn());
Expand Down