org.jreleaser.maven.plugin.FileSet Maven / Gradle / Ivy
/*
* SPDX-License-Identifier: Apache-2.0
*
* Copyright 2020-2022 The JReleaser authors.
*
* 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
*
* https://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 org.jreleaser.maven.plugin;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
/**
* @author Andres Almiray
* @since 0.8.0
*/
public class FileSet implements ExtraProperties {
private final Map extraProperties = new LinkedHashMap<>();
private final Set includes = new LinkedHashSet<>();
private final Set excludes = new LinkedHashSet<>();
private String input;
private String output;
private Boolean failOnMissingInput;
void setAll(FileSet fileSet) {
this.input = fileSet.input;
this.output = fileSet.output;
this.failOnMissingInput = fileSet.failOnMissingInput;
setIncludes(fileSet.includes);
setExcludes(fileSet.excludes);
setExtraProperties(fileSet.extraProperties);
}
public Set getIncludes() {
return includes;
}
public void setIncludes(Set includes) {
this.includes.clear();
this.includes.addAll(includes);
}
public Set getExcludes() {
return excludes;
}
public void setExcludes(Set excludes) {
this.excludes.clear();
this.excludes.addAll(excludes);
}
public String getInput() {
return input;
}
public void setInput(String input) {
this.input = input;
}
public String getOutput() {
return output;
}
public void setOutput(String output) {
this.output = output;
}
public boolean isFailOnMissingInput() {
return failOnMissingInput == null || failOnMissingInput;
}
public void setFailOnMissingInput(Boolean failOnMissingInput) {
this.failOnMissingInput = failOnMissingInput;
}
public boolean isFailOnMissingInputSet() {
return failOnMissingInput != null;
}
@Override
public Map getExtraProperties() {
return extraProperties;
}
@Override
public void setExtraProperties(Map extraProperties) {
this.extraProperties.clear();
this.extraProperties.putAll(extraProperties);
}
}