From 34524d8e58cde7c13a470de5a351e24808784bb1 Mon Sep 17 00:00:00 2001 From: Ferran Pons Date: Wed, 31 Oct 2018 09:29:48 +0100 Subject: [PATCH] Version 1.1.1. That corrects the Query param when is a List adds the type (#19) * Version 1.1.1. That corrects the Query param when is a List adds the type * Removed artifactory condition that is not needed now --- .travis.yml | 1 - CHANGELOG.md | 2 +- .../kotlin/protein/kotlinbuilders/KotlinApiBuilder.kt | 10 ++++++++-- src/main/resources/META-INF/plugin.xml | 4 ++-- .../kotlin/mocks/pet_store_code_generated_mocks.kt | 4 ++-- travis/createTweetAfterDeployOnTag.sh | 2 +- version.properties | 2 +- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index cda36e3..87c9fc7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,6 @@ install: true # if we don't skip install, ./gradlew assemble is invoked, but th before_script: - export PATH=$TRAVIS_BUILD_DIR/bin:$PATH # ensure our tools are prefered over included ones. - - export ARTIFACTORY_DEPLOY="true" script: - ./gradlew buildPlugin diff --git a/CHANGELOG.md b/CHANGELOG.md index b3e7580..75bb945 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1 @@ -Query params not correctly added on the retrofit interface. Kotlin version 1.3.0. +Query params when is a List it does not add the type of list. diff --git a/src/main/kotlin/protein/kotlinbuilders/KotlinApiBuilder.kt b/src/main/kotlin/protein/kotlinbuilders/KotlinApiBuilder.kt index 9fe4a63..060cc11 100644 --- a/src/main/kotlin/protein/kotlinbuilders/KotlinApiBuilder.kt +++ b/src/main/kotlin/protein/kotlinbuilders/KotlinApiBuilder.kt @@ -275,10 +275,16 @@ class KotlinApiBuilder( methodParameters.add(pathParameterSpec) } "query" -> { - val queryParameterSpec = - ParameterSpec.builder(parameter.name, getKotlinClassTypeName((parameter as QueryParameter).type)) + val queryParameterSpec: ParameterSpec = if ((parameter as QueryParameter).type == ARRAY_SWAGGER_TYPE) { + ParameterSpec.builder( + parameter.name, List::class.asClassName().parameterizedBy(getKotlinClassTypeName(parameter.items.type)) + ).addAnnotation( + AnnotationSpec.builder(Query::class).addMember("\"${parameter.name}\"").build()).build() + } else { + ParameterSpec.builder(parameter.name, getKotlinClassTypeName(parameter.type)) .addAnnotation( AnnotationSpec.builder(Query::class).addMember("\"${parameter.name}\"").build()).build() + } methodParameters.add(queryParameterSpec) } } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 794fd2b..400a8fc 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.schibsted.protein Protein - Kotlin code generator for Retrofit2 and RxJava2 based on Swagger - 1.1.0 + 1.1.1 Schibsted Spain diff --git a/src/test/kotlin/mocks/pet_store_code_generated_mocks.kt b/src/test/kotlin/mocks/pet_store_code_generated_mocks.kt index 99dcec0..e40bbf5 100644 --- a/src/test/kotlin/mocks/pet_store_code_generated_mocks.kt +++ b/src/test/kotlin/mocks/pet_store_code_generated_mocks.kt @@ -21,10 +21,10 @@ const val PET_STORE_INTERFACE_MOCK = "package com.mycompany.mylibrary\n" + " fun addPet(@Body body: Pet): Completable\n" + "\n" + " @GET(\"/pet/findByStatus\")\n" + - " fun findPetsByStatus(@Query(\"status\") status: List): Single>\n" + + " fun findPetsByStatus(@Query(\"status\") status: List): Single>\n" + "\n" + " @GET(\"/pet/findByTags\")\n" + - " fun findPetsByTags(@Query(\"tags\") tags: List): Single>\n" + + " fun findPetsByTags(@Query(\"tags\") tags: List): Single>\n" + "\n" + " @GET(\"/pet/{petId}\")\n" + " fun getPetById(@Path(\"petId\") petId: Int): Single\n" + diff --git a/travis/createTweetAfterDeployOnTag.sh b/travis/createTweetAfterDeployOnTag.sh index b8b1b5e..920290f 100755 --- a/travis/createTweetAfterDeployOnTag.sh +++ b/travis/createTweetAfterDeployOnTag.sh @@ -1,6 +1,6 @@ #!/bin/bash -if [ -n "$TRAVIS_TAG" ] && [["$ARTIFACTORY_DEPLOY"=="false"]]; then +if [ -n "$TRAVIS_TAG" ]; then ./gradlew createTweet else echo "Tweet not created" diff --git a/version.properties b/version.properties index aebe608..c4e9bab 100644 --- a/version.properties +++ b/version.properties @@ -1,3 +1,3 @@ MAJOR=1 MINOR=1 -PATCH=0 \ No newline at end of file +PATCH=1 \ No newline at end of file