Skip to content

Commit ad1e2bf

Browse files
committed
Add instructions, how to develop and test new features across multiply repositories
1 parent 7e53bea commit ad1e2bf

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

developers.adoc

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,55 @@ actually be JavaScript libraries, not Java jars.
175175
. Go to https://oss.sonatype.org/#stagingRepositories
176176
. Continue to follow Java runtime publishing instructions
177177

178+
== Developing new feature
179+
180+
Because the tests are in your own repository, you must clone the test repository
181+
to test your work. To do this with one command, there is a `kaitai_struct` repository
182+
that contains submodules for all other project repositories. You can just clone it
183+
with submodules.
184+
185+
If you have already clone the individual repository, you can just add new remote
186+
to submodule pointed to repository with your work. See example:
187+
188+
[source,shell]
189+
# Clone uber-repository
190+
git clone --recursive https://github.com/kaitai-io/kaitai_struct.git
191+
cd kaitai_struct
192+
#
193+
# Select subproject you want to modify
194+
cd ${sub-project}
195+
# See current status
196+
git remote -v
197+
# Add your repository as remote with name my-repo
198+
git remote add ${my-repo} https://github.com/${my-repo}/${sub-project}.git
199+
# Check youself
200+
git remote -v
201+
# Get you work
202+
git fetch ${my-repo}
203+
# or, if you want to fetch only one branch `my-feature`. Use local branch name,
204+
# without repository name prefix, ie. just `some-feature` but not `my-repo/some-feature`
205+
# git fetch ${my-repo} ${my-feature}
206+
#
207+
# Switch to you feature branch
208+
git checkout ${my-feature}
209+
178210
== Tests
179211

180-
TODO
212+
To test changes in compiler and runtimes, run following commands (for example, for
213+
Java runtime):
214+
[source,shell]
215+
# Assumed, that this will be done
216+
# git clone --recursive https://github.com/kaitai-io/kaitai_struct.git
217+
# cd kaitai_struct
218+
cd tests
219+
./build-compiler
220+
# Convert all test `.ksy` files into all target languages (including Java),
221+
# which will give you tests/compiled/java
222+
./build-formats
223+
# will run all tests for Java; results will be in `test_out/java`
224+
./run-java
225+
226+
Also, see readme of https://github.com/kaitai-io/kaitai_struct_tests project.
181227

182228
== Runtimes
183229

0 commit comments

Comments
 (0)