2016-03-25 12 views
4

Bir Sürekli şöyle tanımlanır var. Denetleyicide implements NullCheckTrait varsa, iyi çalışıyor. @Enhances'un sadece bir not eklentisi oluşturup özelliği oraya koyduğumda çalışacağını okudum. Bu bilinen bir sorun olup olmadığını merak ediyorum ve @Enhances almak için denetleyici olarak aynı grails uygulamadan çalışmak için bir yol varsa.@Enhances Grails Kontrolör

cevap

3

@Enhances sınıfları derlemeden önce sınıf yolunda olması gerektiğinden, bunu aşmanın yolu yoktur. Örneğin, kontrol cihazınızın sınıfının önce ve daha sonra sizin özellikli olarak derlendiğini söyleyin, bu durumda özellik uygulanmayacaktır ve derleme sırasını kontrol etmenin bir yolu olmadığı için bu bir sorun olmaya devam edecektir.

bu aynı projede yapılabilir diğer tek yolu kurulumu Gradle belirlenen ek bir kaynak olduğunu, bkz:

How do I add a new sourceset to Gradle?

+0

Teşekkürler Graeme için bir AST sourceset oluşturma hakkında bir blog girişi yazdım. Bu tamamen mantıklı. Ve bağlantı için teşekkürler. – Gregg

+0

@Graeme Rocher hala geçerli mi? zaten AST için ekstra eklentiye ihtiyaç duymadan, aynı projede bile src/ast eserleri altında bir ast kaynak kümesi ve dönüşümler koyuyorum, cevabımı –

1

bir özel oluşturmak gerekmez tane daha çözüm var ek kaynak kümesi.

grails gradle plugin, varsayılan olarak herhangi bir ana kaynak kümesinden derlenmiş olan ast adlı bir kaynak kümesiyle gelir. Böylelikle Trait'ınızı ast kaynaklarına koyabilirsiniz ve aynı eklenti/projede bile eserlere uygulanacak.

İşte proje yapısı

src 
    + 
    +--+ast 
     + 
     +--+groovy 
       + 
       +--+MyAwsomeTrait.groovy 

nasıl olması gerektiğini Ve bu senin sourceset almak ve uygulayacaktır src/ana sourceset ve grails sınıflara önce derlenmiş alacak.

güncelleştirmesi: Grails, ast kaynaklarını yalnızca eklenti projeleri için değil, uygulama için yapılandırır. Burada,

+0

'un altında görün. Güncelleme: Yukarıdaki çözüm, yalnızca uygulama projeleri için değil, eklenti projeleri için de geçerlidir. sorun https://github.com/grails/grails-core/issues/10717 –