2015-02-05 11 views
8

मैं एनोटेशन प्रोसेसिंग का उपयोग करता हूं। इसलिए मैं apt plugin का उपयोग करता हूं। यह build/source/apt में नए जावा स्रोत उत्पन्न करता है।मैं अपने स्रोत पथ में ग्रिडल में जेनरेट किया गया स्रोत फ़ोल्डर कैसे जोड़ सकता हूं?

यहाँ मेरी build.gradle है:

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'apt' 
apply plugin: 'war' 
apply plugin: 'gwt' 
apply plugin: 'jetty' 

sourceCompatibility = 1.7 
version = '1.0' 

eclipse { 
    classpath { 
     downloadSources=true 
     downloadJavadoc=true 
    } 
} 

buildscript { 
    repositories { 
     mavenCentral() 
     jcenter() 
     maven { 
      url "https://oss.sonatype.org/content/repositories/snapshots/" 
     } 
    } 
    dependencies { 
     classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'  
     classpath 'com.jimdo.gradle:gradle-apt-plugin:0.5-SNAPSHOT' 
    } 
} 

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

dependencies { 
    apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT:jar-with-dependencies' 

    compile 'com.google.guava:guava:18.0' 
    compile 'com.google.guava:guava-gwt:18.0' 
    compile 'javax.inject:javax.inject:1' 
    compile 'com.google.dagger:dagger:2.0-SNAPSHOT' 
} 

gwt { 
    gwtVersion='2.7.0' 
    logLevel = 'INFO' 
    minHeapSize = "512M"; 
    maxHeapSize = "1024M"; 


    compiler { 
     strict = true; 
    } 
    modules 'test.GWTT'  
} 

tasks.withType(de.richsource.gradle.plugins.gwt.AbstractGwtActionTask) { 
    args '-XjsInteropMode', 'JS' 
} 

मैं परियोजना संयोजित करते समय इस स्रोतों की आवश्यकता ऐसी है कि ग्रहण उन्हें पा सकते हैं अपने प्रोजेक्ट में उपलब्ध है और इस तरह के होने के लिए है कि वे शामिल किए गए हैं कि कैसे मैं ऐसा कर सकते हैं ?

संपादित करें:

sourceSets { 
    apt{ 
     java{ 
      srcDir 'build/source/apt' 
     } 
    } 
} 

का उपयोग करते हुए निम्नलिखित त्रुटियां होती हैं जब gradle build चल:

Compiling module test.GWTT 
    Tracing compile failure path for type 'test.client.GWTT' 
     [ERROR] Errors in 'file:/Users/mg/Documents/Grails/GGTS3.6.2/TestGradle2/src/main/java/test/client/GWTT.java' 
     [ERROR] Line 17: No source code is available for type test.client.test2.Dagger_MyWidgetGinjector; did you forget to inherit a required module? 
    Finding entry point classes 
     Tracing compile failure path for type 'test.client.GWTT' 
     [ERROR] Errors in 'file:/Users/mg/Documents/Grails/GGTS3.6.2/TestGradle2/src/main/java/test/client/GWTT.java' 
      [ERROR] Line 17: No source code is available for type test.client.test2.Dagger_MyWidgetGinjector; did you forget to inherit a required module? 
     [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly 
:compileGwt FAILED 

पूर्व ग्रहण का उपयोग करते हुए उत्पन्न फ़ाइलों के स्रोत पाता है लेकिन निर्माण नहीं करता है।

उत्तर

2

आउटपुट कक्षाओं के लिए कस्टम स्रोत सेट को परिभाषित करने का प्रयास करें। कुछ ऐसा:

sourceSets { 
    apt{ 
     java{ 
      srcDir 'build/source/apt' 
     } 
    } 
} 

आपको बंद करना चाहिए। अधिक जानकारी के लिए अधिक जानकारी के लिए java gradle plugin docs के स्रोत सेट अनुभाग (23.7) की जांच करें।

+0

कृपया मेरे संपादन देख मैं अपने विचार करने की कोशिश की में

sourceSets.main.java.srcDirs = ['build/generated/source/apt/main','src/main/java'] 

डाल सकते हैं। ग्रहण स्रोतों को मिला लेकिन उपरोक्त त्रुटि के लिए ''ग्रेडल बिल्ड' 'है और स्रोत नहीं मिला है। – confile

+0

आपके कोड से परिचित होने पर, त्रुटि है क्योंकि परीक्षण उपयुक्त आउटपुट नहीं ढूंढ सकते हैं? यदि ऐसा है तो आपको शायद इसे अपने निर्भरता ग्राफ में हुक करने की आवश्यकता है। मेरे द्वारा पोस्ट किए गए दस्तावेज़ों की धारा 23.7.3 में नमूने दिखाते हैं कि यह कैसे करें। शुभ लाभ। –

+0

मैं किसी भी परीक्षण का उपयोग नहीं करता हूं। जीडब्ल्यूटी प्लगइन एपीटी प्लगइन द्वारा उत्पन्न स्रोतों को खोजने में सक्षम नहीं था। क्या आप जीडब्ल्यूटी प्लगइन को बताने का एक तरीका जानते हैं जहां स्रोत हैं? – confile

2

sourceSets.main.java.srcDirs = ['build/generated-sources/xjc','src/main/java'] मेरे लिए काम किया।

+0

आप रॉक! यह मेरे लिए भी काम किया! – FisherCoder

2

जार प्लगइन के साथ चाकू 2 के लिए आप build.gradle

संबंधित मुद्दे