यह गिस्ट दिखाता है कि पूर्व-प्रतिबद्धता पर ग्रहण फ़ॉर्मेटर का उपयोग करके जावा कोड को स्वत: प्रारूपित करना है।गिट प्री-प्रतिबद्ध हुक प्रारूप कोड - इंटेलिज/एंड्रॉइड स्टूडियो
स्रोत: https://gist.github.com/ktoso/708972
कोड:
#!/bin/sh
#
# This hook will run the eclipse code formatter before any commit
# to make the source look as it's supposed to look like in the repo.
ECLIPSE_HOME=$HOME/eclipse
STYLE_FILE=$HOME/org.eclipse.jdt.core.prefs
echo "Running pre-commit hook: run-eclipse-formatter---------------------"
echo "Will run eclipse formatter, using: $STYLE_FILE"
echo "Listing folders to run formatter on… "
code_dirs=`find . -maxdepth 3 | grep 'src/'`
for dir in $code_dirs; do
echo $dir;
done;
echo "Launching eclipse code formatter… "
exec $ECLIPSE_HOME/eclipse \
-nosplash \
-application org.eclipse.jdt.core.JavaCodeFormatter \
-verbose \
-config $STYLE_FILE \
$code_dirs
echo "done---------------------------------------------------------------"
मैं IntelliJ और एंड्रॉयड स्टूडियो के साथ इस लक्ष्य को हासिल करना चाहते हैं। तब स्क्रिप्ट कैसा दिखता है?
मुझे लगता है कि बदले गए फ़ाइलों पर केवल फ़ॉर्मेटर चलाने के लिए सबसे अच्छा होगा। शायद यह उपयोगी है:
changedJavaFiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.java$')
एसीएम जोड़ा गया, कॉपी, संशोधित है। स्रोत: http://git-scm.com/docs/git-diff
अगर कुछ अस्पष्ट है तो कृपया टिप्पणी करें।
अद्यतन
मेरे सेटअप Windows 10 और मैं कमांड लाइन टूल MINGW32 (Git बैश) का उपयोग करना चाहते हैं। गिट संस्करण 1.9.5 msysgit.1
क्या आपको इसका समाधान मिल गया? – Bhargav
नहीं, मैंने नहीं किया लेकिन मुझे अभी भी इस विषय में रूचि है! – BenjaminButton