User: kyle wood Date: 29 Jan 23 06:11 Revision: d1252e5dbbd834b9a357f1a275e8ebffbd830528 Summary: Cleanup some logging TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8266&personal=false Index: build.gradle.kts =================================================================== --- build.gradle.kts (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ build.gradle.kts (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -249,6 +249,7 @@ } } systemProperty("NO_FS_ROOTS_ACCESS_CHECK", "true") + jvmArgs("--illegal-access=deny") } idea { Index: src/main/kotlin/creator/PlatformVersion.kt =================================================================== --- src/main/kotlin/creator/PlatformVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/creator/PlatformVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -18,7 +18,7 @@ import com.github.kittinunf.fuel.coroutines.awaitString import com.google.gson.Gson import com.intellij.openapi.diagnostic.Attachment -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.logger import com.intellij.util.proxy.CommonProxy import java.io.IOException import java.net.Proxy @@ -29,7 +29,7 @@ private const val CLOUDFLARE_BASE_URL = "https://minecraftdev.org/versions/" private const val GITHUB_BASE_URL = "https://raw.githubusercontent.com/minecraft-dev/minecraftdev.org/master/versions/" -val PLATFORM_VERSION_LOGGER = Logger.getInstance("MDev.PlatformVersion") +val PLATFORM_VERSION_LOGGER = logger() suspend fun getVersionSelector(type: PlatformType): PlatformVersion { val versionJson = type.versionJson ?: throw UnsupportedOperationException("Incorrect platform type: $type") Index: src/main/kotlin/platform/architectury/creator/ArchitecturyProjectSettingsWizard.kt =================================================================== --- src/main/kotlin/platform/architectury/creator/ArchitecturyProjectSettingsWizard.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/architectury/creator/ArchitecturyProjectSettingsWizard.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -24,7 +24,7 @@ import com.demonwav.mcdev.util.SemanticVersion import com.demonwav.mcdev.util.asyncIO import com.demonwav.mcdev.util.modUpdateStep -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.logger import com.intellij.ui.CollectionComboBoxModel import com.intellij.ui.EnumComboBoxModel import java.awt.event.ActionListener @@ -260,7 +260,7 @@ versions = ArchitecturyVersions( fabricVersionJob.await() ?: return@coroutineScope, forgeVersionJob.await() ?: return@coroutineScope, - architecturyApiVersionJob.await() ?: return@coroutineScope + architecturyApiVersionJob.await() ?: return@coroutineScope, ) } @@ -336,6 +336,6 @@ ) companion object { - val LOGGER = Logger.getInstance(ArchitecturyProjectSettingsWizard::class.java) + private val LOGGER = logger() } } Index: src/main/kotlin/platform/architectury/version/ArchitecturyVersion.kt =================================================================== --- src/main/kotlin/platform/architectury/version/ArchitecturyVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/architectury/version/ArchitecturyVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -19,6 +19,7 @@ import com.github.kittinunf.fuel.coroutines.awaitString import com.google.gson.Gson import com.google.gson.annotations.SerializedName +import com.intellij.openapi.diagnostic.logger import java.io.IOException class ArchitecturyVersion private constructor( @@ -44,37 +45,43 @@ ) companion object { + private val LOGGER = logger() - suspend fun downloadData(): ArchitecturyVersion { + suspend fun downloadData(): ArchitecturyVersion? { + try { - val url = "https://api.modrinth.com/v2/project/architectury-api/version" - val manager = FuelManager() - manager.proxy = selectProxy(url) + val url = "https://api.modrinth.com/v2/project/architectury-api/version" + val manager = FuelManager() + manager.proxy = selectProxy(url) - val response = manager.get(url) - .header("User-Agent", PluginUtil.useragent) - .suspendable() - .awaitString() + val response = manager.get(url) + .header("User-Agent", PluginUtil.useragent) + .suspendable() + .awaitString() - val data = Gson().fromJson>(response) + val data = Gson().fromJson>(response) - val apiVersionMap = HashMap>() + val apiVersionMap = HashMap>() - for (version in data) { - val apiVersion = SemanticVersion.parse(version.versionNumber.substringBeforeLast('+')) + for (version in data) { + val apiVersion = SemanticVersion.parse(version.versionNumber.substringBeforeLast('+')) - for (gameVersion in version.gameVersions) { - val parsed = SemanticVersion.parse(gameVersion) - val set = apiVersionMap.computeIfAbsent(parsed) { HashSet() } - set += apiVersion - } - } + for (gameVersion in version.gameVersions) { + val parsed = SemanticVersion.parse(gameVersion) + val set = apiVersionMap.computeIfAbsent(parsed) { HashSet() } + set += apiVersion + } + } - val apiVersionMapList = HashMap>() - for ((mcVersion, archList) in apiVersionMap.entries) { - apiVersionMapList[mcVersion] = archList.sortedDescending() - } + val apiVersionMapList = HashMap>() + for ((mcVersion, archList) in apiVersionMap.entries) { + apiVersionMapList[mcVersion] = archList.sortedDescending() + } - return ArchitecturyVersion(apiVersionMapList) + return ArchitecturyVersion(apiVersionMapList) + } catch (e: IOException) { + LOGGER.error("Failed to retrieve Architectury version data", e) - } + } + return null - } -} + } + } +} Index: src/main/kotlin/platform/architectury/version/FabricVersion.kt =================================================================== --- src/main/kotlin/platform/architectury/version/FabricVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/architectury/version/FabricVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -13,6 +13,7 @@ import com.demonwav.mcdev.util.SemanticVersion import com.extracraftx.minecraft.templatemakerfabric.data.DataProvider import com.extracraftx.minecraft.templatemakerfabric.data.holders.LoaderVersion +import com.intellij.openapi.diagnostic.logger import java.io.IOException class FabricVersion private constructor(val versions: DataProvider) { @@ -45,6 +46,7 @@ } companion object { + private val LOGGER = logger() private val dataProvider: DataProvider = DataProvider() fun downloadData(): FabricVersion? { @@ -55,7 +57,7 @@ dataProvider.fabricApiVersions return FabricVersion(dataProvider) } catch (e: IOException) { - e.printStackTrace() + LOGGER.error("Failed to retrieve Fabric version data", e) } return null } Index: src/main/kotlin/platform/forge/version/ForgeVersion.kt =================================================================== --- src/main/kotlin/platform/forge/version/ForgeVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/forge/version/ForgeVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -16,6 +16,7 @@ import com.demonwav.mcdev.util.sortVersions import com.github.kittinunf.fuel.core.FuelManager import com.github.kittinunf.fuel.core.requests.suspendable +import com.intellij.openapi.diagnostic.logger import java.io.IOException import javax.xml.stream.XMLInputFactory import javax.xml.stream.events.XMLEvent @@ -54,6 +55,8 @@ } companion object { + private val LOGGER = logger() + suspend fun downloadData(): ForgeVersion? { try { val url = "https://files.minecraftforge.net/maven/net/minecraftforge/forge/maven-metadata.xml" @@ -97,7 +100,7 @@ return ForgeVersion(result) } catch (e: IOException) { - e.printStackTrace() + LOGGER.error("Failed to retrieve Forge version data", e) } return null } Index: src/main/kotlin/platform/liteloader/version/LiteLoaderVersion.kt =================================================================== --- src/main/kotlin/platform/liteloader/version/LiteLoaderVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/liteloader/version/LiteLoaderVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -19,7 +19,7 @@ import com.github.kittinunf.fuel.core.requests.suspendable import com.github.kittinunf.fuel.coroutines.awaitString import com.google.gson.Gson -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.logger import java.io.IOException class LiteLoaderVersion private constructor(private var map: Map<*, *>) { @@ -33,7 +33,7 @@ } companion object { - private val LOGGER = Logger.getInstance(LiteLoaderVersion::class.java) + private val LOGGER = logger() suspend fun downloadData(): LiteLoaderVersion? { try { Index: src/main/kotlin/platform/mixin/action/GenerateAccessorHandler.kt =================================================================== --- src/main/kotlin/platform/mixin/action/GenerateAccessorHandler.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/mixin/action/GenerateAccessorHandler.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -40,7 +40,7 @@ import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.command.CommandProcessor import com.intellij.openapi.command.WriteCommandAction -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.EditorModificationUtil import com.intellij.openapi.fileEditor.FileDocumentManager @@ -68,8 +68,9 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/Invoker") { - private val log = - Logger.getInstance("#com.demonwav.mcdev.platform.mixin.action.GenerateAccessorHandler") + companion object { + private val log = logger() + } private var generateGetters = false private var generateSetters = false @@ -149,13 +150,9 @@ if (aClass.fields.any { canHaveAccessor(it) }) { return true } - if (aClass.methods.any { canHaveInvoker(it) }) { - return true + return aClass.methods.any { canHaveInvoker(it) } - } + } - return false - } - override fun getAllOriginalMembers(aClass: PsiClass?): Array { if (aClass == null) { return ClassMember.EMPTY_ARRAY Index: src/main/kotlin/platform/mixin/util/AsmDfaUtil.kt =================================================================== --- src/main/kotlin/platform/mixin/util/AsmDfaUtil.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/mixin/util/AsmDfaUtil.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -11,7 +11,7 @@ package com.demonwav.mcdev.platform.mixin.util import com.demonwav.mcdev.util.internalName -import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.thisLogger import com.intellij.openapi.project.Project import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiClassType @@ -28,7 +28,7 @@ import org.objectweb.asm.tree.analysis.SimpleVerifier object AsmDfaUtil { - private val LOGGER = Logger.getInstance(AsmDfaUtil::class.java) + private val LOGGER = thisLogger() fun analyzeMethod(project: Project, clazz: ClassNode, method: MethodNode): Array?>? { return method.cached(clazz, project) { Index: src/main/kotlin/platform/mixin/util/AsmUtil.kt =================================================================== --- src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -22,12 +22,12 @@ import com.demonwav.mcdev.util.fullQualifiedName import com.demonwav.mcdev.util.hasSyntheticMethod import com.demonwav.mcdev.util.isErasureEquivalentTo +import com.demonwav.mcdev.util.loggerForTopLevel import com.demonwav.mcdev.util.mapToArray import com.demonwav.mcdev.util.realName import com.demonwav.mcdev.util.toJavaIdentifier import com.intellij.codeEditor.JavaEditorFileSwapper import com.intellij.ide.highlighter.JavaFileType -import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.module.Module import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.openapi.project.Project @@ -79,7 +79,7 @@ import org.objectweb.asm.tree.MethodNode import org.objectweb.asm.tree.VarInsnNode -private val LOGGER = Logger.getInstance("AsmUtil") +private val LOGGER = loggerForTopLevel() private val MODIFIER_TO_ACCESS_FLAG = mapOf( entry(PsiModifier.PUBLIC, Opcodes.ACC_PUBLIC), Index: src/main/kotlin/platform/sponge/SpongeVersion.kt =================================================================== --- src/main/kotlin/platform/sponge/SpongeVersion.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/platform/sponge/SpongeVersion.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -13,6 +13,7 @@ import com.demonwav.mcdev.creator.getText import com.demonwav.mcdev.util.fromJson import com.google.gson.Gson +import com.intellij.openapi.diagnostic.logger import javax.swing.JComboBox data class SpongeVersion(var versions: LinkedHashMap, var selectedIndex: Int) { @@ -26,11 +27,14 @@ } companion object { + private val LOGGER = logger() + suspend fun downloadData(): SpongeVersion? { return try { val text = getText("sponge_v2.json") Gson().fromJson(text, SpongeVersion::class) } catch (e: Exception) { + LOGGER.error("Failed to download Sponge version json", e) null } } Index: src/main/kotlin/util/utils.kt =================================================================== --- src/main/kotlin/util/utils.kt (revision 0f9a759379de4dc5e707adab0fc91da8f0b237b2) +++ src/main/kotlin/util/utils.kt (revision d1252e5dbbd834b9a357f1a275e8ebffbd830528) @@ -18,6 +18,7 @@ import com.intellij.openapi.application.ModalityState import com.intellij.openapi.application.runReadAction import com.intellij.openapi.command.WriteCommandAction +import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleManager import com.intellij.openapi.progress.ProcessCanceledException @@ -32,6 +33,7 @@ import com.intellij.pom.java.LanguageLevel import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiFile +import java.lang.invoke.MethodHandles import java.util.Locale import kotlin.math.min import kotlin.reflect.KClass @@ -344,3 +346,8 @@ } fun String.decapitalize(): String = replaceFirstChar { it.lowercase(Locale.ENGLISH) } + +// Bit of a hack, but this allows us to get the class object for top level declarations without having to +// put the whole class name in as a string (easier to refactor, etc.) +@Suppress("NOTHING_TO_INLINE") // In order for this to work this function must be `inline` +inline fun loggerForTopLevel() = Logger.getInstance(MethodHandles.lookup().lookupClass())