Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyINFRA-17946
 for creating code signing accounts.Mac Installer build will fail if Certificate identity-name string is not provided in below script.

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

macOS Installer Build Steps

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.