Page History
...
Swiftlint, min. version 0.41.0.: https://github.com/realm/SwiftLint
...
Headers
Da alle filer skal indeholde headers, jvf. NSP anbefales det at man anvender følgende Xcode templates, når man koder for at garantere headers.
...
| View file | ||||
|---|---|---|---|---|
|
Kopier "NSP" mappen til følgende lokation:
| Code Block | ||
|---|---|---|
| ||
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates |
så skal følgende header indsættes øverst i alle filer i xcode projektet:
// The MIT License
//
// Original work sponsored and donated by The Danish Health Data Authority (http://www.sundhedsdatastyrelsen.dk)
//
// Copyright (C) 2020 The Danish Health Data Authority (http://www.sundhedsdatastyrelsen.dk)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
// of the Software, and to permit persons to whom the Software is furnished to do
// so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
...
Xcode Code Snippets
For at få en "NSP" short cut til at indsætte copy right header kan nedenstående fil placeres på følgende path:
| Code Block |
|---|
~/Library/Developer/Xcode/UserData/CodeSnippets |
| View file | ||||
|---|---|---|---|---|
|
Tools
Projektet indeholder en række tools, der anvendes under projektudvikling. De ligger alle i Tools mappen i repositoryet.
Generering af Localization tools
Alle strings er oprettet i et Localizely projekt (Claus Leth Gregersen er Owner på projektet): https://app.localizely.com/projects/3278b0a4-b1a5-4277-ba70-3159fb9dac9b/main/dashboard
...
Desuden anvendes R.swift til at tilgå strings via et typealias: Localizable
Generering af modeller via OpenAPI spec
Alle modeller der anvendes til JSON responses fra maternity API'et er genereret ud fra OpenAPI speccen. For at generere nye modeller anvendes nedenstående script.
Hvis udvikleren vil opdatere til en ny version af modellerne, skal man først opdatere models-version.config med den version af backenden, som modellerne skal genereres ud fra (Det er kun versionsnummer, "gm-api-" skal ikke med)Herefter kører man et autogenererings script til macOS, som køres fra roden af repositoryet på følgende måde:
| Code Block | ||
|---|---|---|
| ||
./Tools/generate-models.sh |
Krav til minimum version af openapi-generator er 5.3.0, for at kunne køre scriptet.
Modeller
Modeller bygges manuelt ud fra swagger dokumentationen. Dokumentationen finder du her: https://api.gravidmappen-dev.tcs.trifork.dev/gm-bff/swagger-ui/index.html#/Når man opdaterer modellerne, er det vigtigt at man får koden og tests til at bygge igen og committer disse ændringer samlet, hvorefter der tagges i Git med "models-version/VERSIONSNUMMER", således at man altid kan se i Git historikken, hvornår ændringen af modellerne blev foretaget.
Sortering af Xcode projekt fil
For at undgå merge konflikter i projekt-filen, anbefales det at man - inden oprettelse af PR - anvender et script, der sorterer projekt-filen alfabetisk:
...