Skip to content

Commit 137018b

Browse files
committed
Fix how dashes are handled in artifactIds (Fixes #319)
1 parent f3e35b1 commit 137018b

File tree

8 files changed

+30
-29
lines changed

8 files changed

+30
-29
lines changed

src/main/kotlin/com/demonwav/mcdev/creator/BukkitProjectSettingsWizard.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class BukkitProjectSettingsWizard(private val creator: MinecraftProjectCreator)
4747
return panel
4848
}
4949

50-
val name = WordUtils.capitalize(creator.artifactId)
50+
val name = WordUtils.capitalize(creator.artifactId.replace('-', ' '))
5151
pluginNameField.text = name
5252
pluginVersionField.text = creator.version
5353

@@ -56,7 +56,8 @@ class BukkitProjectSettingsWizard(private val creator: MinecraftProjectCreator)
5656
pluginVersionField.isEditable = false
5757
}
5858

59-
mainClassField.text = "${creator.groupId.toLowerCase()}.${creator.artifactId.toLowerCase()}.$name"
59+
mainClassField.text = creator.groupId.replace("-", "").toLowerCase() + "." +
60+
creator.artifactId.replace("-", "").toLowerCase() + "." + name.replace(" ", "")
6061

6162
if (creator.settings.size > 1) {
6263
mainClassField.text = mainClassField.text + settings!!.type.normalName

src/main/kotlin/com/demonwav/mcdev/creator/BungeeCordProjectSettingsWizard.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class BungeeCordProjectSettingsWizard(private val creator: MinecraftProjectCreat
4242
return panel
4343
}
4444

45-
val name = WordUtils.capitalize(creator.artifactId)
45+
val name = WordUtils.capitalize(creator.artifactId.replace('-', ' '))
4646
pluginNameField.text = name
4747
pluginVersionField.text = creator.version
4848

@@ -51,7 +51,8 @@ class BungeeCordProjectSettingsWizard(private val creator: MinecraftProjectCreat
5151
pluginVersionField.isEditable = false
5252
}
5353

54-
mainClassField.text = "${creator.groupId.toLowerCase()}.${creator.artifactId.toLowerCase()}.$name"
54+
mainClassField.text = creator.groupId.replace("-", "").toLowerCase() + "." +
55+
creator.artifactId.replace("-", "").toLowerCase() + "." + name.replace(" ", "")
5556

5657
if (creator.settings.size > 1) {
5758
mainClassField.text = mainClassField.text + settings!!.type.normalName

src/main/kotlin/com/demonwav/mcdev/creator/CanaryProjectSettingsWizard.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class CanaryProjectSettingsWizard(private val creator: MinecraftProjectCreator)
4141
return panel
4242
}
4343

44-
val name = WordUtils.capitalize(creator.artifactId)
44+
val name = WordUtils.capitalize(creator.artifactId.replace('-', ' '))
4545
pluginNameField.text = name
4646
pluginVersionField.text = creator.version
4747

@@ -50,7 +50,8 @@ class CanaryProjectSettingsWizard(private val creator: MinecraftProjectCreator)
5050
pluginVersionField.isEditable = false
5151
}
5252

53-
mainClassField.text = "${creator.groupId.toLowerCase()}.${creator.artifactId.toLowerCase()}.$name"
53+
mainClassField.text = creator.groupId.replace("-", "").toLowerCase() + "." +
54+
creator.artifactId.replace("-", "").toLowerCase() + "." + name.replace(" ", "")
5455

5556
if (creator.settings.size > 1) {
5657
mainClassField.text = mainClassField.text + settings!!.type.normalName

src/main/kotlin/com/demonwav/mcdev/creator/ForgeProjectSettingsWizard.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,17 @@ class ForgeProjectSettingsWizard(private val creator: MinecraftProjectCreator) :
8989
return null
9090
}
9191

92-
modNameField.text = WordUtils.capitalize(creator.artifactId)
92+
modNameField.text = WordUtils.capitalize(creator.artifactId.replace('-', ' '))
9393
modVersionField.text = creator.version
9494

9595
if (settings != null && !settings!!.isFirst) {
9696
modNameField.isEditable = false
9797
modVersionField.isEditable = false
9898
}
9999

100-
mainClassField.text = "${this.creator.groupId.toLowerCase()}.${this.creator.artifactId.toLowerCase()}." +
101-
WordUtils.capitalize(this.creator.artifactId)
100+
mainClassField.text = this.creator.groupId.replace("-", "").toLowerCase() + "." +
101+
this.creator.artifactId.replace("-", "").toLowerCase() + "." +
102+
WordUtils.capitalize(this.creator.artifactId.replace('-', ' ')).replace(" ", "")
102103

