This is an automated email from the ASF dual-hosted git repository.

skygo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans-jenkins-lib.git


The following commit(s) were added to refs/heads/master by this push:
     new 8e20dc7  installers part of job + stage for better view (#10)
8e20dc7 is described below

commit 8e20dc771337746f980f094b166f204a1902e1e2
Author: Eric Barboni <[email protected]>
AuthorDate: Fri Feb 28 15:04:04 2020 +0100

    installers part of job + stage for better view (#10)
    
    add installer script
    
    rewrite with stage to have better view
    renable test result
---
 resources/org/apache/netbeans/installer.sh    | 160 ++++++++++++++++
 resources/org/apache/netbeans/installermac.sh | 163 ++++++++++++++++
 vars/asfMainNetBeansBuild.groovy              | 258 ++++++++++++++++----------
 3 files changed, 481 insertions(+), 100 deletions(-)

diff --git a/resources/org/apache/netbeans/installer.sh 
b/resources/org/apache/netbeans/installer.sh
new file mode 100644
index 0000000..ad4a919
--- /dev/null
+++ b/resources/org/apache/netbeans/installer.sh
@@ -0,0 +1,160 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# 
+## param 1 workspace filename for binaries-zip 
+## param 2 version number xx.y (mandatory)
+## param 3 timestamp  YYMMDD
+
+BASE_DIR=`pwd`
+NB_ALL=$BASE_DIR
+export BASE_DIR NB_ALL
+
+`echo "$1 $2 $3" > parameters.info`
+
+if [[ "$3" ]]; then 
+  echo 'I need 3 arguments:'
+  echo 'usage: installer usage [file path to Apache NetBeans binaries-zip] 
[versionumber formated xx.y] [timestamp YYMMDD]'
+fi
+
+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
+
+BIN_NAME=`basename $1`
+BINARY_NAME=`echo "${BIN_NAME%%.zip*}"`
+
+
+#create cluster zip files
+rm -rf temp
+unzip $1 -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=$3
+BUILDNUMBER=$NB_BUILD_NUMBER
+DATESTAMP=$BUILDNUMBER
+NB_VER_NUMBER=$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
+
+MAC_PATH=$DIST
+#export MAC_PATH
+
+MAC_LOG_NEW=$DIST/logs/native_mac-$BUILDNUMBER.log
+export MAC_LOG_NEW
+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
+
+
+DONT_SIGN_INSTALLER=y
+export DONT_SIGN_INSTALLER
+
+bash -x $NB_ALL/nbbuild/newbuild/build-nbi.sh
+
+## cleanup cache
+rm -rf NBI-cache
diff --git a/resources/org/apache/netbeans/installermac.sh 
b/resources/org/apache/netbeans/installermac.sh
new file mode 100644
index 0000000..5a68c97
--- /dev/null
+++ b/resources/org/apache/netbeans/installermac.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# 
+## param 1 workspace filename for binaries-zip 
+## param 2 version number xx.y (mandatory)
+## param 3 timestamp  YYMMDD
+
+BASE_DIR=`pwd`
+NB_ALL=$BASE_DIR
+export BASE_DIR NB_ALL
+
+DIST=$BASE_DIR/dist
+export DIST
+
+if [[ "$4" ]]; then 
+  echo 'I need 4 arguments:'
+  echo 'usage: installer usage [file path to Apache NetBeans binaries-zip] 
[versionumber formated xx.y] [timestamp YYMMDD] [path to a certificate]'
+fi
+
+if [ -d $DIST ] ; then
+rm -rf $DIST
+fi
+
+rm -rf NBI-cache
+
+mkdir -p $DIST/zip/moduleclusters
+mkdir -p $DIST/logs
+
+BIN_NAME=`basename $1`
+BINARY_NAME=`echo "${BIN_NAME%%.zip*}"`
+
+
+#create cluster zip files
+rm -rf temp
+unzip $1 -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=$3
+BUILDNUMBER=$NB_BUILD_NUMBER
+DATESTAMP=$BUILDNUMBER
+NB_VER_NUMBER=$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
+
+MAC_PATH=$DIST
+#export MAC_PATH
+
+#To build MAC installer on mac host set BUILD_MAC to 1
+BUILD_MAC=1
+export BUILD_MAC
+MAC_SIGN_IDENTITY_NAME=$4
+##/Users/aksinsin/Documents/mac-installer-sign/certificate.txt
+export MAC_SIGN_IDENTITY_NAME
+
+BUILD_NB=0
+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
+
+
+DONT_SIGN_INSTALLER=y
+export DONT_SIGN_INSTALLER
+
+bash -x $NB_ALL/nbbuild/newbuild/build-nbi.sh
+
+## cleanup cache
+rm -rf NBI-cache
diff --git a/vars/asfMainNetBeansBuild.groovy b/vars/asfMainNetBeansBuild.groovy
index 5f857d7..317eb06 100644
--- a/vars/asfMainNetBeansBuild.groovy
+++ b/vars/asfMainNetBeansBuild.groovy
@@ -20,20 +20,33 @@
  */
 
 // this script is taken from olamy works on archiva-jenkins-lib for the Apache 
Archiva project
+
[email protected]
+def versionpath = ""
[email protected]
+def apidocurl = ""
[email protected]
+def date  = ""
[email protected]
+def atomdate = ""
[email protected]
+def version=""
[email protected]
+def rmversion=""
[email protected]
+def month=""
[email protected]
+def votecandidate=false
[email protected]
+def vote=""
+
[email protected]
+def tooling=[:]
+
+
 def call(Map params = [:]) {
     // variable needed for apidoc
-    def myAnt = ""
-    def apidocurl = ""
-    def date  = ""
-    def atomdate = ""
-    def jdktool = ""
-    def myMaven=""
-    def version=""
-    def rmversion=""
-    def mavenVersion=""
-    def month=""
-    def votecandidate=false
-    def vote=""
+    
     
     pipeline {
         options {
@@ -62,9 +75,9 @@ def call(Map params = [:]) {
                             currentBuild.result = "FAILURE"
                             throw new Exception("No entry in json for $branch")
                         }
-                        myAnt = releaseInformation[branch].ant;
+                        tooling.myAnt = releaseInformation[branch].ant;
                         apidocurl = releaseInformation[branch].apidocurl
-                        mavenVersion=releaseInformation[branch].mavenversion
+                        
tooling.mavenVersion=releaseInformation[branch].mavenversion
                         
                         switch 
(releaseInformation[branch].releasedate['month']) {
                         case '01':month  = 'Jan'; break;
@@ -84,8 +97,8 @@ def call(Map params = [:]) {
                         date  = releaseInformation[branch].releasedate['day'] 
+ ' '+ month + ' '+releaseInformation[branch].releasedate['year']
                         //2018-07-29T12:00:00Z
                         atomdate = 
releaseInformation[branch].releasedate['year']+'-'+releaseInformation[branch].releasedate['month']+'-'+releaseInformation[branch].releasedate['day']+'T12:00:00Z'
-                        jdktool = releaseInformation[branch].jdk
-                        myMaven = releaseInformation[branch].maven
+                        tooling.jdktool = releaseInformation[branch].jdk
+                        tooling.myMaven = releaseInformation[branch].maven
                         version = releaseInformation[branch].versionName;
                         
                         rmversion = version
@@ -110,10 +123,10 @@ def call(Map params = [:]) {
             }
             stage ("Main build") {
                 tools {
-                    jdk jdktool
+                    jdk tooling.jdktool
                 }
                 steps {
-                    withAnt(installation: myAnt) {
+                    withAnt(installation: tooling.myAnt) {
                         script {
                             //sh 'ant'
                             if (env.BRANCH_NAME=="master") {
@@ -125,105 +138,30 @@ def call(Map params = [:]) {
                                 sh "rm -rf ${env.WORKSPACE}/repoindex/"
                                 sh "rm -rf ${env.WORKSPACE}/.repository"
                                 def localRepo = "${env.WORKSPACE}/.repository"
-                                
withMaven(maven:myMaven,jdk:jdktool,publisherStrategy: 
'EXPLICIT',mavenLocalRepo: localRepo)
+                                
withMaven(maven:tooling.myMaven,jdk:tooling.jdktool,publisherStrategy: 
'EXPLICIT',mavenLocalRepo: localRepo)
                                 {
                                     //sh "mvn 
org.apache.maven.plugins:maven-dependency-plugin:3.1.1:get 
-Dartifact=org.apache.netbeans.utilities:nb-repository-plugin:1.5-SNAPSHOT 
-DremoteRepositories=apache.snapshots.https::::https://repository.apache.org/snapshots";
                                     sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:download 
-DnexusIndexDirectory=${env.WORKSPACE}/repoindex 
-DrepositoryUrl=https://repo.maven.apache.org/maven2";
                                     sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:populate 
-DnexusIndexDirectory=${env.WORKSPACE}/repoindex 
-DnetbeansNbmDirectory=${env.WORKSPACE}/nbbuild/nbms 
-DnetbeansInstallDirectory=${env.WORKSPACE}/nbbuild/netbeans 
-DnetbeansSourcesDirectory=${env.WORKSPACE}/nbbuild/build/source-zips 
-DnetbeansJavadocDirectory=${env.WORKSPACE}/nbbuild/build/javadoc 
-DparentGAV=org.apache.netbeans:netbeans-parent:2 
-DforcedVersion=${mavenVersion} -Ds [...]
                                 }
-                                
+                                archiveArtifacts 'WEBZIP.zip'
                             } else if (month !='Invalid') {
                                 // we have a valid month, this package is 
already released. Build only javadoc
                                 sh "ant"
                                 sh "ant build-javadoc 
-Djavadoc.web.zip=${env.WORKSPACE}/WEBZIP.zip"
+                                archiveArtifacts 'WEBZIP.zip'
                             } else {
                                 // we want to setup for release
                                 // apidoc + repomaven + dist bundle
-                                def clusterconfigs = ['platform','release']
-                                def targets = 
['verify-libs-and-licenses','rat','build']
-                                sh "rm -rf ${env.WORKSPACE}/nbbuild/build"
-                                
-                                for (String clusterconfig in clusterconfigs) {
-                                    // force a build num for 
build-source-config
-                                    sh "ant build-source-config 
-Dcluster.config=${clusterconfig} -Dbuildnum=666"
-                                    for (String target in targets){
-                                        sh "rm -rf 
${env.WORKSPACE}/${target}-${clusterconfig}-temp"
-                                        sh "mkdir  
${env.WORKSPACE}/${target}-${clusterconfig}-temp"
-                                        sh "unzip 
${env.WORKSPACE}/nbbuild/build/${clusterconfig}*.zip -d 
${env.WORKSPACE}/${target}-${clusterconfig}-temp "
-                                        sh "cp ${env.WORKSPACE}/.gitignore 
${env.WORKSPACE}/${target}-${clusterconfig}-temp"
-                                        def add = "";
-                                        // 
-                                        if (target=="build" && 
env.BRANCH_NAME!="release90") {
-                                            add=" 
-Ddo.build.windows.launchers=true"
-                                        }
-                                        sh "ant -f 
${env.WORKSPACE}/${target}-${clusterconfig}-temp/build.xml ${target} 
-Dcluster.config=${clusterconfig} ${add}"
-                                    }
-                                    
-                                }
-                                                               
-                                
-                                sh "ant -f 
${env.WORKSPACE}/build-release-temp/build.xml build-nbms build-source-zips 
generate-uc-catalog -Dcluster.config=release -Ddo.build.windows.launchers=true"
-                                sh "ant -f 
${env.WORKSPACE}/build-release-temp/build.xml build-javadoc 
-Djavadoc.web.root='${apidocurl}' -Dmodules-javadoc-date='${date}' 
-Datom-date='${atomdate}' -Djavadoc.web.zip=${env.WORKSPACE}/WEBZIP.zip"
-                               
-                                // remove folders
-                                sh "rm -rf ${env.WORKSPACE}/dist"
-                                sh "rm -rf ${env.WORKSPACE}/mavenrepository"
+                                def clusterconfigs = 
[['platform','netbeans-platform'],['release','netbeans']]
                                 
-                                // create dist folder and content
-                                def versionpath = "";
-                                def platformpath = "/";
-                                def releasepath = "/";
                                 if (votecandidate) {
-                                    versionpath = "/${version}/vc${vote}"
-                                    platformpath = 
"/netbeans-platform${versionpath}/"
-                                    releasepath = "/netbeans${versionpath}/";
+                                    versionpath = "${version}/vc${vote}"
                                 }
-                                
-                                sh "mkdir -p 
${env.WORKSPACE}/dist${platformpath}"
-                                // source
-                                sh "cp 
${env.WORKSPACE}/nbbuild/build/*platform*.zip 
${env.WORKSPACE}/dist${platformpath}netbeans-platform-${rmversion}-source.zip"
-                                // binaries
-                                sh "cp 
${env.WORKSPACE}/build-platform-temp/nbbuild/*.zip 
${env.WORKSPACE}/dist${platformpath}netbeans-platform-${rmversion}-bin.zip"
-                                
-                                
-                                sh "mkdir -p 
${env.WORKSPACE}/dist${releasepath}"
-                                
-                                sh "cp 
${env.WORKSPACE}/nbbuild/build/release*.zip 
${env.WORKSPACE}/dist${releasepath}netbeans-${rmversion}-source.zip"
-                                sh "cp 
${env.WORKSPACE}/build-release-temp/nbbuild/*-release.zip 
${env.WORKSPACE}/dist${releasepath}netbeans-${rmversion}-bin.zip"
-                                sh "mkdir 
${env.WORKSPACE}/dist${releasepath}nbms"
-                                 
-                                // create maven repository folder and content
-                                sh "mkdir ${env.WORKSPACE}/mavenrepository"
-                                
-                                sh "cp -r 
${env.WORKSPACE}/build-release-temp/nbbuild/nbms/** 
${env.WORKSPACE}/dist${releasepath}nbms/"
-                                
-                                //checksums
-                                
-                                def extensions = 
['*.zip','*.nbm','*.gz','*.jar','*.xml','*.license']
-                                for (String extension in extensions) {
-                                
-                                    sh "cd ${env.WORKSPACE}/dist"+' && for z 
in $(find . -name "'+"${extension}"+'") ; do cd $(dirname $z) ; sha512sum 
./$(basename $z) > $(basename $z).sha512; cd - >/dev/null; done '
-                                
-                                }
-                                archiveArtifacts 'dist/**'
-                                
-                                //prepare a maven repository to be used by RM 
-                                sh "rm -rf ${env.WORKSPACE}/repoindex/"
-                                sh "rm -rf ${env.WORKSPACE}/.repository"
-                                def localRepo = "${env.WORKSPACE}/.repository"
-                                def netbeansbase = 
"${env.WORKSPACE}/build-release-temp/nbbuild"
-                                
withMaven(maven:myMaven,jdk:jdktool,publisherStrategy: 
'EXPLICIT',mavenLocalRepo: localRepo,options:[artifactsPublisher(disabled: 
true)])
-                                {
-                                    //sh "mvn 
org.apache.maven.plugins:maven-dependency-plugin:3.1.1:get 
-Dartifact=org.apache.netbeans.utilities:nb-repository-plugin:1.5-SNAPSHOT 
-Dmaven.repo.local=${env.WORKSPACE}/.repository 
-DremoteRepositories=apache.snapshots.https::::https://repository.apache.org/snapshots";
-                                    sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:download 
-DnexusIndexDirectory=${env.WORKSPACE}/repoindex 
-Dmaven.repo.local=${env.WORKSPACE}/.repository 
-DrepositoryUrl=https://repo.maven.apache.org/maven2";
-                                    sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:populate 
-DnexusIndexDirectory=${env.WORKSPACE}/repoindex 
-Dmaven.repo.local=${env.WORKSPACE}/.repository 
-DnetbeansNbmDirectory=${netbeansbase}/nbms 
-DnetbeansInstallDirectory=${netbeansbase}/netbeans 
-DnetbeansSourcesDirectory=${netbeansbase}/build/source-zips 
-DnetbeansJavadocDirectory=${netbeansbase}/build/javadoc 
-DparentGAV=org.apache.netbeans:netbeans-parent:2 -DforcedVersion=${maven [...]
-                                }                            
-                                archiveArtifacts 'mavenrepository/**'     
+                                doParallelClusters(clusterconfigs);            
                                                    
                             }
                         }                       
-                    }
-                    archiveArtifacts 'WEBZIP.zip'
-                    
+                    }                   
                 }
             }
         }
@@ -241,3 +179,123 @@ def call(Map params = [:]) {
         }
     }
 }
+// in fact not parallel otherwise workspace not cleaned
+def doParallelClusters(cconfigs) {
+    for (cluster in cconfigs) {
+        def clustername = cluster[0]
+        def path = cluster[1]
+        stage("prepare ${clustername}") {
+            sh "rm -rf nbbuild/build"
+                                
+            sh "ant build-source-config -Dcluster.config=${clustername} 
-Dbuildnum=666"
+            script {
+                def targets = ['verify-libs-and-licenses','rat','build']
+                for (String target in targets) {
+                    stage("${target} for ${clustername}") {
+                        // prepare a clean subfolder target - clustername 
prefixed
+                        sh "rm -rf ${target}-${clustername}-temp && mkdir 
${target}-${clustername}-temp && unzip nbbuild/build/${clustername}*.zip -d 
${target}-${clustername}-temp && cp .gitignore 
${env.WORKSPACE}/${target}-${clustername}-temp"
+                        def add = "";
+                        // 
+                        if (target=="build" && env.BRANCH_NAME!="release90") {
+                            add=" -Ddo.build.windows.launchers=true"
+                        }
+                        
+                        // build the target on the cluster defined common to 
all
+                        sh "ant -f ${target}-${clustername}-temp/build.xml 
${target} -Dcluster.config=${clustername} ${add}"
+                            
+                        // for verify-libs-and-licenses we only want the 
reports
+                        if (target=='verify-libs-and-licenses') {
+                            junit 
"verify-libs-and-licenses-${clustername}-temp/nbbuild/build/verifylibsandlicenses.xml"
   
+                        }
+                          
+                        // for rat we only want the reports (junit fail at the 
moment empty test)
+                        if (target=='rat') {
+                            // save report and test for rat and verify..
+                            archiveArtifacts 
"rat-${clustername}-temp/nbbuild/build/rat-report.txt"
+                            junit testResults: 
"rat-${clustername}-temp/nbbuild/build/rat/*.xml" , allowEmptyResults:true 
+                        }
+                        
+                        // build target is more complex,
+                        if (target=='build') {
+                            // prepare versionned path
+                            def versionnedpath = "/${path}/${versionpath}"
+                          
+                            sh "mkdir -p dist${versionnedpath}"
+                            // source
+                            sh "cp nbbuild/build/*${clustername}*.zip 
dist${versionnedpath}${path}-${rmversion}-source.zip"
+                            // binaries
+                            sh "cp 
build-${clustername}-temp/nbbuild/*${clustername}*.zip 
dist${versionnedpath}${path}-${rmversion}-bin.zip"
+                                
+                            // special case for release prepare bits, maven, 
javadoc installer
+                            if (clustername == "release") {
+                                        
+                                // installer we prepare a folder so that 
release manager can build mac os on his own
+                                sh "mkdir -p dist${versionnedpath}nbms"
+                                sh "mkdir -p dist/installers"
+                                sh "mkdir -p 
distpreparation${versionnedpath}installer"
+                                        
+                                def installer =  libraryResource 
'org/apache/netbeans/installer.sh'
+                                writeFile file: 
"distpreparation${versionnedpath}installer/installer.sh", text: installer
+                                
+                                def installermac =  libraryResource 
'org/apache/netbeans/installermac.sh'
+                                writeFile file: 
"distpreparation${versionnedpath}installer/installermac.sh", text: installermac
+                                        
+                                sh "chmod +x 
distpreparation${versionnedpath}installer/installer.sh"
+                                        
+                                sh "mkdir -p 
distpreparation${versionnedpath}installer/nbbuild/newbuild && cp 
build-${clustername}-temp/nbbuild/newbuild/* 
distpreparation${versionnedpath}installer/nbbuild/newbuild "
+                                sh "mkdir -p 
distpreparation${versionnedpath}installer/nbbuild/installer && cp -r 
build-${clustername}-temp/nbbuild/installer 
distpreparation${versionnedpath}installer/nbbuild "
+                                sh "mkdir -p 
distpreparation${versionnedpath}installer/nbi && cp -r 
build-${clustername}-temp/nbi distpreparation${versionnedpath}installer "
+                                        
+                                        
+                                        
+                                sh "cp 
build-${clustername}-temp/nbbuild/*${clustername}*.zip 
dist${versionnedpath}${path}-${rmversion}-bin.zip"
+                                def binaryfile = 
"${env.WORKSPACE}/dist${versionnedpath}${path}-${rmversion}-bin.zip"
+                                def timestamp = sh(returnStdout: true, script: 
'date +%y%m%d').trim() 
+                                        
+                                sh "cd 
distpreparation${versionnedpath}installer && ./installer.sh ${binaryfile} 
${version} ${timestamp}"
+                                sh "cp 
distpreparation${versionnedpath}installer/dist/bundles/* dist/installers/ "
+                                sh "rm -rf 
distpreparation${versionnedpath}installer/dist"
+                                archiveArtifacts 'distpreparation/**' 
+                                
+                                // the installer phase is ok we should have 
installer for linux / windows + scripts and a bit of source to build macos later
+                                
+                                
+                                // additionnal target to have maven ready
+                                // javadoc build
+                                sh "ant -f build-${clustername}-temp/build.xml 
build-nbms build-source-zips generate-uc-catalog -Dcluster.config=release 
-Ddo.build.windows.launchers=true"
+                                sh "ant -f build-${clustername}-temp/build.xml 
build-javadoc -Djavadoc.web.root='${apidocurl}' 
-Dmodules-javadoc-date='${date}' -Datom-date='${atomdate}' 
-Djavadoc.web.zip=${env.WORKSPACE}/WEBZIP.zip"                              
+                                sh "cp -r 
build-${clustername}-temp/nbbuild/nbms/** dist${versionnedpath}nbms/"
+                                
+                                archiveArtifacts 'WEBZIP.zip'
+                            
+                                def localRepo = ".repository"
+                                def netbeansbase = 
"build-${clustername}-temp/nbbuild"
+                                        
+                                
withMaven(maven:tooling.myMaven,jdk:tooling.jdktool,publisherStrategy: 
'EXPLICIT',mavenLocalRepo: localRepo,options:[artifactsPublisher(disabled: 
true)])
+                                {
+                                    //sh "mvn 
org.apache.maven.plugins:maven-dependency-plugin:3.1.1:get 
-Dartifact=org.apache.netbeans.utilities:nb-repository-plugin:1.5-SNAPSHOT 
-Dmaven.repo.local=${env.WORKSPACE}/.repository 
-DremoteRepositories=apache.snapshots.https::::https://repository.apache.org/snapshots";
+                                    def commonparam = 
"-DnexusIndexDirectory=repoindex -Dmaven.repo.local=.repository"
+                                    sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:download ${commonparam} 
-DrepositoryUrl=https://repo.maven.apache.org/maven2";
+                                    sh "mvn 
org.apache.netbeans.utilities:nb-repository-plugin:1.5:populate ${commonparam} 
-DnetbeansNbmDirectory=${netbeansbase}/nbms 
-DnetbeansInstallDirectory=${netbeansbase}/netbeans 
-DnetbeansSourcesDirectory=${netbeansbase}/build/source-zips 
-DnetbeansJavadocDirectory=${netbeansbase}/build/javadoc 
-DparentGAV=org.apache.netbeans:netbeans-parent:2 
-DforcedVersion=${mavenVersion} -DskipInstall=true 
-DdeployUrl=file://${env.WORKSPACE}/mavenrepository"
+                                }                            
+                                archiveArtifacts 'mavenrepository/**'
+                                                   
+                            }
+                       
+                            // do checksum
+                            def extensions = 
['*.zip','*.nbm','*.gz','*.jar','*.xml','*.license']
+                            for (String extension in extensions) {             
                   
+                                sh "cd dist"+' && for z in $(find . -name 
"'+"${extension}"+'") ; do cd $(dirname $z) ; sha512sum ./$(basename $z) > 
$(basename $z).sha512; cd - >/dev/null; done '
+                            }
+                                    
+                            archiveArtifacts 'dist/**' 
+                                    
+                           
+                        }              
+                    }
+                }
+            }
+        }
+    } 
+
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to