# # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # # Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved. # # Oracle and Java are registered trademarks of Oracle and/or its affiliates. # Other names may be trademarks of their respective owners. # # The contents of this file are subject to the terms of either the GNU General Public # License Version 2 only ("GPL") or the Common Development and Distribution # License("CDDL") (collectively, the "License"). You may not use this file except in # compliance with the License. You can obtain a copy of the License at # http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the # License for the specific language governing permissions and limitations under the # License. When distributing the software, include this License Header Notice in # each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Oracle # designates this particular file as subject to the "Classpath" exception as provided # by Oracle in the GPL Version 2 section of the License file that accompanied this code. # If applicable, add the following below the License Header, with the fields enclosed # by brackets [] replaced by your own identifying information: # "Portions Copyrighted [year] [name of copyright owner]" # # Contributor(s): # # The Original Software is NetBeans. The Initial Developer of the Original Software # is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun Microsystems, Inc. All # Rights Reserved. # # If you wish your version of this file to be governed by only the CDDL or only the # GPL Version 2, indicate your decision by adding "[Contributor] elects to include # this software in this distribution under the [CDDL or GPL Version 2] license." If # you do not indicate a single choice of license, a recipient has the option to # distribute your version of this file under either the CDDL, the GPL Version 2 or # to extend the choice of license to its licensees as provided above. However, if you # add GPL Version 2 code and therefore, elected the GPL Version 2 license, then the # option applies only if the new code is made subject to such option by the copyright # holder. # ##################################################################################### # Initialization. Properties that are used during build script initialization. # location of the custom tasks' sources and the destination directory for their # build custom.tasks.src=${common.dir}/../.ant-lib/src custom.tasks.cls=${basedir}/.ant-lib ##################################################################################### # Check-out. Properties that are used during check-out. # whether to check out sources, or copy them from the location specified in # ${sources.dir}; 'true'/'false' checkout.sources=true # coordinates of the project's sources within the cvs repository # * ${cvs.root} - obvious # * ${cvs.branch} - the branch from which the sources should be checked out; if # this property is empty, then the sources will be checked out from trunk # * ${cvs.timestamp} - the timestamp for which the sources should be checked out; if # this property is empty, then the latest sources will be checked out # * ${cvs.module} - the module that should be checked out; at this point the # build framework is not compatible with modules which alias several other # modules cvs.root=:pserver:anoncvs@netbeans.org:/cvs cvs.branch= cvs.module=nbi cvs.timestamp= # coordinates of the project's sources' localized files within the cvs # repository # * ${translatedfiles.module} - name of the cvs module with the localized files # * ${translatedfiles.path} - path to the localized files for the project # within the cvs module translatedfiles.module=translatedfiles translatedfiles.path=src/${cvs.module}/${cvs.path} # sources parameters; a search-and-replace will be run over the sources after # check-out, replacing [token] => [value]; regular expressions are not allowed # * ${sources.params.length} - total number of the parameters # * indices should start with 1 # * parameters are not i18n compliant sources.params.length=0 #sources.params.1.token= #sources.params.1.value= # several simple shorthands for various directories # * ${cvs.module.dir} - path to the root of the cvs module # * ${cvs.dir} - path to the current project's sources root # * ${translatedfiles.dir} - path to the localized files for the project cvs.module.dir=${work.dir}/${cvs.module} cvs.dir=${cvs.module.dir}/${cvs.path} translatedfiles.dir=${work.dir}/${translatedfiles.module}/${translatedfiles.path} ##################################################################################### # NB Projects. Properties related to cleaning/building netbeans projects. # path to the netbeans project that should be built; relative to the # ${cvs.dir} nbproject.path=. # names of targets in component's (or engine's) build script that will be # called as part of the build process # * ${nb.target.clean} - will be called when cleaning the netbeans project # * ${nb.target.build} - will be called when building the netbeans project nb.target.clean=clean nb.target.build=jar # additional properties which will be passed to the netbeans project build # script # * ${nb.platform.home} - location of the jdk codenamed "JDK 1.5", this jdk # is expected to be used by all netbeans projects # * ${nb.ignore.native} - tells the netbeans project's build script to skip # building native components, if it is able to do so - these will be built # as part of the project's global build script # * ${nb.no.dependencies} - tells the netbeans project's build script to skip # building its dependencies, the dependencies are expected to be built by the # project's global build script # * ${nb.dont.build.custom.tasks} - tells the netbeans project's build script # to skip building custom tasks for it, as they will already be built by the # global script # * ${nb.custom.tasks.cls} - points the netbeans project's build script to the # location of the built custom tasks nb.platform.home=-Dplatforms.JDK_1.5.home=${java.home}/.. nb.platform.home.macos=-Dplatforms.JDK_1.5.home=${java.home} nb.ignore.native=-Dignore.native=true nb.no.dependencies=-Dno.dependencies=true nb.dont.build.custom.tasks=-Ddont.build.custom.tasks=true nb.custom.tasks.cls=-Dcustom.tasks.cls=${custom.tasks.cls} # default path to the distributives directory of the netbeans project; relative # to ${nbproject.path} nb.dist.path=dist # path to the classes directory of the netbeans project; relative to # ${nbproject.path} nb.classes.dir=build/classes # path to the manifest file of the netbeans project; relative to the # ${nbproject.path} nbproject.manifest=manifest.mf # path to the dist directory that the nbproject should use; since we do not use # the netbeans' packaging mechanism, we have the flexibility to specify any # distributives directory we want nbproject.dist.dir=${cvs.dir}/${nbproject.path}/${nb.dist.path} ##################################################################################### # Native. Properties related to cleaning/building native components. # path to the directory with the sources for the native components; relative # to the root of the project's sources native.path=${cvs.module}/${cvs.path}/native # path to the directory with the localized files for the native components; # relative to the root of the project's localized files directory translatedfiles.native.path=${translatedfiles.module}/${translatedfiles.path}/native # list of platforms for which the native components should be built # * the list should be space-separated native.platforms=windows linux solaris-x86 solaris-sparc macosx # directory on the remote machine where the build script should operate # * this is the default value, the actual value is expected to be passed in # through the environment properties remote.work.dir=~/.nbi-build # ssh properties: executable name, set of arguments and the command. # * ${remote.host}, ${remote.port} and ${remote.user} are environment specific # and are expected to be passed in through the environment properties ssh.executable=ssh ssh.arguments=-l ${remote.user} -p ${remote.port} ${remote.host} ssh.command.clean=rm -rf ${remote.work.dir}; ssh.command.build=rm -rf ${remote.work.dir}; \ mkdir ${remote.work.dir}; \ cd ${remote.work.dir}; \ if [ "${cvs.branch}" = "" ]; then \ if [ "${cvs.timestamp}" = "" ]; then \ cvs -d ${cvs.root} co -P ${native.path}; \ cvs -d ${cvs.root} co -P ${translatedfiles.native.path}; \ else\ cvs -D ${cvs.timestamp} -d ${cvs.root} co -P ${native.path}; \ cvs -D ${cvs.timestamp} -d ${cvs.root} co -P ${translatedfiles.native.path}; \ fi;\ else \ if [ "${cvs.timestamp}" = "" ]; then \ cvs -d ${cvs.root} co -r ${cvs.branch} -P ${native.path}; \ cvs -d ${cvs.root} co -r ${cvs.branch} -P ${translatedfiles.native.path}; \ else \ cvs -D ${cvs.timestamp} -d ${cvs.root} co -r ${cvs.branch} -P ${native.path}; \ cvs -D ${cvs.timestamp} -d ${cvs.root} co -r ${cvs.branch} -P ${translatedfiles.native.path}; \ fi;\ fi; \ cp -r ${translatedfiles.native.path} ${native.path}; \ cd ${native.path}/${platform}; \ make # scp properties: executable name, set of arguments, remote directory, local # directory # * ${remote.host}, ${remote.port} and ${remote.user} are platform and # environment specific and are expected to be passed in through the # environment properties # * name of the file to copy is platform specific and is defined elsewhere, # most likely in the base build script for a project type (engine, product, # etc.) # * ${platform} will be defined at runtime, as these commands will be executed # in loop over the list of platforms scp.executable=scp scp.arguments=-P ${remote.port} scp.remote.dir=${remote.user}@${remote.host}:${remote.work.dir}/${native.path}/${platform}/${nb.dist.path} scp.local.dir=${work.dir}/${native.path}/${platform}/${nb.dist.path} # names of the native distributive files for various platforms native.dist.file.windows=windows.dll native.dist.file.linux=linux.so native.dist.file.solaris-x86=solaris-x86.so native.dist.file.solaris-sparc=solaris-sparc.so native.dist.file.macosx=macosx.dylib ##################################################################################### # Release. Properties controlling the 'release' process release.to.server=true ##################################################################################### # Miscellaneous. Properties that are used elsewhere. # these properties control the environment for the jarsigner process # * ${jarsigner.enabled} - whether to sign jars # * ${jarsigner.xmx} - max heap size for the jarsigner process # * ${jarsigner.executable} - path to jarsigner executable (optional) jarsigner.enabled=true jarsigner.xmx=1024m # these properties control the environment for the pack200 and unpack200 # processes # * ${pack200.enabled} - whether to repackage jars (can be specified in each product) # * ${use.internal.packer} - whether to use the same JVM for packing jars (can be specified in each product) # it is risky because of memory leaks and possible OOMs # * ${use.internal.unpacker} - whether to use the same JVM for unpacking jars (can be specified in each product) # it is risky because of memory leaks and possible OOMs # * ${pack200.xmx} - -Xmx jvm argument value # * ${pack200.perm.size} - -XX:PermSize jvm argument value # * ${pack200.max.perm.size} - -XX:MaxPermSize jvm argument value # * ${pack200.executable} - path to pack200 executable (optional) # * ${unpack200.executable} - path to unpack200 executable (optional) # * ${verification.java.executable} - path to java executable that would be used for verification of packaged jars (optional) pack200.xmx=768m pack200.perm.size=32m pack200.max.perm.size=512m # these properties control the environment for the external processes running during the build # * ${process.max.execution.time} - maximum time (in milliseconds) for running the process # if set to zero then processes would run without timeout # default value is 600000=10min (defined in nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/utils/Utils.java) # these properties control native executable paths # * ${tar.executable} - path to native tar/gtar/gnutar executable # * ${ls.executable} - path to native ls executable # * ${unzip.executable} - path to native unzip executable