103104
if (creator.settings.size > 1) {
104105
mainClassField.text = mainClassField.text + PlatformType.FORGE.normalName

src/main/kotlin/com/demonwav/mcdev/creator/LiteLoaderProjectSettingsWizard.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class LiteLoaderProjectSettingsWizard(private val creator: MinecraftProjectCreat
133133
return panel
134134
}
135135

136-
modNameField.text = WordUtils.capitalizeFully(creator.artifactId)
136+
modNameField.text = WordUtils.capitalizeFully(creator.artifactId.replace('-', ' '))
137137
modVersionField.text = creator.version
138138

139139
if (settings != null && !settings!!.isFirst) {
@@ -142,7 +142,9 @@ class LiteLoaderProjectSettingsWizard(private val creator: MinecraftProjectCreat
142142
}
143143

144144
mainClassField.document.removeDocumentListener(listener)
145-
mainClassField.text = "${this.creator.groupId}.${this.creator.artifactId}.$LITEMOD${WordUtils.capitalizeFully(creator.artifactId)}"
145+
mainClassField.text = this.creator.groupId.replace("-", "") + "." +
146+
this.creator.artifactId.replace("-", "") + "." + LITEMOD +
147+
WordUtils.capitalizeFully(creator.artifactId.replace('-', ' ')).replace(" ", "")
146148
mainClassField.document.addDocumentListener(listener)
147149

148150
loadingBar.isIndeterminate = true

src/main/kotlin/com/demonwav/mcdev/creator/SpongeProjectSettingsWizard.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class SpongeProjectSettingsWizard(private val creator: MinecraftProjectCreator)
4646
return panel
4747
}
4848

49-
val name = WordUtils.capitalize(creator.artifactId)
49+
val name = WordUtils.capitalize(creator.artifactId.replace('-', ' '))
5050
pluginNameField.text = name
5151
pluginVersionField.text = creator.version
5252

@@ -55,7 +55,8 @@ class SpongeProjectSettingsWizard(private val creator: MinecraftProjectCreator)
5555
pluginVersionField.isEditable = false
5656
}
5757

58-
mainClassField.text = "${creator.groupId.toLowerCase()}.${creator.artifactId.toLowerCase()}.$name"
58+
mainClassField.text = creator.groupId.replace("-", "").toLowerCase() + "." +
59+
creator.artifactId.replace("-", "").toLowerCase() + "." + name.replace(" ", "")
5960

6061
if (creator.settings.size > 1) {
6162
mainClassField.text = mainClassField.text + PlatformType.SPONGE.normalName

src/main/kotlin/com/demonwav/mcdev/facet/MinecraftFacet.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import com.demonwav.mcdev.platform.AbstractModuleType
1818
import com.demonwav.mcdev.platform.PlatformType
1919
import com.demonwav.mcdev.platform.forge.ForgeModuleType
2020
import com.demonwav.mcdev.platform.sponge.SpongeModuleType
21+
import com.demonwav.mcdev.util.containsAllKeys
2122
import com.demonwav.mcdev.util.mapFirstNotNull
2223
import com.demonwav.mcdev.util.runInlineReadAction
2324
import com.google.common.collect.HashMultimap
@@ -189,10 +190,8 @@ class MinecraftFacet(module: Module, name: String, configuration: MinecraftFacet
189190
return when {
190191
iconCount == 0 -> null
191192
iconCount == 1 -> modules.keys.firstOrNull { it.hasIcon() }?.icon
192-
iconCount == 2 && modules.containsKey(SpongeModuleType) && modules.containsKey(ForgeModuleType) ->
193-
PlatformAssets.SPONGE_FORGE_ICON
194-
modules.size > 0 ->
195-
PlatformAssets.MINECRAFT_ICON
193+
iconCount == 2 && modules.containsAllKeys(SpongeModuleType, ForgeModuleType) -> PlatformAssets.SPONGE_FORGE_ICON
194+
modules.size > 0 -> PlatformAssets.MINECRAFT_ICON
196195
else -> null
197196
}
198197
}

src/main/kotlin/com/demonwav/mcdev/util/utils.kt

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,8 @@ inline fun <T, R> Array<T>.mapFirstNotNull(transform: (T) -> R?): R? {
106106
return null
107107
}
108108

109-
inline fun <T, reified R> Array<T>.mapToArray(transform: (T) -> R): Array<R> {
110-
return Array(size) { i -> transform(this[i]) }
111-
}
112-
113-
inline fun <T, reified R> List<T>.mapToArray(transform: (T) -> R): Array<R> {
114-
return Array(size) { i -> transform(this[i]) }
115-
}
109+
inline fun <T, reified R> Array<T>.mapToArray(transform: (T) -> R) = Array(size) { i -> transform(this[i]) }
110+
inline fun <T, reified R> List<T>.mapToArray(transform: (T) -> R) = Array(size) { i -> transform(this[i]) }
116111

117112
fun <T : Any> Array<T?>.castNotNull(): Array<T> {
118113
@Suppress("UNCHECKED_CAST")
@@ -146,8 +141,8 @@ fun Module.findChildren(): Set<Module> {
146141
// Keep a single gson constant around rather than initializing it everywhere
147142
val gson = Gson()
148143

149-
inline fun <reified T : Any> Gson.fromJson(text: String): T {
150-
// Using the ugly TypeToken approach we can any complex generic signature, including
151-
// nested generics
152-
return fromJson(text, object : TypeToken<T>() {}.type)!!
153-
}
144+
// Using the ugly TypeToken approach we can any complex generic signature, including
145+
// nested generics
146+
inline fun <reified T : Any> Gson.fromJson(text: String): T = fromJson(text, object : TypeToken<T>() {}.type)
147+
148+
fun <K> Map<K, *>.containsAllKeys(vararg keys: K) = keys.all { this.containsKey(it) }

0 commit comments

Comments
 (0)