2017-06-21 5 views
3

私はクライアント用に複数のプロジェクトを構築しています。これらのプロジェクトは、共通のコードを持っている傾向があり、別々のプロジェクトにまとめました。私はこれをすべて整理するためにDUBを使用しようとしていますが、これまでGitubのようなサイトに公開してDUBの公開レジストリに登録することなく、これらの共通プロジェクトを依存関係として追加する方法を理解できません。これらのものを公開すると、私の契約に違反するか、DUBレジストリ(またはその両方)に無益なスパムを入れます。プライベートサーバー上で私自身のDUBレジストリを操作する方法はありますか?また、通常の公開プロジェクトとLANアクセス可能なgit reposのプライベートなものをいくつかグラフにしてもらえますか?DUBレジストリを自己ホストする方法はありますか?

これは、gitサブモジュールをたくさん作る必要がなくなります。 :)

ありがとうございました。

答えて

1

あなたは自己dub-registryに、独自の--hostnameパラメータを使用してdubに独自の--registryパラメータを提供することにより、ダブレジストリをホストすることができます。

また、パッケージをローカル(またはパッケージがネットワークドライブに置かれている場合はリモート)で使用することもできます。 wikiページダブ「クックブック」レジストリにないパッケージを操作する方法について説明しますhttps://github.com/dlang/dub/wiki/Cookbook#working-with-submodules-or-packages-that-are-not-in-the-registryレジストリに

でないサブモジュールまたはパッケージの操作

それは持っているプロジェクトのいずれかに一般的に行われています マスタープロジェクトのgitサブモジュールとして、または依存性として登録されていないプロジェクトを開発のために として使用することができます。この設定では、プロジェクトを プロジェクトに依存するように設定すると、リポジトリを検索するのではなく、 が便利になります。ここでは、そのようなパッケージの例です:

{ "name": "dlang-org", "dependencies": { "libddoc": { "path": "./libddoc" }, "libdparse": { "path": "./libdparse" } } }

別の可能性は、アドオン地元するパッケージです。これは、開発中に、そのパッケージを使用している ライブラリでパッケージをテストしたいときに特に便利です( )。

dub add-local myrepo dub list

+0

私は(私は現在、「サブパッケージ」と一緒に遊んだ:「依存関係」の「主なサブプロジェクト」表記)は、その特定の「依存関係」の構造を認識していなかったと、私はありませんでしたadd-localのどちらかを認識しているので、それは素晴らしい情報です。残念なことに、それは質問に答えたり、問題を解決したりしません。同じLAN上のgitサブモジュールや他の開発者が同じパッケージリストにアクセスする必要がないので、私は実際にプライベートレジストリを好むでしょう。私はそれが私が近くになると思う:おそらく、ネットワーク上のファイル共有上の追加ローカルを使用してそれを行うだろう。より良い方法がありますか? – chadjoan

+0

gitサブツリーもあります - gitサブモジュールと比較して、すべてのソースが保存されています... – greenify

+1

dub-registryに '--hostname'パラメータを使ってダビングとホストdub-本当に必要です。 –

関連する問題