spluggy : complementos de tiempo de compilación para GoLa organización de su código como complementos tiene muchos beneficios, GO proporciona un excelente soporte para ellos. La advertencia (además del infierno de la dependencia) es que pierdes la ventaja de GO de un solo binaria.
spluggy te brinda lo mejor de ambos mundos: complementos estáticos. Defina sus complementos como subackages dentro del mismo paquete. Mientras todos expongan una función con el mismo nombre, spluggy los descubrirá automáticamente y hará que la función sea accesible para paquetes externos.
Una aplicación en funcionamiento está en el ejemplo que demuestra cómo usar spluggy usando go generate . La interfaz de línea de recomendación es:
Usage: spluggy <flags> <package directory>
With flags:
-func string
The exposed function name
-out string
Output file name (default "plugins.go")
-pkg string
The base package
-v Enable verbose output
Actualmente spluggy no puede inferir dependencias de tipo de estructura definidas dentro de un map , por ejemplo,
// spluggy cannot infer that "somepackage" shoud be imported
func Fn ( map [somepackage. SomeStructType ] int ) {
...
}Esto se abordará en la próxima versión.
spluggy es una obra de ❤️ por Codoma.tech.