Maven Building eclipse-gov.redhawk.core,NXM-UI回购 [英] Maven Building eclipse-gov.redhawk.core, nxm-ui repo

查看:63
本文介绍了Maven Building eclipse-gov.redhawk.core,NXM-UI回购的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此问题是Netrunner问题此处的后续措施.根据Eric Englund的回答,我获得了mil的答复.通过创建我自己的jacorb OSGi捆绑包,本地安装并相应地更新mil.jpeojtrs.sca/releng中的pom.xml文件来打包和安装.jpeojtrs.sca.

This question is a follow up to Netrunner's question here. Based on Eric Englund's response, I was able to get mil.jpeojtrs.sca packaged and installed by creating my own OSGi bundle of jacorb, installing it locally, and updating the pom.xml file in mil.jpeojtrs.sca/releng accordingly.

但是,尝试安装gov.redhawk.core时,也会发生Netrunner出现的相同问题.nxm-ui存储库指向redhawk.sdr.org存储库:

However, the same issue Netrunner brings up occurs when trying to install gov.redhawk.core... the nxm-ui repo points to a redhawk.sdr.org repo:

http://download.redhawksdr.org/nxm-rcp/releases/1.0

与jacorb不同,我找不到要捆绑的等效软件包.正如Netrunner所问,这是REDHAWK开发的独特软件包吗?如果是这样,是否可以在github上访问它,以便在必要时我们还可以构建自己的捆绑软件?如果不是,您能指出我们一个等效的方案吗?

Unlike jacorb, I can't find an equivalent package to bundle. As Netrunner asked, is this a unique, REDHAWK developed package? If so, could it be made accessible on github, so that we can also build our own bundle if necessary? If not, could you point us toward an equivalent package?

推荐答案

可以从源代码构建IDE,但是目前需要一些繁琐的工作.这是您可以采取的步骤以及使该过程自动化的脚本.这只是一个示例,应根据您的需要进行修改.

The IDE can be built from source however it currently requires a bit of leg work. Here are the steps you can take and a script to automate the process. This is just an example and should be modified to fit your need.

  1. 使用REDHAWK 1.9.0 IDE可以轻松地创建许多更新站点所需的插件.

  1. There are a number of plugins that you'll need to create an update site for, using the REDHAWK 1.9.0 IDE it's fairly easy.

  • 打开1.9.0 IDE.文件->新建->项目.选择显示所有向导复选框.输入更新"以过滤到更新站点项目"
  • 可能会提示您启用插件项目的开发,请按确定".
  • 给项目起个名字&单击完成.
  • 添加类别,提供ID&名称无所谓,但这是必需的.
  • 现在添加以下功能:

--- org.jacorb-未被打包为互联网上任何地方的更新站点

--- org.jacorb - Not packaged as an update site on the internet anywhere

--- org.eclipse.nebula.widgets.xviewer.feature-这仅是因为星云功能不具有稳定的API,并且自1.9.0版本以来已更改

--- org.eclipse.nebula.widgets.xviewer.feature - This is only because the nebula feature does not have stable API and have changed since the build of 1.9.0

--- org.python.pydev.feature-自1.9.0版本以来,Pydev API也已更改

--- org.python.pydev.feature - Pydev API has also changed since the build of 1.9.0

  • 单击全部构建.记下此更新站点的位置.要找到位置,您可以右键单击site.xml并选择属性.所需的路径是包含site.xml的文件夹

复制以下脚本,将其放入一个空文件夹中,然后更改LOCAL_P2变量以指向此新生成的P2网站.

Copy the script below, place it into an empty folder and change the LOCAL_P2 variable to point to this newly generated P2 Site.

同样,这仅应作为示例,而不能作为IDE的构建系统.还要注意,这是在构建1.9.0,需要进行修改才能构建IDE的developer-1.10和develo-1.9分支.

Again, this should serve simply as an example and not as a build system for the IDE. Also note that this is building 1.9.0 and modifications would be necessary to build the develop-1.10 and the develo-1.9 branches of the IDE.

#!/bin/bash

function error() {
        printf "\n\nREDHAWK IDE BUILD Failed!\n\n"
        exit 1
}

LOCAL_P2="/home/ylb/exampleLocation"

MVN="mvn"
MVN_PHASE="clean verify"
GIT="git"
REDHAWK_VERSION="develop-1.9"
MINOR_VERSION="1.9.0"

BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

MIL_GIT="https://github.com/RedhawkSDR/eclipse-mil.jpeojtrs.sca.git"
MIL_BRANCH=${REDHAWK_VERSION}
MIL_P2="-Dmil.jpeojtrs.sca=file:///${BASEDIR}/mil.jpeojtrs.sca/releng/p2/target/repository"

CORE_GIT="https://github.com/RedhawkSDR/eclipse-gov.redhawk.core.git"
CORE_BRANCH=${REDHAWK_VERSION}
CORE_P2="-Dgov.redhawk.core=file:///${BASEDIR}/gov.redhawk.core/releng/core/p2/target/repository"
RCP_P2="-Dgov.redhawk.core.rcp=file:///${BASEDIR}/gov.redhawk.core/releng/rcp/p2/target/repository"

IDE_GIT="https://github.com/RedhawkSDR/eclipse-gov.redhawk.ide.git"
IDE_BRANCH=${REDHAWK_VERSION}
IDE_P2="-Dgov.redhawk.ide=file:///${BASEDIR}/gov.redhawk.ide/releng/p2/target/repository"
DOC_ZIP="-Dgov.redhawk.ide.help.doc.zip=file:///${BASEDIR}/doc.zip"

CODEGEN_GIT="https://github.com/RedhawkSDR/eclipse-gov.redhawk.codegen.git"
CODEGEN_BRANCH=${REDHAWK_VERSION}
CODEGEN_P2="-Dgov.redhawk.codegen=file:///${BASEDIR}/gov.redhawk.codegen/releng/p2/target/repository"

PRODUCT_GIT="https://github.com/RedhawkSDR/eclipse-products-gov.redhawk.ide.product.git"
PRODUCT_BRANCH=${REDHAWK_VERSION}
PRODUCT_P2="-Dgov.redhawk.ide.product=file:///${BASEDIR}/gov.redhawk.ide.product/releng/p2/target/repository"

# First clone all the repositories
if [ ! -d mil.jpeojtrs.sca ]; then
  printf "\n\nCloning mil.jpeojtrs.sca...\n\n"
  ${GIT} clone -b ${MIL_BRANCH} ${MIL_GIT} mil.jpeojtrs.sca; cd mil.jpeojtrs.sca; git checkout ${MINOR_VERSION}; cd ..;
fi

if [ ! -d gov.redhawk.core ]; then
  printf "\n\nCloning gov.redhawk.core...\n\n"
  ${GIT} clone -b ${CORE_BRANCH} ${CORE_GIT} gov.redhawk.core; cd gov.redhawk.core; git checkout ${MINOR_VERSION}; cd ..;
fi


if [ ! -d gov.redhawk.ide ]; then
  printf "\n\nCloning gov.redhawk.ide...\n\n"
  ${GIT} clone -b ${IDE_BRANCH} ${IDE_GIT} gov.redhawk.ide; cd gov.redhawk.ide; git checkout ${MINOR_VERSION}; cd ..;
fi

if [ ! -d gov.redhawk.codegen ]; then
  printf "\n\nCloning gov.redhawk.codegen...\n\n"
  ${GIT} clone -b ${CODEGEN_BRANCH} ${CODEGEN_GIT} gov.redhawk.codegen; cd gov.redhawk.codegen; git checkout ${MINOR_VERSION}; cd ..;
fi

if [ ! -d gov.redhawk.ide.product ]; then
  printf "\n\nCloning gov.redhawk.ide.product...\n\n"
  ${GIT} clone -b ${PRODUCT_BRANCH} ${PRODUCT_GIT} gov.redhawk.ide.product; cd gov.redhawk.ide.product; git checkout ${MINOR_VERSION}; cd ..;
fi

# The documentation is wrapped up into the build, rather than build the documentation just create a dummy zip file
touch FakeDocumentation.txt
zip doc.zip FakeDocumentation.txt

# Now we must fix the pom.xml files to point to proper locations

# Fix things wrong with core
sed -i 's,http://download.redhawksdr.org/nxm-rcp/releases/1.0,http://nextmidas.techma.com/p2/nxm.ui/updates/latest,g' ./gov.redhawk.core/releng/pom.xml

# Now ide pom

