/**
 * Copyright Javatar LLC 2019 Â©
 * Licensed under the License located in the root of this repository (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://github.com/JavatarPro/declarative-pipeline/blob/master/LICENSE
 *
 * 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 pro.javatar.pipeline.util

import static pro.javatar.pipeline.service.PipelineDslHolder.dsl

class CacheUtils {

    static def cacheLibraryFolder(String folderToBeCached, String alias) {
        Logger.debug("CacheUtils: cacheLibraryFolder with folderToBeCached: ${folderToBeCached} & alias ${alias}")
        String buildFolder = dsl.env.WORKSPACE
        String libraryCacheFolder = "${buildFolder}/${alias}"
        if (! dsl.fileExists(libraryCacheFolder)) {
            dsl.sh "mkdir ${libraryCacheFolder}"
        }
        Logger.debug("ln -s ${libraryCacheFolder} ${folderToBeCached}")
        dsl.sh "ln -s ${libraryCacheFolder} ${folderToBeCached}"
    }

}
