Adam S
04/17/2021, 9:09 AMclass Operator : HttpFunction
in Main.kts, compile to .jar, then in GCF set the target to main.Main$Operator
), but I don’t like that $
. So if the .kts could implement the interface, then my minor annoyance would be cured. Or if it’s not possible, at least my curiousity eased :)Adam S
04/17/2021, 9:09 AMMain.kts
- defines a class that implements HttpFunction
package main
import com.google.cloud.functions.*
class Operator : HttpFunction {
override fun service(request: HttpRequest, response: HttpResponse) {
TODO("Not yet implemented")
}
}
Adam S
04/17/2021, 9:09 AMMain.kts
is compiled to main.Main.class
, which extends ScriptTemplateWithArgs
.
➜ javap -cp build/libs/experiment-all.jar main.Main
Compiled from "Main.kts"
public class main.Main extends kotlin.script.templates.standard.ScriptTemplateWithArgs {
public static final void main(java.lang.String[]);
public main.Main(java.lang.String[]);
}
Adam S
04/17/2021, 9:10 AMclass Operator
is compiled to main.Main$Operator
.
➜ javap -cp build/libs/experiment-all.jar main.Main\$Operator
Compiled from "Main.kts"
public final class main.Main$Operator implements com.google.cloud.functions.HttpFunction {
public void service(com.google.cloud.functions.HttpRequest, com.google.cloud.functions.HttpResponse);
public main.Main$Operator();
}
ushort
04/17/2021, 9:18 AMAdam S
04/17/2021, 9:58 AMAdam S
04/17/2021, 9:58 AM@KotlinScript(fileExtension = "gcf.kts")
interface GcfScript : HttpFunction
then a file called Main.gcf.kts
should be made to implement HttpFunctionushort
04/17/2021, 10:08 AMAdam S
04/17/2021, 10:09 AMAdam S
04/17/2021, 10:09 AMushort
04/17/2021, 10:11 AMushort
04/17/2021, 10:12 AMAdam S
04/17/2021, 10:13 AMAdam S
04/17/2021, 10:14 AMushort
04/17/2021, 10:18 AMAdam S
04/17/2021, 10:22 AMAdam S
04/17/2021, 10:22 AMushort
04/17/2021, 10:26 AMAdam S
04/17/2021, 11:33 AMushort
04/17/2021, 12:25 PM