Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions application/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
plugins {
id "java-library"
}

dependencies {

testImplementation projects.testSupport
}
8 changes: 8 additions & 0 deletions base/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apply plugin: "java-library"
apply from: "$rootDir/gradle/configure-java.gradle"

dependencies {
api libs.gson
api libs.rlib.collections
testImplementation projects.testSupport
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package com.ss.mqtt.broker.util;
package javasabr.mqtt.base.utils;

import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.lang.StackWalker.Option;
import java.lang.reflect.Field;
import java.util.Collection;
import java.util.Set;
import javasabr.rlib.collections.array.ArrayFactory;
import javasabr.rlib.collections.array.MutableArray;
import javasabr.rlib.common.util.ArrayUtils;
import javasabr.rlib.common.util.ReflectionUtils;

import java.lang.StackWalker.Option;
import java.lang.reflect.Field;
import java.util.Set;

public class DebugUtils {

public static class PrintOnlyProvidedFields implements ExclusionStrategy {
Expand Down Expand Up @@ -42,8 +41,8 @@ public boolean shouldSkipClass(Class<?> clazz) {
}
}

private static final MutableArray<ExclusionStrategy> ADDITIONAL_EXCLUDE_STRATEGIES =
ArrayFactory.copyOnModifyArray(ExclusionStrategy.class);
private static final MutableArray<ExclusionStrategy> ADDITIONAL_EXCLUDE_STRATEGIES = ArrayFactory.copyOnModifyArray(
ExclusionStrategy.class);

private static class ExclusionStrategyContainer implements ExclusionStrategy {

Expand Down Expand Up @@ -81,7 +80,9 @@ public static void registerIncludedFields(String... fieldNames) {

boolean anyMatch = allFields
.stream()
.anyMatch(field -> field.getName().equals(fieldName));
.anyMatch(field -> field
.getName()
.equals(fieldName));

if (!anyMatch) {
throw new RuntimeException("Not found field " + fieldName + " in type " + callerClass);
Expand Down
106 changes: 21 additions & 85 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,107 +11,43 @@ buildscript {
}
}

rootProject.version = "0.0.1"
group = "com.spaceshift"

allprojects {

apply plugin: "java"
apply plugin: "groovy"
apply plugin: "org.springframework.boot"
repositories {
maven {
url "https://gitlab.com/api/v4/projects/37512056/packages/maven"
}
}

//sourceCompatibility = JavaVersion.VERSION_17
//targetCompatibility = JavaVersion.VERSION_17
rootProject.version = "0.0.1"
group = "javasabr.mqtt"

subprojects {
repositories {
mavenCentral()
mavenLocal()
}

dependencies {

implementation libs.rlib.network
implementation libs.rlib.logger.slf4j
implementation libs.springboot.starter.core
implementation libs.springboot.starter.log4j2
implementation libs.project.reactor.core
implementation libs.gson

compileOnly libs.jetbrains.annotations
compileOnly libs.jspecify
compileOnly libs.lombok
annotationProcessor libs.lombok

// FIXME to remove
testImplementation libs.hivemq.mqtt.client
// FIXME to remove
testImplementation libs.moquette.broker
testImplementation libs.spring.test
testImplementation libs.spock.core
testImplementation libs.spock.spring
testImplementation libs.groovy.all
testImplementation libs.byte.buddy.dep
testImplementation libs.objenesis
testCompileOnly libs.jetbrains.annotations
testCompileOnly libs.jspecify
}

test {
useJUnitPlatform()
failOnNoDiscoveredTests = false
}

sourceSets {
main {
java {
srcDirs 'src/main/groovy'
}
}
test {
java {
srcDirs 'src/test/groovy'
}
maven {
url "https://gitlab.com/api/v4/projects/37512056/packages/maven"
}
}

tasks.withType(Test).configureEach {
maxParallelForks = 2
forkEvery = 100
jvmArgs += "--enable-preview"
}

tasks.withType(JavaCompile).configureEach {
options.compilerArgs += "--enable-preview"
}

tasks.withType(GroovyCompile).configureEach {
options.forkOptions.jvmArgs += "--enable-preview"
}

processResources {
filter(ReplaceTokens, tokens: [
])
}
}

task buildSingleArtifact(type: GradleBuild) {
group = 'build'
description = 'Build all modules -> Build result artifact'
tasks.register("buildSingleArtifact", GradleBuild) {
group = "build"
description = "Build all modules -> Build result artifact"
tasks = ['build', 'bootJar']
}

task buildSingleArtifactWithoutTests(type: GradleBuild) {
group = 'build'
description = 'Build all modules without tests -> Build result artifact'
tasks.register("buildSingleArtifactWithoutTests", GradleBuild) {
group = "build"
description = "Build all modules without tests -> Build result artifact"
tasks = ['classes', 'bootJar']
}

wrapper {
gradleVersion = '6.6-milestone-1'
distributionType = Wrapper.DistributionType.ALL
}

configurations.each {
it.exclude group: "org.slf4j", module: "slf4j-log4j12"
it.exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
}

wrapper {
gradleVersion = '9.1.0'
distributionType = Wrapper.DistributionType.ALL
}
40 changes: 40 additions & 0 deletions gradle/configure-java.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import org.apache.tools.ant.filters.ReplaceTokens

dependencies {
compileOnly libs.jspecify
compileOnly libs.lombok
annotationProcessor libs.lombok
}

test {
useJUnitPlatform()
failOnNoDiscoveredTests = false
}

sourceSets {
main {
java {
srcDirs 'src/main/groovy'
}
}
test {
java {
srcDirs 'src/test/groovy'
}
}
}

tasks.withType(Test).configureEach {
maxParallelForks = 2
forkEvery = 100
jvmArgs += "--enable-preview"
}

tasks.withType(JavaCompile).configureEach {
options.compilerArgs += "--enable-preview"
}


processResources {
filter(ReplaceTokens, tokens: [])
}
3 changes: 2 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
# https://gitlab.com/JavaSaBr/maven-repo/-/packages
rlib = "10.0.alpha"
rlib = "10.0.alpha1"
# https://mvnrepository.com/artifact/org.jetbrains/annotations
jetbrains-annotations = "26.0.2"
# https://mvnrepository.com/artifact/org.projectlombok/lombok
Expand Down Expand Up @@ -38,6 +38,7 @@ moquette-broker = "0.17"
[libraries]
rlib-network = { module = "javasabr.rlib:rlib-network", version.ref = "rlib" }
rlib-logger-slf4j = { module = "javasabr.rlib:rlib-logger-slf4j", version.ref = "rlib" }
rlib-collections = { module = "javasabr.rlib:rlib-collections", version.ref = "rlib" }
springboot-starter-core = { module = "org.springframework.boot:spring-boot-starter", version.ref = "springboot" }
springboot-starter-log4j2 = { module = "org.springframework.boot:spring-boot-starter-log4j2", version.ref = "springboot" }
project-reactor-core = { module = "io.projectreactor:reactor-core", version.ref = "project-reactor" }
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading
Loading