2017-05-14 9 views
0

Libgdxプロジェクトジェネレータを使用して私の最初のLibGDXプロジェクトを作成しました。私はIntelliJでプロジェクトを開きました。そこで、build.gradleファイルのリポジトリのインデックスを作成するよう依頼しました。問題のリモートリポジトリた:プロジェクトを生成する:巨大なダウンロード

  • Maven2を
  • oss.sonatypeスナップショットのすべての
  • 一緒にすべての

oss.sonatypeリリースのすべてが、これは約5万円をインテリジェントは楽しくダウンロードを開始しました。完成までに時間がかかっていたので、私はそれらのリポジトリのいくつかを調べ始めました。通常、gradleのようなリポジトリマネージャを使用するという点は、使用しているライブラリでは、 は、必要な部分だけをダウンロードしていることです。。しかし、ソナタイプ snapshotsreleasesは、膨大な量のファイルと多数の異なるバージョン/リリースでいっぱいです。

私の質問です:これらのファイルをすべてダウンロードする予定ですか、何か不足していますか?私が必要とする小片しかダウンロードできないのですか?すべてのバージョンで、すべての注入されたライブラリをダウンロードする必要はありません

buildscript { 
    repositories { 
     mavenLocal() 
     mavenCentral() 
     maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } 
     jcenter() 
    } 
    dependencies { 
    } 
} 

allprojects { 
    apply plugin: "eclipse" 
    apply plugin: "idea" 

    version = '1.0' 
    ext { 
     appName = "HelloWorld" 
     gdxVersion = '1.9.6' 
     roboVMVersion = '2.3.0' 
     box2DLightsVersion = '1.4' 
     ashleyVersion = '1.7.0' 
     aiVersion = '1.8.0' 
    } 

    repositories { 
     mavenLocal() 
     mavenCentral() 
     maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } 
     maven { url "https://oss.sonatype.org/content/repositories/releases/" } 
    } 
} 

project(":desktop") { 
    apply plugin: "java" 


    dependencies { 
     compile project(":core") 
     compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" 
     compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" 
     compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-desktop" 
     compile "com.badlogicgames.gdx:gdx-tools:$gdxVersion" 
    } 
} 

project(":core") { 
    apply plugin: "java" 


    dependencies { 
     compile "com.badlogicgames.gdx:gdx:$gdxVersion" 
     compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion" 
    } 
} 

tasks.eclipse.doLast { 
    delete ".project" 
} 

答えて

1

は、ここに私の完全なbuild.gradleです。

gradleを使用してビルドした場合、必要なアーティファクトはダウンロードしたバージョンのみでダウンロードできます。

Mavenのリポジトリがアーチファクト及びそれらのアーティファクトの異なるバージョンで構成されているMavenのリポジトリの索引付け。私の推測では、例えばIntelliJのようなIDEがリモートリポジトリを読み込むと、マシン上のリポジトリで利用可能な別のローカルキャッシュ/ライブラリ名+バージョンのミニデータベースが作成されます。それがインデックス作成の部分です。これは、毎回リポジトリにアクセスするのではなく、あなたのマシン上のインデックスを参照するようになっているので、ライブラリ名/最新バージョンなどをすばやく検索することになります。

ビルドには影響はありませんが、IDEは単純にバージョン/依存関係の名前(自動完成時など)を探してオンラインでその詳細を確認する必要がある(ローカルキャッシュをチェックするのではなく)。インデックスの

  • メリット - 検索速度
  • 欠点 - あなたはそれ以外の場合は、あなたの常に最新の検索結果(新しいバージョンなど)も何とか5〜6までを取得することはできませんインデックスが最新の状態に保たれていることを確認する必要がありますGBはダウンロードが苦痛です。見つかっ

    インデックスを使用しないリモートのMavenリポジトリを:あなたは無効化]をクリックすることにより、必要な場合

あなたは、この通知を無効にすることができます。無効にする...

IntellijIDEA>設定>外観&行動>通知>インデックスを使用しないのMavenリポジトリGradleの検出>のチェックを外し

ままインデックスを使用しないリモートのMavenリポジトリへ

またはMac OSXに行った事が毎回特定のバージョンを持つアーティファクト場合ローカルリポジトリには見つかりませんでした。

関連する問題