Wizard: remove unneeded project templates & rearrange others

This commit is contained in:
Ilya Kirillov
2020-03-24 23:46:28 +03:00
parent 670a98c8bf
commit 1504e607f9
14 changed files with 209 additions and 87 deletions
@@ -30,11 +30,6 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration"), Pattern.compile("^([^\\.]+)$"), null, false);
}
@TestMetadata("androidApplication")
public void testAndroidApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/androidApplication/");
}
@TestMetadata("emptyMultiplatform")
public void testEmptyMultiplatform() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/emptyMultiplatform/");
@@ -60,6 +55,11 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/jvmServerJsClient/");
}
@TestMetadata("mppMobileApplication")
public void testMppMobileApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/mppMobileApplication/");
}
@TestMetadata("multiplatformLibrary")
public void testMultiplatformLibrary() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/multiplatformLibrary/");
@@ -88,11 +88,6 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration"), Pattern.compile("^([^\\.]+)$"), null, false);
}
@TestMetadata("androidApplication")
public void testAndroidApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/androidApplication/");
}
@TestMetadata("emptyMultiplatform")
public void testEmptyMultiplatform() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/emptyMultiplatform/");
@@ -118,6 +113,11 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/jvmServerJsClient/");
}
@TestMetadata("mppMobileApplication")
public void testMppMobileApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/mppMobileApplication/");
}
@TestMetadata("multiplatformLibrary")
public void testMultiplatformLibrary() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/multiplatformLibrary/");
@@ -146,11 +146,6 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration"), Pattern.compile("^([^\\.]+)$"), null, false);
}
@TestMetadata("androidApplication")
public void testAndroidApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/androidApplication/");
}
@TestMetadata("emptyMultiplatform")
public void testEmptyMultiplatform() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/emptyMultiplatform/");
@@ -176,6 +171,11 @@ public class ProjectTemplateNewWizardProjectImportTestGenerated extends Abstract
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/jvmServerJsClient/");
}
@TestMetadata("mppMobileApplication")
public void testMppMobileApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/mppMobileApplication/");
}
@TestMetadata("multiplatformLibrary")
public void testMultiplatformLibrary() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/multiplatformLibrary/");
@@ -13,6 +13,7 @@ repositories {
mavenCentral()
}
dependencies {
implementation project(':shared')
implementation 'androidx.core:core-ktx:1.1.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
@@ -21,7 +22,7 @@ dependencies {
android {
compileSdkVersion 29
defaultConfig {
applicationId 'me.user.app'
applicationId 'me.user.androidApp'
minSdkVersion 24
targetSdkVersion 29
versionCode 1
@@ -13,6 +13,7 @@ repositories {
mavenCentral()
}
dependencies {
implementation(project(":shared"))
implementation("androidx.core:core-ktx:1.1.0")
implementation("androidx.appcompat:appcompat:1.1.0")
implementation("androidx.constraintlayout:constraintlayout:1.1.3")
@@ -21,7 +22,7 @@ dependencies {
android {
compileSdkVersion(29)
defaultConfig {
applicationId = "me.user.app"
applicationId = "me.user.androidApp"
minSdkVersion(24)
targetSdkVersion(29)
versionCode = 1
@@ -12,7 +12,9 @@ pluginManagement {
}
}
}
rootProject.name = 'AndroidApplication'
rootProject.name = 'MPPMobileApplication'
include(':app')
include(':shared')
include(':androidApp')
@@ -12,7 +12,9 @@ pluginManagement {
}
}
}
rootProject.name = "AndroidApplication"
rootProject.name = "MPPMobileApplication"
include(":app")
include(":shared")
include(":androidApp")
@@ -0,0 +1,79 @@
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.70'
id 'com.android.library'
id 'kotlin-android-extensions'
}
group = 'me.user'
version = '1.0-SNAPSHOT'
repositories {
gradlePluginPortal()
google()
jcenter()
mavenCentral()
}
kotlin {
android()
iosX64('ios') {
binaries {
framework {
baseName = 'shared'
}
}
}
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib-common')
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
androidMain {
dependencies {
implementation kotlin('stdlib-jdk7')
implementation 'androidx.core:core-ktx:1.1.0'
}
}
androidTest {
}
iosMain {
}
iosTest {
}
}
}
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 24
targetSdkVersion 29
versionCode 1
versionName '1.0'
}
buildTypes {
'release' {
minifyEnabled false
}
}
}
task(packForXcode, type: Sync) {
group = 'build'
def mode = System.getenv('CONFIGURATION') ?: 'DEBUG'
def framework = kotlin.targets.ios.binaries.getFramework(mode)
inputs.property('mode', mode)
dependsOn(framework.linkTask)
def targetDir = new File(buildDir, 'xcode-frameworks')
from({ framework.outputDirectory })
into(targetDir)
}
tasks.getByName("build").dependsOn(packForXcode)
@@ -0,0 +1,73 @@
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
plugins {
kotlin("multiplatform") version "1.3.70"
id("com.android.library")
id("kotlin-android-extensions")
}
group = "me.user"
version = "1.0-SNAPSHOT"
repositories {
gradlePluginPortal()
google()
jcenter()
mavenCentral()
}
kotlin {
android()
iosX64("ios") {
binaries {
framework {
baseName = "shared"
}
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(kotlin("stdlib-common"))
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val androidMain by getting {
dependencies {
implementation(kotlin("stdlib-jdk7"))
implementation("androidx.core:core-ktx:1.1.0")
}
}
val androidTest by getting
val iosMain by getting
val iosTest by getting
}
}
android {
compileSdkVersion(29)
defaultConfig {
minSdkVersion(24)
targetSdkVersion(29)
versionCode = 1
versionName = "1.0"
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
}
}
}
val packForXcode by tasks.creating(Sync::class) {
group = "build"
val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
val framework = kotlin.targets.getByName<KotlinNativeTarget>("ios").binaries.getFramework(mode)
inputs.property("mode", mode)
dependsOn(framework.linkTask)
val targetDir = File(buildDir, "xcode-frameworks")
from({ framework.outputDirectory })
into(targetDir)
}
tasks.getByName("build").dependsOn(packForXcode)
@@ -1,6 +1,6 @@
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.70'
id 'com.android.application'
id 'com.android.library'
id 'kotlin-android-extensions'
}
group = 'me.user'
@@ -14,7 +14,13 @@ repositories {
}
kotlin {
android()
iosX64('ios')
iosX64('ios') {
binaries {
framework {
baseName = 'library'
}
}
}
sourceSets {
commonMain {
dependencies {
@@ -47,7 +53,6 @@ kotlin {
android {
compileSdkVersion 29
defaultConfig {
applicationId 'me.user.android'
minSdkVersion 24
targetSdkVersion 29
versionCode 1
@@ -1,6 +1,6 @@
plugins {
kotlin("multiplatform") version "1.3.70"
id("com.android.application")
id("com.android.library")
id("kotlin-android-extensions")
}
group = "me.user"
@@ -14,7 +14,13 @@ repositories {
}
kotlin {
android()
iosX64("ios")
iosX64("ios") {
binaries {
framework {
baseName = "library"
}
}
}
sourceSets {
val commonMain by getting {
dependencies {
@@ -41,7 +47,6 @@ kotlin {
android {
compileSdkVersion(29)
defaultConfig {
applicationId = "me.user.android"
minSdkVersion(24)
targetSdkVersion(29)
versionCode = 1
@@ -28,11 +28,6 @@ public class ProjectTemplateBuildFileGenerationTestGenerated extends AbstractPro
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration"), Pattern.compile("^([^\\.]+)$"), null, false);
}
@TestMetadata("androidApplication")
public void testAndroidApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/androidApplication/");
}
@TestMetadata("emptyMultiplatform")
public void testEmptyMultiplatform() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/emptyMultiplatform/");
@@ -58,6 +53,11 @@ public class ProjectTemplateBuildFileGenerationTestGenerated extends AbstractPro
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/jvmServerJsClient/");
}
@TestMetadata("mppMobileApplication")
public void testMppMobileApplication() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/mppMobileApplication/");
}
@TestMetadata("multiplatformLibrary")
public void testMultiplatformLibrary() throws Exception {
runTest("libraries/tools/new-project-wizard/new-project-wizard-cli/testData/projectTemplatesBuildFileGeneration/multiplatformLibrary/");
@@ -64,16 +64,14 @@ sealed class ProjectTemplate : DisplayableSettingItem {
companion object {
val ALL = listOf(
EmptySingleplatformProjectTemplate,
EmptyMultiplatformProjectTemplate,
JvmConsoleApplication,
JvmServerJsClient,
MultiplatformLibrary,
AndroidApplication,
IOSApplication,
MPPMobileApplication,
MultiplatformMobileLibrary,
EmptyMultiplatformProjectTemplate,
MultiplatformLibrary,
NativeConsoleApplication,
JsBrowserApplication
JsBrowserApplication,
JvmServerJsClient
)
fun byId(id: String): ProjectTemplate? = ALL.firstOrNull {
@@ -164,7 +162,7 @@ object EmptyMultiplatformProjectTemplate : ProjectTemplate() {
object JvmConsoleApplication : ProjectTemplate() {
override val title = "Console Application"
override val description = "Create a console application with Kotlin/JVM. Use it for prototyping or testing purposes"
override val description = "Create a console application with Kotlin/JVM. Use it for prototyping or testing purposes."
override val suggestedProjectName = "myConsoleApplication"
override val projectKind = ProjectKind.Singleplatform
@@ -228,29 +226,6 @@ object JvmServerJsClient : ProjectTemplate() {
)
}
object AndroidApplication : ProjectTemplate() {
override val title = "Android Application"
override val description = "Simple Android application with single activity"
override val suggestedProjectName = "myAndroidApplication"
override val projectKind = ProjectKind.Android
override val setsPluginSettings: List<SettingWithValue<*, *>>
get() = listOf(
KotlinPlugin::modules withValue listOf(
Module(
"app",
AndroidSinglePlatformModuleConfigurator,
template = null,
sourcesets = SourcesetType.ALL.map { type ->
Sourceset(type, dependencies = emptyList())
},
subModules = emptyList()
)
)
)
}
object NativeConsoleApplication : ProjectTemplate() {
override val title = "Native Application"
override val description =
@@ -298,29 +273,6 @@ object JsBrowserApplication : ProjectTemplate() {
)
}
object IOSApplication : ProjectTemplate() {
override val title = "IOS Application"
override val description = "Simple IOS application with single screen "
override val suggestedProjectName = "myIOSApplication"
override val projectKind = ProjectKind.Multiplatform
override val setsPluginSettings: List<SettingWithValue<*, *>>
get() = listOf(
KotlinPlugin::modules withValue listOf(
Module(
"iosApp",
IOSSinglePlatformModuleConfigurator,
template = null,
sourcesets = SourcesetType.ALL.map { type ->
Sourceset(type, dependencies = emptyList())
},
subModules = emptyList()
)
)
)
}
object MPPMobileApplication : ProjectTemplate() {
override val title = "Multiplatform Mobile Application"