File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change @@ -293,6 +293,55 @@ let receivedFromJSON = try BookInfo(jsonUTF8Bytes: jsonBytes)
293293You can find more information in the detailed
294294[ API Documentation] ( Documentation/API.md ) .
295295
296+ # Developing SwiftProtobuf
297+
298+ This section is useful if you want to develop this library.
299+
300+ ## First Time Setup
301+
302+ After cloning the repository, you must initialize the git submodules which contain
303+ dependencies required for building. In the project root:
304+
305+ ``` bash
306+ git submodule update --init --recursive
307+ ```
308+
309+ The submodules include:
310+ * ` Sources/protobuf/protobuf ` - Google's Protocol Buffers implementation
311+ * ` Sources/protobuf/abseil ` - Abseil C++ library
312+
313+ ## Building
314+
315+ You can build the project using either Swift Package Manager directly or the provided Makefile:
316+
317+ ``` bash
318+ make build
319+ ```
320+
321+ ## Running Tests
322+
323+ Run the test suite using:
324+
325+ ``` bash
326+ swift test
327+ ```
328+
329+ Or using ` make ` for a complete test including plugin and conformance tests:
330+
331+ ``` bash
332+ make test
333+ ```
334+
335+ ## Common Make Targets
336+
337+ * ` make build ` - Build all targets
338+ * ` make test ` - Run all tests (runtime, plugin, and conformance)
339+ * ` make regenerate ` - Regenerate all .pb.swift files from .proto sources
340+ * ` make reference ` - Update reference files used for plugin testing
341+
342+ For more development details, see [ INTERNALS.md] ( Documentation/INTERNALS.md ) and
343+ [ STYLE_GUIDELINES.md] ( Documentation/STYLE_GUIDELINES.md ) .
344+
296345## Report any issues
297346
298347If you run into problems, please send us a detailed report.
You can’t perform that action at this time.
0 commit comments