どのようにしてMakeファイルにDevモジュールを含めますか?


6

Drushのmakeファイルを使用して、サイト開発を自動化しています。

このチュートリアルに従って DrushでMakeファイルを作成しました。

メイクファイルを実行したときを除いて、すべてが正常に動作しますが、Drushはモジュールの開発バージョン(Devバージョンを使用したモジュールの場合)が見つからないと言っています。

このチュートリアルよると、これはモジュールのGitアドレスとリビジョンIDを指定する必要があるためです。どうやってやるの?

私がとったステップ

たとえば、Fencesモジュールの7.x-1.x-devリリースを含めたいとしましょう。この開発モジュールは2013年9月30日にリリースされました。

プロジェクトページには、[すべてのリリースを表示]というオプションがあります。ただし、このページでは、2013年9月30日付けのリリースはありません。プロジェクトページには、プロジェクトのGitページへのリンクもあります。ただし、最新の更新は15か月前だったため、しばらく更新されていないようです。

この開発モジュールのGitアドレスを見つけるにはどうすればよいですか?それをメイクファイルに含める別の方法はありますか?

回答:


17

あと少しで完了です。makeファイルに追加する必要のあるものは次のようになり、git urlとcommit識別子を指定する必要があります。

projects[path_breadcrumbs][version] = "3.x-dev"
projects[path_breadcrumbs][download][type] = "git"
projects[path_breadcrumbs][download][url] = "http://git.drupal.org/project/path_breadcrumbs.git"
projects[path_breadcrumbs][download][revision] = "c9c570b0b4bde1df0e5a322ab90197d7fc1cf9c6"

これを見つけるには、drupal.orgのプロジェクトページに移動して、「コミットの表示」を選択します。 ここに画像の説明を入力してください

次のページで、makeファイルに追加するモジュールの状態を反映したいものを選択します。この例では、最後のコミットを取得します。

ここに画像の説明を入力してください

そして、「commit bdcf88a」リンクをクリックすると、次のようになります。

http://drupalcode.org/project/path_breadcrumbs.git/commit/bdccf8a

[ダウンロード] [URL]が次のとおりであることを確認しました:

http://drupalcode.org/project/path_breadcrumbs.git

そして私が探しているコミットの完全なハッシュは:

bdccf8a901b6d2359b6da195d23cadf7dd90c4ec

-

要求に応じてさらに更新します-特定のdevブランチを探している場合は、コマンドラインに切り替えて--recursive cloneを実行し、すべてのブランチを取得していることを確認します。この質問に続いて:

開発ブランチをgit pullするにはどうすればよいですか?

git 7.x-1.xブランチを再帰的にプルします

git clone --recursive --branch 7.x-1.x http://git.drupal.org/project/fences.git

これで、使用可能なブランチを確認できます。

git branch -r
  origin/1343724-region
  origin/7.x-1.x
  origin/HEAD -> origin/master
  origin/master

これで7.x-1.xのこのブランチをチェックアウトしてログを確認できます。これにより、最後のコミットと、開発スナップショットの生成に使用されたコミットがわかります。

git checkout 7.x-1.x
git log

  commit 67206b5220cbebf52e8e6a290ccb977b2420b2ad
  Author: JohnAlbin <virtually.johnalbin@gmail.com>
  Date:   Tue Sep 4 13:44:40 2012 +0800

      Fix code comments on figcaption.

日付は、プロジェクトのホームページに表示される日付とは異なります。これは、Drupal.org gitボットによって作成された自動開発スナップショットですが、開発スナップショットは常に同じバージョン番号と '-devを持つブランチから作成されます。 '部分はブランチ名で使用されません。


どうもありがとうございましたが、これはすべてのモジュールに当てはまります。たとえば、フェンスでは、最新の開発バージョンは2013-Sep-30ですが、[コミットの表示]をクリックすると、最新のリリースは2012年9月4日であり、約1年前です。このような状況で何ができますか?あなたが提供できるあらゆる助けをありがとう。
big_smile

1
commit / revisionを指定しない場合は、常に最新のdevバージョンが取得されます。
benjy 2013

@ ben、makeファイルでどのように宣言しますか。Drushのmakeコマンドを使用してから、drushを実行すると、見つからないというメッセージが表示されるため、makeファイルで特別な方法で宣言する必要があると思いますか?助けてくれてありがとう!
big_smile 2013

@schnippyこの素晴らしいガイドを投稿していただきありがとうございます。私はそれを非常に注意深く追跡しましたが、機能させることができません。ここに私が私のメイクファイルに入れたものがあります:projects[fences][version] = "1.0+6-dev" projects[fences][download][type] = "git" projects[fences][download][url] = "http://drupalcode.org/project/fences.git" projects[fences][download][revision] = "67206b5220cbebf52e8e6a290ccb977b2420b2ad" それは正しいようですが、それを動作させることができませんか?あなたが提供できるあらゆる助けをありがとう。
big_smile

1
@big_smileはここに例があります。gist.github.com/benjy14/7941404
benjy 2013

2

Drush Makeはデフォルトでgitを使用し、gitリポジトリへのパスを見つけることができるため、Drushの現在のバージョンでは、モジュールのバージョンのブランチ名とコミットハッシュのみが必要です。

projects[myproject][download][branch] = 7.x-1.x
projects[myproject][download][revision] = abcd123

1

シュニッピーの答えは正しいです、そして受け入れられるべきです。上記の手順はすべてのモジュールに適用されます。残っている唯一の混乱は、2013年9月30日です。これは、Drupal.orgからDrupal 7へのアップグレードの成果物だと思います。いずれにしても、その日付はすべて、drupal.orgがその日付のリリースをパッケージ化したことを示しています。 。最新のコミット(2012-Sep-30)は、そのモジュールで利用可能な最新のコードを表しています。一部のリリースがパッケージ化され、後日ラベルが付けられている場合でも、新しいコードは含まれていません。最後のコミットより新しいコードはありません。


0

私見それはGITブランチの代わりにDOリリースをダウンロードする方がずっと良いです。

コアバージョン(最も一般的)を宣言している場合、この行はfboauthモジュールの2.x devブランチを強制的にダウンロードします。

projects[fboauth][version] = 2.x-dev

このアプローチの問題は、特定の開発バージョンに固定されないことです。したがって、メンテナがそのブランチに大量のコミットを行うと、次回drush makeを実行したときに新しい変更がダウンロードされ、サイトが破損する可能性があります。
ブライアン

多分、メジャーバージョンを指定して、APIが変更されないようにする必要があります。
Alvaro J Hurtado Villegas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.