From 9140e55cb93d25047f2d9a53598eef4d0b564c80 Mon Sep 17 00:00:00 2001 From: Cindy Turpin Date: Tue, 16 Jun 2020 09:27:18 -0500 Subject: [PATCH] update for Mn 2.0 release --- complete/Dockerfile | 4 ++ complete/README.md | 4 ++ complete/gradle.properties | 2 +- complete/gradle/wrapper/gradle-wrapper.jar | Bin 54413 -> 57265 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- complete/gradlew | 53 ++++++++++------ complete/gradlew.bat | 22 ++++++- complete/micronaut-cli.yml | 6 ++ complete/server/build.gradle | 60 +++++++++++++----- .../server/src/main/resources/logback.xml | 2 +- .../example/micronaut/CompleteSpec.groovy | 19 ++++++ 11 files changed, 133 insertions(+), 41 deletions(-) create mode 100644 complete/Dockerfile create mode 100644 complete/README.md create mode 100644 complete/micronaut-cli.yml create mode 100644 complete/server/src/test/groovy/example/micronaut/CompleteSpec.groovy diff --git a/complete/Dockerfile b/complete/Dockerfile new file mode 100644 index 0000000..b9af1a3 --- /dev/null +++ b/complete/Dockerfile @@ -0,0 +1,4 @@ +FROM openjdk:14-alpine +COPY build/libs/complete-*-all.jar complete.jar +EXPOSE 8080 +CMD ["java", "-Dcom.sun.management.jmxremote", "-Xmx128m", "-jar", "complete.jar"] \ No newline at end of file diff --git a/complete/README.md b/complete/README.md new file mode 100644 index 0000000..d1d4d88 --- /dev/null +++ b/complete/README.md @@ -0,0 +1,4 @@ +## Feature http-client documentation + +- [Micronaut Micronaut HTTP Client documentation](https://docs.micronaut.io/latest/guide/index.html#httpClient) + diff --git a/complete/gradle.properties b/complete/gradle.properties index fe96599..0eeb029 100644 --- a/complete/gradle.properties +++ b/complete/gradle.properties @@ -1 +1 @@ -micronautVersion=1.2.6 +micronautVersion=2.0.0.RC1 diff --git a/complete/gradle/wrapper/gradle-wrapper.jar b/complete/gradle/wrapper/gradle-wrapper.jar index 91ca28c8b802289c3a438766657a5e98f20eff03..778d8f3ba23cb4f92237428d914fd696828b155b 100644 GIT binary patch delta 3473 zcma)8c|4R|8=iUWj3WC;)U^KTLz7 zCQq*l<_z$hT42~?=T#7>o}=0o@2X~FpmzwA3E&SPK56_&9C4Z@KtkeMAzKYKSDK+~ zuO22F@E;79qv6cM7R>}i*;YiL=J=M%4mI$26}?Q1C8%OXT%}w}SeN34h_{|#R1Cs= z@|mJGGGqphxZf9N@9aJ2^TlL#K+bGTO!Aa4rid$ajj?ym+;bvmTp3e;Gf*5Y8V6U3 zx@#FOcyd5zX-xk{8Bt`Qc;%FX`-2ty)VjFr6U#FzPU0EdN_WinPaUFf`ZOt8uE~hA z7hNoMttPx>16@Pao|gGvQu(kc-6f2R-l!I@I)Po023WJL7sab;z=CMP_Dtvbn?$sp)tP01j?Xemq*{3_J%cL4%wvE{FY6!k@ zstL#J(Xl|7f4|%KCPa~6``NNq?Zx28Z@gVuBqyc0R%66LzZ-Z(=qPH;RF-7+o?-04 z{TFI3Ym%Nf-Iq6Wc+~)e%pxyHF=j ztygYYTYT3$%ELoE!pO*v~EpQtI~uc*VkLCXAat68t9+}b z-Xf9(}i$OL#%%Id%V_XLjv_g>x7sM5)-bD%%8$S+T()RgmblQI|zb zO177Zk8azsKRc$KfwbhimUilexxFV|V~*y9&266P;)Z+2m>e_0@7KBVI3!Ot`R6Mj|UsZR!h#tBkOG z5)omAB-)*pNol<<9;!;45WXyAOVl9kOV_@=do;F~)7yQL*Ln9rC#wam&o$K{w-h9oEVGe=3 zJ!;_v1vZ8-2g0zwhX-?iV}bnXov(`M_X4WJX^utmdA3mf4=CYul3h&ZcqZ$^q84S{ zI(4y6N}nR5!ouUU!?kpr*p4g{ZtsmHX^@(dB<)Lr4=HJ$zcvhi`Q^$e7x!xUqfe-v z;uDv5c!tcayh3P{`>)rtATXs$?^zSE*nM`H#_hCC6iF!Mj$AiM0G2j8ius0gjyUx^ z!bs<2{=t*;)RCsErd>Is3X{z9M@2ZA)wWaQi-TK9_WbXHJT|SF%2vLX6HFqFi*l24 z%7|+mk9$wM`=E`M>-{cgN3(rCuPC4-wr!EEc|3R*1y|2DL4P9R7#lWUYwiG zo8){rQc)|!cE>NY)$?7g%5BG67GVwX?co+5?Op`cABc{)Gv2gOXTSEP!+mnd(R^uu zxzdwH^v=N}z6#Oq(dp5S@F!z+@Gs`BcUB*FzYX>_3i17vS79%YTeECf>QiYUls+S# zej7Pmchq^ZFK^v1o3trrID=KiWUpU>d6cWW*~K2PI9zh^)h@>?CAzDV?pNFb*11iO zBYpUNx7;Sv+bzVHD!PR<1kYm{T(wScHeX1i#=)S=C*kh-@(fdl;eq?qh>O;rUO0R#lA+ecDHUS6lP;O|^er{@pkyB#7vKCQr8z_0qLYA68yy48GNvUYa#fzfE8SfJq4LQr+D zmjv}}5doIED4ThtUCx3z#Ii3T_1&bd)5wBqF1H&Zwksg}k$|Y|*MqpK5NHBb*H}f| zIzG5Xa{p={WtzKJ|6fOztd+=0=~M;{}~6g8W02J zIt2y)LA#OJ>_2BD00wtzL9c@?oiflz;9935lthtgs$CKQ9~6Am!$DSUnt&B81r9OL zgUPh?;0n3-INeWI038pg-z@>;GEiKJ-HHH->u2vmHyW7YrkKh-dO#dM8S;XU_}M}C zK^CyP2M(16=X$JwBS^{^!(JtT9z}t9WSAgNfor{g0^>RqsM4nZVDu^QrU5gU*{2Tp z8c@vjK2_klIRy@y^MPmjC4lob6tjYSRWy@LD|?E$*MAal#ef710z5k)0qq2n22_Ce z7?9ab7Th0@03tldkO$NlGz5ga!S>X{VCA41v;o{4v;?^QC=Me(7&#&f7&Qb3_=CwV zVX$pT24KQdAYqsWG{kd&(!&x!e%QZVDnLdA1*N?gk7e&{utKt12;A!C1o7i=fK&s{Gz)%kR)&~> zL;FDVggZ1BES+$J`ho`^i;Mo!eZT4ZpL4oEMr|FGzf6|FX<2jQcWg9ApZiXk%dA9EOGp}- z_Si-30zp9$#1g3pveunE>ZV)HO~g;-x5O{qKJ@NQZ6E4A9QgnL&+mEPbKrfPgAo_* zMRXeClpH6MaU5sju9e+=lR;H}SEglo$$Qs8@0Xr=`<$I{of_vrtm~kXl7CQ2EiE-w zB`2zmmKp3qsZdp0mr`r5sTJ&XRl@OPvw+H>=miBMT@6IIeCuf#I0l&XI`&DpU4v}lHnpKkYKAh z9>qu*c1mQJN3 zZ-+Sn<>hIYyb5$whW9mA(mVl!<2j(KMrV^2i>g&v?B(IHjoGiZ*ihG7uZE~_#(MzP z*3*1F9N80=J*hzT zga%HxvFK@=7Bd10JWHc~2aDz%t8r?A2WJPf8~uCXP8X9`{h9Ero5^2(6Fj-XyTI yeQ2602b&8WE}b>cOh8HR<>DNKU*ymn{9S{t|4&7pd6^_cZlX^yodNZ$koyftiaGKC diff --git a/complete/gradle/wrapper/gradle-wrapper.properties b/complete/gradle/wrapper/gradle-wrapper.properties index 838e6bc..622ab64 100644 --- a/complete/gradle/wrapper/gradle-wrapper.properties +++ b/complete/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/complete/gradlew b/complete/gradlew index cccdd3d..4f906e0 100755 --- a/complete/gradlew +++ b/complete/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -66,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -109,10 +126,11 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath @@ -138,19 +156,19 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi @@ -159,14 +177,9 @@ save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } -APP_ARGS=$(save "$@") +APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - exec "$JAVACMD" "$@" diff --git a/complete/gradlew.bat b/complete/gradlew.bat index f955316..5093609 100755 --- a/complete/gradlew.bat +++ b/complete/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -13,8 +29,11 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -65,6 +84,7 @@ set CMD_LINE_ARGS=%* set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% diff --git a/complete/micronaut-cli.yml b/complete/micronaut-cli.yml new file mode 100644 index 0000000..ed558a4 --- /dev/null +++ b/complete/micronaut-cli.yml @@ -0,0 +1,6 @@ +applicationType: default +defaultPackage: example.micronaut +testFramework: spock +sourceLanguage: java +buildTool: gradle +features: [app-name, docker, file-watch, gradle, http-client, java, java-application, logback, netty-server, readme, shade, spock, yaml] diff --git a/complete/server/build.gradle b/complete/server/build.gradle index a60cadf..f695011 100644 --- a/complete/server/build.gradle +++ b/complete/server/build.gradle @@ -1,6 +1,7 @@ plugins { - id "net.ltgt.apt-eclipse" version "0.21" - id "com.github.johnrengelman.shadow" version "5.0.0" + id "com.diffplug.eclipse.apt" version "3.22.0" + id "groovy" + id "com.github.johnrengelman.shadow" version "5.2.0" id "application" } @@ -18,19 +19,19 @@ configurations { } dependencies { - annotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion") - annotationProcessor "io.micronaut:micronaut-inject-java" - annotationProcessor "io.micronaut:micronaut-validation" - implementation platform("io.micronaut:micronaut-bom:$micronautVersion") - implementation "io.micronaut:micronaut-inject" - implementation "io.micronaut:micronaut-validation" - implementation "io.micronaut:micronaut-runtime" - implementation "io.micronaut:micronaut-http-server-netty" - implementation "io.micronaut:micronaut-http-client" - runtimeOnly "ch.qos.logback:logback-classic:1.2.3" + annotationProcessor(platform("io.micronaut:micronaut-bom:$micronautVersion")) + annotationProcessor("io.micronaut:micronaut-inject-java") + annotationProcessor("io.micronaut:micronaut-validation") + implementation(platform("io.micronaut:micronaut-bom:$micronautVersion")) + implementation("io.micronaut:micronaut-inject") + implementation("io.micronaut:micronaut-validation") + implementation("io.micronaut:micronaut-runtime") + implementation("io.micronaut:micronaut-http-server-netty") + implementation("io.micronaut:micronaut-http-client") + runtimeOnly("ch.qos.logback:logback-classic") testAnnotationProcessor platform("io.micronaut:micronaut-bom:$micronautVersion") testAnnotationProcessor "io.micronaut:micronaut-inject-java" - testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion") + testImplementation(platform("io.micronaut:micronaut-bom:$micronautVersion")) testImplementation "org.junit.jupiter:junit-jupiter-api" testImplementation "io.micronaut.test:micronaut-test-junit5" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine" @@ -43,14 +44,39 @@ mainClassName = "example.micronaut.Application" test { useJUnitPlatform() } -tasks.withType(JavaCompile){ + +java { + sourceCompatibility = JavaVersion.toVersion('1.8') + targetCompatibility = JavaVersion.toVersion('1.8') +} + +tasks.withType(JavaCompile) { options.encoding = "UTF-8" - options.compilerArgs.add('-parameters') + options.compilerArgs.addAll([ + '-parameters', + // enables incremental compilation + '-Amicronaut.processing.incremental=true', + '-Amicronaut.processing.annotations=example.micronaut.*', + "-Amicronaut.processing.group=$project.group", + "-Amicronaut.processing.module=$project.name", + ]) } shadowJar { mergeServiceFiles() } -run.classpath += configurations.developmentOnly -run.jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote') +tasks.withType(JavaExec) { + classpath += configurations.developmentOnly + jvmArgs('-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote') + if (gradle.startParameter.continuous) { + systemProperties( + 'micronaut.io.watch.restart':'true', + 'micronaut.io.watch.enabled':'true', + "micronaut.io.watch.paths":"src/main" + ) + } +} + + + diff --git a/complete/server/src/main/resources/logback.xml b/complete/server/src/main/resources/logback.xml index 498c90a..af9827e 100644 --- a/complete/server/src/main/resources/logback.xml +++ b/complete/server/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - true + false diff --git a/complete/server/src/test/groovy/example/micronaut/CompleteSpec.groovy b/complete/server/src/test/groovy/example/micronaut/CompleteSpec.groovy new file mode 100644 index 0000000..7dec68c --- /dev/null +++ b/complete/server/src/test/groovy/example/micronaut/CompleteSpec.groovy @@ -0,0 +1,19 @@ +package example.micronaut + +import io.micronaut.runtime.EmbeddedApplication +import io.micronaut.test.annotation.MicronautTest +import spock.lang.Specification +import javax.inject.Inject + +@MicronautTest +class CompleteSpec extends Specification { + + @Inject + EmbeddedApplication application + + void 'test it works'() { + expect: + application.running + } + +} \ No newline at end of file