Merge pull request #8478 from catalin-burcea/BAEL-19886
[Bael 19886] - Move articles out of core-kotlin part5
This commit is contained in:
		
						commit
						57d4ba8a19
					
				
							
								
								
									
										14
									
								
								core-kotlin-2/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								core-kotlin-2/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,14 +0,0 @@ | ||||
| /bin/ | ||||
| 
 | ||||
| #ignore gradle | ||||
| .gradle/ | ||||
| 
 | ||||
| 
 | ||||
| #ignore build and generated files | ||||
| build/ | ||||
| node/ | ||||
| out/ | ||||
| 
 | ||||
| #ignore installed node modules and package lock file | ||||
| node_modules/ | ||||
| package-lock.json | ||||
| @ -1,14 +0,0 @@ | ||||
| ## Core Kotlin | ||||
| 
 | ||||
| This module contains articles about core Kotlin. | ||||
| 
 | ||||
| ### Relevant articles: | ||||
| 
 | ||||
| - [Kotlin Scope Functions](https://www.baeldung.com/kotlin-scope-functions) | ||||
| - [Kotlin Annotations](https://www.baeldung.com/kotlin-annotations) | ||||
| - [Split a List into Parts in Kotlin](https://www.baeldung.com/kotlin-split-list-into-parts) | ||||
| - [String Comparison in Kotlin](https://www.baeldung.com/kotlin-string-comparison) | ||||
| - [Guide to JVM Platform Annotations in Kotlin](https://www.baeldung.com/kotlin-jvm-annotations) | ||||
| - [Finding an Element in a List Using Kotlin](https://www.baeldung.com/kotlin-finding-element-in-list) | ||||
| - [Kotlin Ternary Conditional Operator](https://www.baeldung.com/kotlin-ternary-conditional-operator) | ||||
| - More articles: [[<-- prev]](/core-kotlin) | ||||
| @ -1,58 +0,0 @@ | ||||
| 
 | ||||
| 
 | ||||
| group 'com.baeldung.ktor' | ||||
| version '1.0-SNAPSHOT' | ||||
| 
 | ||||
| 
 | ||||
| buildscript { | ||||
|     ext.kotlin_version = '1.3.30' | ||||
| 
 | ||||
|     repositories { | ||||
|         mavenCentral() | ||||
|     } | ||||
|     dependencies { | ||||
| 
 | ||||
|         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| apply plugin: 'java' | ||||
| apply plugin: 'kotlin' | ||||
| apply plugin: 'application' | ||||
| 
 | ||||
| mainClassName = 'APIServer.kt' | ||||
| 
 | ||||
| sourceCompatibility = 1.8 | ||||
| compileKotlin { kotlinOptions.jvmTarget = "1.8" } | ||||
| compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } | ||||
| 
 | ||||
| repositories { | ||||
|     mavenCentral() | ||||
|     jcenter() | ||||
|     maven { url "https://dl.bintray.com/kotlin/ktor" } | ||||
| } | ||||
| sourceSets { | ||||
|     main{ | ||||
|         kotlin{ | ||||
|             srcDirs 'com/baeldung/ktor' | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| test { | ||||
|     useJUnitPlatform() | ||||
|     testLogging { | ||||
|         events "passed", "skipped", "failed" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| dependencies { | ||||
|     implementation "ch.qos.logback:logback-classic:1.2.1" | ||||
|     implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}" | ||||
|     testImplementation 'org.junit.jupiter:junit-jupiter:5.4.2' | ||||
|     testImplementation 'junit:junit:4.12' | ||||
|     testImplementation 'org.assertj:assertj-core:3.12.2' | ||||
|     testImplementation 'org.mockito:mockito-core:2.27.0' | ||||
|     testImplementation "org.jetbrains.kotlin:kotlin-test:${kotlin_version}" | ||||
|     testImplementation "org.jetbrains.kotlin:kotlin-test-junit5:${kotlin_version}" | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								core-kotlin-2/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								core-kotlin-2/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,5 +0,0 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
							
								
								
									
										188
									
								
								core-kotlin-2/gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										188
									
								
								core-kotlin-2/gradlew
									
									
									
									
										vendored
									
									
								
							| @ -1,188 +0,0 @@ | ||||
| #!/usr/bin/env sh | ||||
| 
 | ||||
| # | ||||
| # Copyright 2015 the original author or authors. | ||||
| # | ||||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| # you may not use this file except in compliance with the License. | ||||
| # You may obtain a copy of the License at | ||||
| # | ||||
| #      http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| # Unless required by applicable law or agreed to in writing, software | ||||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| # See the License for the specific language governing permissions and | ||||
| # limitations under the License. | ||||
| # | ||||
| 
 | ||||
| ############################################################################## | ||||
| ## | ||||
| ##  Gradle start up script for UN*X | ||||
| ## | ||||
| ############################################################################## | ||||
| 
 | ||||
| # Attempt to set APP_HOME | ||||
| # Resolve links: $0 may be a link | ||||
| PRG="$0" | ||||
| # Need this for relative symlinks. | ||||
| while [ -h "$PRG" ] ; do | ||||
|     ls=`ls -ld "$PRG"` | ||||
|     link=`expr "$ls" : '.*-> \(.*\)$'` | ||||
|     if expr "$link" : '/.*' > /dev/null; then | ||||
|         PRG="$link" | ||||
|     else | ||||
|         PRG=`dirname "$PRG"`"/$link" | ||||
|     fi | ||||
| done | ||||
| SAVED="`pwd`" | ||||
| cd "`dirname \"$PRG\"`/" >/dev/null | ||||
| APP_HOME="`pwd -P`" | ||||
| cd "$SAVED" >/dev/null | ||||
| 
 | ||||
| APP_NAME="Gradle" | ||||
| APP_BASE_NAME=`basename "$0"` | ||||
| 
 | ||||
| # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | ||||
| 
 | ||||
| # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||
| MAX_FD="maximum" | ||||
| 
 | ||||
| warn () { | ||||
|     echo "$*" | ||||
| } | ||||
| 
 | ||||
| die () { | ||||
|     echo | ||||
|     echo "$*" | ||||
|     echo | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| # OS specific support (must be 'true' or 'false'). | ||||
| cygwin=false | ||||
| msys=false | ||||
| darwin=false | ||||
| nonstop=false | ||||
| case "`uname`" in | ||||
|   CYGWIN* ) | ||||
|     cygwin=true | ||||
|     ;; | ||||
|   Darwin* ) | ||||
|     darwin=true | ||||
|     ;; | ||||
|   MINGW* ) | ||||
|     msys=true | ||||
|     ;; | ||||
|   NONSTOP* ) | ||||
|     nonstop=true | ||||
|     ;; | ||||
| esac | ||||
| 
 | ||||
| CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||
| 
 | ||||
| # Determine the Java command to use to start the JVM. | ||||
| if [ -n "$JAVA_HOME" ] ; then | ||||
|     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||
|         # IBM's JDK on AIX uses strange locations for the executables | ||||
|         JAVACMD="$JAVA_HOME/jre/sh/java" | ||||
|     else | ||||
|         JAVACMD="$JAVA_HOME/bin/java" | ||||
|     fi | ||||
|     if [ ! -x "$JAVACMD" ] ; then | ||||
|         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||||
| 
 | ||||
| Please set the JAVA_HOME variable in your environment to match the | ||||
| location of your Java installation." | ||||
|     fi | ||||
| else | ||||
|     JAVACMD="java" | ||||
|     which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
| 
 | ||||
| Please set the JAVA_HOME variable in your environment to match the | ||||
| location of your Java installation." | ||||
| fi | ||||
| 
 | ||||
| # Increase the maximum file descriptors if we can. | ||||
| if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then | ||||
|     MAX_FD_LIMIT=`ulimit -H -n` | ||||
|     if [ $? -eq 0 ] ; then | ||||
|         if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | ||||
|             MAX_FD="$MAX_FD_LIMIT" | ||||
|         fi | ||||
|         ulimit -n $MAX_FD | ||||
|         if [ $? -ne 0 ] ; then | ||||
|             warn "Could not set maximum file descriptor limit: $MAX_FD" | ||||
|         fi | ||||
|     else | ||||
|         warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| # For Darwin, add options to specify how the application appears in the dock | ||||
| if $darwin; then | ||||
|     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | ||||
| fi | ||||
| 
 | ||||
| # For Cygwin, switch paths to Windows format before running java | ||||
| if $cygwin ; then | ||||
|     APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||||
|     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||||
|     JAVACMD=`cygpath --unix "$JAVACMD"` | ||||
| 
 | ||||
|     # We build the pattern for arguments to be converted via cygpath | ||||
|     ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | ||||
|     SEP="" | ||||
|     for dir in $ROOTDIRSRAW ; do | ||||
|         ROOTDIRS="$ROOTDIRS$SEP$dir" | ||||
|         SEP="|" | ||||
|     done | ||||
|     OURCYGPATTERN="(^($ROOTDIRS))" | ||||
|     # Add a user-defined pattern to the cygpath arguments | ||||
|     if [ "$GRADLE_CYGPATTERN" != "" ] ; then | ||||
|         OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | ||||
|     fi | ||||
|     # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||||
|     i=0 | ||||
|     for arg in "$@" ; do | ||||
|         CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | ||||
|         CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option | ||||
| 
 | ||||
|         if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition | ||||
|             eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | ||||
|         else | ||||
|             eval `echo args$i`="\"$arg\"" | ||||
|         fi | ||||
|         i=$((i+1)) | ||||
|     done | ||||
|     case $i in | ||||
|         (0) set -- ;; | ||||
|         (1) set -- "$args0" ;; | ||||
|         (2) set -- "$args0" "$args1" ;; | ||||
|         (3) set -- "$args0" "$args1" "$args2" ;; | ||||
|         (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | ||||
|         (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | ||||
|         (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | ||||
|         (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | ||||
|         (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | ||||
|         (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | ||||
|     esac | ||||
| fi | ||||
| 
 | ||||
| # Escape application args | ||||
| save () { | ||||
|     for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done | ||||
|     echo " " | ||||
| } | ||||
| APP_ARGS=$(save "$@") | ||||
| 
 | ||||
| # Collect all arguments for the java command, following the shell quoting and substitution rules | ||||
| eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" | ||||
| 
 | ||||
| # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong | ||||
| if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then | ||||
|   cd "$(dirname "$0")" | ||||
| fi | ||||
| 
 | ||||
| exec "$JAVACMD" "$@" | ||||
							
								
								
									
										100
									
								
								core-kotlin-2/gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										100
									
								
								core-kotlin-2/gradlew.bat
									
									
									
									
										vendored
									
									
								
							| @ -1,100 +0,0 @@ | ||||
| @rem | ||||
| @rem Copyright 2015 the original author or authors. | ||||
| @rem | ||||
| @rem Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| @rem you may not use this file except in compliance with the License. | ||||
| @rem You may obtain a copy of the License at | ||||
| @rem | ||||
| @rem      http://www.apache.org/licenses/LICENSE-2.0 | ||||
| @rem | ||||
| @rem Unless required by applicable law or agreed to in writing, software | ||||
| @rem distributed under the License is distributed on an "AS IS" BASIS, | ||||
| @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| @rem See the License for the specific language governing permissions and | ||||
| @rem limitations under the License. | ||||
| @rem | ||||
| 
 | ||||
| @if "%DEBUG%" == "" @echo off | ||||
| @rem ########################################################################## | ||||
| @rem | ||||
| @rem  Gradle startup script for Windows | ||||
| @rem | ||||
| @rem ########################################################################## | ||||
| 
 | ||||
| @rem Set local scope for the variables with windows NT shell | ||||
| if "%OS%"=="Windows_NT" setlocal | ||||
| 
 | ||||
| set DIRNAME=%~dp0 | ||||
| if "%DIRNAME%" == "" set DIRNAME=. | ||||
| set APP_BASE_NAME=%~n0 | ||||
| set APP_HOME=%DIRNAME% | ||||
| 
 | ||||
| @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" | ||||
| 
 | ||||
| @rem Find java.exe | ||||
| if defined JAVA_HOME goto findJavaFromJavaHome | ||||
| 
 | ||||
| set JAVA_EXE=java.exe | ||||
| %JAVA_EXE% -version >NUL 2>&1 | ||||
| if "%ERRORLEVEL%" == "0" goto init | ||||
| 
 | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
| echo. | ||||
| echo Please set the JAVA_HOME variable in your environment to match the | ||||
| echo location of your Java installation. | ||||
| 
 | ||||
| goto fail | ||||
| 
 | ||||
| :findJavaFromJavaHome | ||||
| set JAVA_HOME=%JAVA_HOME:"=% | ||||
| set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||||
| 
 | ||||
| if exist "%JAVA_EXE%" goto init | ||||
| 
 | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||||
| echo. | ||||
| echo Please set the JAVA_HOME variable in your environment to match the | ||||
| echo location of your Java installation. | ||||
| 
 | ||||
| goto fail | ||||
| 
 | ||||
| :init | ||||
| @rem Get command-line arguments, handling Windows variants | ||||
| 
 | ||||
| if not "%OS%" == "Windows_NT" goto win9xME_args | ||||
| 
 | ||||
| :win9xME_args | ||||
| @rem Slurp the command line arguments. | ||||
| set CMD_LINE_ARGS= | ||||
| set _SKIP=2 | ||||
| 
 | ||||
| :win9xME_args_slurp | ||||
| if "x%~1" == "x" goto execute | ||||
| 
 | ||||
| set CMD_LINE_ARGS=%* | ||||
| 
 | ||||
| :execute | ||||
| @rem Setup the command line | ||||
| 
 | ||||
| set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||
| 
 | ||||
| @rem Execute Gradle | ||||
| "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||||
| 
 | ||||
| :end | ||||
| @rem End local scope for the variables with windows NT shell | ||||
| if "%ERRORLEVEL%"=="0" goto mainEnd | ||||
| 
 | ||||
| :fail | ||||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||
| rem the _cmd.exe /c_ return code! | ||||
| if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||
| exit /b 1 | ||||
| 
 | ||||
| :mainEnd | ||||
| if "%OS%"=="Windows_NT" endlocal | ||||
| 
 | ||||
| :omega | ||||
| @ -1,97 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <artifactId>core-kotlin-2</artifactId> | ||||
|     <name>core-kotlin-2</name> | ||||
|     <packaging>jar</packaging> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>com.baeldung</groupId> | ||||
|         <artifactId>parent-kotlin</artifactId> | ||||
|         <version>1.0.0-SNAPSHOT</version> | ||||
|         <relativePath>../parent-kotlin</relativePath> | ||||
|     </parent> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.jetbrains.kotlin</groupId> | ||||
|             <artifactId>kotlin-stdlib-jdk8</artifactId> | ||||
|             <version>${kotlin.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.junit.jupiter</groupId> | ||||
|             <artifactId>junit-jupiter</artifactId> | ||||
|             <version>${junit.jupiter.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.mockito</groupId> | ||||
|             <artifactId>mockito-core</artifactId> | ||||
|             <version>${mockito.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>net.bytebuddy</groupId> | ||||
|             <artifactId>byte-buddy</artifactId> | ||||
|             <version>${byte-buddy.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.assertj</groupId> | ||||
|             <artifactId>assertj-core</artifactId> | ||||
|             <version>${assertj.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.jetbrains.kotlin</groupId> | ||||
|             <artifactId>kotlin-test</artifactId> | ||||
|             <version>${kotlin.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.jetbrains.kotlin</groupId> | ||||
|             <artifactId>kotlin-test-junit5</artifactId> | ||||
|             <version>${kotlin.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <build> | ||||
|         <plugins> | ||||
|             <plugin> | ||||
|                 <groupId>org.jetbrains.kotlin</groupId> | ||||
|                 <artifactId>kotlin-maven-plugin</artifactId> | ||||
|                 <version>${kotlin.version}</version> | ||||
|                 <executions> | ||||
|                     <execution> | ||||
|                         <id>compile</id> | ||||
|                         <phase>compile</phase> | ||||
|                         <goals> | ||||
|                             <goal>compile</goal> | ||||
|                         </goals> | ||||
|                     </execution> | ||||
|                     <execution> | ||||
|                         <id>test-compile</id> | ||||
|                         <phase>test-compile</phase> | ||||
|                         <goals> | ||||
|                             <goal>test-compile</goal> | ||||
|                         </goals> | ||||
|                     </execution> | ||||
|                 </executions> | ||||
|                 <configuration> | ||||
|                     <jvmTarget>1.8</jvmTarget> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
|         </plugins> | ||||
|     </build> | ||||
| 
 | ||||
|     <properties> | ||||
|         <kotlin.version>1.3.30</kotlin.version> | ||||
|         <junit.jupiter.version>5.4.2</junit.jupiter.version> | ||||
|         <mockito.version>2.27.0</mockito.version> | ||||
|         <byte-buddy.version>1.9.12</byte-buddy.version> | ||||
|         <assertj.version>3.10.0</assertj.version> | ||||
|     </properties> | ||||
| 
 | ||||
| </project> | ||||
| @ -1,11 +0,0 @@ | ||||
| <configuration> | ||||
|   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||||
|     <encoder> | ||||
|       <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> | ||||
|     </encoder> | ||||
|   </appender> | ||||
| 
 | ||||
|   <root level="INFO"> | ||||
|     <appender-ref ref="STDOUT"/> | ||||
|   </root> | ||||
| </configuration> | ||||
| @ -1,2 +0,0 @@ | ||||
| rootProject.name = 'KtorWithKotlin' | ||||
| 
 | ||||
| @ -1,13 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <configuration> | ||||
|     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||||
|         <encoder> | ||||
|             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n | ||||
|             </pattern> | ||||
|         </encoder> | ||||
|     </appender> | ||||
| 
 | ||||
|     <root level="INFO"> | ||||
|         <appender-ref ref="STDOUT" /> | ||||
|     </root> | ||||
| </configuration> | ||||
| @ -1,5 +0,0 @@ | ||||
| Hello to Kotlin. Its: | ||||
| 1. Concise | ||||
| 2. Safe | ||||
| 3. Interoperable | ||||
| 4. Tool-friendly | ||||
| @ -1,2 +0,0 @@ | ||||
| Kotlin | ||||
| Concise, Safe, Interoperable, Tool-friendly | ||||
							
								
								
									
										8
									
								
								core-kotlin-modules/core-kotlin-2/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								core-kotlin-modules/core-kotlin-2/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| ## Core Kotlin 2 | ||||
| 
 | ||||
| This module contains articles about Kotlin core features. | ||||
| 
 | ||||
| ### Relevant articles: | ||||
| - [Working with Dates in Kotlin](https://www.baeldung.com/kotlin-dates) | ||||
| - [Kotlin Ternary Conditional Operator](https://www.baeldung.com/kotlin-ternary-conditional-operator) | ||||
| - [[<-- Prev]](/core-kotlin-modules/core-kotlin) | ||||
							
								
								
									
										25
									
								
								core-kotlin-modules/core-kotlin-2/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								core-kotlin-modules/core-kotlin-2/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||
|          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <artifactId>core-kotlin-2</artifactId> | ||||
|     <name>core-kotlin-2</name> | ||||
|     <packaging>jar</packaging> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>com.baeldung.core-kotlin-modules</groupId> | ||||
|         <artifactId>core-kotlin-modules</artifactId> | ||||
|         <version>1.0.0-SNAPSHOT</version> | ||||
|     </parent> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.assertj</groupId> | ||||
|             <artifactId>assertj-core</artifactId> | ||||
|             <version>${assertj.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
| </project> | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.Duration | ||||
| import java.time.LocalTime | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.DayOfWeek | ||||
| import java.time.LocalDate | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.LocalDateTime | ||||
| 
 | ||||
| @ -1,6 +1,5 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.LocalDateTime | ||||
| import java.time.LocalTime | ||||
| import java.time.temporal.ChronoUnit | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.LocalDate | ||||
| import java.time.Period | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datetime | ||||
| package com.baeldung.dates.datetime | ||||
| 
 | ||||
| import java.time.LocalDateTime | ||||
| import java.time.ZoneId | ||||
| @ -1,34 +1,34 @@ | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.format.DateTimeFormatter | ||||
| 
 | ||||
| class CreateDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenString_whenDefaultFormat_thenCreated() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenString_whenCustomFormat_thenCreated() { | ||||
| 
 | ||||
|         var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy") | ||||
|         var date = LocalDate.parse("31-12-2018", formatter) | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenYMD_whenUsingOf_thenCreated() { | ||||
|         var date = LocalDate.of(2018, 12, 31) | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.format.DateTimeFormatter | ||||
| 
 | ||||
| class CreateDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenString_whenDefaultFormat_thenCreated() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenString_whenCustomFormat_thenCreated() { | ||||
| 
 | ||||
|         var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy") | ||||
|         var date = LocalDate.parse("31-12-2018", formatter) | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenYMD_whenUsingOf_thenCreated() { | ||||
|         var date = LocalDate.of(2018, 12, 31) | ||||
| 
 | ||||
|         assertThat(date).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,29 +1,29 @@ | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.DayOfWeek | ||||
| import java.time.LocalDate | ||||
| import java.time.Month | ||||
| 
 | ||||
| class ExtractDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_thenExtractedYMD() { | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.year).isEqualTo(2018) | ||||
|         assertThat(date.month).isEqualTo(Month.DECEMBER) | ||||
|         assertThat(date.dayOfMonth).isEqualTo(31) | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_thenExtractedEraDowDoy() { | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.era.toString()).isEqualTo("CE") | ||||
|         assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY) | ||||
|         assertThat(date.dayOfYear).isEqualTo(365) | ||||
|     } | ||||
| 
 | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.DayOfWeek | ||||
| import java.time.LocalDate | ||||
| import java.time.Month | ||||
| 
 | ||||
| class ExtractDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_thenExtractedYMD() { | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.year).isEqualTo(2018) | ||||
|         assertThat(date.month).isEqualTo(Month.DECEMBER) | ||||
|         assertThat(date.dayOfMonth).isEqualTo(31) | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_thenExtractedEraDowDoy() { | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.era.toString()).isEqualTo("CE") | ||||
|         assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY) | ||||
|         assertThat(date.dayOfYear).isEqualTo(365) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,29 +1,29 @@ | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.format.DateTimeFormatter | ||||
| 
 | ||||
| class FormatDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_whenDefaultFormat_thenFormattedString() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.toString()).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_whenCustomFormat_thenFormattedString() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy") | ||||
|         var formattedDate = date.format(formatter) | ||||
| 
 | ||||
|         assertThat(formattedDate).isEqualTo("31-December-2018") | ||||
|     } | ||||
| 
 | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.format.DateTimeFormatter | ||||
| 
 | ||||
| class FormatDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_whenDefaultFormat_thenFormattedString() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         assertThat(date.toString()).isEqualTo("2018-12-31") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenDate_whenCustomFormat_thenFormattedString() { | ||||
| 
 | ||||
|         var date = LocalDate.parse("2018-12-31") | ||||
| 
 | ||||
|         var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy") | ||||
|         var formattedDate = date.format(formatter) | ||||
| 
 | ||||
|         assertThat(formattedDate).isEqualTo("31-December-2018") | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,48 +1,48 @@ | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.Period | ||||
| 
 | ||||
| class PeriodDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenYMD_thenCreatePeriod() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         assertThat(period.toString()).isEqualTo("P1Y2M3D") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenPeriod_whenAdd_thenModifiedDate() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         var date = LocalDate.of(2018, 6, 25) | ||||
|         var modifiedDate = date.plus(period) | ||||
| 
 | ||||
|         assertThat(modifiedDate).isEqualTo("2019-08-28") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenPeriod_whenSubtracted_thenModifiedDate() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         var date = LocalDate.of(2018, 6, 25) | ||||
|         var modifiedDate = date.minus(period) | ||||
| 
 | ||||
|         assertThat(modifiedDate).isEqualTo("2017-04-22") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenTwoDate_whenUsingBetween_thenDiffOfDates() { | ||||
| 
 | ||||
|         var date1 = LocalDate.parse("2018-06-25") | ||||
|         var date2 = LocalDate.parse("2018-12-25") | ||||
| 
 | ||||
|         var period = Period.between(date1, date2) | ||||
| 
 | ||||
|         assertThat(period.toString()).isEqualTo("P6M") | ||||
|     } | ||||
| 
 | ||||
| package com.baeldung.kotlin.dates | ||||
| 
 | ||||
| import org.assertj.core.api.Assertions.assertThat | ||||
| import org.junit.jupiter.api.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.Period | ||||
| 
 | ||||
| class PeriodDateUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenYMD_thenCreatePeriod() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         assertThat(period.toString()).isEqualTo("P1Y2M3D") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenPeriod_whenAdd_thenModifiedDate() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         var date = LocalDate.of(2018, 6, 25) | ||||
|         var modifiedDate = date.plus(period) | ||||
| 
 | ||||
|         assertThat(modifiedDate).isEqualTo("2019-08-28") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenPeriod_whenSubtracted_thenModifiedDate() { | ||||
|         var period = Period.of(1, 2, 3) | ||||
| 
 | ||||
|         var date = LocalDate.of(2018, 6, 25) | ||||
|         var modifiedDate = date.minus(period) | ||||
| 
 | ||||
|         assertThat(modifiedDate).isEqualTo("2017-04-22") | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenTwoDate_whenUsingBetween_thenDiffOfDates() { | ||||
| 
 | ||||
|         var date1 = LocalDate.parse("2018-06-25") | ||||
|         var date2 = LocalDate.parse("2018-12-25") | ||||
| 
 | ||||
|         var period = Period.between(date1, date2) | ||||
| 
 | ||||
|         assertThat(period.toString()).isEqualTo("P6M") | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -1,14 +1,12 @@ | ||||
| package com.baeldung.kotlin.datetime | ||||
| 
 | ||||
| import com.baeldung.datetime.UseLocalDateTime | ||||
| import com.baeldung.dates.datetime.UseLocalDateTime | ||||
| import org.junit.Assert.assertEquals | ||||
| import org.junit.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.LocalTime | ||||
| import java.time.Month | ||||
| 
 | ||||
| import org.junit.Test | ||||
| 
 | ||||
| import org.junit.Assert.assertEquals | ||||
| 
 | ||||
| class UseLocalDateTimeUnitTest { | ||||
| 
 | ||||
|     var useLocalDateTime = UseLocalDateTime() | ||||
| @ -1,6 +1,6 @@ | ||||
| package com.baeldung.kotlin.datetime | ||||
| 
 | ||||
| import com.baeldung.datetime.UseLocalDate | ||||
| import com.baeldung.dates.datetime.UseLocalDate | ||||
| import org.junit.Assert | ||||
| import org.junit.Test | ||||
| import java.time.DayOfWeek | ||||
| @ -1,10 +1,9 @@ | ||||
| package com.baeldung.kotlin.datetime | ||||
| 
 | ||||
| import com.baeldung.datetime.UseLocalTime | ||||
| import java.time.LocalTime | ||||
| 
 | ||||
| import com.baeldung.dates.datetime.UseLocalTime | ||||
| import org.junit.Assert | ||||
| import org.junit.Test | ||||
| import java.time.LocalTime | ||||
| 
 | ||||
| class UseLocalTimeUnitTest { | ||||
| 
 | ||||
| @ -1,11 +1,10 @@ | ||||
| package com.baeldung.kotlin.datetime | ||||
| 
 | ||||
| import com.baeldung.datetime.UsePeriod | ||||
| import java.time.LocalDate | ||||
| import java.time.Period | ||||
| 
 | ||||
| import com.baeldung.dates.datetime.UsePeriod | ||||
| import org.junit.Assert | ||||
| import org.junit.Test | ||||
| import java.time.LocalDate | ||||
| import java.time.Period | ||||
| 
 | ||||
| class UsePeriodUnitTest { | ||||
| 
 | ||||
| @ -1,6 +1,6 @@ | ||||
| package com.baeldung.kotlin.datetime | ||||
| 
 | ||||
| import com.baeldung.datetime.UseZonedDateTime | ||||
| import com.baeldung.dates.datetime.UseZonedDateTime | ||||
| import org.junit.Assert | ||||
| import org.junit.Test | ||||
| import java.time.LocalDateTime | ||||
| @ -1,4 +1,4 @@ | ||||
| ## Core Kotlin | ||||
| ## Core Kotlin Lang OOP | ||||
| 
 | ||||
| This module contains articles about Object-Oriented Programming in Kotlin | ||||
| 
 | ||||
| @ -7,4 +7,4 @@ This module contains articles about Object-Oriented Programming in Kotlin | ||||
| - [Generics in Kotlin](https://www.baeldung.com/kotlin-generics) | ||||
| - [Delegated Properties in Kotlin](https://www.baeldung.com/kotlin-delegated-properties) | ||||
| - [Delegation Pattern in Kotlin](https://www.baeldung.com/kotlin-delegation-pattern) | ||||
| - [[<-- Prev]](/core-kotlin-lang-oop) | ||||
| - [[<-- Prev]](/core-kotlin-modules/core-kotlin-lang-oop) | ||||
|  | ||||
| @ -14,4 +14,4 @@ This module contains articles about Object-Oriented Programming in Kotlin | ||||
| - [Guide to Kotlin Interfaces](https://www.baeldung.com/kotlin-interfaces) | ||||
| - [Inline Classes in Kotlin](https://www.baeldung.com/kotlin-inline-classes) | ||||
| - [Static Methods Behavior in Kotlin](https://www.baeldung.com/kotlin-static-methods) | ||||
| - More articles: [[next -->]](/core-kotlin-lang-oop-2) | ||||
| - More articles: [[next -->]](/core-kotlin-modules/core-kotlin-lang-oop-2) | ||||
|  | ||||
							
								
								
									
										16
									
								
								core-kotlin-modules/core-kotlin/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								core-kotlin-modules/core-kotlin/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| ## Core Kotlin | ||||
| 
 | ||||
| This module contains articles about Kotlin core features. | ||||
| 
 | ||||
| ### Relevant articles: | ||||
| - [Introduction to the Kotlin Language](https://www.baeldung.com/kotlin) | ||||
| - [Kotlin Java Interoperability](https://www.baeldung.com/kotlin-java-interoperability) | ||||
| - [Get a Random Number in Kotlin](https://www.baeldung.com/kotlin-random-number) | ||||
| - [Create a Java and Kotlin Project with Maven](https://www.baeldung.com/kotlin-maven-java-project) | ||||
| - [Guide to Sorting in Kotlin](https://www.baeldung.com/kotlin-sort) | ||||
| - [Creational Design Patterns in Kotlin: Builder](https://www.baeldung.com/kotlin-builder-pattern) | ||||
| - [Kotlin Scope Functions](https://www.baeldung.com/kotlin-scope-functions) | ||||
| - [Implementing a Binary Tree in Kotlin](https://www.baeldung.com/kotlin-binary-tree) | ||||
| - [JUnit 5 for Kotlin Developers](https://www.baeldung.com/junit-5-kotlin) | ||||
| - [Converting Kotlin Data Class from JSON using GSON](https://www.baeldung.com/kotlin-json-convert-data-class) | ||||
| - [[More --> ]](/core-kotlin-modules/core-kotlin-2) | ||||
							
								
								
									
										29
									
								
								core-kotlin-modules/core-kotlin/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								core-kotlin-modules/core-kotlin/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||
|          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <artifactId>core-kotlin</artifactId> | ||||
|     <name>core-kotlin</name> | ||||
|     <packaging>jar</packaging> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>com.baeldung.core-kotlin-modules</groupId> | ||||
|         <artifactId>core-kotlin-modules</artifactId> | ||||
|         <version>1.0.0-SNAPSHOT</version> | ||||
|     </parent> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.junit.platform</groupId> | ||||
|             <artifactId>junit-platform-runner</artifactId> | ||||
|             <version>${junit.platform.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <properties> | ||||
|         <junit.platform.version>1.1.1</junit.platform.version> | ||||
|     </properties> | ||||
| 
 | ||||
| </project> | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.java; | ||||
| package com.baeldung.interoperability; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.io.FileReader; | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.java; | ||||
| package com.baeldung.interoperability; | ||||
| 
 | ||||
| public class Customer { | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.java; | ||||
| package com.baeldung.introduction; | ||||
| 
 | ||||
| public class StringUtils { | ||||
|     public static String toUpperCase(String name) { | ||||
| @ -1,7 +1,6 @@ | ||||
| package com.baeldung.mavenjavakotlin; | ||||
| 
 | ||||
| import com.baeldung.mavenjavakotlin.services.JavaService; | ||||
| import com.baeldung.mavenjavakotlin.services.KotlinService; | ||||
| 
 | ||||
| public class Application { | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datastructures | ||||
| package com.baeldung.binarytree | ||||
| 
 | ||||
| /** | ||||
|  * Example of how to use the {@link Node} class. | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.datastructures | ||||
| package com.baeldung.binarytree | ||||
| 
 | ||||
| /** | ||||
|  * An ADT for a binary search tree. | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| fun main(args: Array<String>){ | ||||
|     println("hello word") | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| open class Item(val id: String, val name: String = "unknown_name") { | ||||
|     open fun getIdOfItem(): String { | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import java.util.* | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import java.util.concurrent.ThreadLocalRandom | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| class MathematicsOperations { | ||||
|     fun addTwoNumbers(a: Int, b: Int): Int { | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.mavenjavakotlin.services | ||||
| package com.baeldung.mavenjavakotlin | ||||
| 
 | ||||
| class KotlinService { | ||||
| 
 | ||||
| @ -1,7 +1,5 @@ | ||||
| package com.baeldung.sorting | ||||
| 
 | ||||
| import kotlin.comparisons.* | ||||
| 
 | ||||
| fun sortMethodUsage() { | ||||
|     val sortedValues = mutableListOf(1, 2, 7, 6, 5, 6) | ||||
|     sortedValues.sort() | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin; | ||||
| package com.baeldung.introduction; | ||||
| 
 | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| @ -1,7 +1,8 @@ | ||||
| package com.baeldung.datastructures | ||||
| package com.baeldung.binarytree | ||||
| 
 | ||||
| import org.junit.After | ||||
| import org.junit.Assert.* | ||||
| import org.junit.Assert.assertEquals | ||||
| import org.junit.Assert.assertNull | ||||
| import org.junit.Before | ||||
| import org.junit.Test | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin.gson | ||||
| package com.baeldung.gson | ||||
| 
 | ||||
| import com.google.gson.Gson | ||||
| 
 | ||||
| @ -11,7 +11,7 @@ class GsonUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenObject_thenGetJSONString() { | ||||
|         var jsonString = gson.toJson(TestModel(1,"Test")) | ||||
|         var jsonString = gson.toJson(TestModel(1, "Test")) | ||||
|         Assert.assertEquals(jsonString, "{\"id\":1,\"description\":\"Test\"}") | ||||
|     } | ||||
| 
 | ||||
| @ -1,7 +1,5 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.interoperability | ||||
| 
 | ||||
| import com.baeldung.java.ArrayExample | ||||
| import com.baeldung.java.Customer | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertEquals | ||||
| 
 | ||||
| @ -29,7 +27,7 @@ class ArrayTest { | ||||
|         val constructors = instance.constructors | ||||
| 
 | ||||
|         assertEquals(constructors.size, 1) | ||||
|         assertEquals(constructors[0].name, "com.baeldung.java.Customer") | ||||
|         assertEquals(constructors[0].name, "com.baeldung.interoperability.Customer") | ||||
|     } | ||||
| 
 | ||||
|     fun makeReadFile() { | ||||
| @ -1,6 +1,5 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.interoperability | ||||
| 
 | ||||
| import com.baeldung.java.Customer | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertEquals | ||||
| 
 | ||||
| @ -1,9 +1,10 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertNotNull | ||||
| 
 | ||||
| class ItemServiceTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenItemId_whenGetForOptionalItem_shouldMakeActionOnNonNullValue() { | ||||
|         //given | ||||
| @ -1,6 +1,5 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import com.baeldung.java.StringUtils | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertEquals | ||||
| 
 | ||||
| @ -1,10 +1,11 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertEquals | ||||
| 
 | ||||
| 
 | ||||
| class LambdaTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenListOfNumber_whenDoingOperationsUsingLambda_shouldReturnProperResult() { | ||||
|         //given | ||||
| @ -1,12 +1,12 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.introduction | ||||
| 
 | ||||
| import com.baeldung.kotlin.ListExtension | ||||
| import org.junit.Test | ||||
| import kotlin.test.assertTrue | ||||
| 
 | ||||
| class ListExtensionTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun givenList_whenExecuteExtensionFunctionOnList_shouldReturnRandomElementOfList(){ | ||||
|     fun givenList_whenExecuteExtensionFunctionOnList_shouldReturnRandomElementOfList() { | ||||
|         //given | ||||
|         val elements = listOf("a", "b", "c") | ||||
| 
 | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin.junit5 | ||||
| package com.baeldung.junit5 | ||||
| 
 | ||||
| class Calculator { | ||||
|     fun add(a: Int, b: Int) = a + b | ||||
| @ -1,9 +1,9 @@ | ||||
| package com.baeldung.kotlin.junit5 | ||||
| package com.baeldung.junit5 | ||||
| 
 | ||||
| import org.junit.jupiter.api.* | ||||
| import org.junit.jupiter.api.function.Executable | ||||
| 
 | ||||
| class CalculatorTest5 { | ||||
| class CalculatorUnitTest { | ||||
|     private val calculator = Calculator() | ||||
| 
 | ||||
|     @Test | ||||
| @ -1,3 +1,3 @@ | ||||
| package com.baeldung.kotlin.junit5 | ||||
| package com.baeldung.junit5 | ||||
| 
 | ||||
| class DivideByZeroException(val numerator: Int) : Exception() | ||||
| @ -1,10 +1,10 @@ | ||||
| package com.baeldung.kotlin.junit5 | ||||
| package com.baeldung.junit5 | ||||
| 
 | ||||
| import org.junit.jupiter.api.Assertions | ||||
| import org.junit.jupiter.api.Disabled | ||||
| import org.junit.jupiter.api.Test | ||||
| 
 | ||||
| class SimpleTest5 { | ||||
| class SimpleUnitTest { | ||||
| 
 | ||||
|     @Test | ||||
|     fun `isEmpty should return true for empty lists`() { | ||||
| @ -1,9 +1,8 @@ | ||||
| package com.baeldung.sorting | ||||
| 
 | ||||
| import org.junit.jupiter.api.Assertions.assertTrue | ||||
| import org.junit.jupiter.api.Test | ||||
| 
 | ||||
| import org.junit.jupiter.api.Assertions.* | ||||
| 
 | ||||
| class SortingExampleKtTest { | ||||
| 
 | ||||
|     @Test | ||||
| @ -15,6 +15,8 @@ | ||||
|     </parent> | ||||
| 
 | ||||
|     <modules> | ||||
|         <module>core-kotlin</module> | ||||
|         <module>core-kotlin-2</module> | ||||
|         <module>core-kotlin-advanced</module> | ||||
|         <module>core-kotlin-annotations</module> | ||||
|         <module>core-kotlin-collections</module> | ||||
|  | ||||
							
								
								
									
										14
									
								
								core-kotlin/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								core-kotlin/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,14 +0,0 @@ | ||||
| /bin/ | ||||
| 
 | ||||
| #ignore gradle | ||||
| .gradle/ | ||||
| 
 | ||||
| 
 | ||||
| #ignore build and generated files | ||||
| build/ | ||||
| node/ | ||||
| out/ | ||||
| 
 | ||||
| #ignore installed node modules and package lock file | ||||
| node_modules/ | ||||
| package-lock.json | ||||
| @ -1,32 +0,0 @@ | ||||
| ## Core Kotlin | ||||
| 
 | ||||
| This module contains articles about core Kotlin. | ||||
| 
 | ||||
| ### Relevant articles: | ||||
| 
 | ||||
| - [Introduction to the Kotlin Language](https://www.baeldung.com/kotlin) | ||||
| - [Kotlin Java Interoperability](https://www.baeldung.com/kotlin-java-interoperability) | ||||
| - [Generics in Kotlin](https://www.baeldung.com/kotlin-generics) | ||||
| - [Data Classes in Kotlin](https://www.baeldung.com/kotlin-data-classes) | ||||
| - [Delegated Properties in Kotlin](https://www.baeldung.com/kotlin-delegated-properties) | ||||
| - [Sealed Classes in Kotlin](https://www.baeldung.com/kotlin-sealed-classes) | ||||
| - [JUnit 5 for Kotlin Developers](https://www.baeldung.com/junit-5-kotlin) | ||||
| - [Extension Methods in Kotlin](https://www.baeldung.com/kotlin-extension-methods) | ||||
| - [Objects in Kotlin](https://www.baeldung.com/kotlin-objects) | ||||
| - [Working with Enums in Kotlin](https://www.baeldung.com/kotlin-enum) | ||||
| - [Create a Java and Kotlin Project with Maven](https://www.baeldung.com/kotlin-maven-java-project) | ||||
| - [Get a Random Number in Kotlin](https://www.baeldung.com/kotlin-random-number) | ||||
| - [Kotlin Constructors](https://www.baeldung.com/kotlin-constructors) | ||||
| - [Creational Design Patterns in Kotlin: Builder](https://www.baeldung.com/kotlin-builder-pattern) | ||||
| - [Kotlin Nested and Inner Classes](https://www.baeldung.com/kotlin-inner-classes) | ||||
| - [Fuel HTTP Library with Kotlin](https://www.baeldung.com/kotlin-fuel) | ||||
| - [Introduction to Kovenant Library for Kotlin](https://www.baeldung.com/kotlin-kovenant) | ||||
| - [Converting Kotlin Data Class from JSON using GSON](https://www.baeldung.com/kotlin-json-convert-data-class) | ||||
| - [Guide to Kotlin Interfaces](https://www.baeldung.com/kotlin-interfaces) | ||||
| - [Guide to Sorting in Kotlin](https://www.baeldung.com/kotlin-sort) | ||||
| - [Dependency Injection for Kotlin with Injekt](https://www.baeldung.com/kotlin-dependency-injection-with-injekt) | ||||
| - [Implementing a Binary Tree in Kotlin](https://www.baeldung.com/kotlin-binary-tree) | ||||
| - [Inline Classes in Kotlin](https://www.baeldung.com/kotlin-inline-classes) | ||||
| - [Static Methods Behavior in Kotlin](https://www.baeldung.com/kotlin-static-methods) | ||||
| - [Delegation Pattern in Kotlin](https://www.baeldung.com/kotlin-delegation-pattern) | ||||
| - More articles: [[next -->]](/core-kotlin-2) | ||||
| @ -1,48 +0,0 @@ | ||||
| 
 | ||||
| 
 | ||||
| group 'com.baeldung.ktor' | ||||
| version '1.0-SNAPSHOT' | ||||
| 
 | ||||
| 
 | ||||
| buildscript { | ||||
|     ext.kotlin_version = '1.2.41' | ||||
| 
 | ||||
|     repositories { | ||||
|         mavenCentral() | ||||
|     } | ||||
|     dependencies { | ||||
| 
 | ||||
|         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| apply plugin: 'java' | ||||
| apply plugin: 'kotlin' | ||||
| apply plugin: 'application' | ||||
| 
 | ||||
| mainClassName = 'APIServer.kt' | ||||
| 
 | ||||
| sourceCompatibility = 1.8 | ||||
| compileKotlin { kotlinOptions.jvmTarget = "1.8" } | ||||
| compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } | ||||
| 
 | ||||
| kotlin { experimental { coroutines "enable" } } | ||||
| 
 | ||||
| repositories { | ||||
|     mavenCentral() | ||||
|     jcenter() | ||||
|     maven { url "https://dl.bintray.com/kotlin/ktor" } | ||||
| } | ||||
| sourceSets { | ||||
|     main{ | ||||
|         kotlin{ | ||||
|             srcDirs 'com/baeldung/ktor' | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| dependencies { | ||||
|     compile "ch.qos.logback:logback-classic:1.2.1" | ||||
|     testCompile group: 'junit', name: 'junit', version: '4.12' | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								core-kotlin/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								core-kotlin/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,5 +0,0 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip | ||||
							
								
								
									
										172
									
								
								core-kotlin/gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										172
									
								
								core-kotlin/gradlew
									
									
									
									
										vendored
									
									
								
							| @ -1,172 +0,0 @@ | ||||
| #!/usr/bin/env sh | ||||
| 
 | ||||
| ############################################################################## | ||||
| ## | ||||
| ##  Gradle start up script for UN*X | ||||
| ## | ||||
| ############################################################################## | ||||
| 
 | ||||
| # Attempt to set APP_HOME | ||||
| # Resolve links: $0 may be a link | ||||
| PRG="$0" | ||||
| # Need this for relative symlinks. | ||||
| while [ -h "$PRG" ] ; do | ||||
|     ls=`ls -ld "$PRG"` | ||||
|     link=`expr "$ls" : '.*-> \(.*\)$'` | ||||
|     if expr "$link" : '/.*' > /dev/null; then | ||||
|         PRG="$link" | ||||
|     else | ||||
|         PRG=`dirname "$PRG"`"/$link" | ||||
|     fi | ||||
| done | ||||
| SAVED="`pwd`" | ||||
| cd "`dirname \"$PRG\"`/" >/dev/null | ||||
| APP_HOME="`pwd -P`" | ||||
| cd "$SAVED" >/dev/null | ||||
| 
 | ||||
| APP_NAME="Gradle" | ||||
| APP_BASE_NAME=`basename "$0"` | ||||
| 
 | ||||
| # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| DEFAULT_JVM_OPTS="" | ||||
| 
 | ||||
| # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||
| MAX_FD="maximum" | ||||
| 
 | ||||
| warn () { | ||||
|     echo "$*" | ||||
| } | ||||
| 
 | ||||
| die () { | ||||
|     echo | ||||
|     echo "$*" | ||||
|     echo | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| # OS specific support (must be 'true' or 'false'). | ||||
| cygwin=false | ||||
| msys=false | ||||
| darwin=false | ||||
| nonstop=false | ||||
| case "`uname`" in | ||||
|   CYGWIN* ) | ||||
|     cygwin=true | ||||
|     ;; | ||||
|   Darwin* ) | ||||
|     darwin=true | ||||
|     ;; | ||||
|   MINGW* ) | ||||
|     msys=true | ||||
|     ;; | ||||
|   NONSTOP* ) | ||||
|     nonstop=true | ||||
|     ;; | ||||
| esac | ||||
| 
 | ||||
| CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||
| 
 | ||||
| # Determine the Java command to use to start the JVM. | ||||
| if [ -n "$JAVA_HOME" ] ; then | ||||
|     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||
|         # IBM's JDK on AIX uses strange locations for the executables | ||||
|         JAVACMD="$JAVA_HOME/jre/sh/java" | ||||
|     else | ||||
|         JAVACMD="$JAVA_HOME/bin/java" | ||||
|     fi | ||||
|     if [ ! -x "$JAVACMD" ] ; then | ||||
|         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||||
| 
 | ||||
| Please set the JAVA_HOME variable in your environment to match the | ||||
| location of your Java installation." | ||||
|     fi | ||||
| else | ||||
|     JAVACMD="java" | ||||
|     which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
| 
 | ||||
| Please set the JAVA_HOME variable in your environment to match the | ||||
| location of your Java installation." | ||||
| fi | ||||
| 
 | ||||
| # Increase the maximum file descriptors if we can. | ||||
| if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then | ||||
|     MAX_FD_LIMIT=`ulimit -H -n` | ||||
|     if [ $? -eq 0 ] ; then | ||||
|         if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | ||||
|             MAX_FD="$MAX_FD_LIMIT" | ||||
|         fi | ||||
|         ulimit -n $MAX_FD | ||||
|         if [ $? -ne 0 ] ; then | ||||
|             warn "Could not set maximum file descriptor limit: $MAX_FD" | ||||
|         fi | ||||
|     else | ||||
|         warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| # For Darwin, add options to specify how the application appears in the dock | ||||
| if $darwin; then | ||||
|     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | ||||
| fi | ||||
| 
 | ||||
| # For Cygwin, switch paths to Windows format before running java | ||||
| if $cygwin ; then | ||||
|     APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||||
|     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||||
|     JAVACMD=`cygpath --unix "$JAVACMD"` | ||||
| 
 | ||||
|     # We build the pattern for arguments to be converted via cygpath | ||||
|     ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | ||||
|     SEP="" | ||||
|     for dir in $ROOTDIRSRAW ; do | ||||
|         ROOTDIRS="$ROOTDIRS$SEP$dir" | ||||
|         SEP="|" | ||||
|     done | ||||
|     OURCYGPATTERN="(^($ROOTDIRS))" | ||||
|     # Add a user-defined pattern to the cygpath arguments | ||||
|     if [ "$GRADLE_CYGPATTERN" != "" ] ; then | ||||
|         OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | ||||
|     fi | ||||
|     # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||||
|     i=0 | ||||
|     for arg in "$@" ; do | ||||
|         CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | ||||
|         CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option | ||||
| 
 | ||||
|         if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition | ||||
|             eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | ||||
|         else | ||||
|             eval `echo args$i`="\"$arg\"" | ||||
|         fi | ||||
|         i=$((i+1)) | ||||
|     done | ||||
|     case $i in | ||||
|         (0) set -- ;; | ||||
|         (1) set -- "$args0" ;; | ||||
|         (2) set -- "$args0" "$args1" ;; | ||||
|         (3) set -- "$args0" "$args1" "$args2" ;; | ||||
|         (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | ||||
|         (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | ||||
|         (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | ||||
|         (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | ||||
|         (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | ||||
|         (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | ||||
|     esac | ||||
| fi | ||||
| 
 | ||||
| # Escape application args | ||||
| save () { | ||||
|     for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done | ||||
|     echo " " | ||||
| } | ||||
| APP_ARGS=$(save "$@") | ||||
| 
 | ||||
| # Collect all arguments for the java command, following the shell quoting and substitution rules | ||||
| eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" | ||||
| 
 | ||||
| # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong | ||||
| if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then | ||||
|   cd "$(dirname "$0")" | ||||
| fi | ||||
| 
 | ||||
| exec "$JAVACMD" "$@" | ||||
							
								
								
									
										84
									
								
								core-kotlin/gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										84
									
								
								core-kotlin/gradlew.bat
									
									
									
									
										vendored
									
									
								
							| @ -1,84 +0,0 @@ | ||||
| @if "%DEBUG%" == "" @echo off | ||||
| @rem ########################################################################## | ||||
| @rem | ||||
| @rem  Gradle startup script for Windows | ||||
| @rem | ||||
| @rem ########################################################################## | ||||
| 
 | ||||
| @rem Set local scope for the variables with windows NT shell | ||||
| if "%OS%"=="Windows_NT" setlocal | ||||
| 
 | ||||
| set DIRNAME=%~dp0 | ||||
| if "%DIRNAME%" == "" set DIRNAME=. | ||||
| set APP_BASE_NAME=%~n0 | ||||
| set APP_HOME=%DIRNAME% | ||||
| 
 | ||||
| @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| set DEFAULT_JVM_OPTS= | ||||
| 
 | ||||
| @rem Find java.exe | ||||
| if defined JAVA_HOME goto findJavaFromJavaHome | ||||
| 
 | ||||
| set JAVA_EXE=java.exe | ||||
| %JAVA_EXE% -version >NUL 2>&1 | ||||
| if "%ERRORLEVEL%" == "0" goto init | ||||
| 
 | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||
| echo. | ||||
| echo Please set the JAVA_HOME variable in your environment to match the | ||||
| echo location of your Java installation. | ||||
| 
 | ||||
| goto fail | ||||
| 
 | ||||
| :findJavaFromJavaHome | ||||
| set JAVA_HOME=%JAVA_HOME:"=% | ||||
| set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||||
| 
 | ||||
| if exist "%JAVA_EXE%" goto init | ||||
| 
 | ||||
| echo. | ||||
| echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||||
| echo. | ||||
| echo Please set the JAVA_HOME variable in your environment to match the | ||||
| echo location of your Java installation. | ||||
| 
 | ||||
| goto fail | ||||
| 
 | ||||
| :init | ||||
| @rem Get command-line arguments, handling Windows variants | ||||
| 
 | ||||
| if not "%OS%" == "Windows_NT" goto win9xME_args | ||||
| 
 | ||||
| :win9xME_args | ||||
| @rem Slurp the command line arguments. | ||||
| set CMD_LINE_ARGS= | ||||
| set _SKIP=2 | ||||
| 
 | ||||
| :win9xME_args_slurp | ||||
| if "x%~1" == "x" goto execute | ||||
| 
 | ||||
| set CMD_LINE_ARGS=%* | ||||
| 
 | ||||
| :execute | ||||
| @rem Setup the command line | ||||
| 
 | ||||
| set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||
| 
 | ||||
| @rem Execute Gradle | ||||
| "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||||
| 
 | ||||
| :end | ||||
| @rem End local scope for the variables with windows NT shell | ||||
| if "%ERRORLEVEL%"=="0" goto mainEnd | ||||
| 
 | ||||
| :fail | ||||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||
| rem the _cmd.exe /c_ return code! | ||||
| if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||
| exit /b 1 | ||||
| 
 | ||||
| :mainEnd | ||||
| if "%OS%"=="Windows_NT" endlocal | ||||
| 
 | ||||
| :omega | ||||
| @ -1,81 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <artifactId>core-kotlin</artifactId> | ||||
|     <name>core-kotlin</name> | ||||
|     <packaging>jar</packaging> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>com.baeldung</groupId> | ||||
|         <artifactId>parent-kotlin</artifactId> | ||||
|         <version>1.0.0-SNAPSHOT</version> | ||||
|         <relativePath>../parent-kotlin</relativePath> | ||||
|     </parent> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.apache.commons</groupId> | ||||
|             <artifactId>commons-lang3</artifactId> | ||||
|             <version>${commons-lang3.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.junit.platform</groupId> | ||||
|             <artifactId>junit-platform-runner</artifactId> | ||||
|             <version>${junit.platform.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.assertj</groupId> | ||||
|             <artifactId>assertj-core</artifactId> | ||||
|             <version>${assertj.version}</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.h2database</groupId> | ||||
|             <artifactId>h2</artifactId> | ||||
|             <version>${h2.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-gson</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-rxjava</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-coroutines</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>nl.komponents.kovenant</groupId> | ||||
|             <artifactId>kovenant</artifactId> | ||||
|             <version>${kovenant.version}</version> | ||||
|             <type>pom</type> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>uy.kohesive.injekt</groupId> | ||||
|             <artifactId>injekt-core</artifactId> | ||||
|             <version>${injekt-core.version}</version> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <properties> | ||||
|         <junit.platform.version>1.1.1</junit.platform.version> | ||||
|         <junit.vintage.version>5.2.0</junit.vintage.version> | ||||
|         <assertj.version>3.10.0</assertj.version> | ||||
|         <fuel.version>1.15.0</fuel.version> | ||||
|         <kovenant.version>3.3.0</kovenant.version> | ||||
|         <injekt-core.version>1.16.1</injekt-core.version> | ||||
|     </properties> | ||||
| 
 | ||||
| </project> | ||||
| @ -1,11 +0,0 @@ | ||||
| <configuration> | ||||
|   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||||
|     <encoder> | ||||
|       <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> | ||||
|     </encoder> | ||||
|   </appender> | ||||
| 
 | ||||
|   <root level="INFO"> | ||||
|     <appender-ref ref="STDOUT"/> | ||||
|   </root> | ||||
| </configuration> | ||||
| @ -1,2 +0,0 @@ | ||||
| rootProject.name = 'KtorWithKotlin' | ||||
| 
 | ||||
| @ -1,13 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <configuration> | ||||
|     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||||
|         <encoder> | ||||
|             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n | ||||
|             </pattern> | ||||
|         </encoder> | ||||
|     </appender> | ||||
| 
 | ||||
|     <root level="INFO"> | ||||
|         <appender-ref ref="STDOUT" /> | ||||
|     </root> | ||||
| </configuration> | ||||
| @ -8,4 +8,7 @@ This module contains articles about Kotlin Libraries. | ||||
| - [Introduction to RxKotlin](https://www.baeldung.com/rxkotlin) | ||||
| - [MockK: A Mocking Library for Kotlin](https://www.baeldung.com/kotlin-mockk) | ||||
| - [Kotlin Immutable Collections](https://www.baeldung.com/kotlin-immutable-collections) | ||||
| - [Dependency Injection for Kotlin with Injekt](https://www.baeldung.com/kotlin-dependency-injection-with-injekt) | ||||
| - [Fuel HTTP Library with Kotlin](https://www.baeldung.com/kotlin-fuel) | ||||
| - [Introduction to Kovenant Library for Kotlin](https://www.baeldung.com/kotlin-kovenant) | ||||
| - More articles: [[<-- prev]](/kotlin-libraries) | ||||
|  | ||||
| @ -39,6 +39,37 @@ | ||||
|             <artifactId>kotlinx-collections-immutable</artifactId> | ||||
|             <version>${kotlinx-collections-immutable.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>uy.kohesive.injekt</groupId> | ||||
|             <artifactId>injekt-core</artifactId> | ||||
|             <version>${injekt-core.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-gson</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-rxjava</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>com.github.kittinunf.fuel</groupId> | ||||
|             <artifactId>fuel-coroutines</artifactId> | ||||
|             <version>${fuel.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>nl.komponents.kovenant</groupId> | ||||
|             <artifactId>kovenant</artifactId> | ||||
|             <version>${kovenant.version}</version> | ||||
|             <type>pom</type> | ||||
|         </dependency> | ||||
|         <!-- MockK dependencies--> | ||||
|         <dependency> | ||||
|             <groupId>io.mockk</groupId> | ||||
| @ -49,6 +80,9 @@ | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <properties> | ||||
|         <injekt-core.version>1.16.1</injekt-core.version> | ||||
|         <fuel.version>1.15.0</fuel.version> | ||||
|         <kovenant.version>3.3.0</kovenant.version> | ||||
|         <guava.version>27.1-jre</guava.version> | ||||
|         <mockk.version>1.9.3</mockk.version> | ||||
|         <kotlinx-collections-immutable.version>0.1</kotlinx-collections-immutable.version> | ||||
|  | ||||
| @ -1,8 +1,12 @@ | ||||
| package com.baeldung.injekt | ||||
| 
 | ||||
| import org.slf4j.LoggerFactory | ||||
| import uy.kohesive.injekt.* | ||||
| import uy.kohesive.injekt.api.* | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.InjektMain | ||||
| import uy.kohesive.injekt.api.InjektRegistrar | ||||
| import uy.kohesive.injekt.api.addPerKeyFactory | ||||
| import uy.kohesive.injekt.api.addSingletonFactory | ||||
| import uy.kohesive.injekt.api.get | ||||
| 
 | ||||
| class KeyedApplication { | ||||
|     companion object : InjektMain() { | ||||
| @ -1,7 +1,8 @@ | ||||
| package com.baeldung.injekt | ||||
| 
 | ||||
| import org.slf4j.LoggerFactory | ||||
| import uy.kohesive.injekt.* | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.InjektMain | ||||
| import uy.kohesive.injekt.api.* | ||||
| 
 | ||||
| class ModularApplication { | ||||
| @ -1,8 +1,12 @@ | ||||
| package com.baeldung.injekt | ||||
| 
 | ||||
| import org.slf4j.LoggerFactory | ||||
| import uy.kohesive.injekt.* | ||||
| import uy.kohesive.injekt.api.* | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.InjektMain | ||||
| import uy.kohesive.injekt.api.InjektRegistrar | ||||
| import uy.kohesive.injekt.api.addPerThreadFactory | ||||
| import uy.kohesive.injekt.api.addSingletonFactory | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.* | ||||
| import java.util.concurrent.Executors | ||||
| import java.util.concurrent.TimeUnit | ||||
| @ -1,8 +1,12 @@ | ||||
| package com.baeldung.injekt | ||||
| 
 | ||||
| import org.slf4j.LoggerFactory | ||||
| import uy.kohesive.injekt.* | ||||
| import uy.kohesive.injekt.api.* | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.InjektMain | ||||
| import uy.kohesive.injekt.api.InjektRegistrar | ||||
| import uy.kohesive.injekt.api.addSingleton | ||||
| import uy.kohesive.injekt.api.addSingletonFactory | ||||
| import uy.kohesive.injekt.api.get | ||||
| 
 | ||||
| class SimpleApplication { | ||||
|     companion object : InjektMain() { | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.kovenant | ||||
| 
 | ||||
| import nl.komponents.kovenant.* | ||||
| import nl.komponents.kovenant.Kovenant.deferred | ||||
| @ -12,6 +12,7 @@ import java.util.* | ||||
| import java.util.concurrent.TimeUnit | ||||
| 
 | ||||
| class KovenantTest { | ||||
| 
 | ||||
|     @Before | ||||
|     fun setupTestMode() { | ||||
|         Kovenant.testMode { error -> | ||||
| @ -1,4 +1,4 @@ | ||||
| package com.baeldung.kotlin | ||||
| package com.baeldung.kovenant | ||||
| 
 | ||||
| import nl.komponents.kovenant.Promise | ||||
| import nl.komponents.kovenant.any | ||||
| @ -10,7 +10,6 @@ This module contains articles about Kotlin Libraries. | ||||
| - [Writing Specifications with Kotlin and Spek](https://www.baeldung.com/kotlin-spek) | ||||
| - [Processing JSON with Kotlin and Klaxson](https://www.baeldung.com/kotlin-json-klaxson) | ||||
| - [Guide to the Kotlin Exposed Framework](https://www.baeldung.com/kotlin-exposed-persistence) | ||||
| - [Working with Dates in Kotlin](https://www.baeldung.com/kotlin-dates) | ||||
| - [Introduction to Arrow in Kotlin](https://www.baeldung.com/kotlin-arrow) | ||||
| - [Kotlin with Ktor](https://www.baeldung.com/kotlin-ktor) | ||||
| - [REST API With Kotlin and Kovert](https://www.baeldung.com/kotlin-kovert) | ||||
|  | ||||
							
								
								
									
										7
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								pom.xml
									
									
									
									
									
								
							| @ -662,7 +662,6 @@ | ||||
|                 <module>spring-boot-kotlin</module> | ||||
|                 <module>spring-boot-libraries</module> | ||||
|                 <module>spring-boot-logging-log4j2</module> | ||||
|                 <module>spring-boot-mvc</module> | ||||
|                 <module>spring-boot-mvc-2</module> | ||||
|                 <module>spring-boot-mvc-birt</module> | ||||
|                 <module>spring-boot-nashorn</module> | ||||
| @ -841,9 +840,6 @@ | ||||
|                 <module>parent-java</module> | ||||
|                 <module>parent-kotlin</module> | ||||
| 
 | ||||
|                 <module>core-kotlin</module> <!-- long running? --> | ||||
|                 <module>core-kotlin-2</module> | ||||
| 
 | ||||
|                 <module>jenkins/plugins</module> | ||||
|                 <module>jhipster</module> | ||||
|                 <module>jws</module> | ||||
| @ -1376,9 +1372,6 @@ | ||||
|                 <module>parent-java</module> | ||||
|                 <module>parent-kotlin</module> | ||||
| 
 | ||||
|                 <module>core-kotlin</module> <!-- long running? --> | ||||
|                 <module>core-kotlin-2</module> | ||||
| 
 | ||||
|                 <module>jenkins/plugins</module> | ||||
|                 <module>jhipster</module> | ||||
|                 <module>jws</module> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user