2012-11-06 15 views
5

Ich muss einen Git Pre-Commit-Hook in Java schreiben, der prüfen würde, ob der vom Entwickler verordnete Code nach einem bestimmten Eclipse-Code Formatierer formatiert wurde, bevor er ihn tatsächlich committiert. Ist es möglich, den Pre-Commit-Hook in Java zu schreiben?Schreiben Sie GIT Pre-Commit Hook in Java?

Antwort

5

Die Idee ist, ein Skript aufzurufen, das wiederum Ihr Java-Programm aufruft (Überprüfung des Formats).

Sie können see here an example written in python, die Java aufruft.

try: 
    # call checkstyle and print output 
    print call(['java', '-jar', checkstyle, '-c', checkstyle_config, '-r', tempdir]) 
except subprocess.CalledProcessError, ex: 
    print ex.output # print checkstyle messages 
    exit(1) 
finally: 
    # remove temporary directory 
    shutil.rmtree(tempdir) 

Diese other example calls directly ant, um einen Ant-Skript (was wiederum rufen Sie eine Java JUnit-Testsuite)

#!/bin/sh 

# Run the test suite. 
# It will exit with 0 if it everything compiled and tested fine. 
ant test 
if [ $? -eq 0 ]; then 
    exit 0 
else 
    echo "Building your project or running the tests failed." 
    echo "Aborting the commit. Run with --no-verify to ignore." 
    exit 1 
fi 
auszuführen
1

Sie können die Haken in jeder Sprache schreiben, die von der Shell mit dem ordnungsgemäß konfiguriert Interpreter (bash, Python, Perl) usw.

Aber, warum nicht schreiben Sie Ihre Java-Code-Formatierer in Java verstanden werden kann, und rufe es vom Pre-Commit Hook auf.

Verwandte Themen