Skip to content

Commit

Permalink
Update schema (#584)
Browse files Browse the repository at this point in the history
  • Loading branch information
JrGoodle committed Aug 17, 2020
1 parent a16d829 commit 6a091c9
Show file tree
Hide file tree
Showing 5 changed files with 613 additions and 245 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

There are many ways to organize projects with git. Monorepos, submodules, subtrees, or [some](https://github.com/cristibalan/braid) [other](https://github.com/mixu/gr) [tool](https://github.com/ingydotnet/git-subrepo). `clowder` is one of the other tools. Its approach is heavily influeced by the [repo tool](https://gerrit.googlesource.com/git-repo) Google uses to manage the Android Open Source Project.

Projects are specified in a `clowder.yml` file that can be checked into its own repo, allowing it to be shared across teams. `clowder` essentially makes this file executable, allowing commands to be run across projects. `clowder` can update submodules, lfs files, and custom git config entries. Projects can track branches, or be tied to specific tags or commits. Forks can be configured along with their upstream source, wherever they may live. Snapshots of project states can be saved for later restoration. And probably more things...
Projects are listed in a `clowder.yml` file that can be checked into its own repo, allowing it to be shared across teams. `clowder` essentially makes this file executable, allowing commands to be run across projects. `clowder` can update submodules, lfs files, and custom git config entries. Projects can track branches, or be tied to specific tags or commits. Forks can be configured along with their upstream source, wherever they may live. Snapshots of project states can be saved for later restoration. And more...

Daily development still takes place in individual repos, with normal `git` commands. But `clowder` is there if you need to synchronize or run commands on multiple repos.

Expand Down
7 changes: 7 additions & 0 deletions docs/visual-studio-scode-clowder-yml-validation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Visual Studio Code `clowder.yml` Validation

1. Install [Visual Studio Code](https://code.visualstudio.com)
2. Install [Red Hat YAML extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)
3. PROFIT

TODO: Add preview
48 changes: 48 additions & 0 deletions examples/yaml-validation-description-test.clowder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# File used to verify yaml validation descriptions for all possiblle fields

name: yaml-validation-description-test

defaults:
branch: master
source: github
protocol: ssh
git:
recursive: true
lfs: true
depth: 0
config:
alias.cat: '!echo "😸"'

sources:
- name: chromium
url: chromium.googlesource.com
protocol: https

projects:
- name: dropbox/djinni
branch: something
remote: upstream
git:
recursive: true
lfs: true
depth: 0
config:
alias.cat: '!echo "😸"'
fork:
branch: something
name: JrGoodle/djinni
source: github
- name: external/gyp
tag: something
source: chromium
remote: upstream
fork:
name: JrGoodle/gyp
tag: something
- name: external/gyp
commit: e87d37d6bce611abed35e854d5ae1a401e9ce04c
source: chromium
remote: upstream
fork:
name: JrGoodle/gyp
commit: e87d37d6bce611abed35e854d5ae1a401e9ce04c
7 changes: 7 additions & 0 deletions script/update
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ if [ "$1" == 'docs' ]; then
exit
fi

if [ "$1" == 'schema' ]; then
cd ..
# TODO: Separate json schema descriptions into separate file
# Add script to generate local
exit
fi

./clean 'clowder' || exit 1

pushd '../src' || exit 1
Expand Down

0 comments on commit 6a091c9

Please sign in to comment.