Blame · Line-by-line history
GluecronPlugin.kt
Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.
| 1ab8ace | 1 | package com.gluecron.plugin |
| 2 | ||
| 3 | import com.intellij.openapi.diagnostic.Logger | |
| 4 | import com.intellij.openapi.startup.ProjectActivity | |
| 5 | import com.intellij.openapi.project.Project | |
| 6 | ||
| 7 | /** | |
| 8 | * Plugin "entry point" — JetBrains plugins do most wiring via plugin.xml | |
| 9 | * extension points, so this class exists mainly so we have a single | |
| 10 | * place to log activation and to surface plugin-wide constants. | |
| 11 | * | |
| 12 | * Implements [ProjectActivity] (the modern replacement for | |
| 13 | * StartupActivity) so we run once per opened project. Heavy lifting | |
| 14 | * happens lazily inside individual actions / services. | |
| 15 | */ | |
| 16 | class GluecronPlugin : ProjectActivity { | |
| 17 | ||
| 18 | override suspend fun execute(project: Project) { | |
| 19 | LOG.info("Gluecron plugin activated for project: ${project.name}") | |
| 20 | } | |
| 21 | ||
| 22 | companion object { | |
| 23 | const val PLUGIN_ID = "com.gluecron.plugin" | |
| 24 | ||
| 25 | /** Configuration default — overrideable via env GLUECRON_HOST. */ | |
| 26 | val DEFAULT_HOST: String = | |
| 27 | System.getenv("GLUECRON_HOST")?.takeIf { it.isNotBlank() } | |
| 28 | ?: "https://gluecron.com" | |
| 29 | ||
| 30 | private val LOG = Logger.getInstance(GluecronPlugin::class.java) | |
| 31 | } | |
| 32 | } |