2012-05-13 11 views
5

Để đặt câu hỏi theo cách khác, Gradle có áp đặt cấu trúc thư mục nhất định vào dự án mà nó quản lý không?Gradle có thể xử lý các bản dựng cho các dự án kế thừa mà không cần phải tái cơ cấu các thư mục không?

Tôi có một dự án kế thừa trong đĩa của mình và nhiệm vụ là giúp việc xây dựng và quản lý dễ dàng hơn. Nó là một ứng dụng Java EE đa mô-đun. Tôi đã tìm thấy (và bạn cũng sẽ chắc chắn) rằng quá trình xây dựng hiện tại hoàn toàn bị lệch và hoàn toàn là thời gian thải.

Tôi tin rằng đây là lúc để làm thẳng mọi thứ bằng cách giới thiệu hệ thống quản lý xây dựng và lựa chọn giữa Maven và Gradle.

Hầu hết các dự án đều đang sử dụng cấu trúc thư mục của dự án eclipse. Một số người khác sử dụng cách bố trí thư mục khác nhau mà cho đến bây giờ tôi không thể tìm thấy lý do đằng sau. Sử dụng Maven, đây sẽ là một trở ngại khi chúng ta cần phải cấu trúc lại các thư mục để tuân thủ quy ước của maven. Tái cơ cấu thư mục có thể là nỗ lực rất lớn khi chúng ta cần phải sắp xếp nó ra trên CVS cũng.

Vì vậy, câu hỏi cho Gradle.

Trả lời

1

Cả hai đều có thể chứa cấu trúc thư mục tùy ý. IMO nó dễ dàng hơn trong Gradle, và không có giá trị nó trong Maven.

Điều đó nói rằng, tôi giống như có cấu trúc thư mục áp đặt, và phần lớn, tôi thích cấu trúc Maven. Đó là một nỗi đau trong CVS vì các vấn đề xử lý thư mục, nhưng về lâu dài, việc chuyển sang một cấu trúc nhất quán giữa các dự án là đáng giá.

6

Gradle sử dụng ước về cấu hình cho phép bạn cung cấp thông tin tối thiểu để xây dựng dự án của bạn nếu bạn làm theo cách bố trí dự án tiêu chuẩn. Điều đó nói rằng tất cả mọi thứ vẫn còn có thể cấu hình sử dụng một phong cách tường thuật:

sourceSets { 
main { 
    java { 
     srcDir 'src/java' 
    } 
    resources { 
     srcDir 'src/resources' 
    } 
} 

}

Bởi vì bạn có một ngôn ngữ lập trình thực bạn có thể làm hầu hết mọi thứ.

+3

Lưu ý rằng thư mục nguồn _adds_ này thay vì thay thế chúng. Cú pháp để thay thế là 'srcDirs = ['src/java']' và 'srcDirs = ['src/resources']'. –