LoginSignup
0
0

More than 5 years have passed since last update.

Xsort なる gemを作成してみました。

Last updated at Posted at 2018-12-18

xsort って言うgem作ってみました。

Overview

Xcodeで左側のファイルツリーに表示されているファイルがソートできないので、できたら良いと感じ、
Rubyでファイルをソートできるやつを作成してみました。

インストール方法

動作環境は ruby 2.3.0 で動きます。 

 gem install xsort

git hubにソースコードを晒しておりますので、そちらから取得し、gemにすることもできます。

SSH経由:直接コミットを定期的に行う予定の方は、SSHを使ってクローンを作成すると、SSH鍵をGitHubにアップロードする必要があります。


$ mkdir gitrepo
$ cd gitrepo
$ git clone git@github.com:keisukeYamagishi/xsort.git

https:でクローンする場合


$ mkdir gitrepo
$ cd gitrepo
$ git clone https://github.com/keisukeYamagishi/xsort.git

使いかた

xsort をインストールした後、下記を実行すると、

$ xsort

下記のような結果を得られます。


Usage: xsort [-v] [<path>] [-o]
These are common detect commands used in various situations:
xsort version: 1.2.3
option:
-v: display xsort version number
-o: output result
-r: Just extracting output.pbxproj will not write to pbxproj of Xcode project

Regars !

mac OSの種類によっては下記の修正が必要です。 ***********************

(☝ ՞ਊ ՞)☝ Wow What's this!!!

mac OSX to HighSierra,

実行した時に下記のようになりましたら

->> xsort
-bash: /usr/local/bin/xsort: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

(☝ ՞ਊ ՞)☝ Wow What's this!!!

下記を実行してください、

sudo gem update --system -n /usr/local/bin
sudo gem install -n /usr/local/bin xsort

ソートします。

$ xsort ./XcodeApps.xcodeproj
Xsort Successful (☝ ՞ਊ ՞)☝!!!

オプション

Display result log

変換結果が必要な場合は -o で変換結果を出力します。

xsort ./XcodeApps.xcodeproj -o

下記のような変換結果がでます。

// !$*UTF8*$!
{
    archiveVersion = 1;
    classes = {
    };
    objectVersion = 46;
    objects = {

/* Begin PBXBuildFile section */
        BA218946A1F8E64C27B613CD /* Pods_Breris.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B2DD76AFE7C2922950BB5D /* Pods_Breris.framework */; };
        C704FFE71FB0A67D0043E7BD /* bggfg.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C704FFE61FB0A67D0043E7BD /* bggfg.jpg */; };
        C704FFE91FB0A68C0043E7BD /* world.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C704FFE81FB0A68C0043E7BD /* world.jpg */; };
        C7080F921FFC317F0077A4AD /* TwitterAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080F911FFC317F0077A4AD /* TwitterAuth.swift */; };
        C7080FB21FFC97F60077A4AD /* Capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080FB11FFC97F60077A4AD /* Capture.swift */; };
        C7080FC81FFE49A30077A4AD /* checkmark-flat.png in Resources */ = {isa = PBXBuildFile; fileRef = C7080FC71FFE49A30077A4AD /* checkmark-flat.png */; };
        C7080FCA1FFE4A0B0077A4AD /* TwtterStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080FC91FFE4A0B0077A4AD /* TwtterStatus.swift */; };
        C7080FCC1FFE4A200077A4AD /* TwitterStatus.xib in Resources */ = {isa = PBXBuildFile; fileRef = C7080FCB1FFE4A200077A4AD /* TwitterStatus.xib */; };
        C7080FCE1
....... any
..... any
... any
.. any
any

-r を使うことにより

使用中のアプリに直接影響を与えることなく、変換したファイルを別の名前で出力します。

xsort ../App/App.xcodeproj -r

xsort のバージョンを出力します。

オプション -v で

->> ./xsort -v

Version: 1.2.4
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0