Scalaでのクロスバージョンの動作を明確にする

MaatDeamon

ここで2つの違いは何ですか?

addCompilerPlugin("org.typelevel" %% "kind-projector" % "0.11.3" cross CrossVersion.full)

// if your project uses multiple Scala versions, use this for cross building
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.11.3" cross CrossVersion.full)

私の理解では、cross CrossVersion.fullScalaのフルバージョンをライブラリに追加します。

kind-project_2.13.4:0.11.3

そしてそれ%%はScalaBinaryバージョン追加します。

kind-project_2.13:0.11.3

そこで私は、我々が必要とする理由を理解していないcross CrossVersion.fullの両方で%%%違いは何ですか?

トーマーシェタ

私はそれらが同じであるとかなり確信しています。

公開規則のオーバーライドから

crossVersion設定は、公開規則をオーバーライドできます。

  • CrossVersion.disabled (接尾辞なし)
  • CrossVersion.binary (_)
  • CrossVersion.full (_)

デフォルトは、CrossVersion.binaryまたはCrossVersion.diabledcrossPathsの値によって異なります

クロスビルドライブラリの使用に関する詳細から

これらは同等です:

"a" %% "b" % "1.0"
("a" % "b" % "1.0").cross(CrossVersion.binary)

したがって、最終的に重要なのはの値だけですcrossVersion

をテストするためにcrossVersion、私は自分ので簡単なタスクを作成しましたbuild.sbt

lazy val getVersion = taskKey[Unit]("A simple task")
getVersion := {
  List(dep1, dep2, dep3, dep4).foreach { d =>
    val att = Seq(d.organization ,d.name ,d.revision ,d.configurations ,d.isChanging ,d.isTransitive ,d.isForce ,d.explicitArtifacts ,d.inclusions ,d.exclusions ,d.extraAttributes ,d.crossVersion ,d.branchName)
    println(att)
  }
}
lazy val dep1 = "org.typelevel" % "kind-projector" % "0.11.3" cross CrossVersion.full
lazy val dep2 = "org.typelevel" %% "kind-projector" % "0.11.3" cross CrossVersion.full
lazy val dep3 = "org.typelevel" % "kind-projector" % "0.11.3"
lazy val dep4 = "org.typelevel" %% "kind-projector" % "0.11.3"

の出力sbt getVersionは次のとおりです。

List(org.typelevel, kind-projector, 0.11.3, None, false, true, false, Vector(), Vector(), Vector(), Map(), Full(, ), None)
List(org.typelevel, kind-projector, 0.11.3, None, false, true, false, Vector(), Vector(), Vector(), Map(), Full(, ), None)
List(org.typelevel, kind-projector, 0.11.3, None, false, true, false, Vector(), Vector(), Vector(), Map(), Disabled(), None)
List(org.typelevel, kind-projector, 0.11.3, None, false, true, false, Vector(), Vector(), Vector(), Map(), Binary(, ), None)

ご覧のとおり、とがのcrossVersion両方dep1あるを除いて、すべてのモジュールは同等dep2ですFull(, )二つの他人とは違ってDisabled()Binary(, )

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Scalaでのクロスバージョンの動作を明確にする

分類Dev

C ++での<<演算子のオーバーロードの動作を明確にする

分類Dev

ジオロケーションは、特定のコルドババージョンのバックグラウンドで異なる動作をしますか?

分類Dev

どのバージョンのgeckodriverとseleniumスタンドアロンがFirefox53で動作するか

分類Dev

私のAndroidプログラムが4.4.3バージョンでは正常に動作するのに、10.0では動作しないのはなぜですか

分類Dev

クラスのロード時にRailsのバージョンを確認するにはどうすればよいですか?

分類Dev

Java:同じクラスの複数のバージョンを動的にロードする

分類Dev

アプレットが動作するJavaのバージョンの確認

分類Dev

どのように春のスタータープロジェクト(春ブーツ)EclipseでJavaバージョン6のためを作るには?

分類Dev

mesonプロジェクトのバージョンを動的に割り当てることはできますか?

分類Dev

現在のテンソルフローのバージョンが少なくともPythonスクリプトの特定のバージョンであるかどうかを確認するにはどうすればよいですか?

分類Dev

ZeppelinでSparkとScalaのバージョンを確認する方法は?

分類Dev

ZeppelinでSparkとScalaのバージョンを確認する方法は?

分類Dev

データアクセスロジックをASP.NetCore 1.0ベータバージョン(DNX)の別のプロジェクトに移動する

分類Dev

forループでのブロックの動作に関する説明が必要

