From 90314e0cb910e362fc49b8ed4e163261d2f656da Mon Sep 17 00:00:00 2001 From: aNNiMON Date: Sat, 25 Nov 2023 17:38:27 +0200 Subject: [PATCH] Add Gradle ownlangExec and generateMarkdownModules tasks --- docs/build.gradle | 11 +++++++++++ modules/server/build.gradle | 2 +- ownlang-desktop/build.gradle | 36 +++++++++++++++++++++++++----------- settings.gradle | 1 + 4 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 docs/build.gradle diff --git a/docs/build.gradle b/docs/build.gradle new file mode 100644 index 0000000..9b9b905 --- /dev/null +++ b/docs/build.gradle @@ -0,0 +1,11 @@ +tasks.register('generateMarkdownModules') { + group = "documentation" + def ownlangExec = tasks.getByPath(':ownlang-desktop:ownlangExec') + doFirst { + ownlangExec.configure { + workingDir '../docs/src' + args '-f', 'docgen-md.own' + } + } + finalizedBy ownlangExec +} \ No newline at end of file diff --git a/modules/server/build.gradle b/modules/server/build.gradle index 80f0570..3ad2326 100644 --- a/modules/server/build.gradle +++ b/modules/server/build.gradle @@ -12,7 +12,7 @@ dependencies { implementation "org.slf4j:slf4j-simple:${versions.slf4j}" implementation "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}" - testImplementation platform("org.junit:junit-bom:") + testImplementation platform("org.junit:junit-bom:${versions.junit}") testImplementation 'org.junit.jupiter:junit-jupiter' } diff --git a/ownlang-desktop/build.gradle b/ownlang-desktop/build.gradle index 04c3036..bb0defd 100644 --- a/ownlang-desktop/build.gradle +++ b/ownlang-desktop/build.gradle @@ -12,6 +12,12 @@ application { mainClass = project.mainClassName } +jar { + manifest { + attributes 'Main-Class': project.mainClassName + } +} + dependencies { implementation project(":ownlang-core") implementation project(":ownlang-parser") @@ -26,25 +32,33 @@ test { useJUnitPlatform() } -tasks.register('runProgram', JavaExec) { - group = "application" - description = "Run sample program" +def ownlangExec = tasks.register('ownlangExec', JavaExec) { dependsOn classes mainClass = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in - ignoreExitValue true - args '-f ../program.own'.split(' ') } -tasks.register('runOptimizing', JavaExec) { +tasks.register('runProgram') { + group = "application" + description = "Run sample program" + doFirst { + ownlangExec.configure { + args '-f ../program.own'.split(' ') + } + } + finalizedBy ownlangExec +} + +tasks.register('runOptimizing') { group = "application" description = "Run sample program with optimizations and measurements" - dependsOn classes - mainClass = project.mainClassName - classpath = sourceSets.main.runtimeClasspath - ignoreExitValue true - args '-o 9 -m -a -f ../program.own'.split(' ') + doFirst { + ownlangExec.configure { + args '-o 9 -m -a -f ../program.own'.split(' ') + } + } + finalizedBy ownlangExec } tasks.register('runOptimizationDumper', JavaExec) { diff --git a/settings.gradle b/settings.gradle index 72a528c..68c6070 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,6 +4,7 @@ include 'ownlang-core' include 'ownlang-parser' include 'ownlang-desktop' include 'ownlang-utils' +include 'docs' final def modules = ['main', 'canvasfx', 'server']