All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.undercouch.gradle.tasks.download.Verify Maven / Gradle / Ivy

There is a newer version: 5.6.0
Show newest version
// Copyright 2015 Michel Kraemer
//
// 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 de.undercouch.gradle.tasks.download;

import java.io.File;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;

import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFile;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.TaskAction;

/**
 * Verifies a file's integrity by calculating its checksum.
 * 
 * task verifyFile(type: Verify) {
 *     file new File(buildDir, "myfile.txt")
 *     algorithm 'MD5'
 *     checksum '694B2863621FCDBBBA2777BF329C056C' // expected checksum (hex)
 * }
 * 
* @author Michel Kraemer */ public class Verify extends DefaultTask implements VerifySpec { private final VerifyAction action; /** * Default constructor */ public Verify() { action = new VerifyAction(getProject()); } /** * Starts verifying * @throws IOException if the file could not be verified * @throws NoSuchAlgorithmException if the given algorithm is not available */ @TaskAction public void verify() throws IOException, NoSuchAlgorithmException { action.execute(); } @Override public void src(Object src) { action.src(src); } @Override public void algorithm(String algorithm) { action.algorithm(algorithm); } @Override public void checksum(String checksum) { action.checksum(checksum); } @InputFile @Override public File getSrc() { return action.getSrc(); } @Input @Optional @Override public String getAlgorithm() { return action.getAlgorithm(); } @Input @Override public String getChecksum() { return action.getChecksum(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy