/* * Copyright (C) 2012 The Android Open Source Project * * Licensed 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. */ package com.android.tradefed.build; import java.io.File; import java.io.IOException; /** * A {@link IBuildInfo} that represents a kernel build. */ public class KernelBuildInfo extends BuildInfo implements IKernelBuildInfo { private final static String KERNEL_FILE = "kernel"; private String mSha1 = null; private String mShortSha1 = null; private long mCommitTime = 0; /** * Creates a {@link KernelBuildInfo}. */ public KernelBuildInfo() { super(); } /** * Creates a {@link KernelBuildInfo}. * * @param sha1 the git sha1, used as the build id * @param shortSha1 the git short sha1 * @param commitTime the git commit time * @param testTarget the test target * @param buildName the build name */ public KernelBuildInfo(String sha1, String shortSha1, long commitTime, String testTarget, String buildName) { super(sha1, testTarget, buildName); mSha1 = sha1; mShortSha1 = shortSha1; mCommitTime = commitTime; } /** * {@inheritDoc} */ @Override public File getKernelFile() { return getFile(KERNEL_FILE); } /** * {@inheritDoc} */ @Override public String getKernelVersion() { return getVersion(KERNEL_FILE); } /** * {@inheritDoc} */ @Override public void setKernelFile(File kernelFile, String version) { setFile(KERNEL_FILE, kernelFile, version); } /** * {@inheritDoc} */ @Override public String getSha1() { return mSha1; } /** * {@inheritDoc} */ @Override public void setSha1(String sha1) { mSha1 = sha1; } /** * {@inheritDoc} */ @Override public String getShortSha1() { return mShortSha1; } /** * {@inheritDoc} */ @Override public void setShortSha1(String shortSha1) { mShortSha1 = shortSha1; } /** * {@inheritDoc} */ @Override public long getCommitTime() { return mCommitTime; } /** * {@inheritDoc} */ @Override public void setCommitTime(long time) { mCommitTime = time; } /** * {@inheritDoc} */ @Override public IBuildInfo clone() { KernelBuildInfo copy = new KernelBuildInfo(getSha1(), getShortSha1(), getCommitTime(), getTestTag(), getBuildTargetName()); copy.addAllBuildAttributes(this); try { copy.addAllFiles(this); } catch (IOException e) { throw new RuntimeException(e); } copy.setBuildBranch(getBuildBranch()); copy.setBuildFlavor(getBuildFlavor()); return copy; } }