diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt index 9b74ac6..15d74be 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopService.kt @@ -40,11 +40,14 @@ internal fun Prov.provisionDesktop( validatePrecondition() provisionBasicDesktop(gpg, ssh, gitUserName, gitEmail, submodules) - if (desktopType == DesktopType.OFFICE || desktopType == DesktopType.IDE) { + if (desktopType == DesktopType.OFFICE) { provisionOfficeDesktop(submodules) + verifyOfficeSetup() } if (desktopType == DesktopType.IDE) { + provisionOfficeDesktop(submodules) provisionIdeDesktop(submodules) + verifyIdeSetup() } ProvResult(true) } @@ -72,6 +75,8 @@ fun Prov.provisionIdeDesktop(submodules: List?) { // IDEs installVSC("python", "clojure") installIntelliJ() + } else if (submodules.contains(DesktopSubmodule.VERIFY.name.lowercase())) { + verifyIdeSetup() } } @@ -99,6 +104,8 @@ fun Prov.provisionOfficeDesktop(submodules: List?) { } aptInstall(SPELLCHECKING_DE) + } else if (submodules.contains(DesktopSubmodule.VERIFY.name.lowercase())) { + verifyOfficeSetup() } } @@ -136,5 +143,7 @@ fun Prov.provisionBasicDesktop( configureNoSwappiness() configureBash() installVirtualBoxGuestAdditions() + } else if (submodules.contains(DesktopSubmodule.FIREFOX.name.lowercase())) { + installFirefox() } } diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopSubmodule.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopSubmodule.kt index 8e51de9..7822057 100644 --- a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopSubmodule.kt +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/domain/DesktopSubmodule.kt @@ -1,5 +1,5 @@ package org.domaindrivenarchitecture.provs.desktop.domain enum class DesktopSubmodule { - TEAMS + TEAMS, FIREFOX, VERIFY } \ No newline at end of file diff --git a/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/SyspecCheck.kt b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/SyspecCheck.kt new file mode 100644 index 0000000..527aef6 --- /dev/null +++ b/src/main/kotlin/org/domaindrivenarchitecture/provs/desktop/infrastructure/SyspecCheck.kt @@ -0,0 +1,13 @@ +package org.domaindrivenarchitecture.provs.desktop.infrastructure + +import org.domaindrivenarchitecture.provs.framework.core.Prov +import org.domaindrivenarchitecture.provs.framework.core.ProvResult +import org.domaindrivenarchitecture.provs.syspec.domain.verifySpecFromResource + +fun Prov.verifyIdeSetup(): ProvResult = task { + verifySpecFromResource("syspec-ide-config.yaml") +} + +fun Prov.verifyOfficeSetup(): ProvResult = task { + verifySpecFromResource("syspec-office-config.yaml") +} \ No newline at end of file