clojure.tools로 커맨드라인 인자 맞이
인용구 빌드를 자동화하자. 이제 참을 만큼 참았다.
바로 할 수 없고 사전 작업 좀 해야 한다. 커맨드라인 인자(command line argument)를 받도록 수정하는 게 그중 하나. 지금은 REPL에서 함수, 인자를 직접 처넣어서 빌드하고 있다. 나온 결과물은 ohrepos로 push.
얼핏 본 적이 있어서 contrib.command-line을 쓰려고 했다. 하지만 찾아보니 tools로 대체했다고 하네. 애정을 가진 것도 아니고 초면이니 대체된 걸로 사용하자. 이 라이브러리는 커맨드라인 인자를 파싱(parsing)해준다. 결과물은 뭐? map. 쪽쪽 뽑아서 쓰면 된다.
-s
, --src-path PATH
. short 옵션과 long 옵션을 지정하면 된다. 사용 안 하려면 nil로 채우고. 디폴트로 long 옵션 이름으로 키워드(keyword)를 만든다. :src-path
이렇게. map 키로 써서 넘어온 인자를 받으면 된다.
-src-path
. 위에서 PATH 빼고 정의하면 boolean 값이 된다. 옵션 쳐넣으면 true. 이게 좀 생소했어. 저게 뒤에 넘어오는 인자를 파싱하는데 영향을 줄거라고 생각을 안 했다. 생각해보니 일관성이 있네. 저걸로 키워드도 만드니깐. 옵션에 해당하는 인자가 몇개인지 저걸로 판단한다. 참고로 PATH는 예제. 도움말에도 출력되니 적당한 이름으로 아무거나 넣어도 된다.
Travis CI에 물리고 tbot을 정상가동 시킨 다음 tools 소스코드를 읽어보려고 한다.