みかづきメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

CircleCI で object not found と言われて checkout に失敗する

こういうこと:

  • CircleCI でのビルドに、カスタムイメージを使用している
  • そのカスタムイメージには Git がインストールされていない
    • よって CircleCI 側の Git に Fallback されて実行される
  • 通常実行時は問題が無いが、 tag push での checkout に失敗する

といった感じです。 tag を push したときにだけ checkout が下のように失敗するのがポイント。

Either git or ssh (required by git to clone through SSH) is not installed in the image. Falling back to CircleCI's native git client but the behavior may be different from official git. If this is an issue, please use an image that has official git and ssh installed.
Enumerating objects: 416, done.
Counting objects: 100% (416/416), done.
Compressing objects: 100% (231/231), done.
Total 416 (delta 206), reused 314 (delta 125), pack-reused 0

object not found

直し方は簡単で、 CircleCI の Job の中で、自分で Git クライアントをインストールしてあげること。

jobs:
  checkout-code:
    docker:
      image: custom/image:version

    steps:
      # checkout より前に Git をインストールしてあげる
      - run:
          command: |
            apt update
            apt install -y git
# 略

こうすれば、イメージの中にインストールされた Git が使われて、タグも正常に checkout 出来るようになります。

Unity Editor 拡張開発で Visual Studio のデバッグ機能を使いたい

Unity のエディタ拡張ばっかり触っている私です。
エディタ拡張を触っているとき、ブレークポイントを挟んだりする方法。

前提としては

がそれぞれ導入されていること。

デバッグする方法は、まず初めにデバッグしたい Unity プロジェクトを開きます。
プロジェクトを開いたら、生成されている sln を Visual Studio から読み込みます。

読み込めたら、「デバッグ」⇒「Unity デバッガーのアタッチ」を選択します。

f:id:MikazukiFuyuno:20191017175941p:plain
これ

すると起動している Unity エディタの中から選んでくれと言われるので、アタッチしたいものを選べば OK。
あとは通常の C# プロジェクトのようにデバッグが可能です。

ということでメモでした。

Unity 拡張で、 Component から Inspector に表示されている名前をとりたい

大体のことは GitHub にある UnityCsReference を読めば、
どの API 使えば良いか解決するなと気がつき始めました、みかです。

Unity で GameObject とかに Component をくっつけると表示されるこの名前

f:id:MikazukiFuyuno:20191012000110p:plain
これ

最初はクラス名から自力で生成するのかと思っていたのですが、
多分それっぽいのがあるだろうと調べたら公開 API として用意されていました。
(非公開 API であればリフレクションで呼ぶんですけども)

使える APIObjectNames.GetInspectorTitle(Object) で、 Component を渡したら、インスペクターに表示されている文字列と同じものが取得できます。

ということで自分用メモでした。

UWP API の GraphicsCapture で Window Handle をソースとして使いたい

久々の C# ネタ、かつ UWP ネタということで、今年春のアップデートでできるようになった事についてご紹介。
UWP でスクリーンショットや動画の撮影などに使える GraphicsCapture API で、
Win32 API でおなじみの hWnd をソースとして使えるようになっていました。

ということで使い方をサクッと紹介。

続きを読む

Git LFS で Unity プロジェクトを Git 管理する

VRChat でアバターいじったりするのは良いのだけども、
バージョン管理されないのが怖いので Git を導入したのでそのログです。

続きを読む