This is a quick breakdown of what is where in the repository.
This directory holds the Jekyll files for the GitHub pages you are now reading.
A number of external libraries can be found in this sub-folder. Roughly, they can be split into two categories
- Fetched libraries: These libraries are hosted on jCenter. The corresponding sub-folder of
/lib/will only contain a
BUCKfile, with the command to fetch the library.
- Bundled libraries: These libraries are included in their completeness. This is the proper buck way of doing things. However, they vastly increase the size of the repository and are thus only included when absolutely necessary.
The source for the finished product of the barebones tutorial is found here. If you change the tutorial, you must update the code here.
This folder contains - you guess it! - a Kotlin version of the previous barebones sample to demonstrate how to use Litho and Kotlin together.
The source for the codelab tutorial is found here. The codelab has 3 parts:
/examples/: This has an Activity with a step-by-step introduction to the features of Litho. Each element points to a ComponentSpec which builds on the last and uses new features.
/ (root): This is a “Hello world” Activity, rendered using Components. This can be used in presentations or labs to learn Litho.
/end/: This is an approximate end state for the lab built from the root.
Under this directory is found code for the Litho sample app. This includes the playground, which you should use for all testing/bug reporting.
Litho is split into several sub-project so end users can pick and choose the parts of the framework they want to use. The available projects are as follows:
litho-annotationsis a pure Java library containing the annotations necessary to use the processor with.
litho-corecontains the core framework code.
litho-frescocontains components for the use with the Fresco image library.
litho-itcontains integration tests for the framework. It is necessary to have a separate project for this as it to avoid circular dependencies.
litho-it-powermockcontains integration tests for the framework that utilize PowerMock. Check out the README inside to learn more.
litho-processorcontains the stand-alone annotation processor.
litho-stubscontains stubbed out Android framework classes that are needed for some display list magic in
litho-testingcontains utilities to test Litho components.
litho-widgetcontains several mount specs for commonly used Android widgets.
litho-sections-corecontains the Java code for the Sections framework, including the
litho-sections-annotationshas annotations for use with the Sections processor.
litho-sections-processoris a pure Java library containing the annotation necessary to use processor for Sections with.
litho-sections-widgetcontains Sections-specific widgets like the
These files define how to build Litho. The
BUCK file is the input to buck, and the
/LITHO_DEFS file contains some constants needed for buck to find targets inside the repository. It is imported in