Skip to content

Instantly share code, notes, and snippets.

@VTacius
Last active October 23, 2019 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VTacius/48f18d16627fdf15316856fd538c6bce to your computer and use it in GitHub Desktop.
Save VTacius/48f18d16627fdf15316856fd538c6bce to your computer and use it in GitHub Desktop.
Configurar un proyecto Kotlin usando Gradle

Creamos el directorio para el proyecto

mkdir proyecto
cd proyecto

Inicializamos el proyecto

gradle init

Creamos el esquema de directorio por defecto de la siguiente forma:

mkdir -p src/{test,main}/{java,kotlin}/primero/

En resumen, el esquema es más o menos como sigue (Si se cambia, debe configurarse en build.gradle. El nombre de la clase principal empieza bajo src/main/kotlin/, así que para nuestro caso el nombre del paquete es primero, la clase de entrada será primero.MainKt (main cambia a MainKt, regla, configurable supongo)

src/
├── main
│   ├── java
│   │   └── primero
│   └── kotlin
│       └── primero
│           └── main.kt
└── test
    ├── java
    │   └── primero
    └── kotlin
        └── primero

Previa revisión de las versiones usadadas, configurarar el fichero build.gradle con el siguiente contenido

buildscript {
  ext.kotlin_version = '1.3.50'
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

apply plugin: 'kotlin'
apply plugin: 'application'

mainClassName = "primero/MainKt"

repositories {
  mavenCentral()
}

dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  testCompile 'junit:junit:4.12'
  testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}

jar {
  manifest { attributes 'Main-Class': mainClassName }
  from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

test {
  testLogging {
    exceptionFormat = 'full'
    events = ["passed", "failed", "skipped"]
  }
}

task wrapper(type: Wrapper) {
  gradleVersion = "4.4.1"
}

Luego, esto puede correrse con run o construirse con build.

Fuentes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment