ぼちぼちやっていくページ

ちょっとしたスクリプトなどをメモっていきたい

書きしろがないのでScoopのManifestでも貼ってみる

Scoopとは

windows用のパッケージ管理型コマンドラインインストーラ
macでいうところのHomebrew、Ubuntuでいうところのapt
詳しい説明はここらへん

qiita.com

chocolateyとの違いなど細かいことはリンク先にいろいろ書かれてるけど自分がナイスだと感じているのは好きなアプリのインストーラを自分で自由に作って追加できるところ。自動でバージョンチェックしてアップデートもコマンド一発で行けるように作れるのでアプリの管理がとても楽になる。

マニフェストインストーラ)の作り方はここらへんが詳しいです

blog.haniyama.com

qiita.com

オレオレBucketの作り方

scoop bucket add mybucket https://github.com/<myname>/<リポジトリ名>

きちんとやるなら Githubリポジトリを作って上のようなコマンドで追加するのが筋なんだけど、Githubとかよーわからんしとりあえずローカルでちょこっと試したいということであれば、 実はscoop/bucketmybucketなどの適当な名前でフォルダ作ってその中に自作のマニフェストjson突っ込んでいくだけでもOKだったりします。

scoopのキモであるバージョン確認と自動更新はローカルバケツでも活用可能。メインバケツscoop/bucket/mainからbinフォルダをコピーして入れておきます。

バージョンチェックは定期的にcheckver.ps1を実行してやる必要あり。
自分はマイバケツの中に chkver.bat というバッチファイルを作って手動で(^^; 時々ダブルクリックしてアップデートの確認に使ってます。(本当はDockerで全自動更新させるのがいいらしいが残念なことにそこまでのスキルはない)

f:id:eamat:20200607235942p:plain

@rem chkver.bat : まとめてバージョンチェックする用
@echo off
cd  /D %~dp0
powershell .\bin\checkver.ps1 * -u


2020-06-19 追記
わざわざバッチファイルでやらんでも scoopのエイリアスを作ってやればいいだけだった。

scoop alias add 'pushd $env:SCOOP\buckets\<mybucket> ; iex -command ".\bin\checkver.ps1 * -u" ; popd' 'my bucket All checkver'
  • 実行
> scoop mychkver

エイリアスはパスが通るのでどこからでも実行できる

ついでにjsonファイルの動作確認用バッチファイル

@rem chkver1.bat : 個別にマニフェストjsonをドロップして使う用
@echo off
cd  /D %~dp0
powershell .\bin\checkver.ps1 %~n1 -u

新しいマニフェスト作ってきちんと動作するか確認したい時は下記のようにやってます。

> chkver1 hoge.json

Boost Note.next のマニフェスト

前置きが長くなったけど、Markdownメモソフト Boost Note.nextマニフェストなどを貼ってみる

boostnote.io

従来のBoostnote(レガシー版)はすでに extras にあるけど next版はまだなかったので作ってみた。*1

boost-note-next-np.json
(おしりの -np は non portable の略です。別にレジストリ汚すわけじゃないけど 設定ファイル類が AppData\Roaming\Boost Noteから動かせないっぽいので。アンインストール時 Roaming内の設定ファイルは は手動で削除してやる必要があります。)

{
    "homepage": "https://boostnote.io/",
    "description": "An intuitive and stylish markdown note app for the developers.",
    "license": "GPL-3.0-or-later",
    "version": "0.5.0",
    "url": "https://github.com/BoostIO/BoostNote.next/releases/latest/download/boost-note-win.exe#/dl.7z",
    "hash": "3f074dbb380bf784cd5595c19f50400b14b962089a3c2146698f86400e12df58",
    "architecture": {
        "64bit": {
            "installer": {
                "script": "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-64.7z\" \"$dir\""
            }
        },
        "32bit": {
            "installer": {
                "script": "Expand-7zipArchive \"$dir\\`$PLUGINSDIR\\app-32.7z\" \"$dir\""
            }
        }
    },
    "post_install": "Remove-Item \"$dir\\`$PLUGINSDIR\" -Recurse",
    "bin": [
        [
            "Boost Note.exe",
            "Boost-note"
        ]
    ],
    "shortcuts": [
        [
            "Boost Note.exe",
            "Boost Note.next"
        ]
    ],
    "checkver": {
        "github": "https://github.com/BoostIO/BoostNote.next"
    },
    "autoupdate": {
        "url": "https://github.com/BoostIO/BoostNote.next/releases/latest/download/boost-note-win.exe#/dl.7z"
    }
}

こういうのを適当に作っていってオレオレバケツの中に入れてコマンドプロンプト

> scoop install boost-note-next-np

ってやると簡単にインストールできるようになります。便利

*1:入れてはみたけど現状はまだ発展途上という感じ、常用は厳しいかも?