【问题标题】:How to publish a folder structure (NOT a file) to a maven repo using Gradle?如何使用 Gradle 将文件夹结构(不是文件)发布到 Maven 存储库?
【发布时间】:2018-08-23 02:06:54
【问题描述】:

我们需要将 JavaDoc 作为站点而不是存档发布到我们的 maven 存储库,以便可以从那里直接浏览。我们基于 maven 的项目已经这样做了,但是我们很难找到使用 Gradle 的方法 - 我认为使用“站点部署”。

搜索这个非常复杂,因为“站点”是一个超载的术语,其他搜索不会产生任何结果。

【问题讨论】:

标签: gradle


【解决方案1】:

基于this script,这里有一个简单的上传目录结构。我用我的 Artifactory OSS 对其进行了测试,它正在工作。

#!/bin/bash

# Recursively deploys folder content. Attempt checksum deploy first to optimize upload time.

repo_url="http://ip:port/artifactory"
tgt_repo="simple/myrepo"
user=myuser
pass=mypass

dir="$1"

if [ -z "$dir" ]; then echo "Please specify a directory to recursively upload from!"; exit 1; fi

root=${dir#$(dirname "$dir")/}

find "$dir" -type f | sort | while read f; do
    rel="$(echo "$f" | sed -e "s#$dir##" -e "s# /#/#")";
    echo "Uploading $f"
    curl -k -u $user:$pass -T "$f" "${repo_url}/${tgt_repo}/${root}${rel}"
done

现在,您可以使用 a curl command 将其转换为 Groovy 代码。

当然,它不像简单的 Gradle 任务那样自动执行,但工作会完成。

【讨论】:

    【解决方案2】:

    Artifactory(您不指定使用哪个存储库)具有“内容浏览”选项。它允许您像部署任何其他普通工件(存档)一样部署您的 javadocs,然后使用浏览器浏览其 HTML 内容。

    【讨论】:

    • 不幸的是,在 Artifactory OSS 中,内容浏览只允许您浏览单个文件,例如HTML 文件 - 它不支持在 zip 文件中浏览。我把赏金放在了这个问题上,我正在使用 Artifactory OSS。
    • Artifactory OSS 好像还是不行:jfrog.com/jira/browse/RTFACT-9803。我想知道您的 Maven 构建正在做什么来完成这项工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-28
    • 2017-05-11
    • 1970-01-01
    • 2013-12-06
    • 2016-05-30
    • 1970-01-01
    相关资源
    最近更新 更多