コンテキスト:私は現在、Githubの何千ものプロジェクトのビルドに関する情報を得るためにTravis APIを掘り起こす必要のあるリサーチツールに取り組んでいます。プロジェクトがビルドツールとしてMavenまたはGradleを使用しているかどうかを認識する最善の方法を見つけたいと思います。regexpを使用してTravisログからMavenとGraleを区別する方法
私はトラヴィスからログを取得するには、ビルドし、それらを解析し、今の私には、Mavenのための次のパターンを使用しています:
^(-------------------------------------------------------|\[INFO\] Reactor Summary:)$
とGradleのために、この1:
^(:[\w-]+)?:test[\w-]*$
問題を私が発見されましたそれらの正規表現に適合しない毎日の新しいプロジェクト:次に、偽陽性のない最大限のプロジェクトを見つけるためにそれらを改善する考えはありますか?
編集:私は主にテストを開始するプロジェクトに興味があります。そのため、それらの正規表現から始めました。
だが、 'INFO'' test'と '炉Summary'が固定されていますか? – m87
最初に、私は主にテストを開始するプロジェクトに興味があることを正確に述べなければなりません。そして、率直に言って私はほとんどの経験で正規表現に進んでいました。私が遭遇するほとんどのMavenログは静かなモードでmavenを起動した場合を除いて[INFO] Reactor Summary行を持っています。また、gradleの場合、プロジェクトのほとんどにいくつかのテストタスクがあり、プレフィックスは "test"です。 –
ログを解析する理由...なぜプロジェクトを分割しないのですか? – khmarbaise