You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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

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  Unable to render Jira issues macro, execution error.  for creating code signing accounts.

Steps to build installers 

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

cd netbeans

Run ant build

Copy release artifact zip(eg netbeans-11.2-bin.zip) to current folder.

Linux and Windows Installers:

Run below bash script from current dir

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

ARTIFACT=netbeans-*-bin
BIN_NAME=`ls $ARTIFACT.zip`
BINARY_NAME=`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=290919
BUILDNUMBER=$NB_BUILD_NUMBER
DATESTAMP=$BUILDNUMBER
NB_VER_NUMBER=11.2
BASENAME_PREFIX=Apache-NetBeans-$NB_VER_NUMBER-bin
BUILD_DESC=$BASENAME_PREFIX
export NB_VER_NUMBER 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
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

Installers will be generated under dist/bundles

Windows installer exe can be signed using Code signing gui, link is above.

Mac OSX installer(Same script as above, only difference BUILD_MAC=1)

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=https://dist.apache.org/repos/dist/dev/incubator/netbeans/incubating-netbeans/incubating-11.0-vc4/
ARTIFACT=netbeans-*-bin
BIN_NAME=`ls $ARTIFACT.zip`
BINARY_NAME=`echo "${BIN_NAME%%.zip*}"`
export BINARY_NAME
##########
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
cp $BINARY_NAME-base.zip ..

echo `pwd`

cd javase
zip -r $BINARY_NAME-java.zip netbeans
cp $BINARY_NAME-java.zip ../..
cd ..
cd javaee
zip -r $BINARY_NAME-enterprise.zip netbeans
cp $BINARY_NAME-enterprise.zip ../..
cd ..
cd php
zip -r $BINARY_NAME-php.zip netbeans
cp $BINARY_NAME-php.zip ../..
cd ..
cd webcommon
zip -r $BINARY_NAME-webcommon.zip netbeans
cp $BINARY_NAME-webcommon.zip ../..
cd ..
cd extide
zip -r $BINARY_NAME-websvccommon.zip netbeans
cp $BINARY_NAME-websvccommon.zip ../..
cd ../..
rm -rf temp
##########
cp $BINARY_NAME-*.zip $DIST/zip/moduleclusters

rm -rf NBI-cache
cd $BASE_DIR
NB_BUILD_NUMBER=1209
BUILDNUMBER=$NB_BUILD_NUMBER
DATESTAMP=$BUILDNUMBER
NB_VER_NUMBER=11.2 
BASENAME_PREFIX=Apache-NetBeans-$NB_VER_NUMBER-bin
BUILD_DESC=$BASENAME_PREFIX
export NB_VER_NUMBER BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC
#export BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC

#To build MAC installer on mac host set BUILD_MAC to 1
BUILD_MAC=1
export BUILD_MAC
MAC_SIGN_IDENTITY_NAME=/Users/reemataneja/sign.txt
export MAC_SIGN_IDENTITY_NAME

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

The signed installer will get generated under dist/bundles.


Reference

http://wiki.netbeans.org/Launchers_Installers_NBI

https://installer.netbeans.org/

https://hg.netbeans.org/jet-main/file/tip/installer

  • No labels