/**
 * 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.
 */
import java.text.SimpleDateFormat

def getGitHash = { ->
    def stdout = new ByteArrayOutputStream()
    exec {
        commandLine 'git', 'log', '-1', '--pretty=format:%H'
        standardOutput = stdout
    }
    return stdout.toString().trim()
}
def signature = getGitHash

def user = System.getProperty("user.name")

task SqoopVersionFileGen() {
    doLast {
        def file = new File("$projectDir/src/java/org/apache/sqoop/SqoopVersion.java")
        file.createNewFile()
        file.text = """
/**
 * 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.
 */
// generated by gradle task
package org.apache.sqoop;

public class SqoopVersion {
 public SqoopVersion() {
 }

 public static final String VERSION="$version";
 public static final String GIT_HASH="$signature";
 public static final String COMPILE_USER="$user";
 public static final String COMPILE_DATE="${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}";

 @Override
 public String toString() {
   return "Sqoop " + VERSION + "\\n"
   + "git commit id " + GIT_HASH + "\\n"
   + "Compiled by " + COMPILE_USER
   + " on " + COMPILE_DATE + "\\n";
 }
   }
"""
    }
}
