421ecd32fc
* Add support for HTTP proxy listeners * Add customizable bootstrap configuration options * Debug logging for xDS AuthZ * Add Envoy Integration test suite with basic test coverage * Add envoy command tests to cover new cases * Add tracing integration test * Add gRPC support WIP * Merged changes from master Docker. get CI integration to work with same Dockerfile now * Make docker build optional for integration * Enable integration tests again! * http2 and grpc integration tests and fixes * Fix up command config tests * Store all container logs as artifacts in circle on fail * Add retries to outer part of stats measurements as we keep missing them in CI * Only dump logs on failing cases * Fix typos from code review * Review tidying and make tests pass again * Add debug logs to exec test. * Fix legit test failure caused by upstream rename in envoy config * Attempt to reduce cases of bad TLS handshake in CI integration tests * bring up the right service * Add prometheus integration test * Add test for denied AuthZ both HTTP and TCP * Try ANSI term for Circle |
||
---|---|---|
.. | ||
oleutil | ||
.travis.yml | ||
ChangeLog.md | ||
LICENSE | ||
README.md | ||
appveyor.yml | ||
com.go | ||
com_func.go | ||
connect.go | ||
constants.go | ||
error.go | ||
error_func.go | ||
error_windows.go | ||
guid.go | ||
iconnectionpoint.go | ||
iconnectionpoint_func.go | ||
iconnectionpoint_windows.go | ||
iconnectionpointcontainer.go | ||
iconnectionpointcontainer_func.go | ||
iconnectionpointcontainer_windows.go | ||
idispatch.go | ||
idispatch_func.go | ||
idispatch_windows.go | ||
ienumvariant.go | ||
ienumvariant_func.go | ||
ienumvariant_windows.go | ||
iinspectable.go | ||
iinspectable_func.go | ||
iinspectable_windows.go | ||
iprovideclassinfo.go | ||
iprovideclassinfo_func.go | ||
iprovideclassinfo_windows.go | ||
itypeinfo.go | ||
itypeinfo_func.go | ||
itypeinfo_windows.go | ||
iunknown.go | ||
iunknown_func.go | ||
iunknown_windows.go | ||
ole.go | ||
safearray.go | ||
safearray_func.go | ||
safearray_windows.go | ||
safearrayconversion.go | ||
safearrayslices.go | ||
utility.go | ||
variables.go | ||
variant.go | ||
variant_386.go | ||
variant_amd64.go | ||
variant_s390x.go | ||
vt_string.go | ||
winrt.go | ||
winrt_doc.go |
README.md
#Go OLE
Go bindings for Windows COM using shared libraries instead of cgo.
By Yasuhiro Matsumoto.
Install
To experiment with go-ole, you can just compile and run the example program:
go get github.com/go-ole/go-ole
cd /path/to/go-ole/
go test
cd /path/to/go-ole/example/excel
go run excel.go
Continuous Integration
Continuous integration configuration has been added for both Travis-CI and AppVeyor. You will have to add these to your own account for your fork in order for it to run.
Travis-CI
Travis-CI was added to check builds on Linux to ensure that go get
works when cross building. Currently, Travis-CI is not used to test cross-building, but this may be changed in the future. It is also not currently possible to test the library on Linux, since COM API is specific to Windows and it is not currently possible to run a COM server on Linux or even connect to a remote COM server.
AppVeyor
AppVeyor is used to build on Windows using the (in-development) test COM server. It is currently only used to test the build and ensure that the code works on Windows. It will be used to register a COM server and then run the test cases based on the test COM server.
The tests currently do run and do pass and this should be maintained with commits.
##Versioning
Go OLE uses semantic versioning for version numbers, which is similar to the version contract of the Go language. Which means that the major version will always maintain backwards compatibility with minor versions. Minor versions will only add new additions and changes. Fixes will always be in patch.
This contract should allow you to upgrade to new minor and patch versions without breakage or modifications to your existing code. Leave a ticket, if there is breakage, so that it could be fixed.
##LICENSE
Under the MIT License: http://mattn.mit-license.org/2013