| #!/bin/sh |
| |
| # 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. |
| |
| set -x |
| |
| keystore=$SECRET/NBstore |
| storepass=`cat $SECRET/storepass` |
| ant verify-libs-and-licenses || exit |
| ant -f autoupdate.services/build.xml # build first to ensure DTD validation works |
| ant -Dcluster.config=experimental \ |
| -Dkeystore=$keystore -Dstorepass=$storepass -Djavadoc.fail.on.error=false -Dnbms.fail.on.error=false \ |
| build-nonsigned-nbms || exit |
| ant -Dcluster.config=stableuc create-license-summary || exit |
| ant -Dcluster.config=experimental create-netbeans-import finish-build || exit |
| |
| rm -rv nbbuild/netbeans/ergonomics nbbuild/nbms/ergonomics # not going to have been built reasonably anyway |
| ant -Dcluster.config=minimal -Dzip.dir=`pwd`/nbbuild/dist zip-cluster-config || exit |
| ant -Dcluster.config=full -Dzip.dir=`pwd`/nbbuild/dist zip-cluster-config || exit |
| (cd nbbuild/netbeans; for cluster in *; do if [ -d $cluster/update_tracking ]; then zip -rq ../dist/$BUILD_TAG-$cluster.zip $cluster; fi; done) |
| |
| ant -Dtest.fail.on.error=false build-test-dist |
| |
| ant -Dtest.config=commit -Dcontinue.after.failing.tests=true -f o.n.core/build.xml test |
| ant -Dold.updates=file:${WORKSPACE}/nbbuild/build/prior-nbms/updates.xml generate-uc-catalog verify-update-descriptor || exit |
| |
| ant clean-untracked-files |
| |
| sh -x nbbuild/hudson/sigtests || exit 1 |
| |
| set +x |
| |
| for r in . contrib |
| do |
| output="`hg -R $r st`" |
| if [ -n "$output" ] |
| then |
| echo "Forbidden local modifications found -> The build will fail." |
| echo "(Needed to fix a job which modified files in the repository)" |
| echo "Modified files are:" |
| echo "$output" |
| hg -R $r diff |
| exit 1 |
| fi |
| done |
| |
| ant generate-golden-files generate-files-layout index-layer-paths summarize-hgmail || exit |
| generated=nbbuild/build/generated |
| cp -v nbbuild/netbeans/THIRDPARTYLICENSE-generated.txt $generated/external-libraries.txt || exit |
| prev_generated=nbbuild/build/prior-generated |
| if [ -d $prev_generated ]; then |
| # kits.txt is too verbose and changes too frequently to include in diff |
| diff -r -u --minimal --show-function-line='^[A-Z][A-Z]' --ignore-matching-lines=' [(]merged[)]$' -x kits.txt $prev_generated $generated > $generated.diff |
| if [ -s $generated.diff ]; then |
| (echo "${BUILD_URL}changes"; echo "${BUILD_URL}artifact/$generated/"; echo; cat $generated.diff) | mail -s "Golden file changes in $JOB_NAME build #$BUILD_NUMBER" api-changes@netbeans.org |
| fi |
| fi |