You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-14Lines changed: 30 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,12 @@ To update QuickFIX/Go to the latest version, use `go get -u github.com/quickfixg
29
29
30
30
See [examples](https://github.com/quickfixgo/examples) for some simple examples of using QuickFIX/Go.
31
31
32
+
### FIX Message Generation
33
+
34
+
QuickFIX/Go includes fields, enums, messages, and message components generated from the FIX 4.0 - FIX5.0SP2 specs. For most FIX applications, these generated resources are sufficient. Custom FIX applications may generate source specific to the FIX spec of that application using the `generate-fix` tool included with QuickFIX/Go.
35
+
36
+
Following installation, `generate-fix` is installed to `$GOPATH/bin/generate-fix`. Run `$GOPATH/bin/generate-fix --help` for usage instructions.
37
+
32
38
Developing QuickFIX/Go
33
39
----------------------
34
40
@@ -46,6 +52,30 @@ $ make
46
52
47
53
The default make target runs [go vet](https://godoc.org/golang.org/x/tools/cmd/vet) and unit tests.
48
54
55
+
### Acceptance Tests
56
+
57
+
QuickFIX/Go has a comprehensive acceptance test suite covering the FIX protocol. These are the same tests used across all QuickFIX implementations.
58
+
59
+
QuickFIX/Go acceptance tests depend on ruby in path.
60
+
61
+
To run acceptance tests,
62
+
63
+
# build acceptance test rig
64
+
make build_accept
65
+
66
+
# run acceptance tests
67
+
make accept
68
+
69
+
### Generated Code
70
+
71
+
For convenience, generated code from the FIX40-FIX50SP2 specs are included in the QuickFIX/Go repo. The source specifications for this generated code is located in `spec/`. Generated code can be identified by the `.generated.go` suffix. Any changes to generated code must be captured by changes to source in `cmd/generate-fix`. After making changes to the code generator source, run the following to re-generate the source
72
+
73
+
```sh
74
+
$ make generate
75
+
```
76
+
77
+
If you are making changes to the generated code, you will need to include the generated source in the same Pull Request as the changes made to the code generator. You should do this in a separate commit from your code, as this makes PR review easier and Git history simpler to read in the future.
78
+
49
79
### Dependencies
50
80
51
81
QuickFIX/Go stores its dependencies under `vendor/`, which Go 1.6+ automatically recognize and load. We use [govendor](https://github.com/kardianos/govendor) to manage the vendored dependencies.
@@ -87,20 +117,6 @@ To update a dependency:
87
117
88
118
2. Review the changes in git and commit them.
89
119
90
-
### Acceptance Tests
91
-
92
-
QuickFIX/Go has a comprehensive acceptance test suite covering the FIX protocol. These are the same tests used across all QuickFIX implementations.
93
-
94
-
QuickFIX/Go acceptance tests depend on ruby in path.
0 commit comments