package com.github.javaparser;

/**
 * Some information that was available when this library was built by Maven.
 */
public class JavaParserBuild {
    public static final String PROJECT_VERSION = "${project.version}";
    public static final String PROJECT_NAME = "${project.name}";
    public static final String PROJECT_BUILD_FINAL_NAME = "${project.build.finalName}";
    public static final String MAVEN_VERSION = "${maven.version}";
    public static final String MAVEN_BUILD_VERSION = "${maven.build.version}";
    public static final String MAVEN_BUILD_TIMESTAMP = "${build.timestamp}";
    public static final String JAVA_VENDOR ="${java.vendor}";
    public static final String JAVA_VENDOR_URL ="${java.vendor.url}";
    public static final String JAVA_VERSION ="${java.version}";
    public static final String OS_ARCH ="${os.arch}";
    public static final String OS_NAME ="${os.name}";
    public static final String OS_VERSION ="${os.version}";
}