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. More info is here : https://reference.apache.org/pmc/codesigning

...

git clone https://github.com/apache/netbeans.git

cd netbeans

Run ant 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>
BINARYARTIFACT=netbeans-*-bin
BIN_NAME=<zip name incubating-netbeans-11.0-vc3-bin.zip>
export BINARY_NAME
cp $BINARY_PATH/$BINARY_NAME $DIST/zip/moduleclusters`ls $ARTIFACT.zip`
BINARY_NAME=`echo "${BIN_NAME%%.zip*}"`


#create cluster zip files
rm -rf NBI-cache
cd $BASE_DIR
NB_BUILD_NUMBER=1
NB_VER_NUMBER=11.1
BASENAME_PREFIX=Apache-NetBeans-$NB_VER_NUMBER-bin
BUILD_DESC=$BASENAME_PREFIX
BUILDNUMBER=$NB_BUILD_NUMBER
DATESTAMP=$BUILDNUMBER

export NB_VER_NUMBER BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC

##########For generating Windows and Linux installers####
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 generated 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=1temp
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.13
BASENAME_PREFIX=Apache-NetBeans-$NB_VER_NUMBER-bin
BUILD_DESC=$BASENAME_PREFIX
BUILDNUMBER=$NB_BUILD_NUMBER
DATESTAMP=$BUILDNUMBER

export BUILDNUMBER NB_VER_NUMBER BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC

#######for generating MAC installer#####
BUILD_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
########################################

####if building only MAC installer###### 
LOG_NEW
BUILD_NB=0
#########################################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
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.