From ac9adb63c8abf577edefbd6e7de63a1b85b32a36 Mon Sep 17 00:00:00 2001 From: Hallvard Traetteberg <hal@ntnu.no> Date: Mon, 23 Aug 2021 17:50:35 +0200 Subject: [PATCH] Try setup with a mix of docs and slides --- .gitlab-ci.yml | 3 +-- lectures/asciidoc/README.adoc | 38 ----------------------------------- lectures/asciidoc/index.adoc | 7 +++++++ lectures/build.gradle | 19 +++++++++++------- public/index.html | 8 ++------ 5 files changed, 22 insertions(+), 53 deletions(-) delete mode 100644 lectures/asciidoc/README.adoc create mode 100644 lectures/asciidoc/index.adoc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3e6af16..40cc7dd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,8 +16,7 @@ build: pages: script: - gradle -Pci=gitlab build - - cp -r lectures/build/docs/revealjs public/slides - - ls public/*/* + - cp -r lectures/build/docs public artifacts: paths: - public diff --git a/lectures/asciidoc/README.adoc b/lectures/asciidoc/README.adoc deleted file mode 100644 index 108b80c..0000000 --- a/lectures/asciidoc/README.adoc +++ /dev/null @@ -1,38 +0,0 @@ -== Multi-eksempel - -Dette eksemplet viser hvordan rigger et multi-prosjekt med gradle, -med del-prosjekter for - -- domenelogikk (core) -- brukergrensesnitt med JavaFX og FXML (fx) -- React-basert web-klient (react) -- web-server med JAX-RS og Jersey (jersey) - -=== Bygging med Gradle - -https://docs.gradle.org/current/userguide/userguide.html[Gradle] er et såkalt byggesystem, som automatiserer oppgaver knyttet til utvikling og kvalitetssikring av programvare, f.eks. -kompilering, kjørings av enhetstester og integrasjonstester, konvertering av dokumentasjon til HTML, pakking som kjørbart program, osv. -Det finnes teknisk sett ikke grenser for hva et byggesystem kan gjøre, generelt handler det om å automatisere bort alt praktisk fikkel, -som ellers hindrer en å jobbe effektivt. - -Det finnes flere byggesystem, de viktigste i Java-verdenen er https://maven.apache.org[Maven] og Gradle, mens Javascript-verdenen har sine, bl.a. https://docs.npmjs.com[npm]. -I dette prosjektet har vi valgt å bruke Gradle, fordi det er enklere å skrive og lese oppsettet og trigge kjøring, mer fleksiblet og -det vi ønsker å automatisere i akkurat dette prosjektet er innafor det Gradle håndterer godt. For andre Java-prosjekter https://phauer.com/2018/moving-back-from-gradle-to-maven/[kan Maven være et bedre alternativ]. -Siden ett av prosjektet bruker Javascript og npm, så -bruker vi et eget Gradle-tillegg som bygger bro til npm. - -Gradle er bygget rundt tre sentrale elementer: - -- oppgaver (tasks) - det som automatiseres, f.eks. kompilering, kjøring av tester, osv. -- prosjekter - enhetene som oppgaver utføres innenfor -- tillegg (plugins) - angir hvilke oppgaver som hører til et visst type prosjekt. - -Oppsettet for bygging består bl.a. i å angi hvilke (del)-prosjekter som inngår i hovedprosjektet, -hvilke avhengigheter det er til eksterne moduler og mellom prosjektene, hvilke tillegg som bør aktiveres for disse prosjektene -(basert på hva slags type prosjekt det er) og hvordan hver type oppgave skal konfigureres. - -NOTE: Det litt spesielle med Gradle er at filene for å sette opp et Gradle-bygg egentlig er https://docs.gradle.org/current/userguide/groovy_build_script_primer.html[kode skrevet i det Java-lignende språket Groovy]. -Koden brukes primært til konfigurasjon, altså bygge opp beskrivelsen av oppgavene, prosjektene og tilleggene og. API-et er utformet slik at koden skal se deklarativ ut. -En kan flette inn vanlig kode også, hvis en skjønner litt om hvordan API-et virker. Dette gir enorm fleksibilitet, men kan også gjøre filene vanskelige å forstå. - -De to viktigste filene for å sette opp et Gradle-bygg er *settings.gradle* og *build.gradle*. diff --git a/lectures/asciidoc/index.adoc b/lectures/asciidoc/index.adoc new file mode 100644 index 0000000..5163e05 --- /dev/null +++ b/lectures/asciidoc/index.adoc @@ -0,0 +1,7 @@ +== Introduksjon til emnet + +link:slides/01-course-intro.html[Lysarkene] gir en oversikt over organiseringen av emnet + +== Bakgrunn om SCRUM (fra i fjor) + +link:slides/02-software-development[Lysarkene] gir en introduksjon til programvareutvikling diff --git a/lectures/build.gradle b/lectures/build.gradle index 5ba62a4..2c3b5d8 100644 --- a/lectures/build.gradle +++ b/lectures/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'org.asciidoctor.jvm.convert' version '3.2.0' - id 'org.asciidoctor.jvm.revealjs' version '3.2.0' + id 'org.asciidoctor.jvm.convert' version '3.3.2' + id 'org.asciidoctor.jvm.revealjs' version '3.3.2' } repositories { @@ -14,7 +14,7 @@ repositories { } dependencies { - asciidoctorGems 'rubygems:asciidoctor-revealjs:4.0.1' // asciidoctorGems 'rubygems:asciidoctor-revealjs:2.0.0' + asciidoctorGems 'rubygems:asciidoctor-revealjs:4.1.0' // asciidoctorGems 'rubygems:asciidoctor-revealjs:2.0.0' } asciidoctor { @@ -22,7 +22,7 @@ asciidoctor { sources { include '*.adoc' } - outputDir file('build/docs/asciidoc') + outputDir file('build/docs') resources { from('asciidoc') { include '**/*.png' @@ -30,9 +30,14 @@ asciidoctor { into '.' } logDocuments = true + + outputOptions { + backends 'html5' + } } asciidoctorj { + version = '2.4.3' modules { // diagram.use() diagram.version '1.5.16' @@ -58,7 +63,7 @@ asciidoctorRevealJs { sources { include '*.adoc' } - outputDir file('build/docs/revealjs') + outputDir file('build/docs/slides') resources { from('revealjs') { include 'images/**' @@ -85,8 +90,7 @@ asciidoctorRevealJs { plugins 'rajgoel/chart/Chart.min.js' //plugins 'IainAndrew/footer-reveal/footer-reveal.min.js' - - + } revealjs { @@ -112,4 +116,5 @@ revealjsPlugins { }*/ } +build.dependsOn 'asciidoctor' build.dependsOn 'asciidoctorRevealJs' diff --git a/public/index.html b/public/index.html index 18f38a7..f65dea5 100644 --- a/public/index.html +++ b/public/index.html @@ -1,13 +1,9 @@ <html> <head> - <title>Home</title> + <title>Placeholder</title> </head> <body> - <h1>Oversikt over lysark</h1> - - <ul> - <li><a href="slides/revealjs/01-course-intro.html">Introduksjon til emnet</a></li> - </ul> + <h1>Should be overwritten when published to gitlab pages</h1> </body> </html> \ No newline at end of file -- GitLab