मेरी समस्या अभी भी .ear फ़ाइल को फिर से विस्तारित करने से अधिक होने के लिए बाहर निकली है (मैंने ऐसा करने के लिए एक जावा क्लास लिखा - रिकर्सन ने इसे सरल बना दिया।) एक बार .ear फ़ाइलों का विस्तार हो जाने के बाद मुझे निर्देशिकाओं को जांचने के लिए अलग करना होगा किसी भी बदलाव के लिए। यदि टाइमस्टैम्प के अलावा कुछ भी बदल गया तो मुझे पता है कि निर्माण एक अलग बाइनरी का उत्पादन कर रहा है।
दूसरी समस्या यह है कि हमारी निर्माण प्रक्रिया सैकड़ों .xml फ़ाइलों को उत्पन्न करती है और बाद में विभिन्न ऑर्डर में तत्वों के साथ उन .xml फ़ाइलों को पुन: उत्पन्न करती है। मुझे यकीन नहीं है क्यों। जब मैं बैक-टू-बैक बिल्ड द्वारा बनाई गई दो .ear फ़ाइलों का विस्तार करता हूं, जिसके परिणामस्वरूप निर्देशिकाओं के किसी भी बदलाव में कोई परिवर्तन नहीं होता है, तो सैकड़ों .xml फ़ाइलों को diffs के साथ दिखाता है, भले ही वे कार्यात्मक रूप से समकक्ष हों।
.ear फ़ाइलों को दोबारा विस्तारित करने के अतिरिक्त मुझे एक diff करने और कुछ निर्देशिकाओं में .xml फ़ाइलों को बाहर करने की आवश्यकता है। मैंने सोचा था कि Cygwin diff ऐसा करने होगा, लेकिन --exclude स्विच किसी भी पथ जानकारी को नहीं पहचानता है:
Cygwin diff won't exclude files if a directory is included in the pattern
मैं इस के लिए एक समाधान मैं के लिए एक और जावा वर्ग लिखेंगे नहीं मिलती है तो प्रत्येक निर्देशिका में एक एकल स्तर diff करने और उचित निर्देशिका में .xml फ़ाइलों को छोड़कर पूरी निर्देशिका संरचना के माध्यम से कदम।
मुझे लगता है कि मैं पहिया का पुन: आविष्कार कर रहा हूं, लेकिन मुझे अभी एक पहिया नहीं मिल रहा है।
स्रोत
2011-01-06 21:50:09
मैं तुलना समर्थन से परे संपर्क करने का सुझाव दूंगा। वे मेरे अनुभव में बहुत ही संवेदनशील हैं, और मदद करने में सक्षम हो सकते हैं। – TrueWill