This document describes the the file structure of the kb_sdk codebase.
TODO DOCS either redo or remove this. Is it really necessary?
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 containerpyproject.tomlanduv.lock- python dependencies foruvsrc/- the main source code for this project; see belowtest_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_wrapperrepocommon/service/- Some tuple datatypescommon/utils/- NetUtils for working with IP addresses and portsjkidl/- Functionality for parsing KIDL spec fileskidl/- KIDL parser syntax typesmobu/- Module Builder (see below)narrativemethodstore/- A client for the KBase narrative method store service compiled from the NMS service KIDL specificationtemplates/- Template files for use in generating SDK app codebases onkb-sdk init
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 onerunner/- 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.