2012-11-01 12 views
10

क्या जीडब्ल्यूटी कंपाइलर को किसी विधि को संकलित करने के लिए मजबूर करने के लिए एनोटेशन (या कोई अन्य तरीका) बनाना संभव है? मेरे पास एक वर्ग है जिसे मैं ऐप-इंजन (साझा फ़ोल्डर में) पर भी उपयोग करता हूं और इसमें एक विधि के लिए केवल एक सर्वर पक्ष की आवश्यकता होती है जो जीडब्ल्यूटी को संकलित नहीं करती है। मैं जीडब्ल्यूटी को सिर्फ विधि को अनदेखा करना चाहता हूं (जबकि एपेंगेन नहीं करता है)।विधि को अनदेखा करने के लिए जीडब्ल्यूटी कंपाइलर के लिए एनोटेशन

मुझे या तो एक एनोटेशन, या प्री-कंपाइल स्क्रिप्ट मिली जो संकलन से पहले विधि को मिटा देती है। दोनों विधियां मेरे लिए काम करेंगी, अगर मैं अभी भी ग्रहण आईडीई के माध्यम से संकलित कर सकता हूं तो यह सबसे अच्छा होगा।

किसी और ने इसके बारे में सोचा या कोशिश की?

उत्तर

12

अभी तक नहीं। हाल ही में इस तरह की एनोटेशन @com.google.gwt.core.shared.GwtIncompatible("Description why...") जोड़ा गया था। यह कक्षाओं या विधियों पर लागू है।

लेकिन पैच कोड अभी तक जारी नहीं किया गया था! आधिकारिक स्थिति FixedNotReleased है। और मैं व्यक्तिगत रूप से पुष्टि कर सकता हूं, यह वर्तमान जीडब्ल्यूटी 2.5.1 संस्करण में नहीं है। मैं आने वाले 2.5.2 के लिए आशावादी हूं।

देखें:

http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/core/shared/GwtIncompatible.java?spec=svn11570&r=11570

http://code.google.com/p/google-web-toolkit/issues/detail?id=3769

https://gwt-review.googlesource.com/#/c/2320/

ध्यान दें, वहाँ पहले से ही ऐसी ही कोई टिप्पणी com.google.gwt.thirdparty.guava.common.annotations.GwtIncompatiblegwt-dev.jar में है, लेकिन यह काम नहीं करता, संकलक अभी भी मेरे संकलित करने के लिए चाहता है साझा कक्षा में असंगत विधि।

+1

यह आधिकारिक तौर पर जीडब्ल्यूटी 2.6 में आ रहा है: https://docs.google.com/document/d/1ZdMwcTjc4rkWg6nntCY1BDB1xI2PHPwaCnTYw-9uAKE/edit –

+0

@GwtIncompatible GWT 2.8.x का हिस्सा है (जिसमें एक स्थिर रिलीज है, शायद पहले के संस्करण भी) – xamde

7

जीडब्ल्यूटी संस्करण 2.6 से पहले, जीडब्ल्यूटी कंपाइलर को किसी विधि को अनदेखा करने के लिए कोई टिप्पणी नहीं है। जीडब्ल्यूटी अंक ट्रैकर में इसके लिए requests है, और स्पष्ट रूप से यह 2.6 रिलीज के लिए निर्धारित है।

<source path="gwtclient"> 
    <exclude name="AppEngineOnlyClass.java" /> 
    ... 
</source> 
... 

आशा है कि एक सा मदद करता है:

एक वैकल्पिक हल दृष्टिकोण की अपनी एक कक्षा में "हमलावर" विधि है और अपने .gwt.xml फ़ाइल में उस वर्ग की अनदेखी करने के लिए है।

चीयर्स,

+2

ध्यान दें कि 'AppEngineOnlyClass'' GETT और GAE दोनों के लिए मान्य सब कुछ प्राप्त करने के लिए 'AppEngineAndGwtClass' का विस्तार कर सकता है। –

+0

उत्कृष्ट बिंदु बोरिस। –