diff --git a/Makefile b/Makefile index 83f841d..e605979 100644 --- a/Makefile +++ b/Makefile @@ -12,3 +12,10 @@ words: startupNamer: flutter create startup_namer + +hover: + hover run + +# adds the golang files +hover-init: + hover init diff --git a/go/.gitignore b/go/.gitignore new file mode 100644 index 0000000..fd0e2eb --- /dev/null +++ b/go/.gitignore @@ -0,0 +1,3 @@ +build +.last_goflutter_check +.last_go-flutter_check diff --git a/go/assets/icon.png b/go/assets/icon.png new file mode 100644 index 0000000..f4dfc8d Binary files /dev/null and b/go/assets/icon.png differ diff --git a/go/cmd/assets/icon.png b/go/cmd/assets/icon.png new file mode 100644 index 0000000..f4dfc8d Binary files /dev/null and b/go/cmd/assets/icon.png differ diff --git a/go/cmd/cmd b/go/cmd/cmd new file mode 100755 index 0000000..2c38cbc Binary files /dev/null and b/go/cmd/cmd differ diff --git a/go/cmd/flutter_assets/.last_build_id b/go/cmd/flutter_assets/.last_build_id new file mode 100644 index 0000000..b6e88be --- /dev/null +++ b/go/cmd/flutter_assets/.last_build_id @@ -0,0 +1 @@ +f5d967e239c840b9820c1fd3a4cc4640 \ No newline at end of file diff --git a/go/cmd/flutter_assets/AssetManifest.json b/go/cmd/flutter_assets/AssetManifest.json new file mode 100644 index 0000000..03eaddf --- /dev/null +++ b/go/cmd/flutter_assets/AssetManifest.json @@ -0,0 +1 @@ +{"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]} \ No newline at end of file diff --git a/go/cmd/flutter_assets/FontManifest.json b/go/cmd/flutter_assets/FontManifest.json new file mode 100644 index 0000000..464ab58 --- /dev/null +++ b/go/cmd/flutter_assets/FontManifest.json @@ -0,0 +1 @@ +[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] \ No newline at end of file diff --git a/go/cmd/flutter_assets/NOTICES.Z b/go/cmd/flutter_assets/NOTICES.Z new file mode 100644 index 0000000..9dd9494 Binary files /dev/null and b/go/cmd/flutter_assets/NOTICES.Z differ diff --git a/go/cmd/flutter_assets/fonts/MaterialIcons-Regular.otf b/go/cmd/flutter_assets/fonts/MaterialIcons-Regular.otf new file mode 100644 index 0000000..8c99266 Binary files /dev/null and b/go/cmd/flutter_assets/fonts/MaterialIcons-Regular.otf differ diff --git a/go/cmd/flutter_assets/isolate_snapshot_data b/go/cmd/flutter_assets/isolate_snapshot_data new file mode 100644 index 0000000..4af8bc6 Binary files /dev/null and b/go/cmd/flutter_assets/isolate_snapshot_data differ diff --git a/go/cmd/flutter_assets/kernel_blob.bin b/go/cmd/flutter_assets/kernel_blob.bin new file mode 100644 index 0000000..cc12a80 Binary files /dev/null and b/go/cmd/flutter_assets/kernel_blob.bin differ diff --git a/go/cmd/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/go/cmd/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf new file mode 100644 index 0000000..79ba7ea Binary files /dev/null and b/go/cmd/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ diff --git a/go/cmd/flutter_assets/shaders/ink_sparkle.frag b/go/cmd/flutter_assets/shaders/ink_sparkle.frag new file mode 100644 index 0000000..0bb5a14 Binary files /dev/null and b/go/cmd/flutter_assets/shaders/ink_sparkle.frag differ diff --git a/go/cmd/flutter_assets/vm_snapshot_data b/go/cmd/flutter_assets/vm_snapshot_data new file mode 100644 index 0000000..a83b1a5 Binary files /dev/null and b/go/cmd/flutter_assets/vm_snapshot_data differ diff --git a/go/cmd/main.go b/go/cmd/main.go new file mode 100644 index 0000000..10e3b09 --- /dev/null +++ b/go/cmd/main.go @@ -0,0 +1,49 @@ +package main + +import ( + "fmt" + "image" + _ "image/png" + "os" + "path/filepath" + "strings" + + "github.com/go-flutter-desktop/go-flutter" + "github.com/pkg/errors" +) + +// vmArguments may be set by hover at compile-time +var vmArguments string + +func main() { + // DO NOT EDIT, add options in options.go + mainOptions := []flutter.Option{ + flutter.OptionVMArguments(strings.Split(vmArguments, ";")), + flutter.WindowIcon(iconProvider), + } + err := flutter.Run(append(options, mainOptions...)...) + if err != nil { + fmt.Println(err) + os.Exit(1) + } +} + +func iconProvider() ([]image.Image, error) { + execPath, err := os.Executable() + if err != nil { + return nil, errors.Wrap(err, "failed to resolve executable path") + } + execPath, err = filepath.EvalSymlinks(execPath) + if err != nil { + return nil, errors.Wrap(err, "failed to eval symlinks for executable path") + } + imgFile, err := os.Open(filepath.Join(filepath.Dir(execPath), "assets", "icon.png")) + if err != nil { + return nil, errors.Wrap(err, "failed to open assets/icon.png") + } + img, _, err := image.Decode(imgFile) + if err != nil { + return nil, errors.Wrap(err, "failed to decode image") + } + return []image.Image{img}, nil +} diff --git a/go/cmd/options.go b/go/cmd/options.go new file mode 100644 index 0000000..3e38838 --- /dev/null +++ b/go/cmd/options.go @@ -0,0 +1,9 @@ +package main + +import ( + "github.com/go-flutter-desktop/go-flutter" +) + +var options = []flutter.Option{ + flutter.WindowInitialDimensions(800, 600), +} diff --git a/go/go.mod b/go/go.mod new file mode 100644 index 0000000..bba1008 --- /dev/null +++ b/go/go.mod @@ -0,0 +1,16 @@ +module flutter_test1/go + +go 1.19 + +require ( + github.com/go-flutter-desktop/go-flutter v0.52.2 + github.com/pkg/errors v0.9.1 +) + +require ( + github.com/Xuanwo/go-locale v1.1.0 // indirect + github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect + github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220712193148-63cf1f4ef61f // indirect + golang.org/x/sys v0.0.0-20211023085530-d6a326fbbf70 // indirect + golang.org/x/text v0.3.7 // indirect +) diff --git a/go/go.sum b/go/go.sum new file mode 100644 index 0000000..f004f9b --- /dev/null +++ b/go/go.sum @@ -0,0 +1,43 @@ +github.com/Xuanwo/go-locale v1.1.0 h1:51gUxhxl66oXAjI9uPGb2O0qwPECpriKQb2hl35mQkg= +github.com/Xuanwo/go-locale v1.1.0/go.mod h1:UKrHoZB3FPIk9wIG2/tVSobnHgNnceGSH3Y8DY5cASs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-flutter-desktop/go-flutter v0.52.2 h1:08LdijXBSiqUcSzofrytBPpItF+zBgJ7s0sDixFhbAU= +github.com/go-flutter-desktop/go-flutter v0.52.2/go.mod h1:8lIXoHEAZl01qK7pKwUwf/dzF2mD0JRoaxkGoYu32k8= +github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 h1:zDw5v7qm4yH7N8C8uWd+8Ii9rROdgWxQuGoJ9WDXxfk= +github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220712193148-63cf1f4ef61f h1:w3h343WgVLKLITcSpwecCDcq0FO8pAv6A/UG86hhFtY= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20220712193148-63cf1f4ef61f/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.7 h1:I6tZjLXD2Q1kjvNbIzB1wvQBsXmKXiVrhpRE8ZjP5jY= +github.com/smartystreets/goconvey v1.6.7/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20211023085530-d6a326fbbf70 h1:SeSEfdIxyvwGJliREIJhRPPXvW6sDlLT+UQ3B0hD0NA= +golang.org/x/sys v0.0.0-20211023085530-d6a326fbbf70/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/go/hover.yaml b/go/hover.yaml new file mode 100644 index 0000000..5a36af9 --- /dev/null +++ b/go/hover.yaml @@ -0,0 +1,9 @@ +#application-name: "flutter_test1" # Uncomment to modify this value. +#executable-name: "flutter_test1" # Uncomment to modify this value. Only lowercase a-z, numbers, underscores and no spaces +#package-name: "fluttertest1" # Uncomment to modify this value. Only lowercase a-z, numbers and no underscores or spaces +organization-name: "com.fluttertest1" +license: "" # MANDATORY: Fill in your SPDX license name: https://spdx.org/licenses +target: lib/main_desktop.dart +# opengl: "none" # Uncomment this line if you have trouble with your OpenGL driver (https://github.com/go-flutter-desktop/go-flutter/issues/272) +docker: false +engine-version: "" # change to a engine version commit diff --git a/lib/main_desktop.dart b/lib/main_desktop.dart new file mode 100644 index 0000000..7dc7766 --- /dev/null +++ b/lib/main_desktop.dart @@ -0,0 +1,6 @@ +import 'main.dart' as original_main; + +// This file is the default main entry-point for go-flutter application. +void main() { + original_main.main(); +} diff --git a/pubspec.lock b/pubspec.lock index f06a5b8..a4f020b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,56 +5,64 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" source: hosted version: "1.0.5" english_words: dependency: "direct main" description: name: english_words - url: "https://pub.dartlang.org" + sha256: "6a7ef6473a97bd8571b6b641d006a6e58a7c67e65fb6f3d6d1151cb46b0e983c" + url: "https://pub.dev" source: hosted version: "4.0.0" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" flutter: @@ -66,7 +74,8 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + url: "https://pub.dev" source: hosted version: "2.0.1" flutter_test: @@ -74,39 +83,52 @@ packages: description: flutter source: sdk version: "0.0.0" + js: + dependency: transitive + description: + name: js + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" + source: hosted + version: "0.6.5" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted version: "2.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" sky_engine: @@ -118,50 +140,57 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.16" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" sdks: - dart: ">=2.18.6 <3.0.0" + dart: ">=2.18.6 <4.0.0"