<?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="netbeans" name="java/java.openjdk.project">
    <description>Builds, tests, and runs the project org.netbeans.modules.java.openjdk.project</description>
    <import file="../../nbbuild/templates/projectized.xml"/>
    <target name="compile" depends="projectized-common.compile">
        <mkdir dir="${build.dir}/fakeJdkClasses/java/lang" />
        <mkdir dir="${build.dir}/fakeJdkClasses/java/lang/invoke" />
        <mkdir dir="${build.dir}/fakeJdkClasses/java/util/stream" />
        <mkdir dir="${build.dir}/fakeJdkClasses/java/util/zip" />
        <touch file="${build.dir}/fakeJdkClasses/java/lang/AssertionError.class" />
        <touch file="${build.dir}/fakeJdkClasses/java/lang/StringBuilder.class" />
        <touch file="${build.dir}/fakeJdkClasses/java/lang/AutoCloseable.class" />
        <touch file="${build.dir}/fakeJdkClasses/java/lang/invoke/LambdaMetafactory.class" />
        <touch file="${build.dir}/fakeJdkClasses/java/util/stream/Streams.class" />
        <touch file="${build.dir}/fakeJdkClasses/java/util/zip/CRC32C.class" />

        <zip file="${cluster}/${module.jar.dir}/ext/fakeJdkClasses.zip">
            <fileset dir="${build.dir}/fakeJdkClasses" />
        </zip>
    </target>
</project>