# CAREFUL! Removing lines 33-45
if [ $(grep "<id>eclipse-updates</id>" ./gov.redhawk.ide/releng/pom.xml | wc -l) == 1 ]; then
  sed -i '33,45d' ./gov.redhawk.ide/releng/pom.xml
fi

sed -i '/<eclipse-support>/d' ./gov.redhawk.ide/releng/pom.xml
sed -i '/<eclipse-updates>/d' ./gov.redhawk.ide/releng/pom.xml
sed -i "s,http://download.eclipse.org/technology/nebula/snapshot,file://${LOCAL_P2},g" ./gov.redhawk.ide/releng/pom.xml
sed -i 's,http://download.redhawksdr.org/nxm-rcp/releases/1.0,http://nextmidas.techma.com/p2/nxm.ui/updates/latest,g' ./gov.redhawk.ide/releng/pom.xml

# Now the codegen
sed -i 's,http://download.redhawksdr.org/nxm-rcp/releases/1.0,http://nextmidas.techma.com/p2/nxm.ui/updates/latest,g' ./gov.redhawk.codegen/releng/pom.xml
sed -i "s,http://pydev.org/updates,file://${LOCAL_P2},g" ./gov.redhawk.codegen/releng/pom.xml

# Now the product
sed -i "s,http://download.redhawksdr.org/mil.jpeojtrs.sca/releases/1.9,file://${BASEDIR}/mil.jpeojtrs.sca/releng/p2/target/repository,g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i 's,http://download.redhawksdr.org/nxm-ui/releases/1.0,http://nextmidas.techma.com/p2/nxm.ui/updates/latest,g' ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.redhawksdr.org/gov.redhawk.codegen/releases/1.9,file://${BASEDIR}/gov.redhawk.codegen/releng/p2/target/repository,g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.redhawksdr.org/gov.redhawk.core/rcp/releases/1.9,file://${BASEDIR}/gov.redhawk.core/releng/rcp/p2/target/repository,g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.redhawksdr.org/jacorb/releases/3.1,file://${LOCAL_P2},g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.redhawksdr.org/gov.redhawk.ide/releases/1.9,file://${BASEDIR}/gov.redhawk.ide/releng/p2/target/repository,g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.redhawksdr.org/gov.redhawk.core/releases/1.9,file://${BASEDIR}/gov.redhawk.core/releng/core/p2/target/repository,g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target
sed -i "s,http://download.eclipse.org/technology/nebula/snapshot,file://${LOCAL_P2},g" ./gov.redhawk.ide.product/releng/target-definition/target-definition.target

# Then build each repo.
printf "\n\nBuilding mil.jpeojtrs.sca...\n\n"
${MVN} -f ${BASEDIR}/mil.jpeojtrs.sca/releng/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} || error

printf "\n\nBuilding gov.redhawk.core...\n\n"
${MVN} -f ${BASEDIR}/gov.redhawk.core/releng/core/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} ${CORE_P2} || error

printf "\n\nBuilding gov.redhawk.rcp...\n\n"
${MVN} -f ${BASEDIR}/gov.redhawk.core/releng/rcp/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} ${CORE_P2} ${RCP_P2} || error

printf "\n\nBuilding gov.redhawk.ide...\n\n"
${MVN} -f ${BASEDIR}/gov.redhawk.ide/releng/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} ${CORE_P2} ${RCP_P2} ${DOC_ZIP} ${IDE_P2} || error

printf "\n\nBuilding gov.redhawk.codegen...\n\n"
${MVN} -f ${BASEDIR}/gov.redhawk.codegen/releng/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} ${CORE_P2} ${RCP_P2} ${IDE_P2} ${CODEGEN_P2} || error

printf "\n\nBuilding gov.redhawk.ide.product...\n\n"
${MVN} -f ${BASEDIR}/gov.redhawk.ide.product/releng/pom.xml ${MVN_PHASE} -Djacorb=file://${LOCAL_P2} ${MIL_P2} ${CORE_P2} ${RCP_P2} ${IDE_P2} ${CODEGEN_P2} ${PRODUCT_P2} || error

printf "\n\nBuild SUCCESS!!!\n"
printf "\n\nProducts may be found in ${BASEDIR}/gov.redhawk.ide.product/releng/product/target/products/gov.redhawk.product.ide.product\n"

这篇关于Maven Building eclipse-gov.redhawk.core,NXM-UI回购的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