# Generated from caml-0.1.0.gem by gem2rpm -*- rpm-spec -*- %global gem_name caml Name: rubygem-%{gem_name} Version: 0.1.0 Release: 1%{?dist} Summary: Build CLI apps using YAML License: MIT URL: https://github.com/tacoda/caml Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby >= 1.9 # BuildRequires: rubygem(rspec) BuildArch: noarch %description # 🐪 caml > Build CLI apps with YAML `caml` allows you to build command line applications using declarative yaml. `caml` aims to be like `make`, but by using descriptive, declarative yaml. ## Usage Running the command without any arguments displays the commands defined in the `caml.yaml` file: ```sh bin/caml ``` ## Declaring commands `caml` reads a file called `caml.yaml` in the current directory and converts those commands into a unified CLI command. The basic structure is to have a `command`, which has a `desc` and an `execute` for the bash command to execute. ```yaml command: desc: Command description execute: script.sh ``` This yaml will create the following command: ```yaml bin/caml command # Command description ``` And it will run any bash command defined. Arguments may be added under `args` in a nested fashion as displayed below. ```yaml command: args: one: desc: First argument type: string two: desc: Second argument type: string ``` ## Examples ```yaml build: desc: Build our project execute: make clean: desc: Clean our project execute: make clean ``` ```yaml build: desc: Bundle execute: bundle install migrate: desc: Migrate the test database execute: rails db:migrate RAILS_ENV=test test: desc: Run tests execute: rspec ```. %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{_bindir} cp -a .%{_bindir}/* \ %{buildroot}%{_bindir}/ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x %check pushd .%{gem_instdir} # rspec spec popd %files %dir %{gem_instdir} %{_bindir}/caml %license %{gem_instdir}/LICENSE %{gem_instdir}/bin %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/README.md %{gem_instdir}/spec %changelog * Mon Feb 07 2022 mockbuilder - 0.1.0-1 - Initial package