GED-inline is a validator for GEDCOM files. GEDCOM files contain text data describing family trees. They are used to exchange family tree data between different genealogical solutions. See gedcom.io for further information.
GED-inline can validate GEDCOM version 5.5, 5.5.1 and 7.0. However for 7.0 there is currently no support for GEDZIP and incomplete support for extensions. In addition there is some support for the unofficial GEDCOM 5.5.5 standard.
The validator is also available for online use at GED-inline.
A Java JDK must be installed on your machine. You can verify this by typing
javac -version
on your command line. Depending on your Java version you must choose the correct branch and version of GED-inline:
Java version | Branch | GED-inline version | Tested specifically with |
---|---|---|---|
Java 8 - 16 | v3-main | V3.x.x | Java 8, Java 11 |
Java 17 ++ | v4-main | V4.x.x | Java 17, Java 21, Java 23 |
The current version of GED-inline is 4.0.1
To build the validator, type the following in the project directory:
gradlew.bat gedinline
on Windows, or
./gradlew gedinline
on Mac or Linux. If everything goes well you should see a 'BUILD SUCCESSFUL' message.
GED-inline can be run from the command line. Try it out on an example file from the project:
java -jar build/libs/gedinline-4.0.1.jar build/resources/test/gedcom-files/harvey-70.ged
To save the result, redirect the output to a file:
java -jar build/libs/gedinline-4.0.1.jar build/resources/test/gedcom-files/harvey-70.ged > report.txt
GED-inline can also be accessed as a Java library:
build/libs/gedinline-4.0.1.jar
Validation is performed by the gedinline.main.GedInlineValidator class. The validater requires a GEDCOM file to analyse and a PrintWriter to write the validation report to. Create it like this:
new GedInlineValidator(gedcomFile, outputReportWriter)
Use the validate() method to start validation. For further details see the groovydoc at build/docs/groovydoc/gedinline/main/GedInlineValidator.html.
This project is licensed under the MIT License - see the LICENSE.txt file for details
- Thanks to Michael Kay for the AnselInputStreamReader
- Thanks to Gregory Pakosz for the UnicodeBomInputStream code