diff --git a/lectures/revealjs/ci.adoc b/lectures/revealjs/ci.adoc index 1a87d4ecf081dff26ee1ce9abbbff9381a9312fd..e0103f0e52ee0f51e60506dd9aab5c8aca41b2d4 100644 --- a/lectures/revealjs/ci.adoc +++ b/lectures/revealjs/ci.adoc @@ -151,3 +151,53 @@ Eksempel: ** jaxrs - REST API ** jersey - web-server-app ** webreact - web-klient + +== Avhengigheter + +[.smaller-60] +[.left-60] +* De fleste applikasjon bygger på annen programvare +** større rammeverk, f.eks. JavaFX (UI), Spring (web-server), React (web-klient), osv +** bibliotek for spesifikke tjenester, f.eks. SL4J (logging), Jackson (JSON) +* Det finnes store mengder prosjekter med åpen kildekode av høy kvalitet +* Avhengigheter mellom moduler i samme prosjekt må også deklareres! + +[.right] +image::../images/maven-central.png[width=300, link="https://mvnrepository.com"] + +== Avhengigheter forts. + +[.smaller-60] +* avhengigheter er _eksplisitte_ +** deklareres i *build.gradle* i *dependencies*-seksjonen +** krever (fullt) navn og versjon (major.minor.micro) +** bibliotek må finnes i deklarerte *repositories* +* _formålet_ angir når avhengigheten brukes +** *compile* - kompilering (og kjøring) av vanlig kode +** *test* - kompilering (og kjøring) av testkode +** *implementation* - kjøring (men ikke komp.) av vanlig kode +** *testImplementation* - kjøring (men ikke komp.) av testkode + +== IDE-støtte + +* importere gradle-konfigurerte prosjekter +* basere egen konfigurasjon på gradle sin +** kildekodemapper +** avhengigheter +* utføre gradle-oppgaver, f.eks. kjøre tester + +== Eclipse-støtte + +[.smaller-60] +[.left-60] +* *New > Project... > Gradle Project*: opprette nytt java-prosjekt +* *Import... > Existing Gradle Project* +* *> Gradle > Refresh Gradle Project*: oppdaterer prosjekt fra gradle-konfig. +** kildekodemapper +** avhengigheter +* paneler +** *Gradle Tasks* +** *Gradle Executions* + +[.right] +image::../images/gradle-views.png[width=300] diff --git a/lectures/revealjs/images/gradle-views.png b/lectures/revealjs/images/gradle-views.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ed8ef1d0c0ec1aca4c5cb4199eb4b79ac91361 Binary files /dev/null and b/lectures/revealjs/images/gradle-views.png differ diff --git a/lectures/revealjs/images/maven-central.png b/lectures/revealjs/images/maven-central.png new file mode 100644 index 0000000000000000000000000000000000000000..1d1e4f1421b2ba3c0cb42c5ef4f472f41e14d2c8 Binary files /dev/null and b/lectures/revealjs/images/maven-central.png differ