2012-03-04 16 views
1

Jaybird(Firebird JDBCドライバ)のリリースでは、Mavenリポジトリにもリリースしたいと考えています。サポートされている各Javaバージョン(Jaybird 2.2では、Java 5/JDBC 3、Java 6/JDBC 4.0、Java 7/Java 4用のバージョン)のバージョンが異なるため、アーティファクトの名前を付けたり、 JDBC 4.1)。 (分類器を使用したバージョンでアーティファクト(例えば<version>2.2.0-jdk15</version>異なるJVMバージョンのmavenアーティファクトのデプロイ

  • を(例えば<artifactId>jaybird-jdk15</<artifactId>
  • JVMのバージョンを

    1. JVMのバージョン:

      私はJVMの特定のバージョンに名前を付けるの3つの異なる方法を発見しました例えば<classifier>jdk15</classifier>

    ビルドのソースコードが異なるため、JVMの亜種が実際に異なると考えることができますアーティファクト(オプション1)。私はPostgreSQL JDBCがオプション2を使用しているのを見ました。オプション3は、(AFAIK)バージョン固有のソースとjavadocを含めることができないという欠点があります。

    JVM固有のアーティファクトのために全く異なるオプションまたはmaven-featureが欠落しているか、これらのタイプのアーティファクトをバージョニングするための好ましい方法があるかどうかを知りたいと思います。

    注:が原因ソースコードは、両方のために異なっているという事実にMavenの

  • +1

    もう1つのデータポイントとして、oracleは、ojdbc14、ojdbc5またはojdbc6という名前のアーティファクトとともにオプション1を使用します。私はクラシファイアが正しいアプローチだと思っていますが、付属のソースとjavadoc成果物については非常に良い点があります。 –

    +0

    [testng](http://repo1.maven.org/maven2/org/testng/testng/5.10/)では、 'jdk14'と' jdk15'のバージョン '5.11'の前に' Option 3'を使いました。また、 'source'と' javadoc'をデプロイしましたが、両方に共通しているかどうかは分かりません。 – Raghuram

    答えて

    1

    を使用しないでJaybirdは、プロセス自体を構築し、私はそれ1.オプションが本当に違うアーティファクトである/ wがいいと思うん。

    すべてのソースを1つのツリーにまとめ、さまざまなアーティファクトを作成するためにプロファイルを使用すると、オプション3になります。

    +0

    ビルド自体はMavenを使用せず、JVMのバージョン間の違いがコード化され、構造化されているため、単一のコードベースを取得するのは容易ではありません。 –

    +0

    (mavenを使用しているかどうかで)成果物を構築して生成する方法は、あまり重要ではありません。違いを重要にするのは、Mavenを使って他のプロジェクトにアーチファクトを提供することです。 – Michael

    関連する問題