Table of Contents |
---|
Installers Build job
Installer build job for Linux and Windows installers:
https://builds.apache.org/view/M-R/view/NetBeans/job/netbeans-installers/
Mac Installer needs to be built locally, please refer INFRA-17961
Signing
For signing Windows and Mac installers, used Apache Code Service service. Tried with Test Signing for Windows
NetBeans IDE Installer code is currently in fork branch. Steps to build installers are below.
For signing installers, Code Service signing account is required. More info is here : https://reference.apache.org/pmc/codesigning
Mac Installer .pkg is signed during build hence build will fail if Certificate identity-name string is not provided in below build script.
May refer Also refer bug
Jira | ||||||
---|---|---|---|---|---|---|
|
Steps to build installers
git clone https://github.com/rtaneja1apache/incubator-netbeans.git -b rtaneja-donation3-installer
cd incubator_ netbeans
Run ant build
...
build
Copy release artifact zip(eg netbeans-11.3-bin.zip) to current folder.
Linux and Windows Installers:
Run below bash script from current dir
Code Block |
---|
BASE_DIR=`pwd` NB_ALL=$BASE_DIR export BASE_DIR NB_ALL DIST=$BASE_DIR/dist export DIST if [ -d $DIST ] ; then rm -rf $DIST fi rm -rf NBI-cache mkdir -p $DIST/zip/moduleclusters mkdir -p $DIST/logs BINARY_PATH=<path>ARTIFACT=netbeans-*-bin BIN_NAME=`ls $ARTIFACT.zip` BINARY_NAME=<zip name incubating-netbeans-11.0-vc3-bin.zip> export BINARY_NAME cp $BINARY_PATH/$BINARY_NAME $DIST/zip/moduleclusters cd $BASE_DIR NB_BUILD_NUMBER=395 BASENAME_PREFIX=Apache-NetBeans-11.0-bin BUILD_DESC=$BASENAME_PREFIX BUILDNUMBER=$NB_BUILD_NUMBER DATESTAMP=$BUILDNUMBER export BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC ########## BUILD_NB=1 ########## BUILD_NETBEANS=0 BUILD_NBJDK6=0 BUILD_NBJDK7=0 BUILD_NBJDK8=0 BUILD_NBJDK11=0 export BUILD_NETBEANS BUILD_NB export BUILD_NBJDK6 BUILD_NBJDK7 BUILD_NBJDK8 BUILD_NBJDK11 OUTPUT_DIR=${NB_ALL}/dist/installers export OUTPUT_DIR DONT_SIGN_INSTALLER=y export DONT_SIGN_INSTALLER bash -x $NB_ALL/nbbuild/newbuild/build-nbi.sh |
Installers will be build under dist/bundles
Windows installer exe can be signed using Code signing gui, link is above.
For Mac OSX installer
Code Block |
---|
BASE_DIR=`pwd` NB_ALL=$BASE_DIR export BASE_DIR NB_ALL DIST=$BASE_DIR/dist export DIST if [ -d $DIST ] ; then rm -rf $DIST fi mkdir -p $DIST/zip/moduleclusters mkdir -p $DIST/logs BINARY_PATH=<path> BINARY_NAME=<binary zip name> export BINARY_NAME cp $BINARY_PATH/$BINARY_NAME $DIST/zip/moduleclusters cd $BASE_DIR NB_BUILD_NUMBER=395`echo "${BIN_NAME%%.zip*}"` #create cluster zip files rm -rf temp unzip $BINARY_NAME.zip -d temp cd temp mkdir javase mkdir javase/netbeans mkdir javaee mkdir javaee/netbeans mkdir webcommon mkdir webcommon/netbeans mkdir php mkdir php/netbeans mkdir extide mkdir extide/netbeans cd netbeans #java mv apisupport ../javase/netbeans mv ergonomics ../javase/netbeans mv java ../javase/netbeans mv javafx ../javase/netbeans mv profiler ../javase/netbeans #javaee mv enterprise ../javaee/netbeans mv groovy ../javaee/netbeans #webcommon mv webcommon ../webcommon/netbeans #php mv php ../php/netbeans #websvccommon mv websvccommon ../extide/netbeans #create cluster zip files cd .. echo `pwd` echo $BINARY_NAME zip -r $BINARY_NAME-base.zip netbeans mv $BINARY_NAME-base.zip .. echo `pwd` cd javase zip -r $BINARY_NAME-java.zip netbeans mv $BINARY_NAME-java.zip ../.. cd .. cd javaee zip -r $BINARY_NAME-enterprise.zip netbeans mv $BINARY_NAME-enterprise.zip ../.. cd .. cd php zip -r $BINARY_NAME-php.zip netbeans mv $BINARY_NAME-php.zip ../.. cd .. cd webcommon zip -r $BINARY_NAME-webcommon.zip netbeans mv $BINARY_NAME-webcommon.zip ../.. cd .. cd extide zip -r $BINARY_NAME-websvccommon.zip netbeans mv $BINARY_NAME-websvccommon.zip ../.. cd ../.. rm -rf temp mv $BINARY_NAME-*.zip $DIST/zip/moduleclusters export BINARY_NAME cd $BASE_DIR #NB_BUILD_NUMBER=<YYMMDD> NB_BUILD_NUMBER=200224 BUILDNUMBER=$NB_BUILD_NUMBER DATESTAMP=$BUILDNUMBER NB_VER_NUMBER=11.3 BASENAME_PREFIX=Apache-NetBeans-11.0$NB_VER_NUMBER-bin BUILD_DESC=$BASENAME_PREFIX BUILDNUMBER=$NB_BUILD_NUMBER DATESTAMP=$BUILDNUMBER exportexport NB_VER_NUMBER BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC ####### BUILDMAC_MACPATH=1$DIST export#export BUILDMAC_MACPATH MAC_SIGN_IDENTITY_NAME=<path to txt file containing Apache Code sign certificate identity name string>LOG_NEW=$DIST/logs/native_mac-$BUILDNUMBER.log export MAC_SIGN_IDENTITY_NAME ####### LOG_NEW BUILD_NB=01 BUILD_NETBEANS=0 BUILD_NBJDK6=0 BUILD_NBJDK7=0 BUILD_NBJDK8=0 BUILD_NBJDK11=0 export BUILD_NETBEANS BUILD_NB export BUILD_NBJDK6 BUILD_NBJDK7 BUILD_NBJDK8 BUILD_NBJDK11 BUNDLE_JDK_PLATFORM= export BUNDLE_JDK_PLATFORM OUTPUT_DIR=${NB_ALL}/dist/installers export OUTPUT_DIR DONT_SIGN_INSTALLER=y export DONT_SIGN_INSTALLER bash -x $NB_ALL/nbbuild/newbuild/build-nbi.sh |
Windows installer exe can be signed using Code signing gui, link is above.
Mac OSX installer
Reference
http://wiki.netbeans.org/Launchers_Installers_NBI
https://installer.netbeans.org/
https://hg.netbeans.org/jet-main/file/tip/installerThe signed installer will get generated under dist/bundles.