2013-05-22 17 views
19

build.gradle dosyasını açmak için IntelliJ'u kullanarak, "Gradle from Gradle" penceresinden "Dışlanan Kökler" .gradle ve build dizinleri ile önceden doldurulur.IntelliJ, Gradle'ı kullanarak Dizinleri Dışlama nasıl belirlenir?

nasıl dizinleri build.gradle dosyada hariç (veya hariç) ne olması gerektiğini belirtirim?

Özellikle ben yerlerdir /build/generated-sources/ dizinde yaratılan kaynaklarla bir protokol tampon eklentisi kullanıyorum. build dizini hariç tutuluyorsa, kaynak sınıfım oluşturulan sınıfları görmez.

Detayları: intellij 12.1.3, Gradle 1.4Gradle Build Language Reference gösterildiği gibi

+0

- https://youtrack.jetbrains.com/issue/IDEA-104847 için oyu gitmek – Shorn

cevap

21

, türe List<File> taşımaktadır idea.module.excludeDirs özelliğini, yapılandırabilir. Görünüşe göre IDEA, dışlanan dizinlerin alt dizinlerini de desteklemiyor. Bu nedenle, build/generated-sources'un tüm kardeşlerini hariç tutmanız gerekecek. Örneğin:

Protokol Tamponu eklenti destekliyorsa
idea { 
    module { 
     excludeDirs = [file(".gradle")] 
     ["classes", "docs", "dependency-cache", "libs", "reports", "resources", "test-results", "tmp"].each { 
      excludeDirs << file("$buildDir/$it") 
     } 
    } 
} 

, build dışında bir yere oluşturulan kaynakları kullanarak ve clean görev (örneğin clean.delete "generated-sources") bilinen bu yer yapmak için daha kolay olabilir.

+0

Maalesef oluşturulan-kaynaklar dizinidir eklentiye kodlanmış. –

+1

Gravür için Idea eklentisini kullanmıyorum, projeyi IntelliJ 12'nin yerel işlevselliğini kullanarak açıyorum. Bu şekilde açıldığında işe yarayacak mıyım? –

+0

JetGradle görünüşe göre projeyi kurmak için buna bakar. –

11

Başka bir çözüm. Idea ile çalışır

idea.module { 
    excludeDirs -= file(buildDir) //1 
    buildDir.listFiles({d,f->f != 'generated-sources'} as FilenameFilter).each {excludeDirs += it}} //2 
  1. 13.

    excludeDirs den buildDir çıkarın.
  2. (generating-source hariç) her buildDir çocuk hariç tutar. IDEA gradle ithalat işlevselliği yerleşik (yani değil gradle eklentisi) kullanan kişiler için
+0

Teşekkürler, her zaman alternatif yaklaşımlar iyi. –

+0

Bence bu sadece "yap" altındaki dosyaları oluşturduktan sonra "fikir" görevini çalıştırırsanız çalışır - temiz bir ödeme değil. – Ramon

+0

Bu, yalnızca proje düzenindeki dahil edilen/hariç tutulan direklerin yönetimidir. Fikir, platform tabanlı projemin düzenini kaydetmiyor. Ve tekrar başladıktan sonra, 'buildDir' tekrar düzeninden çıkarılır. Ve bu birkaç satır onu düzeltir. –

İlgili konular