<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<project basedir="." default="build" name="webcommon/javascript2.json">
    <description>Builds, tests, and runs the project org.netbeans.modules.javascript2.json</description>
    <import file="../../nbbuild/templates/projectized.xml"/>

    <target name="generate-antlr-parser" description="Regenerate the JSON parser" depends="init" extensionOf="-pre-compile">
        <property name="antlr.outdir" location="${src.dir}/org/netbeans/modules/javascript2/json/parser"/>
        <path id="antlr4.tool">
            <fileset dir="../../ide/libs.antlr4.runtime/external" includes="*.jar"/>
            <fileset dir="../../ide/libs.antlr3.runtime/external" includes="antlr-runtime-*.jar"/>
        </path>

        <java classname="org.antlr.v4.Tool" classpathref="antlr4.tool" fork="true" dir="tools">
            <arg value="-o"/>
            <arg value="${antlr.outdir}"/>
            <arg value="-visitor"/>
            <arg value="JsonLexer.g4"/>
            <arg value="JsonParser.g4"/>
        </java>

        <delete dir="${antlr.outdir}" includes="*.tokens"/>
        <delete dir="${antlr.outdir}" includes="*.interp"/>
    </target>
</project>
