-
Notifications
You must be signed in to change notification settings - Fork 844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NETBEANS-1671] Donation 3 - Include installer sources #1052
[NETBEANS-1671] Donation 3 - Include installer sources #1052
Conversation
Can you provide instructions for creating an installer without including a JDK, is that possible with this PR? |
I think this will require some changes. It didn't work out of the box by just setting env property BUILD_NBJDK11=0. I will be able to investigate after I'm back next week. |
That would be excellent, thanks. |
Will be possible to create installer with AdoptOpenJDK builds? |
Good question. What's the license of AdoptOpenJDK? Well, here you can see it is based on OpenJDK, which is GPL, so no, it cannot be distributed from Apache in a bundle with NetBeans (though, I believe, it could bundle NetBeans with itself and distribute it): https://adoptopenjdk.net/about.html |
DIST=$BASE_DIR/dist if [ -d $DIST ] ; then mkdir -p $DIST/zip/moduleclusters cp /scratch/downloads/NetBeans-dev-incubator-netbeans-linux-996-on-20190203-release.zip $DIST/zip/moduleclusters NB_BUILD_NUMBER=2019 export BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC LOCALES=ja,zh_CN,pt_BR,ru MAC_SIGN_CLIENT= export MAC_SIGN_CLIENT NATIVE_MAC_MACHINE=reemataneja@ MAC_LOG_NEW=$DIST/logs/native_mac-$BUILDNUMBER.log export BUILD_NETBEANS BUILD_NB OUTPUT_DIR=${NB_ALL}/dist/installers DONT_SIGN_INSTALLER=y bash -x $NB_ALL/nbbuild/newbuild/build-nbi.sh |
Above script can be run to create Apache NetBeans installers for Windows, Linux and Mac OSX |
I suggest this be moved into the 'nbbuild' folder, rather than being a top level 'installer' folder, once that's done, I'm in favor of approving this. |
…ubator-netbeans into rtaneja-donation3-installer
Build failures seem to be because of rat related issues, looking into these. |
Any reason not to merge this at this stage? Everything will be within a new folder 'installer' in the 'nbbuild' folder. Instructions for using it are above. We'll be able to produce installers for Apache NetBeans 11 and deliver them as convenience binaries together with the ZIP that provides the convenience binary. No JRE or JDK is bundled with this installer, they are expected to be available on the user's machine and the installer fails with a message if they're not available. |
Temporarily closing this while I'm making changes to make installer build job pass. |
Installer build job for Linux and Windows installers: No option to select Mac host for building Mac OSX installer from Jenkins job. Same script can be used to build Mac installer on local Mac. Windows installer exe and Mac installer need to be signed. Awaiting Code Signing service account for signing exe. Mac installer signing under testing. Ref bug INFRA-17946. |
Wow, this is awesome. |
Steps to build installers are here: As of now I think I don't have any more pending items for this PR. |
Excellent, many thanks. Can you estimate the percentage of the code that needs to be removed? |
Some of this code I can see is historical from older installer implementations and not used in 8.2 installer as well, so that can be removed. There's also code that is for installers from cluster level binaries as in 8.2 release. If we plan to continue having one integrated release binary as since 9.0 release, this code is also not required. Then we have JDK bundles related code, with older JDKs support still present. We were also likely bundling GlassFish, Tomcat, WLS (https://github.com/rtaneja1/incubator-netbeans/tree/rtaneja-donation3-installer/nbbuild/installer/components/products). These may also be removed. So this all maybe around 35 - 40 percent of code. |
This reverts commit 7b07883.
…ubator-netbeans into rtaneja-donation3-installer
The installer fails to install on systems with OpenJDK installed from AdoptOpenJDK. When the installer is run from Windows Explorer, the following message is displayed (please excuse typos from having to OCR the popup text):
I tried using "--javahome" as documented at http://wiki.netbeans.org/FaqInstallJavahome but the installer still failed. Example command prompt input:
Resulting Installer Pop Up:
In case you're wondering if Java is installed correctly, here's the output of "java --version":
Finally, this bug report would be a lot more intelligible if the pop ups supported copy and paste like normal Windows pop ups. |
This is the wrong place to report issues, but maybe this helps: https://www.youtube.com/watch?v=B7nZWPxZkg8 |
I propose to merge this and, unless there are reasons not to do so, that we do the merge 24 hours from now, leaving time for anyone to suggest why we should not merge this. |
This includes installer sources from http://bits.netbeans.org/download/apache-donation/ApacheNetBeansDonation3.zip
Also contains support for creating NetBeans-JDK (11.0.1) bundle.
Sample sh file for creating JDK bundle:
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
cp /incubating-netbeans-10.0-vc3-bin.zip $DIST/zip/moduleclusters
NB_BUILD_NUMBER=
BASENAME_PREFIX=incubating-netbeans-10.0-vc3-bin
BUILD_DESC=$BASENAME_PREFIX
BUILDNUMBER=
DATESTAMP=$BUILDNUMBER
export BUILDNUMBER BASENAME_PREFIX NB_BUILD_NUMBER DATESTAMP BUILD_DESC
LOCALES=ja,zh_CN,pt_BR,ru
export LOCALES
#l10n repo not yet present in Apache github, part of Donation 3 zip
#cd ${BASE_DIR}
#if [ ! -d l10n ] ; then
#hg clone -r release82 http://hg.netbeans.org/releases/l10n
#else
#cd l10n
#hg pull -u -r release82
#fi
#JDK build location https://java.se.oracle.com/artifactory/re-release-local/jdk/11.0.1/13/bundles/
JDK11_BUILDS_PATH=artifactory/re-release-local/jdk/11.0.1/13/bundles/
export JDK7_BUILDS_PATH JDK8_BUILDS_PATH JDK11_BUILDS_PATH
#Bundled jvm hosted location, required for Linux and Windows bundles
BINARY_CACHE_HOST=
WTK_BUILDS_HOST=$BINARY_CACHE_HOST
export BINARY_CACHE_HOST
export WTK_BUILDS_HOST
MAC_SIGN_CLIENT=
MAC_SIGN_USER=
MAC_SIGN_GUID=
CODESIGNBUREAU_CREDFILE=
export MAC_SIGN_CLIENT
export MAC_SIGN_USER
export MAC_SIGN_GUID
export CODESIGNBUREAU_CREDFILE
NATIVE_MAC_MACHINE=@
MAC_PATH=
#uncomment for creating mac build on above machost
#export NATIVE_MAC_MACHINE
#export MAC_PATH
MAC_LOG_NEW=$DIST/logs/native_mac-$BUILDNUMBER.log
export MAC_LOG_NEW
BUILD_NETBEANS=0
BUILD_NBJDK6=0
BUILD_NBJDK7=0
BUILD_NBJDK8=0
BUILD_NBJDK11=1
export BUILD_NETBEANS
export BUILD_NBJDK6 BUILD_NBJDK7 BUILD_NBJDK8 BUILD_NBJDK11
#if it's empty => will be set windows,linux as default
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