当尝试使用
将我的开源项目发布到gh页时mvn site
由于maven和github页面的工作方式发生了变化,最近有很多障碍。
学习后
这是我发现的一些先决条件和遇到的问题:
先决条件
问题
甚至没有提及我必须用于ssh-wagon和Java8 javadoc等的解决方法
使用的插件是恕我直言的“移动目标”。根据我的经验,几个月前起作用的东西今天将不起作用。因此,我不断修复pom.xml文件以保持更新,并且文件越来越长。
例如参见https://github.com/BITPlan/com.bitplan.simplerest/blob/master/pom.xml
对于我的内部项目,我使用父pom来确保项目具有通用配置。对于开源项目,我还没有找到将父pom用于一组项目的方法。
我想确保我找到的有效配置已“转移”到其他配置。我在想的
我认为这是一个非常普遍的问题,SO用户在不同项目中都有解决该问题的经验。
什么是好的方法,什么工具有用?
移动目标的示例
答案 0 :(得分:1)
根据khmarbaise的建议,现在有一个common parent pom。
mvn site
可以使用一组通用的报告运行for all projects using this parent pom,结果将传输到相应的github页面。
特定项目pom现在可以be as short as just 25 lines
我现在实际上正在为pom文件创建检查脚本和为README.md文件生成脚本。这是有用的摘要之一:
用法示例:
checkghpages https://github.com/BITPlan com.bitplan.simplerest
在询问后确认gh页是否存在并创建
#
# check the github pages for the given project
#
# param 1: base url in github
# param 2: project name/directory
#
checkghpages() {
local l_baseurl="$1"
local l_project="$2"
cd $ws/$l_project
git ls-remote --heads | grep gh-pages > /dev/null
if [ $? -ne 0 ]
then
color_msg $red "github pages branch gh-pages missing for $l_project"
color_msg $blue "shall i create the branch gh-pages for $l_project?"
read answer
case $answer in
y|Y|yes|Yes|j|Ja)
color_msg $blue "creating gh-pages branch for $l_project ..."
cd /tmp
# https://gist.github.com/ramnathv/2227408
git clone $l_baseurl/$l_project
cd $l_project
git symbolic-ref HEAD refs/heads/gh-pages
rm .git/index
git clean -fdx
echo "<a href='$l_baseurl/$l_project'>Initial GitHub Page for $l_project</a>" > index.html
git add .
git commit -a -m "First pages commit by checkos script"
git push origin gh-pages
cd $ws/$l_project
git pull
;;
esac
else
color_msg $green "github pages branch gh-pages for $l_project exists✓"
fi
}