blob: 982399207d19a1cb8fd27b05cb5b31e55d586737 [file] [log] [blame] [view]
# What is this?
This is Project Shodan, a project to research the fusion of novel hardware and
software architectures to produce a low-power, ambient AI core. For more
information, see our internal site at
[sites/cerebrahardware/shodan](https://sites.google.com/corp/google.com/cerebrahardware/shodan).
## Developing in this Codebase
We've stored our code in Gerrit, and like the Android developers before us, we
use `repo` to manage the projects in our Gerrit repositories.
To get started, first make sure you have a Git login for all our projects
by going to [googlesource.com/new-password](https://www.googlesource.com/new-password)
and pasting the provided script into a terminal.
Now you need to pull down a copy of the `repo`
tool from our public facing sites and add it to your path:
```
mkdir -p bin
export PATH=$PATH:$HOME/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
```
Make sure you've initialized git with your name and email address, and have
configured it properly for fetching the sources:
```
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
```
Once you've done this, you're actually ready to check out the sources. Make a
new directory where you'd like it to live, and initialize `repo` with the
current release branch.
```
repo init -u https://spacebeaker.googlesource.com/manifest
repo sync -j$(nproc)
```
## Repository Layout
Our layout is pretty simple:
#### build/
Contains build scripts for the whole tree. This is effectively just an
orchestration layer to make building the whole shebang easier. Each subtree may
have its own build systems and have their own ways of building.
#### cicd/
Contains continuous integration scripts and tooling for Jenkins, our CI/CD tool.
#### docs/
Lots of extra documentation (we hope) about how the repo is laid out, how the
build system works, code reviews, licensing, etc.
#### manifest/
The repo manifest used to glue all the git repositories together.
## More Information
- [Information on how to use repo](https://go/repo)