分類Dev

スクロールバーインジケーターをより明確で見やすくする方法は?

分類Dev

クリティカルセクションで動作する2つのスレッドを説明するためにUMLを描画する方法

分類Dev

クリティカルセクションで動作する2つのスレッドを説明するためにUMLを描画する方法

分類Dev

バージョン16.04以降でスクロールバーの非表示を無効にする方法

分類Dev

バージョン16.04以降でスクロールバーの非表示を無効にする方法

分類Dev

グラフィックカードがUbuntuの最新バージョンで動作するかどうかはどこで確認できますか?

分類Dev

グラフィックカードがUbuntuの最新バージョンで動作するかどうかはどこで確認できますか?

分類Dev

同じJARの2つの異なるバージョンのGoogleCloudDataflowのステージング場所にクラスローダーの問題がないことを確認するにはどうすればよいですか

分類Dev

リンクのように動作するようにJavaScriptでページをロードする方法

分類Dev

特定のページでGoogleChromeを常にモバイルバージョンで動作させる

分類Dev

PHPバージョン5.6でクラス定数の代わりにグローバル定数を使用する方法

分類Dev

DRequestバージョン6xで動作するように変更されたバージョンのItemRequestForm.javaを取得する

分類Dev

Railsで将来のジョブを動的に追加するために(Herokuで動作する)どのRuby / Railsバックグラウンドジョブフレームワークを使用する必要があるか

分類Dev

数字を増やすアニメーションをスクロールでのみ動作させる方法

Related 関連記事

  1. 1

    Scalaでのクロスバージョンの動作を明確にする

  2. 2

    C ++での<<演算子のオーバーロードの動作を明確にする

  3. 3

    ジオロケーションは、特定のコルドババージョンのバックグラウンドで異なる動作をしますか?

  4. 4

    どのバージョンのgeckodriverとseleniumスタンドアロンがFirefox53で動作するか

  5. 5

    私のAndroidプログラムが4.4.3バージョンでは正常に動作するのに、10.0では動作しないのはなぜですか

  6. 6

    クラスのロード時にRailsのバージョンを確認するにはどうすればよいですか?

  7. 7

    Java:同じクラスの複数のバージョンを動的にロードする

  8. 8

    アプレットが動作するJavaのバージョンの確認

  9. 9

    どのように春のスタータープロジェクト(春ブーツ)EclipseでJavaバージョン6のためを作るには?

  10. 10

    mesonプロジェクトのバージョンを動的に割り当てることはできますか?

  11. 11

    現在のテンソルフローのバージョンが少なくともPythonスクリプトの特定のバージョンであるかどうかを確認するにはどうすればよいですか?

  12. 12

    ZeppelinでSparkとScalaのバージョンを確認する方法は?

  13. 13

    ZeppelinでSparkとScalaのバージョンを確認する方法は?

  14. 14

    データアクセスロジックをASP.NetCore 1.0ベータバージョン(DNX)の別のプロジェクトに移動する

  15. 15

    forループでのブロックの動作に関する説明が必要

  16. 16

    スクロールバーインジケーターをより明確で見やすくする方法は?

  17. 17

    クリティカルセクションで動作する2つのスレッドを説明するためにUMLを描画する方法

  18. 18

    クリティカルセクションで動作する2つのスレッドを説明するためにUMLを描画する方法

  19. 19

    バージョン16.04以降でスクロールバーの非表示を無効にする方法

  20. 20

    バージョン16.04以降でスクロールバーの非表示を無効にする方法

  21. 21

    グラフィックカードがUbuntuの最新バージョンで動作するかどうかはどこで確認できますか?

  22. 22

    グラフィックカードがUbuntuの最新バージョンで動作するかどうかはどこで確認できますか?

  23. 23

    同じJARの2つの異なるバージョンのGoogleCloudDataflowのステージング場所にクラスローダーの問題がないことを確認するにはどうすればよいですか

  24. 24

    リンクのように動作するようにJavaScriptでページをロードする方法

  25. 25

    特定のページでGoogleChromeを常にモバイルバージョンで動作させる

  26. 26

    PHPバージョン5.6でクラス定数の代わりにグローバル定数を使用する方法

  27. 27

    DRequestバージョン6xで動作するように変更されたバージョンのItemRequestForm.javaを取得する

  28. 28

    Railsで将来のジョブを動的に追加するために(Herokuで動作する)どのRuby / Railsバックグラウンドジョブフレームワークを使用する必要があるか

  29. 29

    数字を増やすアニメーションをスクロールでのみ動作させる方法

ホットタグ

アーカイブ