/* * SPDX-License-Identifier: Apache-2.0 * * The OpenSearch Contributors require contributions made to * this file be licensed under the Apache-2.0 license or a * compatible open source license. * * Modifications Copyright OpenSearch Contributors. See * GitHub history for details. */ import org.opensearch.gradle.tar.SymbolicLinkPreservingTar plugins { id 'base' id 'distribution' id 'opensearch.symbolic-link-preserving-tar' } final String source = Objects.requireNonNull(System.getProperty('tests.symbolic_link_preserving_tar_source')) boolean preserveFileTimestamps; final String testPreserveFileTimestamps = Objects.requireNonNull(System.getProperty('tests.symbolic_link_preserving_tar_preserve_file_timestamps')) switch (testPreserveFileTimestamps) { case "true": preserveFileTimestamps = true break case "false": preserveFileTimestamps = false break default: throw new IllegalArgumentException( "tests.symbolic_link_preserving_tar_preserve_file_timestamps must be [true] or [false] but was [" + testPreserveFileTimestamps + "]") } tasks.register("buildBZip2Tar", SymbolicLinkPreservingTar) { SymbolicLinkPreservingTar tar -> tar.archiveExtension = 'tar.bz2' tar.compression = Compression.BZIP2 tar.preserveFileTimestamps = preserveFileTimestamps from fileTree(source) doLast { println archiveFile.get().asFile.path } } tasks.register("buildGZipTar", SymbolicLinkPreservingTar) { SymbolicLinkPreservingTar tar -> tar.archiveExtension = 'tar.gz' tar.compression = Compression.GZIP tar.preserveFileTimestamps = preserveFileTimestamps from fileTree(source) doLast { println archiveFile.get().asFile.path } } tasks.register("buildTar", SymbolicLinkPreservingTar) { SymbolicLinkPreservingTar tar -> tar.archiveExtension = 'tar' tar.preserveFileTimestamps = preserveFileTimestamps from fileTree(source) doLast { println archiveFile.get().asFile.path } }