diff --git a/README.md b/README.md index 0b413c33..5fd92790 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,6 @@ of projects and it's production ready. 2. [Use Cases](#use-cases) 3. [Propagating data model changes into UI](#propagating-data-model-changes-into-ui) 4. [Stores (Repositories)](#stores-repositories) -5. [Templates](#templates) ## Getting started - Minimal project file hierarchy Minimal working project must contain files as presented in `example-minimal` @@ -589,76 +588,6 @@ doAfterActivityInjection { activity -> ``` See [these tests]([https://github.com/futuredapp/arkitekt](https://github.com/futuredapp/arkitekt/tree/4.x/example/src/sharedTest/java/app/futured/sample/ui)) in `example` module for more detailed samples of espresso test that can be executed as local unit tests or connected android tests. -## Templates - -Arkitekt framework requires several files to be created with each new Activity or Fragment. To make the process of screen creation smooth, our framework is shipped with a template module. It contains templates for creating "Arkitekt Activity" and "Arkitekt Fragment" via Android Studio GUI. - -To import templates into Android Studio follow these steps: - -**On Mac/Linux** - - 1. Add plugin into your project Gradle file -``` -plugins { - id "app.futured.arkitekt.templates" version "LatestVersion" -} -``` - 2. Sync Gradle dependencies - 3. Run from your Android Studio terminal -``` -./gradlew copyTemplates -``` - 4. Restart Android Studio - -> Note: You can also run this task from Gradle sidebar in Android Studio. You can find it under **Tasks -> arkitekt -> copyTemplates** - -**On Windows** - - 1. Copy folders */ArkitektActivity* and */ArkitektFragment* from *arkitekt\templates\src\main\resources\templates* in to *C:\Program Files\Android\Android Studio\plugins\android\lib\templates\other* - - 2. Restart/Start Android Studio - - -**Prerequisites to use templates** - 1. `ConstraintLayout` dependency - Layout generated by template has `ConstraintLayout` as a root. - 2. BaseClasses - `BaseBindingActivity` and `BaseBindingFragment` in package `your.app.pkg.ui.base`. - -```kotlin -import androidx.databinding.ViewDataBinding -import app.futured.arkitekt.core.BaseViewModel -import app.futured.arkitekt.core.ViewState -import app.futured.arkitekt.dagger.activity.BaseDaggerBindingActivity -import your.app.pkg.BR - -abstract class BaseBindingActivity, VS : ViewState, B : ViewDataBinding> : - BaseDaggerBindingActivity() { - - override val brViewVariableId = BR.view - override val brViewModelVariableId = BR.viewModel - override val brViewStateVariableId = BR.viewState -} -``` - - -```kotlin -import androidx.databinding.ViewDataBinding -import app.futured.arkitekt.core.BaseViewModel -import app.futured.arkitekt.core.ViewState -import app.futured.arkitekt.dagger.fragment.BaseDaggerBindingFragment -import your.app.pkg.BR - -abstract class BaseBindingFragment, VS : ViewState, B : ViewDataBinding> : - BaseDaggerBindingFragment() { - - override val brViewVariableId = BR.view - override val brViewModelVariableId = BR.viewModel - override val brViewStateVariableId = BR.viewState -} -``` - -When the templates are in place you can use them directly from GUI -![AS Example](extras/arkitekt_template_example.png) - # License Arkitekt is available under the MIT license. See the [LICENSE file](LICENCE) for more information. diff --git a/build.gradle.kts b/build.gradle.kts index 3c2033ae..8fafa5de 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,9 +6,6 @@ buildscript { repositories { google() jcenter() - flatDir { - dirs("templates/build/libs") - } } dependencies { classpath(Deps.gradlePlugin) @@ -24,8 +21,6 @@ plugins { idea id(Deps.Plugins.detekt) version Versions.detekt id(Deps.Plugins.ktlint) version Versions.ktlint -// uncomment this line for local testing purposes during template module development -// id(ProjectSettings.Templates.id) version ProjectSettings.version } tasks { diff --git a/buildSrc/src/main/kotlin/ProjectSettings.kt b/buildSrc/src/main/kotlin/ProjectSettings.kt index b10bda13..dc0932d9 100644 --- a/buildSrc/src/main/kotlin/ProjectSettings.kt +++ b/buildSrc/src/main/kotlin/ProjectSettings.kt @@ -10,13 +10,6 @@ object ProjectSettings { */ val version = System.getenv("VERSION_NAME") ?: "0.0.1-SNAPSHOT" - object Templates { - const val module = "templates" - const val id = "$group.$module" - const val name = "copyTemplates" - const val implementationClass = "app.futured.arkitekt.templates.Templates" - } - object Core { const val artifact = "core" const val libraryDescription = "Core module of Arkitekt framework" diff --git a/extras/README.md b/extras/README.md index 4dc0b776..35aa64c2 100644 --- a/extras/README.md +++ b/extras/README.md @@ -1,4 +1,3 @@ # MVVM Android extras content - **architecture-diagram.png** - A diagram simply describes the main parts of the architecture. The source file in the draw.io format can be changed in [Google Drive](https://drive.google.com/drive/u/1/folders/1SkculA_-hh0Is6bfxd8HrgF6Iv6hXQ3s) (if you've got permission). -- **arkitekt_template_example.png** - Screenshot showing where to find action to use our template files. diff --git a/extras/arkitekt_template_example.png b/extras/arkitekt_template_example.png deleted file mode 100644 index 4b35609d..00000000 Binary files a/extras/arkitekt_template_example.png and /dev/null differ diff --git a/settings.gradle.kts b/settings.gradle.kts index a4d908c0..7f9c523d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,26 +10,8 @@ include( ":rx-usecases", ":cr-usecases", ":bindingadapters", - ":templates", ":arkitekt-lint", ":core-test", ":rx-usecases-test", ":cr-usecases-test" ) - -pluginManagement { - repositories { - mavenCentral() - gradlePluginPortal() - flatDir { - dirs("templates/build/libs") - } - } - resolutionStrategy { - eachPlugin { - if (requested.id.id == "app.futured.arkitekt.templates") { - useModule("app.futured.arkitekt:templates:${requested.version}") - } - } - } -} diff --git a/templates/.gitignore b/templates/.gitignore deleted file mode 100644 index 796b96d1..00000000 --- a/templates/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/templates/build.gradle.kts b/templates/build.gradle.kts deleted file mode 100644 index a5a7c62a..00000000 --- a/templates/build.gradle.kts +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - `kotlin-dsl` - id("java-gradle-plugin") - id("maven-publish") - id("com.gradle.plugin-publish") version "0.11.0" -} - -project.setProperty("archivesBaseName", ProjectSettings.Templates.module) - -version = ProjectSettings.version -group = ProjectSettings.group - -repositories { - jcenter() -} - -kotlinDslPluginOptions { - experimentalWarning.set(false) -} - -pluginBundle { - website = "https://github.com/futuredapp/arkitekt" - vcsUrl = "https://github.com/futuredapp/arkitekt" - tags = listOf("android", "template", "mvvm") -} -gradlePlugin { - plugins { - create(ProjectSettings.Templates.name) { - id = ProjectSettings.Templates.id - displayName = "The Arkitekt Android Studio templates" - description = "This will add option to create new Arkitekt Fragment an Arkitekt Activity.\n" + - "Multiple files required by Arkitekt framework will be automatically generated (see: https://github.com/futuredapp/arkitekt)" - implementationClass = ProjectSettings.Templates.implementationClass - } - } -} - -tasks.register("install") { - dependsOn("build") - dependsOn("publishToMavenLocal") -} diff --git a/templates/src/main/java/app/futured/arkitekt/templates/Templates.java b/templates/src/main/java/app/futured/arkitekt/templates/Templates.java deleted file mode 100644 index a12e87c6..00000000 --- a/templates/src/main/java/app/futured/arkitekt/templates/Templates.java +++ /dev/null @@ -1,166 +0,0 @@ -package app.futured.arkitekt.templates; - -import org.gradle.api.Plugin; -import org.gradle.api.Project; -import org.gradle.api.file.FileTree; -import org.gradle.api.tasks.Copy; - -import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class Templates implements Plugin { - - private static final String TASK_NAME = "copyTemplates"; - private static final String TASK_GROUP = "arkitekt"; - private static final String TEMPLATES = "templates"; - private static final String AS_REGEX = "/[A-Za-z/]*/[Aa]ndroid[ -][Ss]tudio[ 0-9A-Za-z.()]*\\(/Contents\\)\\?"; - private static final String AS_TEMPLATES = "/plugins/android/lib/templates/other"; - - @Override - public void apply(Project project) { - project.getTasks().create(TASK_NAME, Copy.class, task -> { - task.setGroup(TASK_GROUP); - - copyToBuildDir(task, project); - - task.doLast(t -> { - System.out.println("Copy templates"); - - List paths = getAndroidStudioVersions(project); - List templates = getRousourceFolders(project); - - if (paths.size() <= 0) { - System.out.println("\nThere is no Android Studio to copy templates!"); - return; - } - - System.out.println("\nNew templates:"); - for (String template : templates) { - System.out.println("\t> " + template); - } - - System.out.println("Versions:"); - for (String path : paths) { - System.out.println("\t> " + path + AS_TEMPLATES); - removeOldTemplatesFromAndroidStudio(path, templates, project); - copyToAndroidStudio(path, project); - } - - deleteTemporaryFiles(project); - - System.out.println("\nTemplates copied, restart Android Studio, please!"); - }); - }); - } - - /** - * Copy templates from dependency jar file to build dir - * - * @param task {@link Copy} - * @param project {@link Project} - */ - private void copyToBuildDir(Copy task, Project project) { - String resources = getClass().getProtectionDomain().getCodeSource().getLocation().toExternalForm(); - FileTree from = project.zipTree(resources) - .matching(p -> p.include(TEMPLATES + "/**")) - .getAsFileTree(); - - task.from(from, t -> t.include("**/")); - task.into(project.getBuildDir()); - } - - /** - * Get Android Studio paths from running processes - * - * @param project {@link Project} - * @return path list - */ - private List getAndroidStudioVersions(Project project) { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - - project.exec(e -> { - e.commandLine( - "bash", - "-c", - "ps -ax | grep --only-matching '" + AS_REGEX + "' | sort --unique" - ); - e.setStandardOutput(out); - }); - - List lines = new ArrayList<>(Arrays.asList(out.toString().split("[\\r\\n]+"))); - lines.removeAll(Arrays.asList("", null)); - - return lines; - } - - /** - * Get all new templates - * - * @param project {@link Project} - * @return path list - */ - private List getRousourceFolders(Project project) { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - - project.exec(e -> { - e.commandLine( - "ls", - project.getBuildDir().getAbsolutePath() + "/" + TEMPLATES - ); - e.setStandardOutput(out); - }); - - List lines = new ArrayList<>(Arrays.asList(out.toString().split("[\\r\\n\\t ]+"))); - lines.removeAll(Arrays.asList("", null)); - - return lines; - } - - /** - * Remove all old templates from Android Studio - * - * @param path {@link String} - * @param templates {@link List} - * @param project {@link Project} - */ - private void removeOldTemplatesFromAndroidStudio(String path, List templates, Project project) { - for (String template : templates) { - String deletePath = path + AS_TEMPLATES + "/" + template; - project.exec(e -> e.commandLine( - "rm", - "-rf", - deletePath - )); - } - } - - /** - * Copy templates to Android Studio - * - * @param path {@link String} - * @param project {@link Project} - */ - private void copyToAndroidStudio(String path, Project project) { - project.exec(e -> e.commandLine( - "cp", - "-af", - project.getBuildDir().getAbsolutePath() + "/" + TEMPLATES + "/.", - path + AS_TEMPLATES + "/." - )); - } - - /** - * Delete temporary files from build dir - * - * @param project {@link Project} - */ - private void deleteTemporaryFiles(Project project) { - project.exec(e -> e.commandLine( - "rm", - "-rf", - project.getBuildDir().getAbsolutePath() + "/" + TEMPLATES - )); - } -} diff --git a/templates/src/main/resources/META-INF.gradle-plugins/templates.properties b/templates/src/main/resources/META-INF.gradle-plugins/templates.properties deleted file mode 100644 index e708101b..00000000 --- a/templates/src/main/resources/META-INF.gradle-plugins/templates.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=app.futured.arkitekt.templates.Templates diff --git a/templates/src/main/resources/templates/ArkitektActivity/globals.xml.ftl b/templates/src/main/resources/templates/ArkitektActivity/globals.xml.ftl deleted file mode 100644 index 7b233d59..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/globals.xml.ftl +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - <#include "../../activities/common/common_globals.xml.ftl" /> - - diff --git a/templates/src/main/resources/templates/ArkitektActivity/recipe.xml.ftl b/templates/src/main/resources/templates/ArkitektActivity/recipe.xml.ftl deleted file mode 100644 index 4ef621ab..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/recipe.xml.ftl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Activity.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Activity.kt.ftl deleted file mode 100644 index b08678a8..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Activity.kt.ftl +++ /dev/null @@ -1,19 +0,0 @@ -package ${packageName} - -import android.content.Context -import android.content.Intent -import ${applicationPackage}.R -import ${applicationPackage}.databinding.Activity${className}Binding -import ${applicationPackage}.ui.base.BaseBindingActivity -import javax.inject.Inject - -class ${className}Activity : BaseBindingActivity<${className}ViewModel, ${className}ViewState, Activity${className}Binding>(), ${className}View { - - companion object { - fun getStartIntent(context: Context) = Intent(context, ${className}Activity::class.java) - } - - @Inject override lateinit var viewModelFactory: ${className}ViewModelFactory - - override val layoutResId = R.layout.${activityToLayout(className)} -} diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ActivityModule.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ActivityModule.kt.ftl deleted file mode 100644 index 91e65324..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ActivityModule.kt.ftl +++ /dev/null @@ -1,6 +0,0 @@ -package ${packageName} - -import dagger.Module - -@Module -class ${className}ActivityModule diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Events.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Events.kt.ftl deleted file mode 100644 index 94cd0cd0..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/Events.kt.ftl +++ /dev/null @@ -1,5 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.event.Event - -sealed class ${className}Event : Event<${className}ViewState>() diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/View.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/View.kt.ftl deleted file mode 100644 index 8f485ea1..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/View.kt.ftl +++ /dev/null @@ -1,5 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.BaseView - -interface ${className}View : BaseView diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModel.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModel.kt.ftl deleted file mode 100644 index 0caed64d..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModel.kt.ftl +++ /dev/null @@ -1,15 +0,0 @@ -package ${packageName} -<#if useCaseType=="coroutines"> -import app.futured.arkitekt.crusecases.BaseCrViewModel -<#else> -import app.futured.arkitekt.rxusecases.BaseRxViewModel - -import javax.inject.Inject - -class ${className}ViewModel @Inject constructor( - override val viewState: ${className}ViewState -<#if useCaseType=="coroutines"> -) : BaseCrViewModel<${className}ViewState>() -<#else> -) : BaseRxViewModel<${className}ViewState>() - diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModelFactory.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModelFactory.kt.ftl deleted file mode 100644 index 3b387b0b..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewModelFactory.kt.ftl +++ /dev/null @@ -1,12 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.dagger.factory.BaseViewModelFactory -import javax.inject.Inject -import javax.inject.Provider -import kotlin.reflect.KClass - -class ${className}ViewModelFactory @Inject constructor( - override val viewModelProvider: Provider<${className}ViewModel> -) : BaseViewModelFactory<${className}ViewModel>() { - override val viewModelClass: KClass<${className}ViewModel> = ${className}ViewModel::class -} diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewState.kt.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewState.kt.ftl deleted file mode 100644 index 2676af98..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/ViewState.kt.ftl +++ /dev/null @@ -1,6 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.ViewState -import javax.inject.Inject - -class ${className}ViewState @Inject constructor() : ViewState diff --git a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/layout.xml.ftl b/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/layout.xml.ftl deleted file mode 100644 index e404aeea..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/root/src/app_package/layout.xml.ftl +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/templates/src/main/resources/templates/ArkitektActivity/template.xml b/templates/src/main/resources/templates/ArkitektActivity/template.xml deleted file mode 100644 index 5d884b67..00000000 --- a/templates/src/main/resources/templates/ArkitektActivity/template.xml +++ /dev/null @@ -1,31 +0,0 @@ - - diff --git a/templates/src/main/resources/templates/ArkitektFragment/globals.xml.ftl b/templates/src/main/resources/templates/ArkitektFragment/globals.xml.ftl deleted file mode 100644 index b8045562..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/globals.xml.ftl +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - <#include "../../activities/common/common_globals.xml.ftl" /> - - diff --git a/templates/src/main/resources/templates/ArkitektFragment/recipe.xml.ftl b/templates/src/main/resources/templates/ArkitektFragment/recipe.xml.ftl deleted file mode 100644 index bd129d79..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/recipe.xml.ftl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Events.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Events.kt.ftl deleted file mode 100644 index 94cd0cd0..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Events.kt.ftl +++ /dev/null @@ -1,5 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.event.Event - -sealed class ${className}Event : Event<${className}ViewState>() diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Fragment.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Fragment.kt.ftl deleted file mode 100644 index 53584807..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/Fragment.kt.ftl +++ /dev/null @@ -1,19 +0,0 @@ -package ${packageName} - -import ${applicationPackage}.R -import ${applicationPackage}.databinding.Fragment${className}Binding -import ${applicationPackage}.ui.base.BaseBindingFragment -import javax.inject.Inject - -class ${className}Fragment : BaseBindingFragment<${className}ViewModel, ${className}ViewState, Fragment${className}Binding>(), ${className}View { - - <#if !isNavComponents> - companion object { - fun newInstance(): ${className}Fragment = ${className}Fragment() - } - - - @Inject override lateinit var viewModelFactory: ${className}ViewModelFactory - - override val layoutResId = R.layout.fragment_${classToResource(className)} -} diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/FragmentModule.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/FragmentModule.kt.ftl deleted file mode 100644 index d3d7f0ab..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/FragmentModule.kt.ftl +++ /dev/null @@ -1,6 +0,0 @@ -package ${packageName} - -import dagger.Module - -@Module -class ${className}FragmentModule diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/View.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/View.kt.ftl deleted file mode 100644 index 8f485ea1..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/View.kt.ftl +++ /dev/null @@ -1,5 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.BaseView - -interface ${className}View : BaseView diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModel.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModel.kt.ftl deleted file mode 100644 index f23f64a3..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModel.kt.ftl +++ /dev/null @@ -1,16 +0,0 @@ -package ${packageName} -<#if useCaseType=="coroutines"> -import app.futured.arkitekt.crusecases.BaseCrViewModel -<#else> -import app.futured.arkitekt.rxusecases.BaseRxViewModel - -import javax.inject.Inject - -class ${className}ViewModel @Inject constructor( - override val viewState: ${className}ViewState -<#if useCaseType=="coroutines"> -) : BaseCrViewModel<${className}ViewState>() -<#else> -) : BaseRxViewModel<${className}ViewState>() - - diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModelFactory.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModelFactory.kt.ftl deleted file mode 100644 index 295539ae..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewModelFactory.kt.ftl +++ /dev/null @@ -1,12 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.dagger.factory.BaseViewModelFactory -import javax.inject.Inject -import javax.inject.Provider -import kotlin.reflect.KClass - -class ${className}ViewModelFactory @Inject constructor( - override val viewModelProvider: Provider<${className}ViewModel> -) : BaseViewModelFactory<${className}ViewModel>() { - override val viewModelClass: KClass<${className}ViewModel> = ${className}ViewModel::class -} diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewState.kt.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewState.kt.ftl deleted file mode 100644 index 2676af98..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/ViewState.kt.ftl +++ /dev/null @@ -1,6 +0,0 @@ -package ${packageName} - -import app.futured.arkitekt.core.ViewState -import javax.inject.Inject - -class ${className}ViewState @Inject constructor() : ViewState diff --git a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/layout.xml.ftl b/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/layout.xml.ftl deleted file mode 100644 index ef10930d..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/root/src/app_package/layout.xml.ftl +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/templates/src/main/resources/templates/ArkitektFragment/template.xml b/templates/src/main/resources/templates/ArkitektFragment/template.xml deleted file mode 100644 index e3b43c68..00000000 --- a/templates/src/main/resources/templates/ArkitektFragment/template.xml +++ /dev/null @@ -1,38 +0,0 @@ - -