Skip to content
Snippets Groups Projects
Commit 13803d75 authored by George Adrian Stoica's avatar George Adrian Stoica
Browse files

update lecture 6 slides

parent 2b543bf1
No related branches found
No related tags found
No related merge requests found
Pipeline #84747 passed
...@@ -14,95 +14,63 @@ IT1901 Fall 2019 - {LECTURE_NO} ...@@ -14,95 +14,63 @@ IT1901 Fall 2019 - {LECTURE_NO}
[color = "#fff6d5"] [color = "#fff6d5"]
== Overview == Overview
[.smaller-80] [.smaller-80]
- Feedback from last lecture - Administrative issues
- Build tools - Build tools
- Gradle
- Testing - Testing
- JUnit
- TestFX
- Mockito
- Jacoco
[background-color = "#124990"] [background-color = "#124990"]
[color = "#fff6d5"] [color = "#fff6d5"]
== Feedback from last lecture == Administrative issues
== !
[.center-paragraph]
image::../images/lecture03/q1.png[width=700]
== !
[.center-paragraph]
image::../images/lecture03/q2.png[width=700]
== !
[.center-paragraph]
image::../images/lecture03/q3.png[width=700]
== Individual assignment 1
== Feedback * delivered project must be in the master branch
[.left] * project needs to be named "valutakalkulator" and the packages, build files and module information need to be named consistently and reference "valutakalkulator"
Go to: + * project must build successfully and run - check that before delivering
app.one2act.no + * .gitpod.dockerfile and .gitpod.yml - are required for gitpod support
Session: +
KIPAT +
[.right] == Individual assignment 1 (cont.)
image::../images/lecture02/qr-app-one2act-no.svg[width=400]
== Example code on gitlab * gitpod label in readme.md to point to your project
* project name must be the same with the NTNU username
* project must be created inside https://gitlab.stud.idi.ntnu.no/it1901/students-2020
Have you managed to build and run the example? == Groups
- A) Yes * groups will be finalized today
- B) No * TAs assigned to groups will be announced on Blackboard
* work on the contract
* choose project (domain)
* supervision and meetings use A4-100 (Wednesdays and Fridays)
== Deliverable 1
Have you selected the domain for your project? == Group Deliverable 1
- A) Yes programmering av en enkel app, bruk av maven til bygging, og git og gitlab til kodehåndtering
- B) No
=== Deliverable 1
programmering av en enkel app, bruk av gradle til bygging, og git og gitlab til kodehåndtering
Krav til innleveringen: Krav til innleveringen:
- Kodingsprosjektet skal ligge i repoet på gitlab - Kodingsprosjektet skal ligge i repoet på gitlab
- Prosjektet skal være konfigurert til å bygge med gradle - Prosjektet skal være konfigurert til å bygge med maven
=== Deliverable 1 == Group Deliverable 1
- En README.md-fil på rotnivå i repoet skal beskrive repo-innholdet, spesielt hvilken mappe inni repoet som utgjør kodingsprosjektet. - En README.md-fil på rotnivå i repoet skal beskrive repo-innholdet, spesielt hvilken mappe inni repoet som utgjør kodingsprosjektet.
- En README.md-fil (evt. en fil som README.md lenker til) inni prosjektet skal beskrive hva appen handler om og er ment å gjøre (når den er mer eller mindre ferdig). Ha med et illustrerende skjermbilde, så det er lettere å forstå. Det må også være minst én brukerhistorie for funksjonaliteten dere starter med. - En README.md-fil (evt. en fil som README.md lenker til) inni prosjektet skal beskrive hva appen handler om og er ment å gjøre (når den er mer eller mindre ferdig). Ha med et illustrerende skjermbilde, så det er lettere å forstå. Det må også være minst én brukerhistorie for funksjonaliteten dere starter med.
=== Deliverable 1 == Group Deliverable 1
- Det må ligge inne (i gitlab) utviklingsoppgaver (issues) tilsvarende brukerhistorien, hvor hver utviklingsoppgave må være egnet til å utføres som en egen enhet. De som er påbegynt må være tilordnet det gruppemedlemmet som har ansvaret. - Det må ligge inne (i gitlab) utviklingsoppgaver (issues) tilsvarende brukerhistorien, hvor hver utviklingsoppgave må være egnet til å utføres som en egen enhet. De som er påbegynt må være tilordnet det gruppemedlemmet som har ansvaret.
=== Deliverable 1 == Group Deliverable 1
- Vi stiller ikke krav om at dere er kommet så langt, men det må i hvert fall være noe i hvert av de tre arkitekturlagene, domenelogikk, brukergrensesnitt (JavaFX-GUI) og persistens (fillagring, men ikke nødvendigvis JSON), slik at appen kan kjøres og vise frem "noe". For at det skal være overkommelig, er det viktig at domenet er veldig enkelt i første omgang. Det er viktigere at det som er kodet er ordentlig gjort. Koden som er sjekket inn bør være knyttet til tilsvarende utviklingsoppgave. - Vi stiller ikke krav om at dere er kommet så langt, men det må i hvert fall være noe i hvert av de tre arkitekturlagene, domenelogikk, brukergrensesnitt (JavaFX-GUI) og persistens (fillagring, men ikke nødvendigvis JSON), slik at appen kan kjøres og vise frem "noe". For at det skal være overkommelig, er det viktig at domenet er veldig enkelt i første omgang. Det er viktigere at det som er kodet er ordentlig gjort. Koden som er sjekket inn bør være knyttet til tilsvarende utviklingsoppgave.
=== Deliverable 1 == Group Deliverable 1
- Gradle skal være konfigurert så en kan kjøre app-en vha. gradle-oppgaven run. - Maven skal være konfigurert så en kan kjøre app-en vha. gradle-oppgaven run.
- Det må finnes minst én test som kan kjøres med gradle. Bygget skal være rigget til å rapportere testdekningsgrad, som derfor skal være over 0%. - Det må finnes minst én test som kan kjøres med maven. Bygget skal være rigget til å rapportere testdekningsgrad, som derfor skal være over 0%.
- Prosjektet skal være konfigurert for gitpod og kan åpnes i gitpod vha. gitpod-merkelappen.
- Bruk simpleexample-prosjektet som inspirasjon, men ikke kopier kode direkte. - Bruk simpleexample-prosjektet som inspirasjon, men ikke kopier kode direkte.
== What is the biggest impediment preventing you to move forward with the project?
Write keywords or a short sentence. use "none" if you have no impediments.
[background-color = "#124990"] [background-color = "#124990"]
[color = "#fff6d5"] [color = "#fff6d5"]
== Build tools == Build tools
...@@ -213,24 +181,40 @@ image::../images/lecture03/gradle-tree.png[width=700] ...@@ -213,24 +181,40 @@ image::../images/lecture03/gradle-tree.png[width=700]
[.smaller-40] [.smaller-40]
https://guides.gradle.org/creating-new-gradle-builds/ https://guides.gradle.org/creating-new-gradle-builds/
[background-color = "#124990"]
[color = "#fff6d5"]
== More on Maven
== Exercise == Maven (3)
Work with the colleague next to you. * manages builds, dependencies, versions
Go to gradle.org and create a "hello world" gradle build using the available documentation. * configuration file is `pom.xml`
Time 15' * has good IDE support
* central repository(ies) for dependencies
== Exercise feedback == Maven - pom.xml
Have you succeeded to create the required gradle build? * modelVersion (4.0.0) config file format version
* groupId - ID of group owning the project
* artifactId - name of the final output
* version - version of the created artifact
- A) Yes == Maven - pom.xml (cont.)
- B) No
* dependencies - list of artifacts we depend upon
* packaging - e.g. .jar (Java archive)
* description
[background-color = "#124990"] https://maven.apache.org/pom.html#Quick_Overview
[color = "#fff6d5"]
== Gradle demo == Maven dependencies
* list of dependencies
* each dependecy has specified
** groupId
** artifactId
** version (optional, good to have)
** scope (default is `compile`)
[background-color = "#124990"] [background-color = "#124990"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment