tree: aa764c8c27e783ce1a814e872146d3512180a1d0 [path history] [tgz]
  1. bazel_import_rewriter/
  2. check/
  3. external/
  4. generated/
  5. install/
  6. lib/
  7. templates/
  8. xcode/
  9. affected_targets
  10. apply_all_templates
  11. apply_template
  12. build_all
  13. build_codelabs
  14. build_site.sh
  15. check_components
  16. clean_all
  17. convert_name
  18. export-patch
  19. files_missing_bazel_target
  20. format_all
  21. gendocs.sh
  22. generate_all_readmes
  23. generate_jazzy_yamls.sh
  24. generate_readme
  25. install_contributor_tools
  26. lint_all
  27. list_components
  28. manage_pods.py
  29. prep_all
  30. print_version
  31. README-release.md
  32. README.md
  33. readme_to_console
  34. release
  35. sync_icons.sh
  36. temporary_clone_at_ref
  37. test_all
  38. versionignore
scripts/README.md

Scripts

Scripts for maintaining Material Components for iOS—none of these scripts are required to use MDC or for casual contributors.

The important scripts are:

  • prep_all: prepare the Material Components catalog, tests, and demos apps for building.
  • build_all: build the Material Components catalog and each of our demo apps.
  • test_all: build and test the Material Components unit and integration tests.
  • clean_all: remove artifacts from the prep_all, build_all, and test_all scripts.
  • check_components: run component checks for documentation, examples, etc.
  • install_contributor_tools: install local contributor tools to speed up the development cycle.

Languages

Material Components follows Google's language standards for scripting. The following languages can be used for scripts:

Either language can be used for a particular purpose, but larger or more complex scripts should be written in (or converted to) Python. Bash scripts get unwieldy quickly and advanced Bash scripting knowledge is currently less common than advanced Python scripting knowledge.

The intent is that the scripts will run on relatively current OS X machines with (only) Xcode installed.

iOS Codelabs Build Tests

iOS codelabs build tests ensure that the Objective C and Swift versions of Codelab 104 Complete and Codelab 111 Complete can be built. If a release fails the codelabs build tests, follow these steps:

  1. If the release changes a component that the codelabs use, submit a PR to the codelabs repo with the appropriate changes for the adjusted component. Address each codelab and language that is affected by the change (it may be helpful to run ./build_codelabs -a to determine which codelabs are affected).
  2. Merge the PR into the codelabs repo, and then rerun the codelabs build tests.
  3. Continue with the release process.