2017-04-09 4 views
3

私はsbtを使って実行しているScalaプロジェクトに取り組んでいます。 dottyによって提供される共用体型を使用したいと思います。私のプロジェクトでdottyを使用する際に問題があります。 sbt-dottyで述べたように、コンテンツとscalaプロジェクトでdottyを使用するには?

  • 追加./projects/plugins.sbt./projects/build.properties

    私はこれをしませんでした。
  • ./projects/scalafix.sbtと構成ファイル ./.scalafix.confを追加しました。内容はscalafixEnabled in ThisBuild := trueです。これは、今sbt-scalafix

で提供されて、私はプロジェクトをコンパイルする場合、私はMember Not Found ErrorAmbiguous overloadようMigration Warning sおよびエラーの膨大なリストを取得し、java.lang.AssertionError: no TypeBounds allowedで終わります。これらのエラーのそれぞれを回避する唯一の方法を修正していますか?

これらの変更を行う前に、プロジェクトはうまく動作していました(scalaVersion:= 2.12.1)。誰でもそれを働かせるように助けてくれますか?

編集:sbtVersion = 0.13.13

+0

SBTバージョンを提供できますか? –

+0

@AkiLegaspiそれは0.13.13です。質問にもこれを追加しました。 – vinayawsm

+3

「scalafix」を含むDottyエコシステム全体が非常にベータ版であり、「scalafix」が手作業でコードベースを正常に移行できるかどうかは非常に驚きです。 – badcook

答えて

4

ドッティは実験段階に現在ある(プレアルファ、書き込み時のない一般公開)。あなたがコンパイルエラーを取得しているという事実は、次のことを意味します。

  • あなたのセットアップのsbtで、プロジェクトをコンパイルする&義母は(それが質問に答える?)、おそらく正しい
  • あなたのコードベースは義母に新しいバグを誘発する可能性がある

StackOverflowは、リリースされていないソフトウェアのバグについて議論する正しい場所ではありません。問題を最小限に抑えることができる場合は、dotty issue tacker(または、チャットgitter)に報告してください。コンパイラのハッキングに興味がある場合は、これらの初期段階で多くの機会があり、外部の貢献者はいつでも大歓迎です!


ご質問の一部ではない場合でも、私は@JörgWMittagコメントに対処する必要があります。 Dottyは新しいプログラミング言語ではありません。長期的な目標は、Scala 2.10/2.11/2.12の場合のように、コンパイラの両方でScalaエコシステムの大部分をクロスコンパイルできるようにすることです。 Dotty自体はそのようなプロジェクトの一例であり、すべてのテストはscalac(現在はデフォルト)でコンパイルされたバージョンと、コンパイラのブートストラップバージョン(dottydottyでコンパイルされています)で実行されます。

また、インフラストラクチャは現在community-buildに設定されています。コンパイラの追加テストインフラストラクチャとして機能する、scalac/dottyでクロスコンパイルできるオープンソースのScalaプロジェクトを集める(フォークする)リポジトリです。

関連する問題