Swift Package Manager (Swift 3.0-dev)를 사용하여 "README Generator"를 만들었습니다.

GitHub에는 tryswift의 Team이 있지만 tryswiftdev이라는 명령 줄 도구를 만들었습니다.
몇 가지 만드는 기능 중 README Generator 을 소개합니다.

이게 뭐야?



새 프로젝트의 README.md를 쉽게 만들 수 있습니다.


  • 기존 README.md를 복제합니다.
  • README.md 문자열 (예 : 제목)을 일괄 변환합니다.



  • 사용법



    0. 사전 준비



    새 프로젝트의 디렉토리를 작성하십시오. (예: DragonBall )
    $ mkdir DragonBall
    
    HomeDirectory
    ├── Pokemon
    │   └── README.md (Pokemon)
    └── DragonBall ✨
    

    1. README.md 복제



    먼저 기존 Pokemon 프로젝트에서 README.md를 복제합니다.
    $ tryswiftdev -d ./Pokemon ./DragonBall
    
    HomeDirectory
    ├── Pokemon
    │   └── README.md (Pokemon)
    └── DragonBall
        └── README.md (Pokemon) ✨
    

    2. README.md 내의 문자열을 일괄 변환



    그런 다음 복제된 README.md의 문자열을 일괄 변환합니다.
    (예: PokemonDragonBall )
    $ cd DragonBall
    $ tryswiftdev -r Pokemon DragonBall
    
    HomeDirectory
    ├── Pokemon
    │   └── README.md (Pokemon)
    └── DragonBall
        └── README.md (DragonBall) ✨
    

    결과


    1c1
    - # Pokemon
    + # DragonBall
    3c3
    - __Pokemon__ is a library written in Swift.
    + __DragonBall__ is a library written in Swift.
    9c9
    - 1. Create a [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile), and add `github "JPMartha/Pokemon" ~> 1.0.0`.
    + 1. Create a [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile), and add `github "JPMartha/DragonBall" ~> 1.0.0`.
    11c11
    - 3. On your application targets’ “Build Phases” settings tab, in the “Link Binary With Libraries” section, click the “+” icon and add `Pokemon.framework` from the Carthage/Build folder on disk.
    + 3. On your application targets’ “Build Phases” settings tab, in the “Link Binary With Libraries” section, click the “+” icon and add `DragonBall.framework` from the Carthage/Build folder on disk.
    16c16
    -   and add the "Input Files" to Pokemon.framework:
    +   and add the "Input Files" to DragonBall.framework:
    18c18
    -   $(SRCROOT)/Carthage/Build/iOS/Pokemon.framework
    +   $(SRCROOT)/Carthage/Build/iOS/DragonBall.framework
    29c29
    -   pod 'Pokemon', '~> 1.0.0'
    +   pod 'DragonBall', '~> 1.0.0'
    42c42
    - __Pokemon__ is released under the [MIT License](LICENSE).
    + __DragonBall__ is released under the [MIT License](LICENSE).
    

    운영 환경


  • Swift 3.0-dev ( Development Snapshots )
  • OS X

  • 왜 지금 이렇게 만들었어?



    Swift 3.0 에서 도입 예정인 Swift Package Manager 에 질문이나 Pull request 를 보내고 있는 동안에 스스로도 커멘드 라인 툴을 만들어 보고 싶어졌습니다.

    기존의 커맨드 라인 툴은 Commandant 라고 하는 라이브러리를 사용하고 있는 것이 많습니다만 이 툴은 그것을 사용하고 있지 않습니다.
    Xcode 프로젝트( .xcodeproj )도 없습니다.

    지금은 쉘 스크립트 쪽이 간단하게 할 수 있을 것 같은 내용입니다만, Swift 로 하는 것에 의해 뭔가 재미있는 일에 연결되지 않을까 생각하면서 즐겨 하고 있습니다.

    그렇게 만든 툴이 누군가의 도움이 되면 기쁘기 때문에 공개했습니다.



    아시는 분이 많다고 생각합니다만, Swift.org 의 블로그에 Swift 3.0 Release Process 가 공개되었으므로 올려 둡니다.

    좋은 웹페이지 즐겨찾기