diff --git a/README.MD b/README.MD index 3d7113f..f0e5040 100644 --- a/README.MD +++ b/README.MD @@ -6,4 +6,12 @@ --- -* Java 11 \ No newline at end of file +* Java 11 + +--- + +## Запуск + +```shell +gradle :server:run +``` \ No newline at end of file diff --git a/libs.gradle b/libs.gradle index 600bd97..365ee1a 100644 --- a/libs.gradle +++ b/libs.gradle @@ -1,5 +1,6 @@ //file:noinspection GroovyAssignabilityCheck //file:noinspection GrUnresolvedAccess +//file:noinspection GroovyConstructorNamedArguments def slf4j_version = '1.7.30' def logback_version = '1.2.3' @@ -26,7 +27,11 @@ ext { annotationProcessor: "com.google.dagger:dagger-compiler:${dagger2_version}" ] - libs.junit5 = [ + libs.test = [ + logger: "org.slf4j:slf4j-simple:${slf4j_version}" + ] + + libs.test.junit5 = [ api : "org.junit.jupiter:junit-jupiter-api:${junit_version}", //runtime only engine: "org.junit.jupiter:junit-jupiter-engine:${junit_version}", diff --git a/logic.gradle b/logic.gradle index 9254004..eb5630f 100644 --- a/logic.gradle +++ b/logic.gradle @@ -1,4 +1,6 @@ +//file:noinspection GrUnresolvedAccess apply plugin: 'java' +apply from: rootDir.toPath().resolve('libs.gradle').toFile() String getProperty1(String propertyName1, String propertyName2) { return (String) (project.hasProperty(propertyName1) ? project.property(propertyName1) : project.property(propertyName2)) @@ -6,7 +8,7 @@ String getProperty1(String propertyName1, String propertyName2) { project.group = getProperty1('module.group', 'project.group') project.version = getProperty1('module.version', 'project.version') -project.jar.archiveBaseName.set(getProperty1('module.name', 'project.name')) +jar.archiveBaseName.set(getProperty1('module.name', 'project.name')) compileJava { sourceCompatibility = targetCompatibility = JavaVersion.VERSION_11 @@ -16,4 +18,25 @@ compileJava { repositories { mavenLocal() mavenCentral() -} \ No newline at end of file +} + +dependencies { + annotationProcessor libs.lombok + compileOnly libs.lombok + compileOnly libs.annotations + + implementation libs.logger.slf4j + + implementation libs.dagger2.implementation + annotationProcessor libs.dagger2.annotationProcessor + + testImplementation libs.test.junit5.api + testImplementation libs.test.junit5.params + testRuntimeOnly libs.test.junit5.engine + + testRuntimeOnly libs.test.logger +} + +test { + useJUnitPlatform() +} diff --git a/protocol/build.gradle b/protocol/build.gradle new file mode 100644 index 0000000..4e4b0da --- /dev/null +++ b/protocol/build.gradle @@ -0,0 +1,8 @@ +apply from: rootDir.toPath().resolve('logic.gradle').toFile() + +dependencies { + implementation 'io.netty:netty-all:4.1.22.Final' + implementation libs.guava + + testImplementation libs.lang3 +} diff --git a/protocol/gradle.properties b/protocol/gradle.properties new file mode 100644 index 0000000..572e805 --- /dev/null +++ b/protocol/gradle.properties @@ -0,0 +1,3 @@ +# suppress inspection "UnusedProperty" for whole file +module.name=protocol +module.version=1.0-SNAPSHOT \ No newline at end of file diff --git a/server/src/main/java/mc/protocol/NetworkAttributes.java b/protocol/src/main/java/mc/protocol/NetworkAttributes.java similarity index 100% rename from server/src/main/java/mc/protocol/NetworkAttributes.java rename to protocol/src/main/java/mc/protocol/NetworkAttributes.java diff --git a/server/src/main/java/mc/protocol/State.java b/protocol/src/main/java/mc/protocol/State.java similarity index 100% rename from server/src/main/java/mc/protocol/State.java rename to protocol/src/main/java/mc/protocol/State.java diff --git a/server/src/main/java/mc/protocol/io/DecoderException.java b/protocol/src/main/java/mc/protocol/io/DecoderException.java similarity index 100% rename from server/src/main/java/mc/protocol/io/DecoderException.java rename to protocol/src/main/java/mc/protocol/io/DecoderException.java diff --git a/server/src/main/java/mc/protocol/io/NetByteBuf.java b/protocol/src/main/java/mc/protocol/io/NetByteBuf.java similarity index 100% rename from server/src/main/java/mc/protocol/io/NetByteBuf.java rename to protocol/src/main/java/mc/protocol/io/NetByteBuf.java diff --git a/server/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java b/protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java similarity index 100% rename from server/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java rename to protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java diff --git a/server/src/main/java/mc/protocol/io/codec/ProtocolEncoder.java b/protocol/src/main/java/mc/protocol/io/codec/ProtocolEncoder.java similarity index 100% rename from server/src/main/java/mc/protocol/io/codec/ProtocolEncoder.java rename to protocol/src/main/java/mc/protocol/io/codec/ProtocolEncoder.java diff --git a/server/src/main/java/mc/protocol/io/codec/ProtocolSplitter.java b/protocol/src/main/java/mc/protocol/io/codec/ProtocolSplitter.java similarity index 100% rename from server/src/main/java/mc/protocol/io/codec/ProtocolSplitter.java rename to protocol/src/main/java/mc/protocol/io/codec/ProtocolSplitter.java diff --git a/server/src/main/java/mc/protocol/packets/EmptyPacket.java b/protocol/src/main/java/mc/protocol/packets/EmptyPacket.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/EmptyPacket.java rename to protocol/src/main/java/mc/protocol/packets/EmptyPacket.java diff --git a/server/src/main/java/mc/protocol/packets/Packet.java b/protocol/src/main/java/mc/protocol/packets/Packet.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/Packet.java rename to protocol/src/main/java/mc/protocol/packets/Packet.java diff --git a/server/src/main/java/mc/protocol/packets/PacketDirection.java b/protocol/src/main/java/mc/protocol/packets/PacketDirection.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/PacketDirection.java rename to protocol/src/main/java/mc/protocol/packets/PacketDirection.java diff --git a/server/src/main/java/mc/protocol/packets/UnknownPacket.java b/protocol/src/main/java/mc/protocol/packets/UnknownPacket.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/UnknownPacket.java rename to protocol/src/main/java/mc/protocol/packets/UnknownPacket.java diff --git a/server/src/main/java/mc/protocol/packets/client/HandshakePacket.java b/protocol/src/main/java/mc/protocol/packets/client/HandshakePacket.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/client/HandshakePacket.java rename to protocol/src/main/java/mc/protocol/packets/client/HandshakePacket.java diff --git a/server/src/main/java/mc/protocol/packets/client/LoginStartPacket.java b/protocol/src/main/java/mc/protocol/packets/client/LoginStartPacket.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/client/LoginStartPacket.java rename to protocol/src/main/java/mc/protocol/packets/client/LoginStartPacket.java diff --git a/server/src/main/java/mc/protocol/packets/client/StatusServerRequest.java b/protocol/src/main/java/mc/protocol/packets/client/StatusServerRequest.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/client/StatusServerRequest.java rename to protocol/src/main/java/mc/protocol/packets/client/StatusServerRequest.java diff --git a/server/src/main/java/mc/protocol/packets/server/DisconnectPacket.java b/protocol/src/main/java/mc/protocol/packets/server/DisconnectPacket.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/server/DisconnectPacket.java rename to protocol/src/main/java/mc/protocol/packets/server/DisconnectPacket.java diff --git a/server/src/main/java/mc/protocol/packets/server/StatusServerResponse.java b/protocol/src/main/java/mc/protocol/packets/server/StatusServerResponse.java similarity index 100% rename from server/src/main/java/mc/protocol/packets/server/StatusServerResponse.java rename to protocol/src/main/java/mc/protocol/packets/server/StatusServerResponse.java diff --git a/server/src/test/java/mc/protocol/io/NetByteBufReadTest.java b/protocol/src/test/java/mc/protocol/io/NetByteBufReadTest.java similarity index 99% rename from server/src/test/java/mc/protocol/io/NetByteBufReadTest.java rename to protocol/src/test/java/mc/protocol/io/NetByteBufReadTest.java index c48b6b4..6337ec5 100644 --- a/server/src/test/java/mc/protocol/io/NetByteBufReadTest.java +++ b/protocol/src/test/java/mc/protocol/io/NetByteBufReadTest.java @@ -1,6 +1,5 @@ package mc.protocol.io; -import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/server/src/test/java/mc/protocol/io/NetByteBufWriteTest.java b/protocol/src/test/java/mc/protocol/io/NetByteBufWriteTest.java similarity index 100% rename from server/src/test/java/mc/protocol/io/NetByteBufWriteTest.java rename to protocol/src/test/java/mc/protocol/io/NetByteBufWriteTest.java diff --git a/server/build.gradle b/server/build.gradle index 2155b25..68acb11 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -1,41 +1,23 @@ /* Запуск - gradle run + gradle :server:run */ apply from: rootDir.toPath().resolve('logic.gradle').toFile() -apply from: rootDir.toPath().resolve('libs.gradle').toFile() - apply plugin: 'application' +application { + mainClassName = 'mc.server.Main' +} + dependencies { - annotationProcessor libs.lombok - compileOnly libs.lombok - compileOnly libs.annotations + implementation project(':protocol') - implementation libs.logger.slf4j implementation libs.logger.logback - implementation libs.dagger2.implementation - annotationProcessor libs.dagger2.annotationProcessor - implementation platform('io.projectreactor:reactor-bom:2020.0.6') implementation 'io.projectreactor:reactor-core' implementation 'io.netty:netty-all:4.1.22.Final' implementation libs.guava - - testImplementation libs.junit5.api - testImplementation libs.junit5.params - testRuntimeOnly libs.junit5.engine - - testImplementation libs.lang3 -} - -application { - mainClassName = 'mc.server.Main' -} - -test { - useJUnitPlatform() } diff --git a/settings.gradle b/settings.gradle index 925cad0..03dd498 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,4 +10,5 @@ rootProject.projectDir.toPath().resolve('gradle.properties').readLines().forEach rootProject.name = map.get('project.name') +include('protocol') include('server') \ No newline at end of file