From f2d91cf40971749c60155dbb5b73ad2830a38306 Mon Sep 17 00:00:00 2001 From: Joseph Samuel Date: Thu, 13 Feb 2020 22:05:42 -0600 Subject: [PATCH] V 2.0.0 -- Kotlin support with suspendable remote functions --- .idea/modules.xml | 1 + CHANGELOG.md | 5 + README.md | 78 +- build.gradle | 2 + gradle.properties | 4 +- gradle/gradle-mvn-push.gradle | 15 +- javadoc/META-INF/MANIFEST.MF | 2 - javadoc/allclasses-frame.html | 8 +- javadoc/allclasses-noframe.html | 8 +- javadoc/constant-values.html | 8 +- javadoc/deprecated-list.html | 8 +- javadoc/help-doc.html | 8 +- javadoc/index-all.html | 44 +- javadoc/index.html | 4 +- javadoc/overview-frame.html | 6 +- javadoc/overview-summary.html | 10 +- javadoc/overview-tree.html | 10 +- .../remoter-builder/alltypes/index.html | 22 + .../remoter-builder/index-outline.html | 107 +++ .../remoter-builder/index.html | 25 + .../remoter-builder/package-list | 4 + .../-i-service-connector/disconnect.html | 15 + .../-i-service-connector/get-service.html | 15 + .../-i-service-connector/index.html | 51 ++ .../-service-connector/disconnect-all.html | 15 + .../-service-connector/disconnect.html | 15 + .../-service-connector/get-service.html | 15 + .../-service-connector/index.html | 58 ++ .../-service-connector/of.html | 21 + .../remoter.builder/index.html | 33 + javadoc/remoter-builder/style.css | 283 ++++++ javadoc/remoter/RemoterProxy.html | 53 +- javadoc/remoter/RemoterProxyListener.html | 12 +- javadoc/remoter/RemoterStub.html | 223 +++++ javadoc/remoter/annotations/NullableType.html | 221 +++++ javadoc/remoter/annotations/Oneway.html | 12 +- javadoc/remoter/annotations/ParamIn.html | 8 +- javadoc/remoter/annotations/ParamOut.html | 8 +- javadoc/remoter/annotations/Remoter.html | 8 +- .../remoter/annotations/package-frame.html | 7 +- .../remoter/annotations/package-summary.html | 20 +- javadoc/remoter/annotations/package-tree.html | 11 +- javadoc/remoter/package-frame.html | 7 +- javadoc/remoter/package-summary.html | 14 +- javadoc/remoter/package-tree.html | 9 +- .../remoter/annotations/NullableType.java | 23 + .../main/java/remoter/annotations/Oneway.java | 1 - remoter-builder/build.gradle | 56 ++ remoter-builder/gradle.properties | 3 + remoter-builder/proguard-rules.pro | 17 + remoter-builder/src/main/AndroidManifest.xml | 5 + .../java/remoter/builder/IServiceConnector.kt | 22 + .../java/remoter/builder/ServiceConnector.kt | 133 +++ remoter/build.gradle | 12 +- .../remoter/compiler/RemoterProcessor.java | 15 +- .../compiler/builder/BinderParamBuilder.java | 2 +- .../compiler/builder/BindingManager.java | 10 +- .../compiler/builder/BooleanParamBuilder.java | 2 + .../compiler/builder/ByteParamBuilder.java | 2 + .../compiler/builder/CharParamBuilder.java | 2 + .../compiler/builder/DoubleParamBuilder.java | 2 + .../compiler/builder/FloatParamBuilder.java | 2 + .../compiler/builder/IntParamBuilder.java | 2 + .../builder/ListOfParcelerParamBuilder.java | 14 +- .../compiler/builder/ListParamBuilder.java | 2 + .../compiler/builder/LongParamBuilder.java | 2 + .../compiler/builder/MapParamBuilder.java | 3 + .../compiler/builder/MethodBuilder.java | 18 +- .../builder/ParcelerParamBuilder.java | 13 +- .../builder/ParcellableParamBuilder.java | 22 + .../compiler/builder/StringParamBuilder.java | 2 + .../compiler/kbuilder/BinderParamBuilder.kt | 196 ++++ .../compiler/kbuilder/BooleanParamBuilder.kt | 79 ++ .../compiler/kbuilder/ByteParamBuilder.kt | 77 ++ .../compiler/kbuilder/CharParamBuilder.kt | 78 ++ .../kbuilder/CharSequenceParamBuilder.kt | 84 ++ .../java/remoter/compiler/kbuilder/Common.kt | 188 ++++ .../compiler/kbuilder/DoubleParamBuilder.kt | 78 ++ .../compiler/kbuilder/FloatParamBuilder.kt | 78 ++ .../compiler/kbuilder/GenericParamBuilder.kt | 62 ++ .../compiler/kbuilder/IntParamBuilder.kt | 79 ++ .../compiler/kbuilder/JavaToKotlinMap.kt | 43 + .../compiler/kbuilder/KBindingManager.kt | 243 +++++ .../compiler/kbuilder/KClassBuilder.kt | 209 +++++ .../compiler/kbuilder/KFieldBuilder.kt | 141 +++ .../compiler/kbuilder/KMethodBuilder.kt | 858 ++++++++++++++++++ .../compiler/kbuilder/KRemoterBuilder.kt | 81 ++ .../kbuilder/ListOfParcelerParamBuilder.kt | 148 +++ .../compiler/kbuilder/ListParamBuilder.kt | 102 +++ .../compiler/kbuilder/LongParamBuilder.kt | 79 ++ .../compiler/kbuilder/MapParamBuilder.kt | 75 ++ .../remoter/compiler/kbuilder/ParamBuilder.kt | 96 ++ .../compiler/kbuilder/ParcelerParamBuilder.kt | 259 ++++++ .../kbuilder/ParcellableParamBuilder.kt | 182 ++++ .../compiler/kbuilder/ShortParamBuilder.kt | 54 ++ .../compiler/kbuilder/StringParamBuilder.kt | 110 +++ sampleclient-remoter/build.gradle | 32 +- .../service/TestKotlinNonSuspendService.kt | 425 +++++++++ .../service/TestKotlinNonSuspendService2.kt | 425 +++++++++ .../util/service/TestKotlinSuspendService.kt | 576 ++++++++++++ .../src/main/AndroidManifest.xml | 9 + .../KotlinNonSuspendServiceImpl.kt | 350 +++++++ .../KotlinNonSuspendServiceImpl2.kt | 353 +++++++ .../remoterclient/KotlinServiceImpl.kt | 426 +++++++++ .../remoterclient/SampleKotlinService.kt | 14 + .../remoter/remoterclient/TestActivity.java | 98 -- .../remoter/remoterclient/TestActivity.kt | 104 +++ .../java/util/remoter/service/CustomData.java | 7 + .../remoter/service/ISampleKotlinService.kt | 186 ++++ .../service/ISampleKotlinServiceListener.kt | 9 + .../service/ISampleNonSuspendKotlinService.kt | 153 ++++ .../ISampleNonSuspendKotlinService2.kt | 156 ++++ .../remoter/service/SimpleParcelable.java | 72 ++ .../aidlservice/SampleServiceImpl.java | 2 +- sampleservice-remoter/build.gradle | 5 +- .../RemoterClientToAidlServerTest.java | 1 + .../remoterservice/SampleServiceImpl.java | 2 +- settings.gradle | 2 +- 118 files changed, 8746 insertions(+), 240 deletions(-) delete mode 100644 javadoc/META-INF/MANIFEST.MF create mode 100644 javadoc/remoter-builder/remoter-builder/alltypes/index.html create mode 100644 javadoc/remoter-builder/remoter-builder/index-outline.html create mode 100644 javadoc/remoter-builder/remoter-builder/index.html create mode 100644 javadoc/remoter-builder/remoter-builder/package-list create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-i-service-connector/disconnect.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-i-service-connector/get-service.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-i-service-connector/index.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-service-connector/disconnect-all.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-service-connector/disconnect.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-service-connector/get-service.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-service-connector/index.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/-service-connector/of.html create mode 100644 javadoc/remoter-builder/remoter-builder/remoter.builder/index.html create mode 100644 javadoc/remoter-builder/style.css create mode 100644 javadoc/remoter/RemoterStub.html create mode 100644 javadoc/remoter/annotations/NullableType.html create mode 100644 remoter-annotations/src/main/java/remoter/annotations/NullableType.java create mode 100644 remoter-builder/build.gradle create mode 100644 remoter-builder/gradle.properties create mode 100644 remoter-builder/proguard-rules.pro create mode 100644 remoter-builder/src/main/AndroidManifest.xml create mode 100644 remoter-builder/src/main/java/remoter/builder/IServiceConnector.kt create mode 100644 remoter-builder/src/main/java/remoter/builder/ServiceConnector.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/BinderParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/BooleanParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ByteParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/CharParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/CharSequenceParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/Common.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/DoubleParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/FloatParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/GenericParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/IntParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/JavaToKotlinMap.kt create mode 100755 remoter/src/main/java/remoter/compiler/kbuilder/KBindingManager.kt create mode 100755 remoter/src/main/java/remoter/compiler/kbuilder/KClassBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/KFieldBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/KMethodBuilder.kt create mode 100755 remoter/src/main/java/remoter/compiler/kbuilder/KRemoterBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ListOfParcelerParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ListParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/LongParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/MapParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ParcelerParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ParcellableParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/ShortParamBuilder.kt create mode 100644 remoter/src/main/java/remoter/compiler/kbuilder/StringParamBuilder.kt create mode 100644 sampleclient-remoter/src/androidTest/java/util/service/TestKotlinNonSuspendService.kt create mode 100644 sampleclient-remoter/src/androidTest/java/util/service/TestKotlinNonSuspendService2.kt create mode 100644 sampleclient-remoter/src/androidTest/java/util/service/TestKotlinSuspendService.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/KotlinNonSuspendServiceImpl.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/KotlinNonSuspendServiceImpl2.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/KotlinServiceImpl.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/SampleKotlinService.kt delete mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/TestActivity.java create mode 100644 sampleclient-remoter/src/main/java/util/remoter/remoterclient/TestActivity.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/service/ISampleKotlinService.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/service/ISampleKotlinServiceListener.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/service/ISampleNonSuspendKotlinService.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/service/ISampleNonSuspendKotlinService2.kt create mode 100644 sampleclient-remoter/src/main/java/util/remoter/service/SimpleParcelable.java diff --git a/.idea/modules.xml b/.idea/modules.xml index addf2f8..01a5eb7 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/CHANGELOG.md b/CHANGELOG.md index 24a347d..599a29b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Change Log ========== +Version 2.0.0 *(2020-02-13)* +---------------------------- +Kotlin suspend function support! + + Version 1.2.6 *(2020-01-25)* ---------------------------- Proxy equals now match with the id of the stub process it wraps diff --git a/README.md b/README.md index 200958e..d92a513 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,12 @@ public interface ISampleService { * No messy **.aidl**, just plain simple **interface** * Implement the interface directly using intuitive normal java way, instead of extending Stub * **Fully interoperable with AIDL**. Remoter creates the same serialized data as created by AIDL, so it is fully interoperable with AIDL -* Supports more data types than AIDL, everything supported by Parcel +* Supports more data types than AIDL, everything supported by [Parceler](https://github.com/johncarl81/parceler) * Make an interface that extends other interfaces as @Remoter * Interface methods can throw any exceptions. Clients will get the same exception that is thrown. * Remoter interface can be templated * Remoter is an **annotation processor** that generates two helper classes during build time -- a client side Proxy and a service side Stub that allows you to wrap your interface and implementation +* **Support kotlin coroutines!** **At the client side** @@ -72,6 +73,69 @@ That's it! * **@ParamIn** Mark an array or Parcelable parameter as an **input only** parameter(**in** of aidl). By **default** they are **input and output** (inout of aidl) * **@ParamOut** Mark an array or Parcelable parameter as an **output only** parameter(**out** of aidl). * **@Oneway** Annotate on a method (in the @Remoter interface) with void return to make it an asynchronous method. +* **@NullableType** Used to annotate a type parameter or suspend function return as nullable. See below for more details + + + +##Kotlin Support with suspend functions + +Remoter supports Kotlin interfaces with suspend functions. If your interface (marked with @Remoter) has any suspend functions, then the generated Proxy and Stub will be in Kotlin, enabling to call your remoter service method from coroutines. + +* The suspend functions will be dispatched using the Dispatcher.IO context +* Kotlin Proxy can be created using the optional constructor that accepts IServiceConnector which moves service connection to a suspendable coroutine + +##### Kotlin Example + +* Define interface in kotlin as suspend + +```kotlin +@Remoter +interface ISampleService { + + /** + * A suspend function which will be implemented by a service + */ + suspend fun authenticate(userName:String, password:String) : Boolean +} + +``` + +* Include the depednecy for RemoterBuilder to take advantage of suspended service connection + +```kotlin +implementation 'com.josesamuel:remoter-builder:' +``` + +* From your coroutine, call the remote service call as follows + +```kotlin + +//From your coroutine context - + +//create service using serviceintent +val service = ISampleService_Proxy(context, SERVICE_INTENT) + +//call the suspend function +val authenticated = service.authenticate(userName, password) + +//The above call will + - suspend the current context + - connect to service, + - make the remote call, + + all sequentially without blocking the calling thread! + +``` + +* No need to take care of service connection! +* No need to move to background thread for service call and then to main thred to update UI! + + + +##### Notes on Kotlin support +* vararg is not supported. Either use array or non suspend +* If any return is nullable type on a suspend function, explicitly mark the method with @NullableType +* If any types in a generic parameter is nullable, explicitly mnark those parameter with @NullableType optionally specifying which indexex of that type parameter are nullable @@ -82,10 +146,16 @@ Gradle dependency ```groovy dependencies { - implementation 'com.josesamuel:remoter-annotations:1.2.7' - annotationProcessor 'com.josesamuel:remoter:1.2.7' + + implementation 'com.josesamuel:remoter-annotations:2.0.0' + kapt 'com.josesamuel:remoter:2.0.0' + + + //If using kotlin coroutines, include following + //to make even the service connection simpler - + + implementation 'com.josesamuel:remoter-builder:2.0.0' - //If any of the parameters are @Parcel, include depedencies for @Parcel } ``` diff --git a/build.gradle b/build.gradle index bcd2c6c..158be4e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,7 @@ buildscript { + ext.kotlin_version = '1.3.61' ext.versions = [ 'minSdk' : 9, 'compileSdk': 26, @@ -40,6 +41,7 @@ buildscript { } dependencies { classpath deps.android.gradlePlugin + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/gradle.properties b/gradle.properties index 27678e0..7d650d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ GROUP=com.josesamuel -VERSION_NAME=1.2.7 -VERSION_CODE=17 +VERSION_NAME=2.0.0 +VERSION_CODE=20 POM_DESCRIPTION=Remoter makes developing android remote services intuitive without messing with aidl. diff --git a/gradle/gradle-mvn-push.gradle b/gradle/gradle-mvn-push.gradle index 5fe4770..0c579fa 100644 --- a/gradle/gradle-mvn-push.gradle +++ b/gradle/gradle-mvn-push.gradle @@ -135,14 +135,21 @@ afterEvaluate { project -> } } - task androidJavadocs(type: Javadoc) { - source = android.sourceSets.main.java.source - classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) +// task androidJavadocs(type: Javadoc) { +// source = android.sourceSets.main.java.source +// classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) +// } + + task androidJavadocs(dependsOn: dokka) { + // source = android.sourceSets.main.java.source + // classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } + task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { classifier = 'javadoc' - from androidJavadocs.destinationDir + //from androidJavadocs.destinationDir + from dokka.outputDirectory } task androidSourcesJar(type: Jar) { diff --git a/javadoc/META-INF/MANIFEST.MF b/javadoc/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c0..0000000 --- a/javadoc/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 - diff --git a/javadoc/allclasses-frame.html b/javadoc/allclasses-frame.html index d4cc23a..2289054 100644 --- a/javadoc/allclasses-frame.html +++ b/javadoc/allclasses-frame.html @@ -2,9 +2,9 @@ - -All Classes (remoter-annotations 1.1.5 API) - + +All Classes (remoter-annotations 2.0.0 API) + @@ -12,12 +12,14 @@

All Classes

diff --git a/javadoc/allclasses-noframe.html b/javadoc/allclasses-noframe.html index 6b3b390..018ce93 100644 --- a/javadoc/allclasses-noframe.html +++ b/javadoc/allclasses-noframe.html @@ -2,9 +2,9 @@ - -All Classes (remoter-annotations 1.1.5 API) - + +All Classes (remoter-annotations 2.0.0 API) + @@ -12,12 +12,14 @@

All Classes

diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html index 093e87f..b8cef23 100644 --- a/javadoc/constant-values.html +++ b/javadoc/constant-values.html @@ -2,9 +2,9 @@ - -Constant Field Values (remoter-annotations 1.1.5 API) - + +Constant Field Values (remoter-annotations 2.0.0 API) + @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ diff --git a/javadoc/overview-summary.html b/javadoc/overview-summary.html index e785298..86dda72 100644 --- a/javadoc/overview-summary.html +++ b/javadoc/overview-summary.html @@ -2,9 +2,9 @@ - -Overview (remoter-annotations 1.1.5 API) - + +Overview (remoter-annotations 2.0.0 API) + @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -12,13 +12,13 @@ @@ -12,7 +12,7 @@ + + + + + + + + + +
+
remoter
+

Interface RemoterStub

+
+
+
+
    +
  • +
    +
    +
    public interface RemoterStub
    +
    Represents a remote stub. This will be implemented by the Remoter generated Stub classes.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        destroyStub

        +
        void destroyStub()
        +
        Destroys this stub. It will be unusable after this
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/javadoc/remoter/annotations/NullableType.html b/javadoc/remoter/annotations/NullableType.html new file mode 100644 index 0000000..71fbe01 --- /dev/null +++ b/javadoc/remoter/annotations/NullableType.html @@ -0,0 +1,221 @@ + + + + + +NullableType (remoter-annotations 2.0.0 API) + + + + + + + + + + + + +
+
remoter.annotations
+

Annotation Type NullableType

+
+
+
+
    +
  • +
    +
    +
    @Retention(value=CLASS)
    + @Target(value={PARAMETER,METHOD})
    +public @interface NullableType
    +
    Marks which of the types in a type parameter are nullable
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Optional Element Summary

      + + + + + + + + + + +
      Optional Elements 
      Modifier and TypeOptional Element and Description
      int[]nullableIndexes +
      Array of indexes (0 based) of the type that are nullable.
      +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Element Detail

      + + + +
        +
      • +

        nullableIndexes

        +
        public abstract int[] nullableIndexes
        +
        Array of indexes (0 based) of the type that are nullable. +

        + Default is {0}. If the type is single type param, then this can be omitted.

        +
        +
        Default:
        +
        0
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/javadoc/remoter/annotations/Oneway.html b/javadoc/remoter/annotations/Oneway.html index e516b8c..4e656a3 100644 --- a/javadoc/remoter/annotations/Oneway.html +++ b/javadoc/remoter/annotations/Oneway.html @@ -2,9 +2,9 @@ - -Oneway (remoter-annotations 1.1.5 API) - + +Oneway (remoter-annotations 2.0.0 API) + @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -13,6 +13,7 @@

Annotation Types

    +
  • NullableType
  • Oneway
  • ParamIn
  • ParamOut
  • diff --git a/javadoc/remoter/annotations/package-summary.html b/javadoc/remoter/annotations/package-summary.html index af914d4..9ebb31a 100644 --- a/javadoc/remoter/annotations/package-summary.html +++ b/javadoc/remoter/annotations/package-summary.html @@ -2,9 +2,9 @@ - -remoter.annotations (remoter-annotations 1.1.5 API) - + +remoter.annotations (remoter-annotations 2.0.0 API) + @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@ @@ -15,6 +15,7 @@

    Interfaces

    diff --git a/javadoc/remoter/package-summary.html b/javadoc/remoter/package-summary.html index 4b81b56..897ece6 100644 --- a/javadoc/remoter/package-summary.html +++ b/javadoc/remoter/package-summary.html @@ -2,9 +2,9 @@ - -remoter (remoter-annotations 1.1.5 API) - + +remoter (remoter-annotations 2.0.0 API) + @@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@