2010-03-31 6 views
17

मैं एक + आधारित परियोजना निम्न निर्देशिका संरचना है कि पर काम कर रहा हूँ:क्या ग्राडल एक बिल्ड निर्देशिका संरचना को संभाल सकता है जो डिफ़ॉल्ट सम्मेलनों का पालन नहीं करता है?

projectRoot/src 
projectRoot/classes 
projectRoot/conf 
projectRoot/webservices 

इस में पूरी तरह से अच्छी तरह से काम, लेकिन मैं को विस्थापित करने के लिए देख रहा हूँ।

क्या ग्रैडल में गैर-मैवेन निर्देशिका संरचना को परिभाषित करने का कोई तरीका है या मुझे mavenize पर देखना चाहिए?

उत्तर

30

ग्रैडल किसी भी निर्देशिका संरचना के अनुकूल होने के साथ बहुत आसान है। ग्रैडल उपयोगकर्ता मार्गदर्शिका के Working with source sets अनुभाग देखें।

8

अमानक परियोजना निर्देशिका संरचना (कस्टम लेआउट) के साथ उदाहरण:

sourceSets { 
    main { 
     java { 
      srcDir 'sources/main/java' 
     } 
     output.classesDir = "$workDir/client/program" 
    } 
    test { 
     java { 
      srcDir 'sources/test/java' 
     } 
     output.classesDir = "$workDir/client/tests" 
     output.resourcesDir = "$workDir/client/tests" 
    } 
} 
1

प्रयास करें:

sourceSets { 
    main { 
     java { 
      srcDirs = ['src/java'] 
     } 
     resources { 
      srcDirs = ['src/resources'] 
     } 
    } 
} 

या

sourceSets { 
    main.java.srcDirs += 'src/java' 
    main.resources.srcDirs += 'src/resources' 
} 
संबंधित मुद्दे

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