Gradle Kotlin DSL 1.0: Basic App Build

Contents: Kotlin DSL list of other pagesBuild Basics in Gradle Plugins Dependencies and Artifact Repositories A Simple Practical ExampleVarying the Source Locations: SourceSetsApplicationTesting - JUnitlocal jars as dependencies Build Basics with Gradle. The build file prepares a configuration for gradle and for any optional extra build tools.  The basic configuration for a build requires: what… Continue reading Gradle Kotlin DSL 1.0: Basic App Build

Closures, methods, static methods, class methods

Everything you ever wondered about closures, and a few things more: Closures: just what are closures? Closures as code, packaged with parameters Methods as closures: Python Methods as closures: Kotlin Static Methods class level methods/companion object methods Closures: just what are closures? Lets start with an example, and then discuss how it works. The function… Continue reading Closures, methods, static methods, class methods

Building with Gradle Kotlin DSL 1.0

Big News!  (Aug 2018) After what seems like the longest time, Gradle support for using kotlin to drive gradle builds is now at version 1.0.  This is the best time for anyone to move to gradle.  This page is an introduction to gradle, using kotlin DSL What is a build tool? Which Build Tool? Basic… Continue reading Building with Gradle Kotlin DSL 1.0

Building in Intellij IDEA

This program is relevant for building your first "hello world" and first sample kotlin apps.  However, once you have even hello world running, it is recommended now to move to gradle for building, even when building with Intellij. The topics for this page: Introduction: why use Intellij at all. The Roles on an IDE What… Continue reading Building in Intellij IDEA

self, this + modifiers: private, public, protected, internal, open, final, inline

contents: self vs this this@ external attribute access why bother? python modifiers visibility inheritance: open, final, override inline self vs this Self vs this are not technically modifiers, but they do work in a similar way, to modify that 'self.name' can be different from 'name'. Code inside a class must work without an actual instance… Continue reading self, this + modifiers: private, public, protected, internal, open, final, inline