This document describes the the file structure of the kb_sdk
codebase.
build.xml
- main Ant build configuration file for compiling, running tests, etc.bin/
- holds the executable files generated on compilation (most importantly,kb-sdk
)doc/
- additional documentation about this codebaseDockerfile
- the docker configuration for the container that runs the SDKentrypoint
- the entrypoint bash script that is run for the SDK docker containerJAR_DEPS
andJAR_DEPS_BIN
- indexes of java jar dependenciesjavacc/
- shell scripts used to generate code related to parsing KIDL specsKBaseJobService.spec
- KIDL spec for a JSON RPC job servicelib
- some generic libraries that get included in SDK appsMakefile
- commands for compiling, building docker images, and initializing submodulesPipfile
andPipfile.lock
- python dependencies for pipenvreports/
- files generated for JaCoCo test coverage reportssrc/
- the main source code for this project; see belowsubmodules/
andsubmodules_hacks
- jars and other dependenciestest_scripts/
- test helpers in perl, python, and js
catalog/
- A client for the KBase catalog service compiled from the catalog service KIDL specificationcommon/executionengine/
- Code for executing jobs and sub-jobs. All the code here is duplicated in thenjs_wrapper
repocommon/service/
- Some tuple datatypescommon/utils/
- NetUtils for working with IP addresses and portsjkidl/
- Functionality for parsing KIDL spec fileskidl/
- KIDL parser syntax typeskbasejobservice/
- Mocks used in testing the narrative job servicemobu/
- Module Builder (see below)narrativemethodstore/
- A client for the KBase narrative method store service compiled from the NMS service KIDL specificationscripts/
- Various test files - See the TypeGeneratorTest.java classtemplates/
- Template files for use in generating SDK app codebases onkb-sdk init
tools/
- Some general java utilities
ModuleBuilder
- handles CLI commands and dispatches them to one of the below packagescompiler/
- parses the KIDL spec and compiles code in an SDK appinitializer/
- Initializes a new app, generating all templated filesinstaller/
- Installs other SDK apps as dependencies under the current onerenamer/
- Renames an apprunner/
- Runs an app in its docker container and the callback servertester/
- Runs the test suite for an apputil/
- Generic utilities used by the module buildervalidator/
- Validates an app using its KIDL spec, spec.json, etc
src/java/name/fraser/neil/plaintext/diff_match_patch.java
- A utility computing the difference between two texts to create a patch. This is used insrc/java/us/kbase/mobu/compiler/test/html/HTMLGenTest.java
.src/sh/sdk-completion.sh
- A parameter-completion bash script for thekb-sdk
CLI.