هل يمكن لـ Gradle التعامل مع بنية دليل البناء التي لا تتوافق مع الاتفاقيات الافتراضية؟

StackOverflow https://stackoverflow.com/questions/2551463

  •  23-09-2019
  •  | 
  •  

سؤال

أنا أعمل على + المشروع القائم على هيكل الدليل التالي:

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

هذا يعمل بشكل جيد في لكني أتطلع إلى الهجرة .

هل هناك طريقة لتحديد هيكل دليل غير مافن في Gradle أو يجب أن أتطلع إليه mavenize?

هل كانت مفيدة؟

المحلول

من السهل جدًا أن تتكيف Gradle مع أي بنية دليل. انظر العمل مع مجموعات المصدر قسم من دليل مستخدم Gradle.

نصائح أخرى

مثال على بنية دليل المشروع غير القياسي (التصميم المخصص):

sourceSets {
    main {
        java {
            srcDir 'sources/main/java'
        }
        outputDir = file("$workDir/client/program")
        // For older version (now deprecated):
        //output.classesDir = "$workDir/client/program"
    }
    test {
        java {
            srcDir 'sources/test/java'
        }
        outputDir = file("$workDir/client/tests")
        // For older versions (now deprecated):
        //output.classesDir = "$workDir/client/tests"
        //output.resourcesDir = "$workDir/client/tests"
    }
    resources {
        srcDirs 'sources/test/res'
    }
}

محاولة:

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

أو

sourceSets {
    main.java.srcDirs += 'src/java'
    main.resources.srcDirs += 'src/resources'
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top