├── .gitignore
├── .travis.yml
├── README.md
├── build.gradle
├── complete
├── .gitignore
├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── README.md
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── micronaut-cli.yml
├── mvnw
├── mvnw.bat
├── pom.xml
├── settings.gradle
└── src
│ ├── main
│ ├── java
│ │ └── example
│ │ │ └── micronaut
│ │ │ ├── Application.java
│ │ │ ├── ApplicationConfiguration.java
│ │ │ ├── ApplicationConfigurationProperties.java
│ │ │ ├── GenreController.java
│ │ │ ├── GenreRepository.java
│ │ │ ├── GenreRepositoryImpl.java
│ │ │ ├── GenreSaveCommand.java
│ │ │ ├── GenreUpdateCommand.java
│ │ │ ├── SortingAndOrderArguments.java
│ │ │ └── domain
│ │ │ ├── Book.java
│ │ │ └── Genre.java
│ └── resources
│ │ ├── application.yml
│ │ └── logback.xml
│ └── test
│ └── java
│ └── example
│ └── micronaut
│ └── GenreControllerTest.java
├── dependencies.txt
├── gradle.properties
├── gradle
├── testVerbose.gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── src
└── main
│ ├── docs
│ └── guide
│ │ ├── gettingStarted.adoc
│ │ ├── help.adoc
│ │ ├── nextSteps.adoc
│ │ ├── requirements.adoc
│ │ ├── runningTheApp.adoc
│ │ ├── solution.adoc
│ │ ├── toc.yml
│ │ ├── usingPostgresql.adoc
│ │ ├── writingTheApp.adoc
│ │ └── writingTheApp
│ │ ├── appConfiguration.adoc
│ │ ├── controller.adoc
│ │ ├── datasource.adoc
│ │ ├── domain.adoc
│ │ ├── repository.adoc
│ │ └── tests.adoc
│ └── resources
│ └── img
│ ├── annotationprocessorsintellij.png
│ └── datagrip.png
├── travis-build-pr.sh
└── travis-build.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | /.gradle
2 | /.idea
3 | build
4 | *.iml
5 | .DS_Store
6 | *.db
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | dist: trusty
2 | env:
3 | matrix:
4 | - MOZ_HEADLESS=1
5 | global:
6 | - secure: WKv16GutsCd+dEaz42OvvOdKLWHzHaLD6qU70H48HVt7imKNaXcCvRNTvmdALkvvi4CTHTCbpAK45EQkL9IDA6ThLY7D2D2t2zqIy7+BMVUU/PuK6s41HzxreGDAv9m8KXi9pNCrKK5YUtGQnsoYKNYmukcgMUrWSeMQiZBzZkm72j+g2dESUyMoZsv/ZZIGNxxdaRgWCTJz0eCIuMaVSz4qZAttAPsFinC7fS1GbEyppcWkL2hg99n4fNABP63qihiq0ndYyMiiTa00hjmf0h29jAANN1Ww8Xix3GXXVC/CbuTABIUblovDU1P9qVS/QMwstwhO7QPOJ5Ph3VTrxssLBfiMheP4m5cNcAY7vkoMfRGLtVNGumgAV+cQXSSDuHKtBnsb1QabRI7L9mwKBFcytV4fZTNGqsnKk6hue5mJi0r+rPyHjeCaH7HZ9XbY6hrnGiUigV+5qB6ggS1v8Bz7UhlX3PCmdR7XaE9AgLvHC5UoyWoiAdjHRLi5/lVjPCtc3621AhAqaQ1Tr6PSjOyDg+dewRMOjVfTDTSlJLF4KS6QSOlFvUTOst+FtRn/nExBsHrFlM1KlmzeacPNXznZ+Ohj19RIR5P6xzcZjURXao/NVTi/+eKvT/ona5R1SeNJ/uHO4w9vehnKYneVn055wIynHwmIvh/MsCzVEhw=
7 | - secure: U/p49zNAF//CbF/0ReonT5iDDwcUkWiK+M39WDb+k91cdMwV0N+hI+KAFPts+kMB9dP+kqL3CPrDt1vDAoPYowubKgJGhFEPgo0C+taWLvC9ANBKBZcvGtX8hDWrLh4YbbhOQAkgKw3zhPqEuGAId2y9JgOWL5jxWRhVOoefainUZ5X1S0Gpcw1qKWOJCaoGAtVXJH/AxTi80P9Hu7tViJynKhgo++T69OMbhzrj3amugiosfW4m5xwHo2pxfA/RkkTXGEZRJV71kSuWDZenE86W7UEM7Go5tT/+RL1Ea9jyHj3Ezg9DyTcZILJFyrG4oQth53jBqO/nAZXBuY72N4MIFGzuF6ykwbFthVXsOJBI9dh/PIgoaAfiH5Lyk/dku9p3vofweE8YyWK410uksvKP7KlS3uu9XfO1MJC2x9ak1dASS5BA1KIQI9Favjs92pUw0+iWjgHaWClV3Oljv0OTUBxYwpUaxC4X84HrQIy3en2RMdTjZQ1OqhtGP3omS/RWyKR5SQhF4MaevN3QDyFL49C2pM42lkbS68fDdzCg/BQkIFPqpFEghtd0dYgRdvjbyB27ETdAJUse9r9zOSTvnX3i/N3oPv014N8+Amz6+/Ay1LJm0xOpoYl/05qjHrH+MaGsYMzdH8XxIZ0+HoUhutwxNE56fjeFnSRtG00=
8 | - secure: ISvmNHUjWiArohUfGey6MGrZMtFamriQ8ATH1Pq7GC+QHEfm+ztoOpLyTrs9BQmNHvjCVJSmpGdjdK00sdEtBI1vAEWwNpX7cXoOFvpp5prbK3C8ajJofCJibYGXJZKRF434bc3VzfMrzpxPjtdtsU3H155w6qsubYz+6kLhgSxNN3G72F9GeFexH/svvDfPQFbtVV+Ur8+EbcEblBP7LIVqcw59VYZoBQMGcNi/UTfQyJDmrokgi1J8J/1dh6G41id5yGesp+gG4DvjC90SPQyCv5kxjctksq37mig9z47IjNjsxg641+pyHTFx6L9F3hEEtq3adrPSGXEdugUxsYNThETB/9+Bh2vAFTiNdFRWny+EnIO11WpCxZbjkxYy66geKqJv2KS+hjmr0BXybE+R338tqHzAP5rVeueyP4djycXAuJw4zKFO/vJ8Ts0XGt85m2O6hTL/zM09EkiboFszZZX0WmazjCENz90nqeiFWPD/Lxcj9s5JnVGXkNeFWgHH23Rgb7DgorJLjoneivyIKxH6zqWGwAudkcnCHumRnkR+vjOBQS3SUFUquYCCDoL3VUFrRzGLmJKrEgBvmuH20nKnhUt1tpTLj8t+RCiu6+0Rb/yCX4CQgbfThnto0gdr9gVmVdNIHYDVWxy/9krnThYKfvNGDn6bjepVG6s=
9 | addons:
10 | firefox: latest
11 | chrome: stable
12 | sudo: required
13 | language: java
14 | cache:
15 | directories:
16 | - "$HOME/.gradle"
17 | jdk:
18 | - openjdk8
19 | before_script:
20 | - rm -rf target
21 | script:
22 | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then bash ./travis-build-pr.sh; fi
23 | - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash ./travis-build.sh; fi
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # This guide has been deprecated and moved to https://github.com/micronaut-projects/micronaut-guides-poc. Please open any issue or pull request in that repository.
2 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'org.aim42.htmlSanityCheck' version '1.1.3'
3 | id 'org.asciidoctor.jvm.convert' version '2.3.0'
4 | }
5 |
6 | apply from:"https://raw.githubusercontent.com/micronaut-projects/micronaut-guides/master/gradle/guide-build.gradle"
7 |
8 | htmlSanityCheck {
9 | sourceDir = new File("${project.buildDir}/docs")
10 | }
11 | publishGuide.finalizedBy(htmlSanityCheck)
12 |
--------------------------------------------------------------------------------
/complete/.gitignore:
--------------------------------------------------------------------------------
1 | Thumbs.db
2 | .DS_Store
3 | .gradle
4 | build/
5 | target/
6 | out/
7 | .idea
8 | *.iml
9 | *.ipr
10 | *.iws
11 | .project
12 | .settings
13 | .classpath
--------------------------------------------------------------------------------
/complete/.mvn/wrapper/MavenWrapperDownloader.java:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 |
20 | import java.net.*;
21 | import java.io.*;
22 | import java.nio.channels.*;
23 | import java.util.Properties;
24 |
25 | public class MavenWrapperDownloader {
26 |
27 | /**
28 | * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
29 | */
30 | private static final String DEFAULT_DOWNLOAD_URL =
31 | "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar";
32 |
33 | /**
34 | * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
35 | * use instead of the default one.
36 | */
37 | private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
38 | ".mvn/wrapper/maven-wrapper.properties";
39 |
40 | /**
41 | * Path where the maven-wrapper.jar will be saved to.
42 | */
43 | private static final String MAVEN_WRAPPER_JAR_PATH =
44 | ".mvn/wrapper/maven-wrapper.jar";
45 |
46 | /**
47 | * Name of the property which should be used to override the default download url for the wrapper.
48 | */
49 | private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
50 |
51 | public static void main(String args[]) {
52 | System.out.println("- Downloader started");
53 | File baseDirectory = new File(args[0]);
54 | System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
55 |
56 | // If the maven-wrapper.properties exists, read it and check if it contains a custom
57 | // wrapperUrl parameter.
58 | File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
59 | String url = DEFAULT_DOWNLOAD_URL;
60 | if(mavenWrapperPropertyFile.exists()) {
61 | FileInputStream mavenWrapperPropertyFileInputStream = null;
62 | try {
63 | mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
64 | Properties mavenWrapperProperties = new Properties();
65 | mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
66 | url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
67 | } catch (IOException e) {
68 | System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
69 | } finally {
70 | try {
71 | if(mavenWrapperPropertyFileInputStream != null) {
72 | mavenWrapperPropertyFileInputStream.close();
73 | }
74 | } catch (IOException e) {
75 | // Ignore ...
76 | }
77 | }
78 | }
79 | System.out.println("- Downloading from: : " + url);
80 |
81 | File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
82 | if(!outputFile.getParentFile().exists()) {
83 | if(!outputFile.getParentFile().mkdirs()) {
84 | System.out.println(
85 | "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
86 | }
87 | }
88 | System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
89 | try {
90 | downloadFileFromURL(url, outputFile);
91 | System.out.println("Done");
92 | System.exit(0);
93 | } catch (Throwable e) {
94 | System.out.println("- Error downloading");
95 | e.printStackTrace();
96 | System.exit(1);
97 | }
98 | }
99 |
100 | private static void downloadFileFromURL(String urlString, File destination) throws Exception {
101 | URL website = new URL(urlString);
102 | ReadableByteChannel rbc;
103 | rbc = Channels.newChannel(website.openStream());
104 | FileOutputStream fos = new FileOutputStream(destination);
105 | fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
106 | fos.close();
107 | rbc.close();
108 | }
109 |
110 | }
111 |
--------------------------------------------------------------------------------
/complete/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/complete/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/complete/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
--------------------------------------------------------------------------------
/complete/README.md:
--------------------------------------------------------------------------------
1 | # Micronaut + JPA Example
2 |
3 | ## Using Gradle
4 |
5 | To run the application locally use:
6 |
7 | ```
8 | ./gradlew run -t
9 | ```
10 |
11 | The `-t` flag enables automatical reload.
12 |
13 | To build an executable JAR file run:
14 |
15 | ```
16 | ./gradlew assemble
17 | java -jar build/libs/complete-0.1-all.jar
18 | ```
19 |
20 | To build a native image (requires JDK 8 version of GraalVM) run:
21 |
22 | ```
23 | ./gradlew nativeImage
24 | ./build/native-image/application
25 | ```
26 |
27 | ## Using Maven
28 |
29 | To run the application locally use:
30 |
31 | ```
32 | ./mvnw mn:run
33 | ```
34 |
35 | To build an executable JAR file run:
36 |
37 | ```
38 | ./mvnw package
39 | java -jar target/demo-0.1.jar
40 | ```
41 |
42 | To build a native image (requires JDK 8 version of GraalVM) run:
43 |
44 | ```
45 | native-image --report-unsupported-elements-at-runtime -H:Name=application -H:Class=example.micronaut.Application -cp target/demo-0.1.jar
46 | ./application
47 | ```
--------------------------------------------------------------------------------
/complete/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "com.github.johnrengelman.shadow" version "6.1.0"
3 | id "io.micronaut.application" version "1.1.0"
4 | }
5 |
6 | version "0.1"
7 | group "example.micronaut"
8 |
9 | repositories {
10 | mavenCentral()
11 | }
12 |
13 | micronaut {
14 | runtime "netty"
15 | testRuntime "junit5"
16 | }
17 |
18 | dependencies {
19 | //tag::validator[]
20 | annotationProcessor("io.micronaut:micronaut-validation")
21 | implementation("io.micronaut:micronaut-validation")
22 | //end::validator[]
23 | //tag::micronaut-graal[]
24 | //end::micronaut-graal[]
25 | //tag::micronaut-data[]
26 | annotationProcessor("io.micronaut.data:micronaut-data-processor")
27 | implementation("io.micronaut.data:micronaut-data-hibernate-jpa")
28 | //end::micronaut-data[]
29 | //tag::svm[]
30 | compileOnly("org.graalvm.nativeimage:svm")
31 | //end::svm[]
32 | implementation("io.micronaut:micronaut-http-client")
33 |
34 | //tag::jpa[]
35 | implementation("io.micronaut.sql:micronaut-jdbc-hikari")
36 | implementation("io.micronaut.sql:micronaut-hibernate-jpa")
37 | runtimeOnly("com.h2database:h2")
38 | //end::jpa[]
39 |
40 | //tag::postgresql[]
41 | runtimeOnly("org.postgresql:postgresql")
42 | //end::postgresql[]
43 |
44 | runtimeOnly("ch.qos.logback:logback-classic")
45 |
46 | }
47 |
48 | mainClassName = "example.micronaut.Application"
49 |
50 | java {
51 | sourceCompatibility = JavaVersion.toVersion('1.8')
52 | targetCompatibility = JavaVersion.toVersion('1.8')
53 | }
54 |
55 |
56 |
--------------------------------------------------------------------------------
/complete/gradle.properties:
--------------------------------------------------------------------------------
1 | micronautVersion=2.1.3
2 |
--------------------------------------------------------------------------------
/complete/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/complete/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/complete/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/complete/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | #
4 | # Copyright 2015 the original author or authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | ##############################################################################
20 | ##
21 | ## Gradle start up script for UN*X
22 | ##
23 | ##############################################################################
24 |
25 | # Attempt to set APP_HOME
26 | # Resolve links: $0 may be a link
27 | PRG="$0"
28 | # Need this for relative symlinks.
29 | while [ -h "$PRG" ] ; do
30 | ls=`ls -ld "$PRG"`
31 | link=`expr "$ls" : '.*-> \(.*\)$'`
32 | if expr "$link" : '/.*' > /dev/null; then
33 | PRG="$link"
34 | else
35 | PRG=`dirname "$PRG"`"/$link"
36 | fi
37 | done
38 | SAVED="`pwd`"
39 | cd "`dirname \"$PRG\"`/" >/dev/null
40 | APP_HOME="`pwd -P`"
41 | cd "$SAVED" >/dev/null
42 |
43 | APP_NAME="Gradle"
44 | APP_BASE_NAME=`basename "$0"`
45 |
46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48 |
49 | # Use the maximum available, or set MAX_FD != -1 to use that value.
50 | MAX_FD="maximum"
51 |
52 | warn () {
53 | echo "$*"
54 | }
55 |
56 | die () {
57 | echo
58 | echo "$*"
59 | echo
60 | exit 1
61 | }
62 |
63 | # OS specific support (must be 'true' or 'false').
64 | cygwin=false
65 | msys=false
66 | darwin=false
67 | nonstop=false
68 | case "`uname`" in
69 | CYGWIN* )
70 | cygwin=true
71 | ;;
72 | Darwin* )
73 | darwin=true
74 | ;;
75 | MINGW* )
76 | msys=true
77 | ;;
78 | NONSTOP* )
79 | nonstop=true
80 | ;;
81 | esac
82 |
83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84 |
85 |
86 | # Determine the Java command to use to start the JVM.
87 | if [ -n "$JAVA_HOME" ] ; then
88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89 | # IBM's JDK on AIX uses strange locations for the executables
90 | JAVACMD="$JAVA_HOME/jre/sh/java"
91 | else
92 | JAVACMD="$JAVA_HOME/bin/java"
93 | fi
94 | if [ ! -x "$JAVACMD" ] ; then
95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96 |
97 | Please set the JAVA_HOME variable in your environment to match the
98 | location of your Java installation."
99 | fi
100 | else
101 | JAVACMD="java"
102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103 |
104 | Please set the JAVA_HOME variable in your environment to match the
105 | location of your Java installation."
106 | fi
107 |
108 | # Increase the maximum file descriptors if we can.
109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110 | MAX_FD_LIMIT=`ulimit -H -n`
111 | if [ $? -eq 0 ] ; then
112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113 | MAX_FD="$MAX_FD_LIMIT"
114 | fi
115 | ulimit -n $MAX_FD
116 | if [ $? -ne 0 ] ; then
117 | warn "Could not set maximum file descriptor limit: $MAX_FD"
118 | fi
119 | else
120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121 | fi
122 | fi
123 |
124 | # For Darwin, add options to specify how the application appears in the dock
125 | if $darwin; then
126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127 | fi
128 |
129 | # For Cygwin or MSYS, switch paths to Windows format before running java
130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133 |
134 | JAVACMD=`cygpath --unix "$JAVACMD"`
135 |
136 | # We build the pattern for arguments to be converted via cygpath
137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138 | SEP=""
139 | for dir in $ROOTDIRSRAW ; do
140 | ROOTDIRS="$ROOTDIRS$SEP$dir"
141 | SEP="|"
142 | done
143 | OURCYGPATTERN="(^($ROOTDIRS))"
144 | # Add a user-defined pattern to the cygpath arguments
145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147 | fi
148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
149 | i=0
150 | for arg in "$@" ; do
151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153 |
154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156 | else
157 | eval `echo args$i`="\"$arg\""
158 | fi
159 | i=`expr $i + 1`
160 | done
161 | case $i in
162 | 0) set -- ;;
163 | 1) set -- "$args0" ;;
164 | 2) set -- "$args0" "$args1" ;;
165 | 3) set -- "$args0" "$args1" "$args2" ;;
166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172 | esac
173 | fi
174 |
175 | # Escape application args
176 | save () {
177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178 | echo " "
179 | }
180 | APP_ARGS=`save "$@"`
181 |
182 | # Collect all arguments for the java command, following the shell quoting and substitution rules
183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184 |
185 | exec "$JAVACMD" "$@"
186 |
--------------------------------------------------------------------------------
/complete/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto init
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto init
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :init
68 | @rem Get command-line arguments, handling Windows variants
69 |
70 | if not "%OS%" == "Windows_NT" goto win9xME_args
71 |
72 | :win9xME_args
73 | @rem Slurp the command line arguments.
74 | set CMD_LINE_ARGS=
75 | set _SKIP=2
76 |
77 | :win9xME_args_slurp
78 | if "x%~1" == "x" goto execute
79 |
80 | set CMD_LINE_ARGS=%*
81 |
82 | :execute
83 | @rem Setup the command line
84 |
85 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
86 |
87 |
88 | @rem Execute Gradle
89 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
90 |
91 | :end
92 | @rem End local scope for the variables with windows NT shell
93 | if "%ERRORLEVEL%"=="0" goto mainEnd
94 |
95 | :fail
96 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
97 | rem the _cmd.exe /c_ return code!
98 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
99 | exit /b 1
100 |
101 | :mainEnd
102 | if "%OS%"=="Windows_NT" endlocal
103 |
104 | :omega
105 |
--------------------------------------------------------------------------------
/complete/micronaut-cli.yml:
--------------------------------------------------------------------------------
1 | applicationType: default
2 | defaultPackage: example.micronaut
3 | testFramework: junit
4 | sourceLanguage: java
5 | buildTool: gradle
6 | features: [app-name, data, data-jpa, docker, file-watch, graalvm, gradle, h2, hibernate-jpa, http-client, java, java-application, jdbc-hikari, junit, logback, netty-server, readme, shade, yaml]
7 |
--------------------------------------------------------------------------------
/complete/mvnw:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # ----------------------------------------------------------------------------
3 | # Licensed to the Apache Software Foundation (ASF) under one
4 | # or more contributor license agreements. See the NOTICE file
5 | # distributed with this work for additional information
6 | # regarding copyright ownership. The ASF licenses this file
7 | # to you under the Apache License, Version 2.0 (the
8 | # "License"); you may not use this file except in compliance
9 | # with the License. You may obtain a copy of the License at
10 | #
11 | # http://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing,
14 | # software distributed under the License is distributed on an
15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | # KIND, either express or implied. See the License for the
17 | # specific language governing permissions and limitations
18 | # under the License.
19 | # ----------------------------------------------------------------------------
20 |
21 | # ----------------------------------------------------------------------------
22 | # Maven2 Start Up Batch script
23 | #
24 | # Required ENV vars:
25 | # ------------------
26 | # JAVA_HOME - location of a JDK home dir
27 | #
28 | # Optional ENV vars
29 | # -----------------
30 | # M2_HOME - location of maven2's installed home dir
31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven
32 | # e.g. to debug Maven itself, use
33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35 | # ----------------------------------------------------------------------------
36 |
37 | if [ -z "$MAVEN_SKIP_RC" ] ; then
38 |
39 | if [ -f /etc/mavenrc ] ; then
40 | . /etc/mavenrc
41 | fi
42 |
43 | if [ -f "$HOME/.mavenrc" ] ; then
44 | . "$HOME/.mavenrc"
45 | fi
46 |
47 | fi
48 |
49 | # OS specific support. $var _must_ be set to either true or false.
50 | cygwin=false;
51 | darwin=false;
52 | mingw=false
53 | case "`uname`" in
54 | CYGWIN*) cygwin=true ;;
55 | MINGW*) mingw=true;;
56 | Darwin*) darwin=true
57 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
58 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59 | if [ -z "$JAVA_HOME" ]; then
60 | if [ -x "/usr/libexec/java_home" ]; then
61 | export JAVA_HOME="`/usr/libexec/java_home`"
62 | else
63 | export JAVA_HOME="/Library/Java/Home"
64 | fi
65 | fi
66 | ;;
67 | esac
68 |
69 | if [ -z "$JAVA_HOME" ] ; then
70 | if [ -r /etc/gentoo-release ] ; then
71 | JAVA_HOME=`java-config --jre-home`
72 | fi
73 | fi
74 |
75 | if [ -z "$M2_HOME" ] ; then
76 | ## resolve links - $0 may be a link to maven's home
77 | PRG="$0"
78 |
79 | # need this for relative symlinks
80 | while [ -h "$PRG" ] ; do
81 | ls=`ls -ld "$PRG"`
82 | link=`expr "$ls" : '.*-> \(.*\)$'`
83 | if expr "$link" : '/.*' > /dev/null; then
84 | PRG="$link"
85 | else
86 | PRG="`dirname "$PRG"`/$link"
87 | fi
88 | done
89 |
90 | saveddir=`pwd`
91 |
92 | M2_HOME=`dirname "$PRG"`/..
93 |
94 | # make it fully qualified
95 | M2_HOME=`cd "$M2_HOME" && pwd`
96 |
97 | cd "$saveddir"
98 | # echo Using m2 at $M2_HOME
99 | fi
100 |
101 | # For Cygwin, ensure paths are in UNIX format before anything is touched
102 | if $cygwin ; then
103 | [ -n "$M2_HOME" ] &&
104 | M2_HOME=`cygpath --unix "$M2_HOME"`
105 | [ -n "$JAVA_HOME" ] &&
106 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
107 | [ -n "$CLASSPATH" ] &&
108 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
109 | fi
110 |
111 | # For Mingw, ensure paths are in UNIX format before anything is touched
112 | if $mingw ; then
113 | [ -n "$M2_HOME" ] &&
114 | M2_HOME="`(cd "$M2_HOME"; pwd)`"
115 | [ -n "$JAVA_HOME" ] &&
116 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
117 | # TODO classpath?
118 | fi
119 |
120 | if [ -z "$JAVA_HOME" ]; then
121 | javaExecutable="`which javac`"
122 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
123 | # readlink(1) is not available as standard on Solaris 10.
124 | readLink=`which readlink`
125 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
126 | if $darwin ; then
127 | javaHome="`dirname \"$javaExecutable\"`"
128 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
129 | else
130 | javaExecutable="`readlink -f \"$javaExecutable\"`"
131 | fi
132 | javaHome="`dirname \"$javaExecutable\"`"
133 | javaHome=`expr "$javaHome" : '\(.*\)/bin'`
134 | JAVA_HOME="$javaHome"
135 | export JAVA_HOME
136 | fi
137 | fi
138 | fi
139 |
140 | if [ -z "$JAVACMD" ] ; then
141 | if [ -n "$JAVA_HOME" ] ; then
142 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
143 | # IBM's JDK on AIX uses strange locations for the executables
144 | JAVACMD="$JAVA_HOME/jre/sh/java"
145 | else
146 | JAVACMD="$JAVA_HOME/bin/java"
147 | fi
148 | else
149 | JAVACMD="`which java`"
150 | fi
151 | fi
152 |
153 | if [ ! -x "$JAVACMD" ] ; then
154 | echo "Error: JAVA_HOME is not defined correctly." >&2
155 | echo " We cannot execute $JAVACMD" >&2
156 | exit 1
157 | fi
158 |
159 | if [ -z "$JAVA_HOME" ] ; then
160 | echo "Warning: JAVA_HOME environment variable is not set."
161 | fi
162 |
163 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
164 |
165 | # traverses directory structure from process work directory to filesystem root
166 | # first directory with .mvn subdirectory is considered project base directory
167 | find_maven_basedir() {
168 |
169 | if [ -z "$1" ]
170 | then
171 | echo "Path not specified to find_maven_basedir"
172 | return 1
173 | fi
174 |
175 | basedir="$1"
176 | wdir="$1"
177 | while [ "$wdir" != '/' ] ; do
178 | if [ -d "$wdir"/.mvn ] ; then
179 | basedir=$wdir
180 | break
181 | fi
182 | # workaround for JBEAP-8937 (on Solaris 10/Sparc)
183 | if [ -d "${wdir}" ]; then
184 | wdir=`cd "$wdir/.."; pwd`
185 | fi
186 | # end of workaround
187 | done
188 | echo "${basedir}"
189 | }
190 |
191 | # concatenates all lines of a file
192 | concat_lines() {
193 | if [ -f "$1" ]; then
194 | echo "$(tr -s '\n' ' ' < "$1")"
195 | fi
196 | }
197 |
198 | BASE_DIR=`find_maven_basedir "$(pwd)"`
199 | if [ -z "$BASE_DIR" ]; then
200 | exit 1;
201 | fi
202 |
203 | ##########################################################################################
204 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
205 | # This allows using the maven wrapper in projects that prohibit checking in binary data.
206 | ##########################################################################################
207 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
208 | if [ "$MVNW_VERBOSE" = true ]; then
209 | echo "Found .mvn/wrapper/maven-wrapper.jar"
210 | fi
211 | else
212 | if [ "$MVNW_VERBOSE" = true ]; then
213 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
214 | fi
215 | jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar"
216 | while IFS="=" read key value; do
217 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
218 | esac
219 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
220 | if [ "$MVNW_VERBOSE" = true ]; then
221 | echo "Downloading from: $jarUrl"
222 | fi
223 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
224 |
225 | if command -v wget > /dev/null; then
226 | if [ "$MVNW_VERBOSE" = true ]; then
227 | echo "Found wget ... using wget"
228 | fi
229 | wget "$jarUrl" -O "$wrapperJarPath"
230 | elif command -v curl > /dev/null; then
231 | if [ "$MVNW_VERBOSE" = true ]; then
232 | echo "Found curl ... using curl"
233 | fi
234 | curl -o "$wrapperJarPath" "$jarUrl"
235 | else
236 | if [ "$MVNW_VERBOSE" = true ]; then
237 | echo "Falling back to using Java to download"
238 | fi
239 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
240 | if [ -e "$javaClass" ]; then
241 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
242 | if [ "$MVNW_VERBOSE" = true ]; then
243 | echo " - Compiling MavenWrapperDownloader.java ..."
244 | fi
245 | # Compiling the Java class
246 | ("$JAVA_HOME/bin/javac" "$javaClass")
247 | fi
248 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
249 | # Running the downloader
250 | if [ "$MVNW_VERBOSE" = true ]; then
251 | echo " - Running MavenWrapperDownloader.java ..."
252 | fi
253 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
254 | fi
255 | fi
256 | fi
257 | fi
258 | ##########################################################################################
259 | # End of extension
260 | ##########################################################################################
261 |
262 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
263 | if [ "$MVNW_VERBOSE" = true ]; then
264 | echo $MAVEN_PROJECTBASEDIR
265 | fi
266 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
267 |
268 | # For Cygwin, switch paths to Windows format before running java
269 | if $cygwin; then
270 | [ -n "$M2_HOME" ] &&
271 | M2_HOME=`cygpath --path --windows "$M2_HOME"`
272 | [ -n "$JAVA_HOME" ] &&
273 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
274 | [ -n "$CLASSPATH" ] &&
275 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
276 | [ -n "$MAVEN_PROJECTBASEDIR" ] &&
277 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
278 | fi
279 |
280 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
281 |
282 | exec "$JAVACMD" \
283 | $MAVEN_OPTS \
284 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
285 | "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
286 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
287 |
--------------------------------------------------------------------------------
/complete/mvnw.bat:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM http://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Maven2 Start Up Batch script
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM M2_HOME - location of maven2's installed home dir
28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | @REM e.g. to debug Maven itself, use
32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | @REM ----------------------------------------------------------------------------
35 |
36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
37 | @echo off
38 | @REM set title of command window
39 | title %0
40 | @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
42 |
43 | @REM set %HOME% to equivalent of $HOME
44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
45 |
46 | @REM Execute a user defined script before this one
47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
51 | :skipRcPre
52 |
53 | @setlocal
54 |
55 | set ERROR_CODE=0
56 |
57 | @REM To isolate internal variables from possible post scripts, we use another setlocal
58 | @setlocal
59 |
60 | @REM ==== START VALIDATION ====
61 | if not "%JAVA_HOME%" == "" goto OkJHome
62 |
63 | echo.
64 | echo Error: JAVA_HOME not found in your environment. >&2
65 | echo Please set the JAVA_HOME variable in your environment to match the >&2
66 | echo location of your Java installation. >&2
67 | echo.
68 | goto error
69 |
70 | :OkJHome
71 | if exist "%JAVA_HOME%\bin\java.exe" goto init
72 |
73 | echo.
74 | echo Error: JAVA_HOME is set to an invalid directory. >&2
75 | echo JAVA_HOME = "%JAVA_HOME%" >&2
76 | echo Please set the JAVA_HOME variable in your environment to match the >&2
77 | echo location of your Java installation. >&2
78 | echo.
79 | goto error
80 |
81 | @REM ==== END VALIDATION ====
82 |
83 | :init
84 |
85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
86 | @REM Fallback to current working directory if not found.
87 |
88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
90 |
91 | set EXEC_DIR=%CD%
92 | set WDIR=%EXEC_DIR%
93 | :findBaseDir
94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
95 | cd ..
96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
97 | set WDIR=%CD%
98 | goto findBaseDir
99 |
100 | :baseDirFound
101 | set MAVEN_PROJECTBASEDIR=%WDIR%
102 | cd "%EXEC_DIR%"
103 | goto endDetectBaseDir
104 |
105 | :baseDirNotFound
106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
107 | cd "%EXEC_DIR%"
108 |
109 | :endDetectBaseDir
110 |
111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
112 |
113 | @setlocal EnableExtensions EnableDelayedExpansion
114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
116 |
117 | :endReadAdditionalConfig
118 |
119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122 |
123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar"
124 | FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
125 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | echo Found %WRAPPER_JAR%
132 | ) else (
133 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
134 | echo Downloading from: %DOWNLOAD_URL%
135 | powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
136 | echo Finished downloading %WRAPPER_JAR%
137 | )
138 | @REM End of extension
139 |
140 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
141 | if ERRORLEVEL 1 goto error
142 | goto end
143 |
144 | :error
145 | set ERROR_CODE=1
146 |
147 | :end
148 | @endlocal & set ERROR_CODE=%ERROR_CODE%
149 |
150 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
151 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
152 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
153 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
154 | :skipRcPost
155 |
156 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
157 | if "%MAVEN_BATCH_PAUSE%" == "on" pause
158 |
159 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
160 |
161 | exit /B %ERROR_CODE%
162 |
--------------------------------------------------------------------------------
/complete/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 | com.example
6 | demo
7 | 0.1
8 |
9 |
10 | io.micronaut
11 | micronaut-parent
12 | 2.1.3
13 |
14 |
15 |
16 | 8
17 | 8
18 | 2.1.3
19 | example.micronaut.Application
20 | 2.1.1
21 |
22 |
23 |
24 |
25 | central
26 | https://repo.maven.apache.org/maven2
27 |
28 |
29 | jcenter.bintray.com
30 | https://jcenter.bintray.com
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | io.micronaut
45 | micronaut-inject
46 | compile
47 |
48 |
49 | io.micronaut
50 | micronaut-validation
51 | compile
52 |
53 |
54 | io.micronaut
55 | micronaut-http-server-netty
56 | compile
57 |
58 |
59 | io.micronaut
60 | micronaut-http-client
61 | compile
62 |
63 |
64 | org.graalvm.nativeimage
65 | svm
66 | provided
67 |
68 |
69 | io.micronaut
70 | micronaut-runtime
71 | compile
72 |
73 |
74 | javax.annotation
75 | javax.annotation-api
76 | compile
77 |
78 |
79 | io.micronaut.sql
80 | micronaut-jdbc-hikari
81 | compile
82 |
83 |
84 | io.micronaut.data
85 | micronaut-data-hibernate-jpa
86 | compile
87 |
88 |
89 | ch.qos.logback
90 | logback-classic
91 | runtime
92 |
93 |
94 | com.h2database
95 | h2
96 | runtime
97 |
98 |
99 | org.junit.jupiter
100 | junit-jupiter-api
101 | test
102 |
103 |
104 | org.junit.jupiter
105 | junit-jupiter-engine
106 | test
107 |
108 |
109 | io.micronaut.test
110 | micronaut-test-junit5
111 | test
112 |
113 |
114 |
115 |
116 |
117 |
118 | io.micronaut.build
119 | micronaut-maven-plugin
120 |
121 |
122 | org.apache.maven.plugins
123 | maven-shade-plugin
124 |
125 |
126 | org.apache.maven.plugins
127 | maven-failsafe-plugin
128 |
129 |
130 | org.apache.maven.plugins
131 | maven-compiler-plugin
132 |
133 |
134 |
135 |
136 |
137 | io.micronaut
138 | micronaut-inject-java
139 | ${micronaut.version}
140 |
141 |
142 | io.micronaut
143 | micronaut-validation
144 | ${micronaut.version}
145 |
146 |
147 | io.micronaut
148 | micronaut-graal
149 | ${micronaut.version}
150 |
151 |
152 | io.micronaut.data
153 | micronaut-data-processor
154 | ${micronaut.data.version}
155 |
156 |
157 |
158 | -Amicronaut.processing.group=com.example
159 | -Amicronaut.processing.module=demo
160 |
161 |
162 |
163 |
164 | test-compile
165 |
166 | testCompile
167 |
168 |
169 |
170 |
171 | io.micronaut
172 | micronaut-inject-java
173 | ${micronaut.version}
174 |
175 |
176 | io.micronaut
177 | micronaut-validation
178 | ${micronaut.version}
179 |
180 |
181 | io.micronaut
182 | micronaut-graal
183 | ${micronaut.version}
184 |
185 |
186 | io.micronaut.data
187 | micronaut-data-processor
188 | ${micronaut.data.version}
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
--------------------------------------------------------------------------------
/complete/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name="complete"
2 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/Application.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import io.micronaut.runtime.Micronaut;
4 |
5 | public class Application {
6 |
7 | public static void main(String[] args) {
8 | Micronaut.run(Application.class);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/ApplicationConfiguration.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import javax.validation.constraints.NotNull;
4 |
5 | public interface ApplicationConfiguration {
6 |
7 | @NotNull Integer getMax();
8 | }
9 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/ApplicationConfigurationProperties.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import edu.umd.cs.findbugs.annotations.NonNull;
4 | import io.micronaut.context.annotation.ConfigurationProperties;
5 |
6 | @ConfigurationProperties("application") // <1>
7 | public class ApplicationConfigurationProperties implements ApplicationConfiguration {
8 |
9 | protected final Integer DEFAULT_MAX = 10;
10 |
11 | @NonNull
12 | private Integer max = DEFAULT_MAX;
13 |
14 | @Override
15 | @NonNull
16 | public Integer getMax() {
17 | return max;
18 | }
19 |
20 | public void setMax(@NonNull Integer max) {
21 | if(max != null) {
22 | this.max = max;
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/GenreController.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import example.micronaut.domain.Genre;
4 | import io.micronaut.http.HttpHeaders;
5 | import io.micronaut.http.HttpResponse;
6 | import io.micronaut.http.annotation.Body;
7 | import io.micronaut.http.annotation.Controller;
8 | import io.micronaut.http.annotation.Delete;
9 | import io.micronaut.http.annotation.Get;
10 | import io.micronaut.http.annotation.Post;
11 | import io.micronaut.http.annotation.Put;
12 | import io.micronaut.scheduling.TaskExecutors;
13 | import io.micronaut.scheduling.annotation.ExecuteOn;
14 |
15 | import javax.persistence.PersistenceException;
16 | import javax.validation.Valid;
17 | import java.net.URI;
18 | import java.util.List;
19 |
20 | @ExecuteOn(TaskExecutors.IO) // <1>
21 | @Controller("/genres") // <2>
22 | public class GenreController {
23 |
24 | protected final GenreRepository genreRepository;
25 |
26 | public GenreController(GenreRepository genreRepository) { // <3>
27 | this.genreRepository = genreRepository;
28 | }
29 |
30 | @Get("/{id}") // <4>
31 | public Genre show(Long id) {
32 | return genreRepository
33 | .findById(id)
34 | .orElse(null); // <5>
35 | }
36 |
37 | @Put // <6>
38 | public HttpResponse update(@Body @Valid GenreUpdateCommand command) { // <7>
39 | int numberOfEntitiesUpdated = genreRepository.update(command.getId(), command.getName());
40 |
41 | return HttpResponse
42 | .noContent()
43 | .header(HttpHeaders.LOCATION, location(command.getId()).getPath()); // <8>
44 | }
45 |
46 | @Get(value = "/list{?args*}") // <9>
47 | public List list(@Valid SortingAndOrderArguments args) {
48 | return genreRepository.findAll(args);
49 | }
50 |
51 | @Post // <10>
52 | public HttpResponse save(@Body @Valid GenreSaveCommand cmd) {
53 | Genre genre = genreRepository.save(cmd.getName());
54 |
55 | return HttpResponse
56 | .created(genre)
57 | .headers(headers -> headers.location(location(genre.getId())));
58 | }
59 |
60 | @Post("/ex") // <11>
61 | public HttpResponse saveExceptions(@Body @Valid GenreSaveCommand cmd) {
62 | try {
63 | Genre genre = genreRepository.saveWithException(cmd.getName());
64 | return HttpResponse
65 | .created(genre)
66 | .headers(headers -> headers.location(location(genre.getId())));
67 | } catch(PersistenceException e) {
68 | return HttpResponse.noContent();
69 | }
70 | }
71 |
72 | @Delete("/{id}") // <12>
73 | public HttpResponse delete(Long id) {
74 | genreRepository.deleteById(id);
75 | return HttpResponse.noContent();
76 | }
77 |
78 | protected URI location(Long id) {
79 | return URI.create("/genres/" + id);
80 | }
81 |
82 | protected URI location(Genre genre) {
83 | return location(genre.getId());
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/GenreRepository.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import example.micronaut.domain.Genre;
4 |
5 | import javax.validation.constraints.NotBlank;
6 | import javax.validation.constraints.NotNull;
7 | import java.util.List;
8 | import java.util.Optional;
9 |
10 | public interface GenreRepository {
11 |
12 | Optional findById(@NotNull Long id);
13 |
14 | Genre save(@NotBlank String name);
15 |
16 | Genre saveWithException(@NotBlank String name);
17 |
18 | void deleteById(@NotNull Long id);
19 |
20 | List findAll(@NotNull SortingAndOrderArguments args);
21 |
22 | int update(@NotNull Long id, @NotBlank String name);
23 | }
24 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/GenreRepositoryImpl.java:
--------------------------------------------------------------------------------
1 | //tag::package[]
2 | package example.micronaut;
3 | //end::package[]
4 | //tag::import[]
5 |
6 | //end::import[]
7 | //tag::importContent[]
8 | import example.micronaut.domain.Genre;
9 | import javax.inject.Singleton;
10 | import javax.persistence.EntityManager;
11 | import javax.persistence.PersistenceException;
12 | import javax.persistence.TypedQuery;
13 | import javax.transaction.Transactional;
14 | import io.micronaut.transaction.annotation.ReadOnly;
15 | import javax.validation.constraints.NotBlank;
16 | import javax.validation.constraints.NotNull;
17 | import java.util.Arrays;
18 | import java.util.List;
19 | import java.util.Optional;
20 | //end::importContent[]
21 | //tag::clazz[]
22 | @Singleton // <1>
23 | public class GenreRepositoryImpl implements GenreRepository {
24 | //end::clazz[]
25 | //tag::clazzContent[]
26 | private final EntityManager entityManager; // <2>
27 | private final ApplicationConfiguration applicationConfiguration;
28 |
29 | public GenreRepositoryImpl(EntityManager entityManager,
30 | ApplicationConfiguration applicationConfiguration) { // <2>
31 | this.entityManager = entityManager;
32 | this.applicationConfiguration = applicationConfiguration;
33 | }
34 |
35 | @Override
36 | //end::clazzContent[]
37 | //tag::findById[]
38 | @ReadOnly // <3>
39 | public Optional findById(@NotNull Long id) {
40 | //end::findById[]
41 | //tag::findByIdContent[]
42 | return Optional.ofNullable(entityManager.find(Genre.class, id));
43 | }
44 |
45 | @Override
46 | //end::findByIdContent[]
47 | //tag::save[]
48 | @Transactional // <4>
49 | public Genre save(@NotBlank String name) {
50 | //end::save[]
51 | //tag::saveContent[]
52 | Genre genre = new Genre(name);
53 | entityManager.persist(genre);
54 | return genre;
55 | }
56 |
57 | @Override
58 | //end::saveContent[]
59 | //tag::deleteById[]
60 | @Transactional // <4>
61 | public void deleteById(@NotNull Long id) {
62 | //end::deleteById[]
63 | //tag::deleteByIdContent[]
64 | findById(id).ifPresent(entityManager::remove);
65 | }
66 |
67 | private final static List VALID_PROPERTY_NAMES = Arrays.asList("id", "name");
68 |
69 | //end::deleteByIdContent[]
70 | //tag::findAll[]
71 | @ReadOnly // <3>
72 | public List findAll(@NotNull SortingAndOrderArguments args) {
73 | //end::findAll[]
74 | //tag::findAllContent[]
75 | String qlString = "SELECT g FROM Genre as g";
76 | if (args.getOrder().isPresent() && args.getSort().isPresent() && VALID_PROPERTY_NAMES.contains(args.getSort().get())) {
77 | qlString += " ORDER BY g." + args.getSort().get() + " " + args.getOrder().get().toLowerCase();
78 | }
79 | TypedQuery query = entityManager.createQuery(qlString, Genre.class);
80 | query.setMaxResults(args.getMax().orElseGet(applicationConfiguration::getMax));
81 | args.getOffset().ifPresent(query::setFirstResult);
82 |
83 | return query.getResultList();
84 | }
85 |
86 | @Override
87 | //end::findAllContent[]
88 | //tag::update[]
89 | @Transactional // <4>
90 | public int update(@NotNull Long id, @NotBlank String name) {
91 | //end::update[]
92 | //tag::updateContent[]
93 | return entityManager.createQuery("UPDATE Genre g SET name = :name where id = :id")
94 | .setParameter("name", name)
95 | .setParameter("id", id)
96 | .executeUpdate();
97 | }
98 |
99 | @Override // <4>
100 | //end::updateContent[]
101 | //tag::saveWithException[]
102 | @Transactional // <4>
103 | public Genre saveWithException(@NotBlank String name) {
104 | //end::saveWithException[]
105 | //tag::saveWithExceptionContent[]
106 | save(name);
107 | throw new PersistenceException();
108 | }
109 | }
110 | //end::saveWithExceptionContent[]
111 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/GenreSaveCommand.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import io.micronaut.core.annotation.Introspected;
4 |
5 | import javax.validation.constraints.NotBlank;
6 |
7 | @Introspected // <1>
8 | public class GenreSaveCommand {
9 |
10 | @NotBlank
11 | private String name;
12 |
13 | public GenreSaveCommand() {
14 | }
15 |
16 | public GenreSaveCommand(String name) {
17 | this.name = name;
18 | }
19 |
20 | public String getName() {
21 | return name;
22 | }
23 |
24 | public void setName(String name) {
25 | this.name = name;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/GenreUpdateCommand.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import io.micronaut.core.annotation.Introspected;
4 |
5 | import javax.validation.constraints.NotBlank;
6 | import javax.validation.constraints.NotNull;
7 |
8 | @Introspected
9 | public class GenreUpdateCommand {
10 | @NotNull
11 | private Long id;
12 |
13 | @NotBlank
14 | private String name;
15 |
16 | public GenreUpdateCommand() {
17 | }
18 |
19 | public GenreUpdateCommand(Long id, String name) {
20 | this.id = id;
21 | this.name = name;
22 | }
23 |
24 | public Long getId() {
25 | return id;
26 | }
27 |
28 | public void setId(Long id) {
29 | this.id = id;
30 | }
31 |
32 | public String getName() {
33 | return name;
34 | }
35 |
36 | public void setName(String name) {
37 | this.name = name;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/SortingAndOrderArguments.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import io.micronaut.core.annotation.Introspected;
4 |
5 | import javax.annotation.Nullable;
6 | import javax.validation.constraints.Pattern;
7 | import javax.validation.constraints.Positive;
8 | import javax.validation.constraints.PositiveOrZero;
9 | import java.util.Optional;
10 |
11 | @Introspected
12 | public class SortingAndOrderArguments {
13 |
14 | @Nullable
15 | @PositiveOrZero // <1>
16 | private Integer offset;
17 |
18 | @Nullable
19 | @Positive // <1>
20 | private Integer max;
21 |
22 | @Nullable
23 | @Pattern(regexp = "id|name") // <1>
24 | private String sort;
25 |
26 | @Pattern(regexp = "asc|ASC|desc|DESC") // <1>
27 | @Nullable
28 | private String order;
29 |
30 | public SortingAndOrderArguments() {
31 |
32 | }
33 |
34 | public Optional getOffset() {
35 | return Optional.ofNullable(offset);
36 | }
37 |
38 | public void setOffset(@Nullable Integer offset) {
39 | this.offset = offset;
40 | }
41 |
42 | public Optional getMax() {
43 | return Optional.ofNullable(max);
44 | }
45 |
46 | public void setMax(@Nullable Integer max) {
47 | this.max = max;
48 | }
49 |
50 | public Optional getSort() {
51 | return Optional.ofNullable(sort);
52 | }
53 |
54 | public void setSort(@Nullable String sort) {
55 | this.sort = sort;
56 | }
57 |
58 | public Optional getOrder() {
59 | return Optional.ofNullable(order);
60 | }
61 |
62 | public void setOrder(@Nullable String order) {
63 | this.order = order;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/domain/Book.java:
--------------------------------------------------------------------------------
1 | package example.micronaut.domain;
2 |
3 | import javax.persistence.Column;
4 | import javax.persistence.Entity;
5 | import javax.persistence.GeneratedValue;
6 | import javax.persistence.GenerationType;
7 | import javax.persistence.Id;
8 | import javax.persistence.ManyToOne;
9 | import javax.persistence.Table;
10 | import javax.validation.constraints.NotNull;
11 |
12 | @Entity
13 | @Table(name = "book")
14 | public class Book {
15 |
16 | public Book() {}
17 |
18 | public Book(@NotNull String isbn, @NotNull String name, Genre genre) {
19 | this.isbn = isbn;
20 | this.name = name;
21 | this.genre = genre;
22 | }
23 |
24 | @Id
25 | @GeneratedValue(strategy = GenerationType.AUTO)
26 | private Long id;
27 |
28 | @NotNull
29 | @Column(name = "name", nullable = false)
30 | private String name;
31 |
32 | @NotNull
33 | @Column(name = "isbn", nullable = false)
34 | private String isbn;
35 |
36 | @ManyToOne
37 | private Genre genre;
38 |
39 | public Long getId() {
40 | return id;
41 | }
42 |
43 | public void setId(Long id) {
44 | this.id = id;
45 | }
46 |
47 | public String getName() {
48 | return name;
49 | }
50 |
51 | public void setName(String name) {
52 | this.name = name;
53 | }
54 |
55 | public String getIsbn() {
56 | return isbn;
57 | }
58 |
59 | public void setIsbn(String isbn) {
60 | this.isbn = isbn;
61 | }
62 |
63 | public Genre getGenre() {
64 | return genre;
65 | }
66 |
67 | public void setGenre(Genre genre) {
68 | this.genre = genre;
69 | }
70 |
71 | @Override
72 | public String toString() {
73 | return "Book{" +
74 | "id=" + id +
75 | ", name='" + name + '\'' +
76 | ", isbn='" + isbn + '\'' +
77 | ", genre=" + genre +
78 | '}';
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/complete/src/main/java/example/micronaut/domain/Genre.java:
--------------------------------------------------------------------------------
1 | package example.micronaut.domain;
2 |
3 | import com.fasterxml.jackson.annotation.JsonIgnore;
4 |
5 | import javax.persistence.Column;
6 | import javax.persistence.Entity;
7 | import javax.persistence.GeneratedValue;
8 | import javax.persistence.GenerationType;
9 | import javax.persistence.Id;
10 | import javax.persistence.OneToMany;
11 | import javax.persistence.Table;
12 | import javax.validation.constraints.NotNull;
13 | import java.util.HashSet;
14 | import java.util.Set;
15 |
16 | @Entity
17 | @Table(name = "genre")
18 | public class Genre {
19 |
20 | public Genre() {}
21 |
22 | public Genre(@NotNull String name) {
23 | this.name = name;
24 | }
25 |
26 | @Id
27 | @GeneratedValue(strategy = GenerationType.AUTO)
28 | private Long id;
29 |
30 | @NotNull
31 | @Column(name = "name", nullable = false, unique = true)
32 | private String name;
33 |
34 | @JsonIgnore
35 | @OneToMany(mappedBy = "genre")
36 | private Set books = new HashSet<>();
37 |
38 | public Long getId() {
39 | return id;
40 | }
41 |
42 | public void setId(Long id) {
43 | this.id = id;
44 | }
45 |
46 | public String getName() {
47 | return name;
48 | }
49 |
50 | public void setName(String name) {
51 | this.name = name;
52 | }
53 |
54 | public Set getBooks() {
55 | return books;
56 | }
57 |
58 | public void setBooks(Set books) {
59 | this.books = books;
60 | }
61 |
62 | @Override
63 | public String toString() {
64 | return "Genre{" +
65 | "id=" + id +
66 | ", name='" + name + '\'' +
67 | '}';
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/complete/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | micronaut:
2 | application:
3 | name: complete
4 | #tag::application[]
5 | ---
6 | application:
7 | max: 50
8 | #end::application[]
9 | #tag::datasource[]
10 | ---
11 | datasources:
12 | default:
13 | url: ${JDBC_URL:`jdbc:h2:mem:default;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE`}
14 | username: ${JDBC_USER:sa}
15 | password: ${JDBC_PASSWORD:""}
16 | driverClassName: ${JDBC_DRIVER:org.h2.Driver}
17 | #end::datasource[]
18 | #tag::jpa[]
19 | ---
20 | jpa:
21 | default:
22 | properties:
23 | hibernate:
24 | hbm2ddl:
25 | auto: update
26 | show_sql: true
27 | #end::jpa[]
--------------------------------------------------------------------------------
/complete/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
7 |
8 | %cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}) - %msg%n
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/complete/src/test/java/example/micronaut/GenreControllerTest.java:
--------------------------------------------------------------------------------
1 | package example.micronaut;
2 |
3 | import example.micronaut.domain.Genre;
4 | import io.micronaut.core.type.Argument;
5 | import io.micronaut.http.HttpHeaders;
6 | import io.micronaut.http.HttpRequest;
7 | import io.micronaut.http.HttpResponse;
8 | import io.micronaut.http.HttpStatus;
9 | import io.micronaut.http.client.HttpClient;
10 | import io.micronaut.http.client.annotation.Client;
11 | import io.micronaut.http.client.exceptions.HttpClientResponseException;
12 | import io.micronaut.test.annotation.MicronautTest;
13 | import org.junit.jupiter.api.Test;
14 |
15 | import javax.inject.Inject;
16 | import java.util.ArrayList;
17 | import java.util.List;
18 |
19 | import static org.junit.jupiter.api.Assertions.assertEquals;
20 | import static org.junit.jupiter.api.Assertions.assertNotNull;
21 | import static org.junit.jupiter.api.Assertions.assertThrows;
22 |
23 | @MicronautTest // <1>
24 | public class GenreControllerTest {
25 |
26 | @Inject
27 | @Client("/")
28 | HttpClient client; // <2>
29 |
30 | @Test
31 | public void supplyAnInvalidOrderTriggersValidationFailure() {
32 | HttpClientResponseException thrown = assertThrows(HttpClientResponseException.class, () -> {
33 | client.toBlocking().exchange(HttpRequest.GET("/genres/list?order=foo"));
34 | });
35 |
36 | assertNotNull(thrown.getResponse());
37 | assertEquals(HttpStatus.BAD_REQUEST, thrown.getStatus());
38 | }
39 |
40 | @Test
41 | public void testFindNonExistingGenreReturns404() {
42 | HttpClientResponseException thrown = assertThrows(HttpClientResponseException.class, () -> {
43 | client.toBlocking().exchange(HttpRequest.GET("/genres/99"));
44 | });
45 |
46 | assertNotNull(thrown.getResponse());
47 | assertEquals(HttpStatus.NOT_FOUND, thrown.getStatus());
48 | }
49 |
50 | @Test
51 | public void testGenreCrudOperations() {
52 |
53 | List genreIds = new ArrayList<>();
54 |
55 | HttpRequest request = HttpRequest.POST("/genres", new GenreSaveCommand("DevOps")); // <3>
56 | HttpResponse response = client.toBlocking().exchange(request);
57 | genreIds.add(entityId(response));
58 |
59 | assertEquals(HttpStatus.CREATED, response.getStatus());
60 |
61 | request = HttpRequest.POST("/genres", new GenreSaveCommand("Microservices")); // <3>
62 | response = client.toBlocking().exchange(request);
63 |
64 | assertEquals(HttpStatus.CREATED, response.getStatus());
65 |
66 | Long id = entityId(response);
67 | genreIds.add(id);
68 | request = HttpRequest.GET("/genres/" + id);
69 |
70 | Genre genre = client.toBlocking().retrieve(request, Genre.class); // <4>
71 |
72 | assertEquals("Microservices", genre.getName());
73 |
74 | request = HttpRequest.PUT("/genres", new GenreUpdateCommand(id, "Micro-services"));
75 | response = client.toBlocking().exchange(request); // <5>
76 |
77 | assertEquals(HttpStatus.NO_CONTENT, response.getStatus());
78 |
79 | request = HttpRequest.GET("/genres/" + id);
80 | genre = client.toBlocking().retrieve(request, Genre.class);
81 | assertEquals("Micro-services", genre.getName());
82 |
83 | request = HttpRequest.GET("/genres/list");
84 | List genres = client.toBlocking().retrieve(request, Argument.of(List.class, Genre.class));
85 |
86 | assertEquals(2, genres.size());
87 |
88 | request = HttpRequest.POST("/genres/ex", new GenreSaveCommand("Microservices")); // <3>
89 | response = client.toBlocking().exchange(request);
90 |
91 | assertEquals(HttpStatus.NO_CONTENT, response.getStatus());
92 |
93 | request = HttpRequest.GET("/genres/list");
94 | genres = client.toBlocking().retrieve(request, Argument.of(List.class, Genre.class));
95 |
96 | assertEquals(2, genres.size());
97 |
98 | request = HttpRequest.GET("/genres/list?max=1");
99 | genres = client.toBlocking().retrieve(request, Argument.of(List.class, Genre.class));
100 |
101 | assertEquals(1, genres.size());
102 | assertEquals("DevOps", genres.get(0).getName());
103 |
104 | request = HttpRequest.GET("/genres/list?max=1&order=desc&sort=name");
105 | genres = client.toBlocking().retrieve(request, Argument.of(List.class, Genre.class));
106 |
107 | assertEquals(1, genres.size());
108 | assertEquals("Micro-services", genres.get(0).getName());
109 |
110 | request = HttpRequest.GET("/genres/list?max=1&offset=10");
111 | genres = client.toBlocking().retrieve(request, Argument.of(List.class, Genre.class));
112 |
113 | assertEquals(0, genres.size());
114 |
115 | // cleanup:
116 | for (Long genreId : genreIds) {
117 | request = HttpRequest.DELETE("/genres/" + genreId);
118 | response = client.toBlocking().exchange(request);
119 | assertEquals(HttpStatus.NO_CONTENT, response.getStatus());
120 | }
121 | }
122 |
123 | protected Long entityId(HttpResponse response) {
124 | String path = "/genres/";
125 | String value = response.header(HttpHeaders.LOCATION);
126 | if (value == null) {
127 | return null;
128 | }
129 | int index = value.indexOf(path);
130 | if (index != -1) {
131 | return Long.valueOf(value.substring(index + path.length()));
132 | }
133 | return null;
134 | }
135 | }
136 |
--------------------------------------------------------------------------------
/dependencies.txt:
--------------------------------------------------------------------------------
1 |
2 | > Task :complete:dependencies
3 |
4 | ------------------------------------------------------------
5 | Project :complete
6 | ------------------------------------------------------------
7 |
8 | annotationProcessor - Annotation processors and their dependencies for source set 'main'.
9 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
10 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
11 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
12 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
13 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
14 | | | +--- org.junit:junit-bom:5.6.2
15 | | | \--- org.spockframework:spock-bom:1.3-groovy-2.5
16 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
17 | | +--- io.netty:netty-bom:4.1.48.Final
18 | | +--- io.ktor:ktor-bom:1.3.2
19 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
20 | | +--- io.micrometer:micrometer-bom:1.5.1
21 | | +--- org.junit:junit-bom:5.6.2
22 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
23 | | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (c)
24 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0 (c)
25 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0 (c)
26 | | +--- io.grpc:grpc-bom:1.30.0
27 | | +--- com.google.protobuf:protobuf-bom:3.12.2
28 | | +--- io.micronaut:micronaut-graal:2.0.0.BUILD-SNAPSHOT (c)
29 | | +--- io.micronaut:micronaut-inject-java:2.0.0.BUILD-SNAPSHOT (c)
30 | | +--- io.micronaut:micronaut-validation:2.0.0.BUILD-SNAPSHOT (c)
31 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
32 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
33 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
34 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (c)
35 | | +--- javax.validation:validation-api:2.0.1.Final (c)
36 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
37 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
38 | | +--- org.yaml:snakeyaml:1.26 (c)
39 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
40 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
41 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
42 | +--- io.micronaut:micronaut-inject-java -> 2.0.0.BUILD-SNAPSHOT
43 | | +--- org.slf4j:slf4j-api:1.7.26
44 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT
45 | | | +--- org.slf4j:slf4j-api:1.7.26
46 | | | +--- javax.annotation:javax.annotation-api:1.3.2
47 | | | +--- javax.inject:javax.inject:1
48 | | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
49 | | | | +--- org.slf4j:slf4j-api:1.7.26
50 | | | | +--- org.reactivestreams:reactive-streams:1.0.3
51 | | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
52 | | | | \--- com.google.code.findbugs:jsr305:3.0.2
53 | | | \--- org.yaml:snakeyaml:1.26
54 | | \--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
55 | | +--- org.slf4j:slf4j-api:1.7.26
56 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
57 | | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
58 | +--- io.micronaut:micronaut-validation -> 2.0.0.BUILD-SNAPSHOT
59 | | +--- org.slf4j:slf4j-api:1.7.26
60 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
61 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT
62 | | | +--- org.slf4j:slf4j-api:1.7.26
63 | | | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
64 | | \--- javax.validation:validation-api:2.0.1.Final
65 | \--- io.micronaut:micronaut-graal -> 2.0.0.BUILD-SNAPSHOT
66 | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0
67 | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
68 | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0
69 | +--- org.slf4j:slf4j-api:1.7.26
70 | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
71 |
72 | apiElements - API elements for main. (n)
73 | No dependencies
74 |
75 | archives - Configuration for archive artifacts. (n)
76 | No dependencies
77 |
78 | compileClasspath - Compile classpath for source set 'main'.
79 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
80 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
81 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
82 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
83 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
84 | | | +--- org.junit:junit-bom:5.6.2
85 | | | \--- org.spockframework:spock-bom:1.3-groovy-2.5
86 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
87 | | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.1.0.BUILD-SNAPSHOT (c)
88 | | | \--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT (c)
89 | | +--- io.netty:netty-bom:4.1.48.Final
90 | | | +--- io.netty:netty-handler-proxy:4.1.48.Final (c)
91 | | | +--- io.netty:netty-codec-http:4.1.48.Final (c)
92 | | | +--- io.netty:netty-common:4.1.48.Final (c)
93 | | | +--- io.netty:netty-buffer:4.1.48.Final (c)
94 | | | +--- io.netty:netty-transport:4.1.48.Final (c)
95 | | | +--- io.netty:netty-codec:4.1.48.Final (c)
96 | | | +--- io.netty:netty-codec-socks:4.1.48.Final (c)
97 | | | +--- io.netty:netty-handler:4.1.48.Final (c)
98 | | | +--- io.netty:netty-codec-http2:4.1.48.Final (c)
99 | | | \--- io.netty:netty-resolver:4.1.48.Final (c)
100 | | +--- io.ktor:ktor-bom:1.3.2
101 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
102 | | +--- io.micrometer:micrometer-bom:1.5.1
103 | | +--- org.junit:junit-bom:5.6.2
104 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
105 | | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (c)
106 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0 (c)
107 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0 (c)
108 | | +--- io.grpc:grpc-bom:1.30.0
109 | | +--- com.google.protobuf:protobuf-bom:3.12.2
110 | | +--- io.micronaut:micronaut-http-client:2.0.0.BUILD-SNAPSHOT (c)
111 | | +--- io.micronaut:micronaut-http-server-netty:2.0.0.BUILD-SNAPSHOT (c)
112 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
113 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (c)
114 | | +--- io.micronaut:micronaut-validation:2.0.0.BUILD-SNAPSHOT (c)
115 | | +--- io.micronaut.spring:micronaut-spring:2.1.0.RC3 (c)
116 | | +--- io.micronaut.sql:micronaut-hibernate-jpa:2.3.2 (c)
117 | | +--- io.micronaut.sql:micronaut-jdbc-hikari:2.3.2 (c)
118 | | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring:2.3.2 (c)
119 | | +--- org.graalvm.nativeimage:svm:20.1.0 (c)
120 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
121 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (c)
122 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT (c)
123 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (c)
124 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (c)
125 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT (c)
126 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
127 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
128 | | +--- org.yaml:snakeyaml:1.26 (c)
129 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (c)
130 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
131 | | +--- javax.validation:validation-api:2.0.1.Final (c)
132 | | +--- org.springframework:spring-core:5.2.7.RELEASE (c)
133 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (c)
134 | | +--- org.springframework:spring-context:5.2.7.RELEASE (c)
135 | | +--- org.hibernate:hibernate-core:5.4.17.Final (c)
136 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2 (c)
137 | | +--- com.zaxxer:HikariCP:3.4.5 (c)
138 | | +--- org.springframework:spring-orm:5.2.7.RELEASE (c)
139 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
140 | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT (c)
141 | | +--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT (c)
142 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
143 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE (c)
144 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
145 | +--- org.graalvm.nativeimage:svm -> 20.1.0
146 | | +--- org.graalvm.nativeimage:svm-hosted-native-linux-amd64:20.1.0
147 | | +--- org.graalvm.nativeimage:svm-hosted-native-darwin-amd64:20.1.0
148 | | +--- org.graalvm.nativeimage:svm-hosted-native-windows-amd64:20.1.0
149 | | +--- org.graalvm.sdk:graal-sdk:20.1.0
150 | | +--- org.graalvm.nativeimage:objectfile:20.1.0
151 | | | \--- org.graalvm.compiler:compiler:20.1.0
152 | | | +--- org.graalvm.sdk:graal-sdk:20.1.0
153 | | | \--- org.graalvm.truffle:truffle-api:20.1.0
154 | | | \--- org.graalvm.sdk:graal-sdk:20.1.0
155 | | +--- org.graalvm.nativeimage:pointsto:20.1.0
156 | | | \--- org.graalvm.compiler:compiler:20.1.0 (*)
157 | | +--- org.graalvm.truffle:truffle-nfi:20.1.0
158 | | | +--- org.graalvm.truffle:truffle-api:20.1.0 (*)
159 | | | +--- org.graalvm.truffle:truffle-nfi-native-linux-amd64:20.1.0
160 | | | +--- org.graalvm.truffle:truffle-nfi-native-linux-aarch64:20.1.0
161 | | | \--- org.graalvm.truffle:truffle-nfi-native-darwin-amd64:20.1.0
162 | | \--- org.graalvm.compiler:compiler:20.1.0 (*)
163 | +--- io.micronaut:micronaut-inject -> 2.0.0.BUILD-SNAPSHOT
164 | | +--- org.slf4j:slf4j-api:1.7.26
165 | | +--- javax.annotation:javax.annotation-api:1.3.2
166 | | +--- javax.inject:javax.inject:1
167 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
168 | | | +--- org.slf4j:slf4j-api:1.7.26
169 | | | +--- org.reactivestreams:reactive-streams:1.0.3
170 | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
171 | | | \--- com.google.code.findbugs:jsr305:3.0.2
172 | | \--- org.yaml:snakeyaml:1.26
173 | +--- io.micronaut:micronaut-validation -> 2.0.0.BUILD-SNAPSHOT
174 | | +--- org.slf4j:slf4j-api:1.7.26
175 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
176 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT
177 | | | +--- org.slf4j:slf4j-api:1.7.26
178 | | | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
179 | | \--- javax.validation:validation-api:2.0.1.Final
180 | +--- io.micronaut:micronaut-runtime -> 2.0.0.BUILD-SNAPSHOT
181 | | +--- org.slf4j:slf4j-api:1.7.26
182 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
183 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
184 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
185 | | | +--- org.slf4j:slf4j-api:1.7.26
186 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
187 | | | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
188 | | +--- javax.validation:validation-api:2.0.1.Final
189 | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0
190 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
191 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0
192 | | \--- io.reactivex.rxjava2:rxjava:2.2.10
193 | | \--- org.reactivestreams:reactive-streams:1.0.2 -> 1.0.3
194 | +--- io.micronaut:micronaut-http-server-netty -> 2.0.0.BUILD-SNAPSHOT
195 | | +--- org.slf4j:slf4j-api:1.7.26
196 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT
197 | | | +--- org.slf4j:slf4j-api:1.7.26
198 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT
199 | | | | +--- org.slf4j:slf4j-api:1.7.26
200 | | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
201 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
202 | | | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (*)
203 | | | | \--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
204 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
205 | | | \--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT
206 | | | +--- org.slf4j:slf4j-api:1.7.26
207 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
208 | | | \--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
209 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
210 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT
211 | | | +--- org.slf4j:slf4j-api:1.7.26
212 | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
213 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
214 | | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT
215 | | | | +--- org.slf4j:slf4j-api:1.7.26
216 | | | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
217 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
218 | | | | \--- io.netty:netty-buffer:4.1.48.Final
219 | | | | \--- io.netty:netty-common:4.1.48.Final
220 | | | +--- io.netty:netty-codec-http:4.1.48.Final
221 | | | | +--- io.netty:netty-common:4.1.48.Final
222 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
223 | | | | +--- io.netty:netty-transport:4.1.48.Final
224 | | | | | +--- io.netty:netty-common:4.1.48.Final
225 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
226 | | | | | \--- io.netty:netty-resolver:4.1.48.Final
227 | | | | | \--- io.netty:netty-common:4.1.48.Final
228 | | | | +--- io.netty:netty-codec:4.1.48.Final
229 | | | | | +--- io.netty:netty-common:4.1.48.Final
230 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
231 | | | | | \--- io.netty:netty-transport:4.1.48.Final (*)
232 | | | | \--- io.netty:netty-handler:4.1.48.Final
233 | | | | +--- io.netty:netty-common:4.1.48.Final
234 | | | | +--- io.netty:netty-resolver:4.1.48.Final (*)
235 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
236 | | | | +--- io.netty:netty-transport:4.1.48.Final (*)
237 | | | | \--- io.netty:netty-codec:4.1.48.Final (*)
238 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
239 | | | \--- io.netty:netty-codec-http2:4.1.48.Final
240 | | | +--- io.netty:netty-common:4.1.48.Final
241 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
242 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
243 | | | +--- io.netty:netty-codec:4.1.48.Final (*)
244 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
245 | | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
246 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
247 | +--- io.micronaut:micronaut-http-client -> 2.0.0.BUILD-SNAPSHOT
248 | | +--- org.slf4j:slf4j-api:1.7.26
249 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
250 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
251 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT
252 | | | +--- org.slf4j:slf4j-api:1.7.26
253 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
254 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
255 | | | \--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
256 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
257 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (*)
258 | | \--- io.netty:netty-handler-proxy:4.1.48.Final
259 | | +--- io.netty:netty-common:4.1.48.Final
260 | | +--- io.netty:netty-buffer:4.1.48.Final (*)
261 | | +--- io.netty:netty-transport:4.1.48.Final (*)
262 | | +--- io.netty:netty-codec:4.1.48.Final (*)
263 | | +--- io.netty:netty-codec-socks:4.1.48.Final
264 | | | +--- io.netty:netty-common:4.1.48.Final
265 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
266 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
267 | | | \--- io.netty:netty-codec:4.1.48.Final (*)
268 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
269 | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring -> 2.3.2
270 | | +--- org.hibernate:hibernate-core:5.4.17.Final
271 | | | +--- org.jboss.logging:jboss-logging:3.3.2.Final
272 | | | +--- javax.persistence:javax.persistence-api:2.2
273 | | | +--- net.bytebuddy:byte-buddy:1.10.10
274 | | | +--- antlr:antlr:2.7.7
275 | | | +--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
276 | | | +--- org.jboss:jandex:2.1.3.Final
277 | | | +--- com.fasterxml:classmate:1.5.1
278 | | | +--- javax.activation:javax.activation-api:1.2.0
279 | | | +--- org.dom4j:dom4j:2.1.3
280 | | | +--- org.hibernate.common:hibernate-commons-annotations:5.1.0.Final
281 | | | | \--- org.jboss.logging:jboss-logging:3.3.2.Final
282 | | | +--- javax.xml.bind:jaxb-api:2.3.1
283 | | | | \--- javax.activation:javax.activation-api:1.2.0
284 | | | \--- org.glassfish.jaxb:jaxb-runtime:2.3.1
285 | | | +--- javax.xml.bind:jaxb-api:2.3.1 (*)
286 | | | +--- org.glassfish.jaxb:txw2:2.3.1
287 | | | +--- com.sun.istack:istack-commons-runtime:3.0.7
288 | | | +--- org.jvnet.staxex:stax-ex:1.8
289 | | | +--- com.sun.xml.fastinfoset:FastInfoset:1.2.15
290 | | | \--- javax.activation:javax.activation-api:1.2.0
291 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
292 | | +--- io.micronaut:micronaut-jdbc:1.3.5
293 | | | +--- org.slf4j:slf4j-api:1.7.26
294 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
295 | | +--- io.micronaut:micronaut-spring:1.3.5
296 | | | +--- org.slf4j:slf4j-api:1.7.26
297 | | | +--- org.springframework:spring-core:5.2.3.RELEASE -> 5.2.7.RELEASE
298 | | | | \--- org.springframework:spring-jcl:5.2.7.RELEASE
299 | | | +--- org.springframework:spring-tx:5.2.3.RELEASE -> 5.2.7.RELEASE
300 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE
301 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
302 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
303 | | | +--- org.springframework:spring-context:5.2.3.RELEASE -> 5.2.7.RELEASE
304 | | | | +--- org.springframework:spring-aop:5.2.7.RELEASE
305 | | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
306 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
307 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
308 | | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
309 | | | | \--- org.springframework:spring-expression:5.2.7.RELEASE
310 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
311 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
312 | | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
313 | | \--- org.springframework:spring-orm:5.2.7.RELEASE
314 | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
315 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
316 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE
317 | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
318 | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
319 | | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
320 | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
321 | +--- io.micronaut.sql:micronaut-jdbc-hikari -> 2.3.2
322 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2
323 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
324 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
325 | | \--- com.zaxxer:HikariCP:3.4.5
326 | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
327 | +--- io.micronaut.sql:micronaut-hibernate-jpa -> 2.3.2
328 | | +--- org.hibernate:hibernate-core:5.4.17.Final (*)
329 | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3
330 | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.0.2 -> 1.1.0.BUILD-SNAPSHOT
331 | | | +--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT
332 | | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.3
333 | | | \--- org.hibernate:hibernate-core:5.4.17.Final (*)
334 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
335 | | +--- io.micronaut:micronaut-jdbc:1.3.5 (*)
336 | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
337 | | \--- io.micronaut:micronaut-validation:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
338 | \--- io.micronaut.spring:micronaut-spring -> 2.1.0.RC3
339 | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
340 | +--- org.springframework:spring-tx:5.2.7.RELEASE (*)
341 | +--- org.springframework:spring-context:5.2.7.RELEASE (*)
342 | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
343 | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
344 |
345 | compileOnly - Compile only dependencies for source set 'main'. (n)
346 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT (n)
347 | \--- org.graalvm.nativeimage:svm (n)
348 |
349 | default - Configuration for default artifacts. (n)
350 | No dependencies
351 |
352 | developmentOnly
353 | No dependencies
354 |
355 | implementation - Implementation only dependencies for source set 'main'. (n)
356 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT (n)
357 | +--- io.micronaut:micronaut-inject (n)
358 | +--- io.micronaut:micronaut-validation (n)
359 | +--- io.micronaut:micronaut-runtime (n)
360 | +--- io.micronaut:micronaut-http-server-netty (n)
361 | +--- io.micronaut:micronaut-http-client (n)
362 | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring (n)
363 | +--- io.micronaut.sql:micronaut-jdbc-hikari (n)
364 | +--- io.micronaut.sql:micronaut-hibernate-jpa (n)
365 | \--- io.micronaut.spring:micronaut-spring (n)
366 |
367 | runtimeClasspath - Runtime classpath of source set 'main'.
368 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
369 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
370 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
371 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
372 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
373 | | | +--- org.junit:junit-bom:5.6.2
374 | | | \--- org.spockframework:spock-bom:1.3-groovy-2.5
375 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
376 | | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.1.0.BUILD-SNAPSHOT (c)
377 | | | \--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT (c)
378 | | +--- io.netty:netty-bom:4.1.48.Final
379 | | | +--- io.netty:netty-handler-proxy:4.1.48.Final (c)
380 | | | +--- io.netty:netty-codec-http:4.1.48.Final (c)
381 | | | +--- io.netty:netty-common:4.1.48.Final (c)
382 | | | +--- io.netty:netty-buffer:4.1.48.Final (c)
383 | | | +--- io.netty:netty-transport:4.1.48.Final (c)
384 | | | +--- io.netty:netty-codec:4.1.48.Final (c)
385 | | | +--- io.netty:netty-codec-socks:4.1.48.Final (c)
386 | | | +--- io.netty:netty-handler:4.1.48.Final (c)
387 | | | +--- io.netty:netty-codec-http2:4.1.48.Final (c)
388 | | | \--- io.netty:netty-resolver:4.1.48.Final (c)
389 | | +--- io.ktor:ktor-bom:1.3.2
390 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
391 | | +--- io.micrometer:micrometer-bom:1.5.1
392 | | +--- org.junit:junit-bom:5.6.2
393 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
394 | | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (c)
395 | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.0 (c)
396 | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.0 (c)
397 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0 (c)
398 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0 (c)
399 | | +--- io.grpc:grpc-bom:1.30.0
400 | | +--- com.google.protobuf:protobuf-bom:3.12.2
401 | | +--- io.micronaut:micronaut-http-client:2.0.0.BUILD-SNAPSHOT (c)
402 | | +--- io.micronaut:micronaut-http-server-netty:2.0.0.BUILD-SNAPSHOT (c)
403 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
404 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (c)
405 | | +--- io.micronaut:micronaut-validation:2.0.0.BUILD-SNAPSHOT (c)
406 | | +--- io.micronaut.spring:micronaut-spring:2.1.0.RC3 (c)
407 | | +--- io.micronaut.sql:micronaut-hibernate-jpa:2.3.2 (c)
408 | | +--- io.micronaut.sql:micronaut-jdbc-hikari:2.3.2 (c)
409 | | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring:2.3.2 (c)
410 | | +--- ch.qos.logback:logback-classic:1.2.3 (c)
411 | | +--- com.h2database:h2:1.4.199 (c)
412 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
413 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (c)
414 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT (c)
415 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (c)
416 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (c)
417 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT (c)
418 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
419 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
420 | | +--- org.yaml:snakeyaml:1.26 (c)
421 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (c)
422 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
423 | | +--- javax.validation:validation-api:2.0.1.Final (c)
424 | | +--- org.springframework:spring-core:5.2.7.RELEASE (c)
425 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (c)
426 | | +--- org.springframework:spring-context:5.2.7.RELEASE (c)
427 | | +--- org.hibernate:hibernate-core:5.4.17.Final (c)
428 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2 (c)
429 | | +--- com.zaxxer:HikariCP:3.4.5 (c)
430 | | +--- org.springframework:spring-orm:5.2.7.RELEASE (c)
431 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
432 | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT (c)
433 | | +--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT (c)
434 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
435 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE (c)
436 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
437 | +--- io.micronaut:micronaut-inject -> 2.0.0.BUILD-SNAPSHOT
438 | | +--- org.slf4j:slf4j-api:1.7.26
439 | | +--- javax.annotation:javax.annotation-api:1.3.2
440 | | +--- javax.inject:javax.inject:1
441 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
442 | | | +--- org.slf4j:slf4j-api:1.7.26
443 | | | +--- org.reactivestreams:reactive-streams:1.0.3
444 | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
445 | | | \--- com.google.code.findbugs:jsr305:3.0.2
446 | | \--- org.yaml:snakeyaml:1.26
447 | +--- io.micronaut:micronaut-validation -> 2.0.0.BUILD-SNAPSHOT
448 | | +--- org.slf4j:slf4j-api:1.7.26
449 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
450 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT
451 | | | +--- org.slf4j:slf4j-api:1.7.26
452 | | | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
453 | | \--- javax.validation:validation-api:2.0.1.Final
454 | +--- io.micronaut:micronaut-runtime -> 2.0.0.BUILD-SNAPSHOT
455 | | +--- org.slf4j:slf4j-api:1.7.26
456 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
457 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
458 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
459 | | | +--- org.slf4j:slf4j-api:1.7.26
460 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
461 | | | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
462 | | +--- javax.validation:validation-api:2.0.1.Final
463 | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0
464 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
465 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0
466 | | +--- io.reactivex.rxjava2:rxjava:2.2.10
467 | | | \--- org.reactivestreams:reactive-streams:1.0.2 -> 1.0.3
468 | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.0
469 | | | +--- com.fasterxml.jackson.core:jackson-core:2.11.0
470 | | | \--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (*)
471 | | \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.0
472 | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
473 | | +--- com.fasterxml.jackson.core:jackson-core:2.11.0
474 | | \--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (*)
475 | +--- io.micronaut:micronaut-http-server-netty -> 2.0.0.BUILD-SNAPSHOT
476 | | +--- org.slf4j:slf4j-api:1.7.26
477 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT
478 | | | +--- org.slf4j:slf4j-api:1.7.26
479 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT
480 | | | | +--- org.slf4j:slf4j-api:1.7.26
481 | | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
482 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
483 | | | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (*)
484 | | | | \--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
485 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
486 | | | \--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT
487 | | | +--- org.slf4j:slf4j-api:1.7.26
488 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
489 | | | \--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
490 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
491 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT
492 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
493 | | | +--- org.slf4j:slf4j-api:1.7.26
494 | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
495 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
496 | | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT
497 | | | | +--- org.slf4j:slf4j-api:1.7.26
498 | | | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
499 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
500 | | | | \--- io.netty:netty-buffer:4.1.48.Final
501 | | | | \--- io.netty:netty-common:4.1.48.Final
502 | | | +--- io.netty:netty-codec-http:4.1.48.Final
503 | | | | +--- io.netty:netty-common:4.1.48.Final
504 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
505 | | | | +--- io.netty:netty-transport:4.1.48.Final
506 | | | | | +--- io.netty:netty-common:4.1.48.Final
507 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
508 | | | | | \--- io.netty:netty-resolver:4.1.48.Final
509 | | | | | \--- io.netty:netty-common:4.1.48.Final
510 | | | | +--- io.netty:netty-codec:4.1.48.Final
511 | | | | | +--- io.netty:netty-common:4.1.48.Final
512 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
513 | | | | | \--- io.netty:netty-transport:4.1.48.Final (*)
514 | | | | \--- io.netty:netty-handler:4.1.48.Final
515 | | | | +--- io.netty:netty-common:4.1.48.Final
516 | | | | +--- io.netty:netty-resolver:4.1.48.Final (*)
517 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
518 | | | | +--- io.netty:netty-transport:4.1.48.Final (*)
519 | | | | \--- io.netty:netty-codec:4.1.48.Final (*)
520 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
521 | | | \--- io.netty:netty-codec-http2:4.1.48.Final
522 | | | +--- io.netty:netty-common:4.1.48.Final
523 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
524 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
525 | | | +--- io.netty:netty-codec:4.1.48.Final (*)
526 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
527 | | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
528 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
529 | +--- io.micronaut:micronaut-http-client -> 2.0.0.BUILD-SNAPSHOT
530 | | +--- org.slf4j:slf4j-api:1.7.26
531 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
532 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
533 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT
534 | | | +--- org.slf4j:slf4j-api:1.7.26
535 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
536 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
537 | | | \--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
538 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
539 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (*)
540 | | \--- io.netty:netty-handler-proxy:4.1.48.Final
541 | | +--- io.netty:netty-common:4.1.48.Final
542 | | +--- io.netty:netty-buffer:4.1.48.Final (*)
543 | | +--- io.netty:netty-transport:4.1.48.Final (*)
544 | | +--- io.netty:netty-codec:4.1.48.Final (*)
545 | | +--- io.netty:netty-codec-socks:4.1.48.Final
546 | | | +--- io.netty:netty-common:4.1.48.Final
547 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
548 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
549 | | | \--- io.netty:netty-codec:4.1.48.Final (*)
550 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
551 | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring -> 2.3.2
552 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
553 | | +--- org.hibernate:hibernate-core:5.4.17.Final
554 | | | +--- org.jboss.logging:jboss-logging:3.3.2.Final
555 | | | +--- javax.persistence:javax.persistence-api:2.2
556 | | | +--- net.bytebuddy:byte-buddy:1.10.10
557 | | | +--- antlr:antlr:2.7.7
558 | | | +--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
559 | | | +--- org.jboss:jandex:2.1.3.Final
560 | | | +--- com.fasterxml:classmate:1.5.1
561 | | | +--- javax.activation:javax.activation-api:1.2.0
562 | | | +--- org.dom4j:dom4j:2.1.3
563 | | | +--- org.hibernate.common:hibernate-commons-annotations:5.1.0.Final
564 | | | | \--- org.jboss.logging:jboss-logging:3.3.2.Final
565 | | | +--- javax.xml.bind:jaxb-api:2.3.1
566 | | | | \--- javax.activation:javax.activation-api:1.2.0
567 | | | \--- org.glassfish.jaxb:jaxb-runtime:2.3.1
568 | | | +--- javax.xml.bind:jaxb-api:2.3.1 (*)
569 | | | +--- org.glassfish.jaxb:txw2:2.3.1
570 | | | +--- com.sun.istack:istack-commons-runtime:3.0.7
571 | | | +--- org.jvnet.staxex:stax-ex:1.8
572 | | | +--- com.sun.xml.fastinfoset:FastInfoset:1.2.15
573 | | | \--- javax.activation:javax.activation-api:1.2.0
574 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
575 | | +--- io.micronaut:micronaut-jdbc:1.3.5
576 | | | +--- org.slf4j:slf4j-api:1.7.26
577 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
578 | | +--- io.micronaut:micronaut-spring:1.3.5
579 | | | +--- org.slf4j:slf4j-api:1.7.26
580 | | | +--- org.springframework:spring-core:5.2.3.RELEASE -> 5.2.7.RELEASE
581 | | | | \--- org.springframework:spring-jcl:5.2.7.RELEASE
582 | | | +--- org.springframework:spring-tx:5.2.3.RELEASE -> 5.2.7.RELEASE
583 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE
584 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
585 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
586 | | | +--- org.springframework:spring-context:5.2.3.RELEASE -> 5.2.7.RELEASE
587 | | | | +--- org.springframework:spring-aop:5.2.7.RELEASE
588 | | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
589 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
590 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
591 | | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
592 | | | | \--- org.springframework:spring-expression:5.2.7.RELEASE
593 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
594 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
595 | | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
596 | | \--- org.springframework:spring-orm:5.2.7.RELEASE
597 | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
598 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
599 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE
600 | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
601 | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
602 | | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
603 | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
604 | +--- io.micronaut.sql:micronaut-jdbc-hikari -> 2.3.2
605 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
606 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2
607 | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
608 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
609 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
610 | | \--- com.zaxxer:HikariCP:3.4.5
611 | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
612 | +--- io.micronaut.sql:micronaut-hibernate-jpa -> 2.3.2
613 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
614 | | +--- org.hibernate:hibernate-core:5.4.17.Final (*)
615 | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3
616 | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.0.2 -> 1.1.0.BUILD-SNAPSHOT
617 | | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (*)
618 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
619 | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
620 | | | +--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT
621 | | | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (*)
622 | | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
623 | | | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
624 | | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
625 | | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.3
626 | | | \--- org.hibernate:hibernate-core:5.4.17.Final (*)
627 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
628 | | +--- io.micronaut:micronaut-jdbc:1.3.5 (*)
629 | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
630 | | +--- io.micronaut:micronaut-validation:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
631 | | \--- javax.xml.bind:jaxb-api:2.3.1 (*)
632 | +--- io.micronaut.spring:micronaut-spring -> 2.1.0.RC3
633 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
634 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
635 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (*)
636 | | +--- org.springframework:spring-context:5.2.7.RELEASE (*)
637 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
638 | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
639 | +--- com.h2database:h2 -> 1.4.199
640 | \--- ch.qos.logback:logback-classic -> 1.2.3
641 | +--- ch.qos.logback:logback-core:1.2.3
642 | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
643 |
644 | runtimeElements - Elements of runtime for main. (n)
645 | No dependencies
646 |
647 | runtimeOnly - Runtime only dependencies for source set 'main'. (n)
648 | +--- com.h2database:h2 (n)
649 | \--- ch.qos.logback:logback-classic (n)
650 |
651 | shadow
652 | No dependencies
653 |
654 | testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
655 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
656 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
657 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
658 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
659 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
660 | | | +--- org.junit:junit-bom:5.6.2
661 | | | \--- org.spockframework:spock-bom:1.3-groovy-2.5
662 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
663 | | +--- io.netty:netty-bom:4.1.48.Final
664 | | +--- io.ktor:ktor-bom:1.3.2
665 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
666 | | +--- io.micrometer:micrometer-bom:1.5.1
667 | | +--- org.junit:junit-bom:5.6.2
668 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
669 | | +--- io.grpc:grpc-bom:1.30.0
670 | | +--- com.google.protobuf:protobuf-bom:3.12.2
671 | | +--- io.micronaut:micronaut-inject-java:2.0.0.BUILD-SNAPSHOT (c)
672 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
673 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
674 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
675 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
676 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
677 | | +--- org.yaml:snakeyaml:1.26 (c)
678 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
679 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
680 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
681 | \--- io.micronaut:micronaut-inject-java -> 2.0.0.BUILD-SNAPSHOT
682 | +--- org.slf4j:slf4j-api:1.7.26
683 | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT
684 | | +--- org.slf4j:slf4j-api:1.7.26
685 | | +--- javax.annotation:javax.annotation-api:1.3.2
686 | | +--- javax.inject:javax.inject:1
687 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
688 | | | +--- org.slf4j:slf4j-api:1.7.26
689 | | | +--- org.reactivestreams:reactive-streams:1.0.3
690 | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
691 | | | \--- com.google.code.findbugs:jsr305:3.0.2
692 | | \--- org.yaml:snakeyaml:1.26
693 | \--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
694 | +--- org.slf4j:slf4j-api:1.7.26
695 | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
696 | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
697 |
698 | testCompileClasspath - Compile classpath for source set 'test'.
699 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
700 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
701 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
702 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
703 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
704 | | | +--- org.junit:junit-bom:5.6.2
705 | | | | +--- org.junit.jupiter:junit-jupiter-api:5.6.2 (c)
706 | | | | \--- org.junit.platform:junit-platform-commons:1.6.2 (c)
707 | | | +--- org.spockframework:spock-bom:1.3-groovy-2.5
708 | | | +--- io.micronaut.test:micronaut-test-junit5:1.2.0.RC6 (c)
709 | | | \--- io.micronaut.test:micronaut-test-core:1.2.0.RC6 (c)
710 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
711 | | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.1.0.BUILD-SNAPSHOT (c)
712 | | | \--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT (c)
713 | | +--- io.netty:netty-bom:4.1.48.Final
714 | | | +--- io.netty:netty-handler-proxy:4.1.48.Final (c)
715 | | | +--- io.netty:netty-codec-http:4.1.48.Final (c)
716 | | | +--- io.netty:netty-common:4.1.48.Final (c)
717 | | | +--- io.netty:netty-buffer:4.1.48.Final (c)
718 | | | +--- io.netty:netty-transport:4.1.48.Final (c)
719 | | | +--- io.netty:netty-codec:4.1.48.Final (c)
720 | | | +--- io.netty:netty-codec-socks:4.1.48.Final (c)
721 | | | +--- io.netty:netty-handler:4.1.48.Final (c)
722 | | | +--- io.netty:netty-codec-http2:4.1.48.Final (c)
723 | | | \--- io.netty:netty-resolver:4.1.48.Final (c)
724 | | +--- io.ktor:ktor-bom:1.3.2
725 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
726 | | +--- io.micrometer:micrometer-bom:1.5.1
727 | | +--- org.junit:junit-bom:5.6.2 (*)
728 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
729 | | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (c)
730 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0 (c)
731 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0 (c)
732 | | +--- io.grpc:grpc-bom:1.30.0
733 | | +--- com.google.protobuf:protobuf-bom:3.12.2
734 | | +--- io.micronaut:micronaut-http-client:2.0.0.BUILD-SNAPSHOT (c)
735 | | +--- io.micronaut:micronaut-http-server-netty:2.0.0.BUILD-SNAPSHOT (c)
736 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
737 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (c)
738 | | +--- io.micronaut:micronaut-validation:2.0.0.BUILD-SNAPSHOT (c)
739 | | +--- io.micronaut.spring:micronaut-spring:2.1.0.RC3 (c)
740 | | +--- io.micronaut.sql:micronaut-hibernate-jpa:2.3.2 (c)
741 | | +--- io.micronaut.sql:micronaut-jdbc-hikari:2.3.2 (c)
742 | | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring:2.3.2 (c)
743 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
744 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (c)
745 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT (c)
746 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (c)
747 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (c)
748 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT (c)
749 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
750 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
751 | | +--- org.yaml:snakeyaml:1.26 (c)
752 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (c)
753 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
754 | | +--- javax.validation:validation-api:2.0.1.Final (c)
755 | | +--- org.springframework:spring-core:5.2.7.RELEASE (c)
756 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (c)
757 | | +--- org.springframework:spring-context:5.2.7.RELEASE (c)
758 | | +--- org.hibernate:hibernate-core:5.4.17.Final (c)
759 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2 (c)
760 | | +--- com.zaxxer:HikariCP:3.4.5 (c)
761 | | +--- org.springframework:spring-orm:5.2.7.RELEASE (c)
762 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
763 | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT (c)
764 | | +--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT (c)
765 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
766 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE (c)
767 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
768 | +--- io.micronaut:micronaut-inject -> 2.0.0.BUILD-SNAPSHOT
769 | | +--- org.slf4j:slf4j-api:1.7.26
770 | | +--- javax.annotation:javax.annotation-api:1.3.2
771 | | +--- javax.inject:javax.inject:1
772 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
773 | | | +--- org.slf4j:slf4j-api:1.7.26
774 | | | +--- org.reactivestreams:reactive-streams:1.0.3
775 | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
776 | | | \--- com.google.code.findbugs:jsr305:3.0.2
777 | | \--- org.yaml:snakeyaml:1.26
778 | +--- io.micronaut:micronaut-validation -> 2.0.0.BUILD-SNAPSHOT
779 | | +--- org.slf4j:slf4j-api:1.7.26
780 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
781 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT
782 | | | +--- org.slf4j:slf4j-api:1.7.26
783 | | | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
784 | | \--- javax.validation:validation-api:2.0.1.Final
785 | +--- io.micronaut:micronaut-runtime -> 2.0.0.BUILD-SNAPSHOT
786 | | +--- org.slf4j:slf4j-api:1.7.26
787 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
788 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
789 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
790 | | | +--- org.slf4j:slf4j-api:1.7.26
791 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
792 | | | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
793 | | +--- javax.validation:validation-api:2.0.1.Final
794 | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0
795 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
796 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0
797 | | \--- io.reactivex.rxjava2:rxjava:2.2.10
798 | | \--- org.reactivestreams:reactive-streams:1.0.2 -> 1.0.3
799 | +--- io.micronaut:micronaut-http-server-netty -> 2.0.0.BUILD-SNAPSHOT
800 | | +--- org.slf4j:slf4j-api:1.7.26
801 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT
802 | | | +--- org.slf4j:slf4j-api:1.7.26
803 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT
804 | | | | +--- org.slf4j:slf4j-api:1.7.26
805 | | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
806 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
807 | | | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (*)
808 | | | | \--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
809 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
810 | | | \--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT
811 | | | +--- org.slf4j:slf4j-api:1.7.26
812 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
813 | | | \--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
814 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
815 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT
816 | | | +--- org.slf4j:slf4j-api:1.7.26
817 | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
818 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
819 | | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT
820 | | | | +--- org.slf4j:slf4j-api:1.7.26
821 | | | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
822 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
823 | | | | \--- io.netty:netty-buffer:4.1.48.Final
824 | | | | \--- io.netty:netty-common:4.1.48.Final
825 | | | +--- io.netty:netty-codec-http:4.1.48.Final
826 | | | | +--- io.netty:netty-common:4.1.48.Final
827 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
828 | | | | +--- io.netty:netty-transport:4.1.48.Final
829 | | | | | +--- io.netty:netty-common:4.1.48.Final
830 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
831 | | | | | \--- io.netty:netty-resolver:4.1.48.Final
832 | | | | | \--- io.netty:netty-common:4.1.48.Final
833 | | | | +--- io.netty:netty-codec:4.1.48.Final
834 | | | | | +--- io.netty:netty-common:4.1.48.Final
835 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
836 | | | | | \--- io.netty:netty-transport:4.1.48.Final (*)
837 | | | | \--- io.netty:netty-handler:4.1.48.Final
838 | | | | +--- io.netty:netty-common:4.1.48.Final
839 | | | | +--- io.netty:netty-resolver:4.1.48.Final (*)
840 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
841 | | | | +--- io.netty:netty-transport:4.1.48.Final (*)
842 | | | | \--- io.netty:netty-codec:4.1.48.Final (*)
843 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
844 | | | \--- io.netty:netty-codec-http2:4.1.48.Final
845 | | | +--- io.netty:netty-common:4.1.48.Final
846 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
847 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
848 | | | +--- io.netty:netty-codec:4.1.48.Final (*)
849 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
850 | | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
851 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
852 | +--- io.micronaut:micronaut-http-client -> 2.0.0.BUILD-SNAPSHOT
853 | | +--- org.slf4j:slf4j-api:1.7.26
854 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
855 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
856 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT
857 | | | +--- org.slf4j:slf4j-api:1.7.26
858 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
859 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
860 | | | \--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
861 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
862 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (*)
863 | | \--- io.netty:netty-handler-proxy:4.1.48.Final
864 | | +--- io.netty:netty-common:4.1.48.Final
865 | | +--- io.netty:netty-buffer:4.1.48.Final (*)
866 | | +--- io.netty:netty-transport:4.1.48.Final (*)
867 | | +--- io.netty:netty-codec:4.1.48.Final (*)
868 | | +--- io.netty:netty-codec-socks:4.1.48.Final
869 | | | +--- io.netty:netty-common:4.1.48.Final
870 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
871 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
872 | | | \--- io.netty:netty-codec:4.1.48.Final (*)
873 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
874 | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring -> 2.3.2
875 | | +--- org.hibernate:hibernate-core:5.4.17.Final
876 | | | +--- org.jboss.logging:jboss-logging:3.3.2.Final
877 | | | +--- javax.persistence:javax.persistence-api:2.2
878 | | | +--- net.bytebuddy:byte-buddy:1.10.10
879 | | | +--- antlr:antlr:2.7.7
880 | | | +--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
881 | | | +--- org.jboss:jandex:2.1.3.Final
882 | | | +--- com.fasterxml:classmate:1.5.1
883 | | | +--- javax.activation:javax.activation-api:1.2.0
884 | | | +--- org.dom4j:dom4j:2.1.3
885 | | | +--- org.hibernate.common:hibernate-commons-annotations:5.1.0.Final
886 | | | | \--- org.jboss.logging:jboss-logging:3.3.2.Final
887 | | | +--- javax.xml.bind:jaxb-api:2.3.1
888 | | | | \--- javax.activation:javax.activation-api:1.2.0
889 | | | \--- org.glassfish.jaxb:jaxb-runtime:2.3.1
890 | | | +--- javax.xml.bind:jaxb-api:2.3.1 (*)
891 | | | +--- org.glassfish.jaxb:txw2:2.3.1
892 | | | +--- com.sun.istack:istack-commons-runtime:3.0.7
893 | | | +--- org.jvnet.staxex:stax-ex:1.8
894 | | | +--- com.sun.xml.fastinfoset:FastInfoset:1.2.15
895 | | | \--- javax.activation:javax.activation-api:1.2.0
896 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
897 | | +--- io.micronaut:micronaut-jdbc:1.3.5
898 | | | +--- org.slf4j:slf4j-api:1.7.26
899 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
900 | | +--- io.micronaut:micronaut-spring:1.3.5
901 | | | +--- org.slf4j:slf4j-api:1.7.26
902 | | | +--- org.springframework:spring-core:5.2.3.RELEASE -> 5.2.7.RELEASE
903 | | | | \--- org.springframework:spring-jcl:5.2.7.RELEASE
904 | | | +--- org.springframework:spring-tx:5.2.3.RELEASE -> 5.2.7.RELEASE
905 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE
906 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
907 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
908 | | | +--- org.springframework:spring-context:5.2.3.RELEASE -> 5.2.7.RELEASE
909 | | | | +--- org.springframework:spring-aop:5.2.7.RELEASE
910 | | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
911 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
912 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
913 | | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
914 | | | | \--- org.springframework:spring-expression:5.2.7.RELEASE
915 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
916 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
917 | | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
918 | | \--- org.springframework:spring-orm:5.2.7.RELEASE
919 | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
920 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
921 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE
922 | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
923 | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
924 | | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
925 | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
926 | +--- io.micronaut.sql:micronaut-jdbc-hikari -> 2.3.2
927 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2
928 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
929 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
930 | | \--- com.zaxxer:HikariCP:3.4.5
931 | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
932 | +--- io.micronaut.sql:micronaut-hibernate-jpa -> 2.3.2
933 | | +--- org.hibernate:hibernate-core:5.4.17.Final (*)
934 | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3
935 | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.0.2 -> 1.1.0.BUILD-SNAPSHOT
936 | | | +--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT
937 | | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.3
938 | | | \--- org.hibernate:hibernate-core:5.4.17.Final (*)
939 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
940 | | +--- io.micronaut:micronaut-jdbc:1.3.5 (*)
941 | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
942 | | \--- io.micronaut:micronaut-validation:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
943 | +--- io.micronaut.spring:micronaut-spring -> 2.1.0.RC3
944 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
945 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (*)
946 | | +--- org.springframework:spring-context:5.2.7.RELEASE (*)
947 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
948 | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
949 | +--- org.junit.jupiter:junit-jupiter-api -> 5.6.2
950 | | +--- org.junit:junit-bom:5.6.2 (*)
951 | | +--- org.apiguardian:apiguardian-api:1.1.0
952 | | +--- org.opentest4j:opentest4j:1.2.0
953 | | \--- org.junit.platform:junit-platform-commons:1.6.2
954 | | +--- org.junit:junit-bom:5.6.2 (*)
955 | | \--- org.apiguardian:apiguardian-api:1.1.0
956 | \--- io.micronaut.test:micronaut-test-junit5 -> 1.2.0.RC6
957 | +--- io.micronaut.test:micronaut-test-core:1.2.0.RC6
958 | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
959 | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
960 | \--- org.junit.jupiter:junit-jupiter-api:5.6.2 (*)
961 |
962 | testCompileOnly - Compile only dependencies for source set 'test'. (n)
963 | No dependencies
964 |
965 | testImplementation - Implementation only dependencies for source set 'test'. (n)
966 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT (n)
967 | +--- org.junit.jupiter:junit-jupiter-api (n)
968 | \--- io.micronaut.test:micronaut-test-junit5 (n)
969 |
970 | testRuntimeClasspath - Runtime classpath of source set 'test'.
971 | +--- io.micronaut:micronaut-bom:2.0.0.BUILD-SNAPSHOT
972 | | +--- io.micronaut.views:micronaut-views-bom:2.0.0.BUILD-SNAPSHOT
973 | | +--- io.micronaut.groovy:micronaut-groovy-bom:2.0.0.BUILD-SNAPSHOT
974 | | | \--- org.codehaus.groovy:groovy-bom:3.0.3
975 | | +--- io.micronaut.test:micronaut-test-bom:1.2.0.RC6
976 | | | +--- org.junit:junit-bom:5.6.2
977 | | | | +--- org.junit.jupiter:junit-jupiter-api:5.6.2 (c)
978 | | | | +--- org.junit.jupiter:junit-jupiter-engine:5.6.2 (c)
979 | | | | +--- org.junit.platform:junit-platform-commons:1.6.2 (c)
980 | | | | \--- org.junit.platform:junit-platform-engine:1.6.2 (c)
981 | | | +--- org.spockframework:spock-bom:1.3-groovy-2.5
982 | | | +--- io.micronaut.test:micronaut-test-junit5:1.2.0.RC6 (c)
983 | | | \--- io.micronaut.test:micronaut-test-core:1.2.0.RC6 (c)
984 | | +--- io.micronaut.data:micronaut-data-bom:1.1.0.BUILD-SNAPSHOT
985 | | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.1.0.BUILD-SNAPSHOT (c)
986 | | | \--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT (c)
987 | | +--- io.netty:netty-bom:4.1.48.Final
988 | | | +--- io.netty:netty-handler-proxy:4.1.48.Final (c)
989 | | | +--- io.netty:netty-codec-http:4.1.48.Final (c)
990 | | | +--- io.netty:netty-common:4.1.48.Final (c)
991 | | | +--- io.netty:netty-buffer:4.1.48.Final (c)
992 | | | +--- io.netty:netty-transport:4.1.48.Final (c)
993 | | | +--- io.netty:netty-codec:4.1.48.Final (c)
994 | | | +--- io.netty:netty-codec-socks:4.1.48.Final (c)
995 | | | +--- io.netty:netty-handler:4.1.48.Final (c)
996 | | | +--- io.netty:netty-codec-http2:4.1.48.Final (c)
997 | | | \--- io.netty:netty-resolver:4.1.48.Final (c)
998 | | +--- io.ktor:ktor-bom:1.3.2
999 | | +--- org.codehaus.groovy:groovy-bom:3.0.3
1000 | | +--- io.micrometer:micrometer-bom:1.5.1
1001 | | +--- org.junit:junit-bom:5.6.2 (*)
1002 | | +--- com.fasterxml.jackson:jackson-bom:2.11.0
1003 | | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (c)
1004 | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.0 (c)
1005 | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.0 (c)
1006 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0 (c)
1007 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0 (c)
1008 | | +--- io.grpc:grpc-bom:1.30.0
1009 | | +--- com.google.protobuf:protobuf-bom:3.12.2
1010 | | +--- io.micronaut:micronaut-http-client:2.0.0.BUILD-SNAPSHOT (c)
1011 | | +--- io.micronaut:micronaut-http-server-netty:2.0.0.BUILD-SNAPSHOT (c)
1012 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (c)
1013 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (c)
1014 | | +--- io.micronaut:micronaut-validation:2.0.0.BUILD-SNAPSHOT (c)
1015 | | +--- io.micronaut.spring:micronaut-spring:2.1.0.RC3 (c)
1016 | | +--- io.micronaut.sql:micronaut-hibernate-jpa:2.3.2 (c)
1017 | | +--- io.micronaut.sql:micronaut-jdbc-hikari:2.3.2 (c)
1018 | | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring:2.3.2 (c)
1019 | | +--- ch.qos.logback:logback-classic:1.2.3 (c)
1020 | | +--- com.h2database:h2:1.4.199 (c)
1021 | | +--- org.slf4j:slf4j-api:1.7.26 (c)
1022 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (c)
1023 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT (c)
1024 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (c)
1025 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (c)
1026 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT (c)
1027 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (c)
1028 | | +--- javax.annotation:javax.annotation-api:1.3.2 (c)
1029 | | +--- org.yaml:snakeyaml:1.26 (c)
1030 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (c)
1031 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (c)
1032 | | +--- javax.validation:validation-api:2.0.1.Final (c)
1033 | | +--- org.springframework:spring-core:5.2.7.RELEASE (c)
1034 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (c)
1035 | | +--- org.springframework:spring-context:5.2.7.RELEASE (c)
1036 | | +--- org.hibernate:hibernate-core:5.4.17.Final (c)
1037 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2 (c)
1038 | | +--- com.zaxxer:HikariCP:3.4.5 (c)
1039 | | +--- org.springframework:spring-orm:5.2.7.RELEASE (c)
1040 | | +--- org.reactivestreams:reactive-streams:1.0.3 (c)
1041 | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT (c)
1042 | | +--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT (c)
1043 | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (c)
1044 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE (c)
1045 | | \--- com.google.code.findbugs:jsr305:3.0.2 (c)
1046 | +--- io.micronaut:micronaut-inject -> 2.0.0.BUILD-SNAPSHOT
1047 | | +--- org.slf4j:slf4j-api:1.7.26
1048 | | +--- javax.annotation:javax.annotation-api:1.3.2
1049 | | +--- javax.inject:javax.inject:1
1050 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT
1051 | | | +--- org.slf4j:slf4j-api:1.7.26
1052 | | | +--- org.reactivestreams:reactive-streams:1.0.3
1053 | | | \--- com.github.spotbugs:spotbugs-annotations:4.0.3
1054 | | | \--- com.google.code.findbugs:jsr305:3.0.2
1055 | | \--- org.yaml:snakeyaml:1.26
1056 | +--- io.micronaut:micronaut-validation -> 2.0.0.BUILD-SNAPSHOT
1057 | | +--- org.slf4j:slf4j-api:1.7.26
1058 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1059 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT
1060 | | | +--- org.slf4j:slf4j-api:1.7.26
1061 | | | \--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1062 | | \--- javax.validation:validation-api:2.0.1.Final
1063 | +--- io.micronaut:micronaut-runtime -> 2.0.0.BUILD-SNAPSHOT
1064 | | +--- org.slf4j:slf4j-api:1.7.26
1065 | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
1066 | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1067 | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT
1068 | | | +--- org.slf4j:slf4j-api:1.7.26
1069 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1070 | | | \--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
1071 | | +--- javax.validation:validation-api:2.0.1.Final
1072 | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0
1073 | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
1074 | | | \--- com.fasterxml.jackson.core:jackson-core:2.11.0
1075 | | +--- io.reactivex.rxjava2:rxjava:2.2.10
1076 | | | \--- org.reactivestreams:reactive-streams:1.0.2 -> 1.0.3
1077 | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.0
1078 | | | +--- com.fasterxml.jackson.core:jackson-core:2.11.0
1079 | | | \--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (*)
1080 | | \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.0
1081 | | +--- com.fasterxml.jackson.core:jackson-annotations:2.11.0
1082 | | +--- com.fasterxml.jackson.core:jackson-core:2.11.0
1083 | | \--- com.fasterxml.jackson.core:jackson-databind:2.11.0 (*)
1084 | +--- io.micronaut:micronaut-http-server-netty -> 2.0.0.BUILD-SNAPSHOT
1085 | | +--- org.slf4j:slf4j-api:1.7.26
1086 | | +--- io.micronaut:micronaut-http-server:2.0.0.BUILD-SNAPSHOT
1087 | | | +--- org.slf4j:slf4j-api:1.7.26
1088 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT
1089 | | | | +--- org.slf4j:slf4j-api:1.7.26
1090 | | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
1091 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1092 | | | | +--- io.micronaut:micronaut-aop:2.0.0.BUILD-SNAPSHOT (*)
1093 | | | | \--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
1094 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
1095 | | | \--- io.micronaut:micronaut-router:2.0.0.BUILD-SNAPSHOT
1096 | | | +--- org.slf4j:slf4j-api:1.7.26
1097 | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1098 | | | \--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
1099 | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
1100 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT
1101 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
1102 | | | +--- org.slf4j:slf4j-api:1.7.26
1103 | | | +--- io.micronaut:micronaut-http:2.0.0.BUILD-SNAPSHOT (*)
1104 | | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
1105 | | | +--- io.micronaut:micronaut-buffer-netty:2.0.0.BUILD-SNAPSHOT
1106 | | | | +--- org.slf4j:slf4j-api:1.7.26
1107 | | | | +--- io.micronaut:micronaut-core:2.0.0.BUILD-SNAPSHOT (*)
1108 | | | | +--- io.micronaut:micronaut-inject:2.0.0.BUILD-SNAPSHOT (*)
1109 | | | | \--- io.netty:netty-buffer:4.1.48.Final
1110 | | | | \--- io.netty:netty-common:4.1.48.Final
1111 | | | +--- io.netty:netty-codec-http:4.1.48.Final
1112 | | | | +--- io.netty:netty-common:4.1.48.Final
1113 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1114 | | | | +--- io.netty:netty-transport:4.1.48.Final
1115 | | | | | +--- io.netty:netty-common:4.1.48.Final
1116 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1117 | | | | | \--- io.netty:netty-resolver:4.1.48.Final
1118 | | | | | \--- io.netty:netty-common:4.1.48.Final
1119 | | | | +--- io.netty:netty-codec:4.1.48.Final
1120 | | | | | +--- io.netty:netty-common:4.1.48.Final
1121 | | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1122 | | | | | \--- io.netty:netty-transport:4.1.48.Final (*)
1123 | | | | \--- io.netty:netty-handler:4.1.48.Final
1124 | | | | +--- io.netty:netty-common:4.1.48.Final
1125 | | | | +--- io.netty:netty-resolver:4.1.48.Final (*)
1126 | | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1127 | | | | +--- io.netty:netty-transport:4.1.48.Final (*)
1128 | | | | \--- io.netty:netty-codec:4.1.48.Final (*)
1129 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
1130 | | | \--- io.netty:netty-codec-http2:4.1.48.Final
1131 | | | +--- io.netty:netty-common:4.1.48.Final
1132 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1133 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
1134 | | | +--- io.netty:netty-codec:4.1.48.Final (*)
1135 | | | +--- io.netty:netty-handler:4.1.48.Final (*)
1136 | | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
1137 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
1138 | +--- io.micronaut:micronaut-http-client -> 2.0.0.BUILD-SNAPSHOT
1139 | | +--- org.slf4j:slf4j-api:1.7.26
1140 | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
1141 | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
1142 | | +--- io.micronaut:micronaut-http-client-core:2.0.0.BUILD-SNAPSHOT
1143 | | | +--- org.slf4j:slf4j-api:1.7.26
1144 | | | +--- io.reactivex.rxjava2:rxjava:2.2.10 (*)
1145 | | | +--- io.micronaut:micronaut-runtime:2.0.0.BUILD-SNAPSHOT (*)
1146 | | | \--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
1147 | | +--- io.micronaut:micronaut-websocket:2.0.0.BUILD-SNAPSHOT (*)
1148 | | +--- io.micronaut:micronaut-http-netty:2.0.0.BUILD-SNAPSHOT (*)
1149 | | \--- io.netty:netty-handler-proxy:4.1.48.Final
1150 | | +--- io.netty:netty-common:4.1.48.Final
1151 | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1152 | | +--- io.netty:netty-transport:4.1.48.Final (*)
1153 | | +--- io.netty:netty-codec:4.1.48.Final (*)
1154 | | +--- io.netty:netty-codec-socks:4.1.48.Final
1155 | | | +--- io.netty:netty-common:4.1.48.Final
1156 | | | +--- io.netty:netty-buffer:4.1.48.Final (*)
1157 | | | +--- io.netty:netty-transport:4.1.48.Final (*)
1158 | | | \--- io.netty:netty-codec:4.1.48.Final (*)
1159 | | \--- io.netty:netty-codec-http:4.1.48.Final (*)
1160 | +--- io.micronaut.sql:micronaut-hibernate-jpa-spring -> 2.3.2
1161 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1162 | | +--- org.hibernate:hibernate-core:5.4.17.Final
1163 | | | +--- org.jboss.logging:jboss-logging:3.3.2.Final
1164 | | | +--- javax.persistence:javax.persistence-api:2.2
1165 | | | +--- net.bytebuddy:byte-buddy:1.10.10
1166 | | | +--- antlr:antlr:2.7.7
1167 | | | +--- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
1168 | | | +--- org.jboss:jandex:2.1.3.Final
1169 | | | +--- com.fasterxml:classmate:1.5.1
1170 | | | +--- javax.activation:javax.activation-api:1.2.0
1171 | | | +--- org.dom4j:dom4j:2.1.3
1172 | | | +--- org.hibernate.common:hibernate-commons-annotations:5.1.0.Final
1173 | | | | \--- org.jboss.logging:jboss-logging:3.3.2.Final
1174 | | | +--- javax.xml.bind:jaxb-api:2.3.1
1175 | | | | \--- javax.activation:javax.activation-api:1.2.0
1176 | | | \--- org.glassfish.jaxb:jaxb-runtime:2.3.1
1177 | | | +--- javax.xml.bind:jaxb-api:2.3.1 (*)
1178 | | | +--- org.glassfish.jaxb:txw2:2.3.1
1179 | | | +--- com.sun.istack:istack-commons-runtime:3.0.7
1180 | | | +--- org.jvnet.staxex:stax-ex:1.8
1181 | | | +--- com.sun.xml.fastinfoset:FastInfoset:1.2.15
1182 | | | \--- javax.activation:javax.activation-api:1.2.0
1183 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1184 | | +--- io.micronaut:micronaut-jdbc:1.3.5
1185 | | | +--- org.slf4j:slf4j-api:1.7.26
1186 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1187 | | +--- io.micronaut:micronaut-spring:1.3.5
1188 | | | +--- org.slf4j:slf4j-api:1.7.26
1189 | | | +--- org.springframework:spring-core:5.2.3.RELEASE -> 5.2.7.RELEASE
1190 | | | | \--- org.springframework:spring-jcl:5.2.7.RELEASE
1191 | | | +--- org.springframework:spring-tx:5.2.3.RELEASE -> 5.2.7.RELEASE
1192 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE
1193 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
1194 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
1195 | | | +--- org.springframework:spring-context:5.2.3.RELEASE -> 5.2.7.RELEASE
1196 | | | | +--- org.springframework:spring-aop:5.2.7.RELEASE
1197 | | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
1198 | | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
1199 | | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
1200 | | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
1201 | | | | \--- org.springframework:spring-expression:5.2.7.RELEASE
1202 | | | | \--- org.springframework:spring-core:5.2.7.RELEASE (*)
1203 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1204 | | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1205 | | \--- org.springframework:spring-orm:5.2.7.RELEASE
1206 | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
1207 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
1208 | | +--- org.springframework:spring-jdbc:5.2.7.RELEASE
1209 | | | +--- org.springframework:spring-beans:5.2.7.RELEASE (*)
1210 | | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
1211 | | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
1212 | | \--- org.springframework:spring-tx:5.2.7.RELEASE (*)
1213 | +--- io.micronaut.sql:micronaut-jdbc-hikari -> 2.3.2
1214 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1215 | | +--- io.micronaut.sql:micronaut-jdbc:2.3.2
1216 | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1217 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1218 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1219 | | \--- com.zaxxer:HikariCP:3.4.5
1220 | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
1221 | +--- io.micronaut.sql:micronaut-hibernate-jpa -> 2.3.2
1222 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1223 | | +--- org.hibernate:hibernate-core:5.4.17.Final (*)
1224 | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3
1225 | | +--- io.micronaut.data:micronaut-data-tx-hibernate:1.0.2 -> 1.1.0.BUILD-SNAPSHOT
1226 | | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (*)
1227 | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1228 | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1229 | | | +--- io.micronaut.data:micronaut-data-tx:1.1.0.BUILD-SNAPSHOT
1230 | | | | +--- com.github.spotbugs:spotbugs-annotations:4.0.3 (*)
1231 | | | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1232 | | | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1233 | | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1234 | | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.3
1235 | | | \--- org.hibernate:hibernate-core:5.4.17.Final (*)
1236 | | +--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1237 | | +--- io.micronaut:micronaut-jdbc:1.3.5 (*)
1238 | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1239 | | +--- io.micronaut:micronaut-validation:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1240 | | \--- javax.xml.bind:jaxb-api:2.3.1 (*)
1241 | +--- io.micronaut.spring:micronaut-spring -> 2.1.0.RC3
1242 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1243 | | +--- org.springframework:spring-core:5.2.7.RELEASE (*)
1244 | | +--- org.springframework:spring-tx:5.2.7.RELEASE (*)
1245 | | +--- org.springframework:spring-context:5.2.7.RELEASE (*)
1246 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1247 | | \--- io.micronaut:micronaut-aop:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1248 | +--- com.h2database:h2 -> 1.4.199
1249 | +--- ch.qos.logback:logback-classic -> 1.2.3
1250 | | +--- ch.qos.logback:logback-core:1.2.3
1251 | | \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.26
1252 | +--- org.junit.jupiter:junit-jupiter-api -> 5.6.2
1253 | | +--- org.junit:junit-bom:5.6.2 (*)
1254 | | +--- org.apiguardian:apiguardian-api:1.1.0
1255 | | +--- org.opentest4j:opentest4j:1.2.0
1256 | | \--- org.junit.platform:junit-platform-commons:1.6.2
1257 | | +--- org.junit:junit-bom:5.6.2 (*)
1258 | | \--- org.apiguardian:apiguardian-api:1.1.0
1259 | +--- io.micronaut.test:micronaut-test-junit5 -> 1.2.0.RC6
1260 | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1261 | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1262 | | +--- io.micronaut.test:micronaut-test-core:1.2.0.RC6
1263 | | | +--- io.micronaut:micronaut-runtime:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1264 | | | +--- io.micronaut:micronaut-bom:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1265 | | | \--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1266 | | +--- io.micronaut:micronaut-inject:1.3.5 -> 2.0.0.BUILD-SNAPSHOT (*)
1267 | | \--- org.junit.jupiter:junit-jupiter-api:5.6.2 (*)
1268 | \--- org.junit.jupiter:junit-jupiter-engine -> 5.6.2
1269 | +--- org.junit:junit-bom:5.6.2 (*)
1270 | +--- org.apiguardian:apiguardian-api:1.1.0
1271 | +--- org.junit.platform:junit-platform-engine:1.6.2
1272 | | +--- org.junit:junit-bom:5.6.2 (*)
1273 | | +--- org.apiguardian:apiguardian-api:1.1.0
1274 | | +--- org.opentest4j:opentest4j:1.2.0
1275 | | \--- org.junit.platform:junit-platform-commons:1.6.2 (*)
1276 | \--- org.junit.jupiter:junit-jupiter-api:5.6.2 (*)
1277 |
1278 | testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
1279 | \--- org.junit.jupiter:junit-jupiter-engine (n)
1280 |
1281 | (c) - dependency constraint
1282 | (*) - dependencies omitted (listed previously)
1283 |
1284 | (n) - Not resolved (configuration is not meant to be resolved)
1285 |
1286 | A web-based, searchable dependency report is available by adding the --scan option.
1287 |
1288 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
1289 | Use '--warning-mode all' to show the individual deprecation warnings.
1290 | See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
1291 |
1292 | BUILD SUCCESSFUL in 889ms
1293 | 1 actionable task: 1 executed
1294 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/gradle.properties
--------------------------------------------------------------------------------
/gradle/testVerbose.gradle:
--------------------------------------------------------------------------------
1 | test {
2 | afterTest { desc, result ->
3 | logger.quiet " -- Executed test ${desc.name} [${desc.className}] with result: ${result.resultType}"
4 | }
5 | testLogging {
6 | events "passed", "skipped", "failed", "standardOut"
7 | showExceptions true
8 | exceptionFormat "full"
9 | showCauses true
10 | showStackTraces true
11 |
12 | // set options for log level DEBUG and INFO
13 | debug {
14 | events "started", "passed", "skipped", "failed", "standardOut", "standardError"
15 | exceptionFormat "full"
16 | }
17 | info.events = debug.events
18 | info.exceptionFormat = debug.exceptionFormat
19 |
20 | afterSuite { desc, result ->
21 | if (!desc.parent) { // will match the outermost suite
22 | def output = "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)"
23 | def startItem = '| ', endItem = ' |'
24 | def repeatLength = startItem.length() + output.length() + endItem.length()
25 | logger.quiet "\n${'-' * repeatLength}\n${startItem}${output}${endItem}\n${'-' * repeatLength}"
26 | }
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | #
4 | # Copyright 2015 the original author or authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | ##############################################################################
20 | ##
21 | ## Gradle start up script for UN*X
22 | ##
23 | ##############################################################################
24 |
25 | # Attempt to set APP_HOME
26 | # Resolve links: $0 may be a link
27 | PRG="$0"
28 | # Need this for relative symlinks.
29 | while [ -h "$PRG" ] ; do
30 | ls=`ls -ld "$PRG"`
31 | link=`expr "$ls" : '.*-> \(.*\)$'`
32 | if expr "$link" : '/.*' > /dev/null; then
33 | PRG="$link"
34 | else
35 | PRG=`dirname "$PRG"`"/$link"
36 | fi
37 | done
38 | SAVED="`pwd`"
39 | cd "`dirname \"$PRG\"`/" >/dev/null
40 | APP_HOME="`pwd -P`"
41 | cd "$SAVED" >/dev/null
42 |
43 | APP_NAME="Gradle"
44 | APP_BASE_NAME=`basename "$0"`
45 |
46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48 |
49 | # Use the maximum available, or set MAX_FD != -1 to use that value.
50 | MAX_FD="maximum"
51 |
52 | warn () {
53 | echo "$*"
54 | }
55 |
56 | die () {
57 | echo
58 | echo "$*"
59 | echo
60 | exit 1
61 | }
62 |
63 | # OS specific support (must be 'true' or 'false').
64 | cygwin=false
65 | msys=false
66 | darwin=false
67 | nonstop=false
68 | case "`uname`" in
69 | CYGWIN* )
70 | cygwin=true
71 | ;;
72 | Darwin* )
73 | darwin=true
74 | ;;
75 | MINGW* )
76 | msys=true
77 | ;;
78 | NONSTOP* )
79 | nonstop=true
80 | ;;
81 | esac
82 |
83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84 |
85 |
86 | # Determine the Java command to use to start the JVM.
87 | if [ -n "$JAVA_HOME" ] ; then
88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89 | # IBM's JDK on AIX uses strange locations for the executables
90 | JAVACMD="$JAVA_HOME/jre/sh/java"
91 | else
92 | JAVACMD="$JAVA_HOME/bin/java"
93 | fi
94 | if [ ! -x "$JAVACMD" ] ; then
95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96 |
97 | Please set the JAVA_HOME variable in your environment to match the
98 | location of your Java installation."
99 | fi
100 | else
101 | JAVACMD="java"
102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103 |
104 | Please set the JAVA_HOME variable in your environment to match the
105 | location of your Java installation."
106 | fi
107 |
108 | # Increase the maximum file descriptors if we can.
109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110 | MAX_FD_LIMIT=`ulimit -H -n`
111 | if [ $? -eq 0 ] ; then
112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113 | MAX_FD="$MAX_FD_LIMIT"
114 | fi
115 | ulimit -n $MAX_FD
116 | if [ $? -ne 0 ] ; then
117 | warn "Could not set maximum file descriptor limit: $MAX_FD"
118 | fi
119 | else
120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121 | fi
122 | fi
123 |
124 | # For Darwin, add options to specify how the application appears in the dock
125 | if $darwin; then
126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127 | fi
128 |
129 | # For Cygwin or MSYS, switch paths to Windows format before running java
130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133 |
134 | JAVACMD=`cygpath --unix "$JAVACMD"`
135 |
136 | # We build the pattern for arguments to be converted via cygpath
137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138 | SEP=""
139 | for dir in $ROOTDIRSRAW ; do
140 | ROOTDIRS="$ROOTDIRS$SEP$dir"
141 | SEP="|"
142 | done
143 | OURCYGPATTERN="(^($ROOTDIRS))"
144 | # Add a user-defined pattern to the cygpath arguments
145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147 | fi
148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
149 | i=0
150 | for arg in "$@" ; do
151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153 |
154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156 | else
157 | eval `echo args$i`="\"$arg\""
158 | fi
159 | i=`expr $i + 1`
160 | done
161 | case $i in
162 | 0) set -- ;;
163 | 1) set -- "$args0" ;;
164 | 2) set -- "$args0" "$args1" ;;
165 | 3) set -- "$args0" "$args1" "$args2" ;;
166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172 | esac
173 | fi
174 |
175 | # Escape application args
176 | save () {
177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178 | echo " "
179 | }
180 | APP_ARGS=`save "$@"`
181 |
182 | # Collect all arguments for the java command, following the shell quoting and substitution rules
183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184 |
185 | exec "$JAVACMD" "$@"
186 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include 'complete'
2 |
--------------------------------------------------------------------------------
/src/main/docs/guide/gettingStarted.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-micronautonex.adoc[]
2 |
3 | In this guide, we are going to write a Micronaut application that exposes some REST endpoints and store data in a
4 | database using JPA and Hibernate.
5 |
--------------------------------------------------------------------------------
/src/main/docs/guide/help.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-helpWithMicronaut.adoc[]
2 |
--------------------------------------------------------------------------------
/src/main/docs/guide/nextSteps.adoc:
--------------------------------------------------------------------------------
1 | Read more about https://docs.micronaut.io/latest/guide/index.html#dataAccess[Configurations for Data Access] section in the Micronaut documentation.
--------------------------------------------------------------------------------
/src/main/docs/guide/requirements.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-requirements.adoc[]
2 |
--------------------------------------------------------------------------------
/src/main/docs/guide/runningTheApp.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-runapp.adoc[]
2 |
--------------------------------------------------------------------------------
/src/main/docs/guide/solution.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-completesolution.adoc[]
2 |
--------------------------------------------------------------------------------
/src/main/docs/guide/toc.yml:
--------------------------------------------------------------------------------
1 | gettingStarted:
2 | title: Getting Started
3 | requirements: What you will need
4 | solution: Solution
5 | writingTheApp:
6 | title: Writing the App
7 | datasource: Configure Data Source and JPA
8 | domain: Domain
9 | appConfiguration: Application Configuration
10 | repository: Repository Access
11 | controller: Controller
12 | tests: Tests
13 | runningTheApp: Running the app
14 | usingPostgresql: Using Postgresql
15 | nextSteps:
16 | title: Next Steps
17 | help:
18 | title: Help with Micronaut
19 |
--------------------------------------------------------------------------------
/src/main/docs/guide/usingPostgresql.adoc:
--------------------------------------------------------------------------------
1 | When running on production you want to use a real database instead of using H2. Let's explain how to use Postgres.
2 |
3 | After installing Docker, execute the following command to run a postgresql container:
4 |
5 | [source,bash]
6 | ----
7 | docker run -it --rm \
8 | -p 5432:5432 \
9 | -e POSTGRES_USER=dbuser \
10 | -e POSTGRES_PASSWORD=theSecretPassword \
11 | -e POSTGRES_DB=micronaut \
12 | postgres:11.5-alpine
13 | ----
14 |
15 | Add Postgresql driver dependency to `build.gradle`:
16 |
17 | [source,groovy]
18 | .build.gradle
19 | ----
20 | include::{sourceDir}/build.gradle[tag=postgresql,indent=0]
21 | ----
22 |
23 | To use postgresql, setup several environment variables which match those defined in `application.yml`:
24 |
25 | [source,bash]
26 | ----
27 | $ export JDBC_URL=jdbc:postgresql://localhost:5432/micronaut
28 | $ export JDBC_USER=dbuser
29 | $ export JDBC_PASSWORD=theSecretPassword
30 | $ export JDBC_DRIVER=org.postgresql.Driver
31 | ----
32 |
33 | Run the app:
34 |
35 | [source, bash]
36 | ----
37 | $ ./gradlew run
38 | ----
39 |
40 | If you take a close look to the output, you can see that the app uses postgresql:
41 |
42 | [source, bash]
43 | ----
44 | ..
45 | ...
46 | 08:40:02.746 [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL10Dialect
47 | ....
48 | ----
49 |
50 | Connect to your postgresql database and you will see both `genre` and `book` tables.
51 |
52 | image::datagrip.png[]
53 |
54 | Save one genre and your `genre` table will now contain an entry.
55 |
56 | [source, bash]
57 | ----
58 | curl -X "POST" "http://localhost:8080/genres" \
59 | -H 'Content-Type: application/json; charset=utf-8' \
60 | -d $'{
61 | "name": "music"
62 | }'
63 | ----
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp.adoc:
--------------------------------------------------------------------------------
1 | Create the microservice:
2 |
3 | `mn create-app example.micronaut.complete`
4 |
5 | The previous command creates a folder named `complete` and a Micronaut app inside it with default package: `example.micronaut`
6 |
7 | include::{commondir}/common-annotationprocessors.adoc[]
8 |
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/appConfiguration.adoc:
--------------------------------------------------------------------------------
1 | Create an interface to encapsulate the application configuration settings:
2 |
3 | [source,java]
4 | .src/main/java/example/micronaut/ApplicationConfiguration.java
5 | ----
6 | include::{sourceDir}/src/main/java/example/micronaut/ApplicationConfiguration.java[]
7 | ----
8 |
9 | In Micronaut, like Spring Boot and Grails, you can create type safe configuration by creating classes that are annotated with https://docs.micronaut.io/snapshot/guide/index.html#configurationProperties[@ConfigurationProperties].
10 |
11 | Create a `ApplicationConfigurationProperties`:
12 |
13 | [source,java]
14 | .src/main/java/example/micronaut/ApplicationConfigurationProperties.java
15 | ----
16 | include::{sourceDir}/src/main/java/example/micronaut/ApplicationConfigurationProperties.java[]
17 | ----
18 |
19 | <1> @ConfigurationProperties` annotation takes a configuration prefix.
20 |
21 |
22 | You can override `max` if you add to your `src/main/resources/application.yml`:
23 |
24 | [source, yaml]
25 | .src/main/resources/application.yml
26 | ----
27 | include::{sourceDir}/src/main/resources/application.yml[tag=application]
28 | ----
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/controller.adoc:
--------------------------------------------------------------------------------
1 | include::{commondir}/common-validation.adoc[indent=0]
2 |
3 | Create two classes to encapsulate Save and Update operations:
4 |
5 | [source,java]
6 | .src/main/java/example/micronaut/GenreSaveCommand.java
7 | ----
8 | include::{sourceDir}/src/main/java/example/micronaut/GenreSaveCommand.java[]
9 | ----
10 | <1> Annotate the class with `@Introspected` to generate the Bean Metainformation at compile time.
11 |
12 | [source,java]
13 | .src/main/java/example/micronaut/GenreUpdateCommand.java
14 | ----
15 | include::{sourceDir}/src/main/java/example/micronaut/GenreUpdateCommand.java[]
16 | ----
17 |
18 | Create a POJO to encapsulate Sorting and Pagination:
19 |
20 |
21 | [source,java]
22 | .src/main/java/example/micronaut/SortingAndOrderArguments.java
23 | ----
24 | include::{sourceDir}/src/main/java/example/micronaut/SortingAndOrderArguments.java[]
25 | ----
26 |
27 | <1> Use `javax.validation.constraints` Constraints to ensure the incoming data matches your expectations.
28 |
29 | Create `GenreController`, a controller which exposes a resource with the common CRUD operations:
30 |
31 | [source,java]
32 | .src/main/java/example/micronaut/GenreController.java
33 | ----
34 | include::{sourceDir}/src/main/java/example/micronaut/GenreController.java[]
35 | ----
36 |
37 | <1> It is critical that any blocking I/O operations (such as fetching the data from the database) are offloaded to a separate thread pool that does not block the Event loop.
38 | <2> The class is defined as a controller with the `@Controller` annotation mapped to the path `/genres`.
39 | <3> Constructor injection.
40 | <4> Maps a `GET` request to `/genres/{id}` which attempts to show a genre. This illustrates the use of a URL path variable.
41 | <5> Returning `null` when the genre doesn't exist makes Micronaut to response with 404 (not found).
42 | <6> Maps a `PUT` request to `/genres` which attempts to update a genre.
43 | <7> Add `@Valid` to any method parameter which requires validation. Use a POJO supplied as a JSON payload in the request to populate command.
44 | <8> It is easy to add custom headers to the response.
45 | <9> Maps a `GET` request to `/genres` which returns a list of genres. This mapping illustrates URL parameters being mapped to a single POJO.
46 | <10> Maps a `POST` request to `/genres` which attempts to save a genre.
47 | <11> Maps a `POST` request to `/ex` which generates an exception.
48 | <12> Maps a `DELETE` request to `/genres/{id}` which attempts to remove a genre. This illustrates the use of a URL path variable.
49 |
50 |
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/datasource.adoc:
--------------------------------------------------------------------------------
1 | === Data Source configuration
2 |
3 | Add the next snippet to `build.gradle` to include the necessary dependencies:
4 |
5 | [source,groovy]
6 | .build.gradle
7 | ----
8 | include::{sourceDir}/build.gradle[tag=jpa,indent=0]
9 | ----
10 |
11 | <1> Configures Hibernate/JPA EntityManagerFactory beans.
12 | <2> Configures SQL DataSource instances using Hikari Connection Pool.
13 | <3> Add dependency to in-memory H2 Database.
14 |
15 | Define the data source in `src/main/resources/application.yml`.
16 |
17 | [source,yml]
18 | .src/main/resources/application.yml
19 | ----
20 | include::{sourceDir}/src/main/resources/application.yml[tag=datasource]
21 | ----
22 |
23 | NOTE: This way of defining the datasource properties means that we can externalize the configuration, for example for
24 | production environment, and also provide a default value for development. If the environment variables are not defined
25 | Micronaut will use the default values. +
26 | Also keep in mind that it is necessary to escape the `:` in the connection url using back ticks ```.
27 |
28 | === JPA configuration
29 |
30 | Add the next snippet to `src/main/resources/application.yml` to configure JPA:
31 |
32 | [source,yml]
33 | .src/main/resources/application.yml
34 | ----
35 | include::{sourceDir}/src/main/resources/application.yml[tag=jpa]
36 | ----
37 |
38 |
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/domain.adoc:
--------------------------------------------------------------------------------
1 | Create the domain entities:
2 |
3 | [source,java]
4 | .src/main/java/example/micronaut/domain/Genre.java
5 | ----
6 | include::{sourceDir}/src/main/java/example/micronaut/domain/Genre.java[]
7 | ----
8 |
9 | The previous domain has a `OneToMany` relationship with the domain `Book`.
10 |
11 | [source,java]
12 | .src/main/java/example/micronaut/domain/Book.java
13 | ----
14 | include::{sourceDir}/src/main/java/example/micronaut/domain/Book.java[]
15 | ----
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/repository.adoc:
--------------------------------------------------------------------------------
1 | To mark the transaction demarcations, we use the https://docs.oracle.com/javaee/7/api/javax/transaction/Transactional.html[Java EE 7 javax.transaction.Transactional annotation].
2 |
3 | But to use it, you have to include the `micronaut-data-processor` dependency in your annotation processor configuration:
4 |
5 | [source, groovy]
6 | .build.gradle
7 | ----
8 | ...
9 | ..
10 | dependencies {
11 | ...
12 | ..
13 | .
14 | include::{sourceDir}/build.gradle[tag="micronaut-data"]
15 | }
16 | ----
17 |
18 | Next, create an interface to define the operations to access the database:
19 |
20 | [source,java]
21 | .src/main/java/example/micronaut/GenreRepository.java
22 | ----
23 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepository.java[]
24 | ----
25 |
26 | And the implementation:
27 |
28 | [source,java]
29 | .src/main/java/example/micronaut/GenreRepositoryImpl.java
30 | ----
31 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="package"]
32 |
33 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="import"]
34 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="importContent"]
35 |
36 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="clazz"]
37 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="clazzContent"]
38 |
39 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="findById"]
40 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="findByIdContent"]
41 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="save"]
42 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="saveContent"]
43 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="deleteById"]
44 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="deleteByIdContent"]
45 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="findAll"]
46 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="findAllContent"]
47 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="update"]
48 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="updateContent"]
49 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="saveWithException"]
50 | include::{sourceDir}/src/main/java/example/micronaut/GenreRepositoryImpl.java[tag="saveWithExceptionContent"]
51 | ----
52 |
53 | <1> Use `javax.inject.Singleton` to designate a class as a singleton.
54 | <2> Inject easily an `EntityManager`.
55 | <3> All database access needs to be wrapped inside a transaction. As the method
56 | only reads data from the database, annotate it with `@ReadOnly`.
57 | <4> This method modifies the database, thus it is annoated with `@Transactional`.
58 |
59 |
--------------------------------------------------------------------------------
/src/main/docs/guide/writingTheApp/tests.adoc:
--------------------------------------------------------------------------------
1 | Create a Junit test which verifies the CRUD operations:
2 |
3 | [source,java]
4 | .src/test/java/example/micronaut/GenreControllerTest.java
5 | ----
6 | include::{sourceDir}/src/test/java/example/micronaut/GenreControllerTest.java[]
7 | ----
8 | <1> Annotate the class with `@MicronautTest` to let Micronaut starts the embedded server and inject the beans. More info: https://micronaut-projects.github.io/micronaut-test/latest/guide/index.html[https://micronaut-projects.github.io/micronaut-test/latest/guide/index.html].
9 | <2> Inject the `HttpClient` bean in the application context.
10 | <3> Creating HTTP Requests is easy thanks to Micronaut's fluid API.
11 | <4> If you care just about the object in the response use `retrieve`.
12 | <5> Sometimes, receiving just the object is not enough and you need information about the response. In this case, instead of `retrieve` you should use the `exchange` method.
13 |
14 | include::{commondir}/common-testApp.adoc[]
15 |
--------------------------------------------------------------------------------
/src/main/resources/img/annotationprocessorsintellij.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/src/main/resources/img/annotationprocessorsintellij.png
--------------------------------------------------------------------------------
/src/main/resources/img/datagrip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/micronaut-guides/micronaut-data-access-jpa-hibernate/d890a42e3f77b621f47c3db083b4d64ebd4d67e1/src/main/resources/img/datagrip.png
--------------------------------------------------------------------------------
/travis-build-pr.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | export EXIT_STATUS=0
5 |
6 | echo "Executing tests for branch $TRAVIS_BRANCH"
7 |
8 | ./gradlew --console=plain test || EXIT_STATUS=$?
9 |
10 | exit $EXIT_STATUS
11 |
--------------------------------------------------------------------------------
/travis-build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | export EXIT_STATUS=0
5 |
6 | ./gradlew --console=plain test || EXIT_STATUS=$?
7 |
8 | if [[ $EXIT_STATUS -ne 0 ]]; then
9 | exit $EXIT_STATUS
10 | fi
11 |
12 | curl -O https://raw.githubusercontent.com/micronaut-projects/micronaut-guides/master/travis/build-guide
13 | chmod 777 build-guide
14 |
15 | ./build-guide || EXIT_STATUS=$?
16 |
17 | curl -O https://raw.githubusercontent.com/micronaut-projects/micronaut-guides/master/travis/republish-guides-website.sh
18 | chmod 777 republish-guides-website.sh
19 |
20 | ./republish-guides-website.sh || EXIT_STATUS=$?
21 |
22 | exit $EXIT_STATUS
23 |
--------------------------------------------------------------------------------