mirror of
https://github.com/apache/sqoop.git
synced 2025-05-03 05:50:31 +08:00
77 lines
2.6 KiB
Groovy
77 lines
2.6 KiB
Groovy
/**
|
|
* 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";
|
|
}
|
|
}
|
|
"""
|
|
}
|
|
}
|