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