diff --git a/build.gradle b/build.gradle index 053c8be5..e8aedeb1 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,8 @@ allprojects { set('MyBatisPlusVersion', '3.5.2') set('NettyVersion', '4.1.85.Final') set('RedissonVersion', '3.22.1') + set('ReactorVersion', '3.4.25') + set('Rxjava3Version', '3.1.8') set('XnioVersion', '3.8.6.Final') set('VueVersion', '2.6.11') set('VueResourceVersion', '1.5.1') diff --git a/concept-reactive/build.gradle b/concept-reactive/build.gradle new file mode 100644 index 00000000..f7b67743 --- /dev/null +++ b/concept-reactive/build.gradle @@ -0,0 +1,2 @@ +apply from: 'version.gradle' +version ConceptReactiveVersion \ No newline at end of file diff --git a/concept-reactive/concept-reactive-core/build.gradle b/concept-reactive/concept-reactive-core/build.gradle new file mode 100644 index 00000000..b7aad1e9 --- /dev/null +++ b/concept-reactive/concept-reactive-core/build.gradle @@ -0,0 +1,15 @@ +apply from: '../../allprojects.gradle' + +apply from: '../version.gradle' +version ConceptReactiveVersion + +ext { + set('publishName', 'Reactive Core') + set('publishDescription', 'Reactive Core') +} + +dependencies { + +} + +apply from: '../../publish.gradle' \ No newline at end of file diff --git a/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveCollection.java b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveCollection.java new file mode 100644 index 00000000..3245368f --- /dev/null +++ b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveCollection.java @@ -0,0 +1,8 @@ +package com.github.linyuzai.reactive.core.concept; + +public interface ReactiveCollection { + + interface Factory { + + } +} diff --git a/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveConcept.java b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveConcept.java new file mode 100644 index 00000000..0e40ba40 --- /dev/null +++ b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveConcept.java @@ -0,0 +1,8 @@ +package com.github.linyuzai.reactive.core.concept; + +public interface ReactiveConcept { + + ReactiveObject.Factory objectFactory(); + + ReactiveCollection.Factory collectionFactory(); +} diff --git a/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveObject.java b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveObject.java new file mode 100644 index 00000000..3459ec06 --- /dev/null +++ b/concept-reactive/concept-reactive-core/src/main/java/com/github/linyuzai/reactive/core/concept/ReactiveObject.java @@ -0,0 +1,8 @@ +package com.github.linyuzai.reactive.core.concept; + +public interface ReactiveObject { + + interface Factory { + + } +} diff --git a/concept-reactive/concept-reactive-reactor/build.gradle b/concept-reactive/concept-reactive-reactor/build.gradle new file mode 100644 index 00000000..8af9948d --- /dev/null +++ b/concept-reactive/concept-reactive-reactor/build.gradle @@ -0,0 +1,16 @@ +apply from: '../../allprojects.gradle' + +apply from: '../version.gradle' +version ConceptReactiveVersion + +ext { + set('publishName', 'Reactive Reactor') + set('publishDescription', 'Reactive 4 Reactor') +} + +dependencies { + compileOnly "io.projectreactor:reactor-core:${ReactorVersion}" + compileOnly project(':concept-reactive:concept-reactive-core') +} + +apply from: '../../publish.gradle' \ No newline at end of file diff --git a/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorCollection.java b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorCollection.java new file mode 100644 index 00000000..cc7c1de6 --- /dev/null +++ b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorCollection.java @@ -0,0 +1,6 @@ +package com.github.linyuzai.reactive.reactor.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveCollection; + +public class ReactorCollection implements ReactiveCollection { +} diff --git a/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorConcept.java b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorConcept.java new file mode 100644 index 00000000..73330b63 --- /dev/null +++ b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorConcept.java @@ -0,0 +1,19 @@ +package com.github.linyuzai.reactive.reactor.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveCollection; +import com.github.linyuzai.reactive.core.concept.ReactiveConcept; +import com.github.linyuzai.reactive.core.concept.ReactiveObject; +import reactor.core.publisher.Mono; + +public class ReactorConcept implements ReactiveConcept { + + @Override + public ReactiveObject.Factory objectFactory() { + return new ReactorObject.MonoFactory(); + } + + @Override + public ReactiveCollection.Factory collectionFactory() { + return null; + } +} diff --git a/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorObject.java b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorObject.java new file mode 100644 index 00000000..71d2d55a --- /dev/null +++ b/concept-reactive/concept-reactive-reactor/src/main/java/com/github/linyuzai/reactive/reactor/concept/ReactorObject.java @@ -0,0 +1,13 @@ +package com.github.linyuzai.reactive.reactor.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveObject; +import reactor.core.publisher.Mono; + +public class ReactorObject implements ReactiveObject { + + private Mono mono; + + public static class MonoFactory implements Factory { + + } +} diff --git a/concept-reactive/concept-reactive-rxjava3/build.gradle b/concept-reactive/concept-reactive-rxjava3/build.gradle new file mode 100644 index 00000000..bef7892b --- /dev/null +++ b/concept-reactive/concept-reactive-rxjava3/build.gradle @@ -0,0 +1,16 @@ +apply from: '../../allprojects.gradle' + +apply from: '../version.gradle' +version ConceptReactiveVersion + +ext { + set('publishName', 'Reactive Rxjava3') + set('publishDescription', 'Reactive 4 Rxjava3') +} + +dependencies { + compileOnly "io.reactivex.rxjava3:${Rxjava3Version}" + compileOnly project(':concept-reactive:concept-reactive-core') +} + +apply from: '../../publish.gradle' \ No newline at end of file diff --git a/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Collection.java b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Collection.java new file mode 100644 index 00000000..7168cee3 --- /dev/null +++ b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Collection.java @@ -0,0 +1,8 @@ +package com.github.linyuzai.reactive.rxjava3.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveCollection; + +public class RxJava3Collection implements ReactiveCollection { + + +} diff --git a/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Concept.java b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Concept.java new file mode 100644 index 00000000..6af507ea --- /dev/null +++ b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Concept.java @@ -0,0 +1,6 @@ +package com.github.linyuzai.reactive.rxjava3.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveConcept; + +public class RxJava3Concept implements ReactiveConcept { +} diff --git a/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Object.java b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Object.java new file mode 100644 index 00000000..0838f417 --- /dev/null +++ b/concept-reactive/concept-reactive-rxjava3/src/main/java/com/github/linyuzai/reactive/rxjava3/concept/RxJava3Object.java @@ -0,0 +1,6 @@ +package com.github.linyuzai.reactive.rxjava3.concept; + +import com.github.linyuzai.reactive.core.concept.ReactiveObject; + +public class RxJava3Object implements ReactiveObject { +} diff --git a/concept-reactive/version.gradle b/concept-reactive/version.gradle new file mode 100644 index 00000000..870d1e0c --- /dev/null +++ b/concept-reactive/version.gradle @@ -0,0 +1 @@ +ext.'ConceptReactiveVersion' = '1.0.0' diff --git a/settings.gradle b/settings.gradle index c92133f7..3e7d8f67 100644 --- a/settings.gradle +++ b/settings.gradle @@ -38,6 +38,10 @@ include 'concept-plugin:concept-plugin-jar' include 'concept-plugin:concept-plugin-spring-boot-starter' include 'concept-properties-refresh' include 'concept-properties-refresh:concept-properties-refresh-core' +include 'concept-reactive' +include 'concept-reactive:concept-reactive-core' +include 'concept-reactive:concept-reactive-reactor' +include 'concept-reactive:concept-reactive-rxjava3' include 'concept-router' include 'concept-router:concept-router-core' include 'concept-router:concept-router-loadbalancer'