Metadata-Version: 2.1
Name: studfile
Version: 0.1.2
Summary: A simplified tool for making easy-to-use build scripts
Home-page: https://github.com/jfcarter2358/stud
License: MIT
Keywords: build,studfile
Author: John Carter
Author-email: jfcarter2358@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: calligraphy-scripting (==1.1.2)
Project-URL: Repository, https://github.com/jfcarter2358/stud
Description-Content-Type: text/markdown

# Stud

## Example Studfile.yaml

```yaml
.variables:
  all_services:
    - foo
    - bar
    - baz
build-docker: 
  help: "Build and optionally push docker images"
  options:
    - name: -s,--services
      default: all
      nargs: '+'
      required: true
    - name: -p,--push
      action: store_true
  cmd: |
    if 'all' in services:
      services = all_services

    for service in services:
      docker build -t {service} -f src/{service}/Dockerfile .
      if push:
        docker push {service}
build-local: 
  help: "Build local versions of services"
  options:
    - name: -s,--services
      default: all
      nargs: '+'
      required: true
  cmd: |
    # notice that the all_services variable is available 
    if 'all' in services:
      services = all_services

    for service in services:
      # do build things here
```

