Lines 26-32
Link Here
|
26 |
<!-- <property name="build.sysclasspath" value="ignore"/>--> |
26 |
<!-- <property name="build.sysclasspath" value="ignore"/>--> |
27 |
|
27 |
|
28 |
<!-- To make people happy who want to do `ant clean all': --> |
28 |
<!-- To make people happy who want to do `ant clean all': --> |
29 |
<target name="all" depends="depucelee"/> |
29 |
<target name="all" depends="build,sanity-check" description="Build the IDE and run a sanity check."/> |
30 |
|
30 |
|
31 |
<target name="bootstrap-init"> |
31 |
<target name="bootstrap-init"> |
32 |
<property name="binroot" location="../../nbextra"/> |
32 |
<property name="binroot" location="../../nbextra"/> |
Lines 51-60
Link Here
|
51 |
</jar> |
51 |
</jar> |
52 |
</target> |
52 |
</target> |
53 |
|
53 |
|
54 |
<target name="firststart-params" if="nogui"> |
|
|
55 |
<property name="firststart.args.additional" value="-nogui -nosplash"/> |
56 |
</target> |
57 |
|
58 |
<target name="setup-jdkhome-1"> |
54 |
<target name="setup-jdkhome-1"> |
59 |
<!-- Note: user-configured -Djavahome=... will always override this: --> |
55 |
<!-- Note: user-configured -Djavahome=... will always override this: --> |
60 |
<property name="javahome" location="${java.home}"/> |
56 |
<property name="javahome" location="${java.home}"/> |
Lines 72-78
Link Here
|
72 |
<fail message="No tools.jar found in ${javahome}! Set -Djavahome=... as needed."/> |
68 |
<fail message="No tools.jar found in ${javahome}! Set -Djavahome=... as needed."/> |
73 |
</target> |
69 |
</target> |
74 |
|
70 |
|
75 |
<target name="init" depends="bootstrap,setup-jdkhome-4, firststart-params"> |
71 |
<target name="init" depends="bootstrap,setup-jdkhome-4"> |
76 |
<tstamp> |
72 |
<tstamp> |
77 |
<format property="buildnumber" pattern="yyyyMMddHHmm"/> |
73 |
<format property="buildnumber" pattern="yyyyMMddHHmm"/> |
78 |
</tstamp> |
74 |
</tstamp> |
Lines 83-94
Link Here
|
83 |
<!-- Overridable. Note: need not necessarily be a number at all): --> |
79 |
<!-- Overridable. Note: need not necessarily be a number at all): --> |
84 |
<property name="buildnum" value="dev-${buildnumber}"/> |
80 |
<property name="buildnum" value="dev-${buildnumber}"/> |
85 |
<property name="netbeans.dest" value="netbeans"/> |
81 |
<property name="netbeans.dest" value="netbeans"/> |
86 |
<property name="firststart.args.additional" value=""/> |
82 |
<property name="test.user.dir" location="testuserdir"/> |
|
|
83 |
<!-- For example, "-nogui -nosplash" is useful on headless machines: --> |
84 |
<property name="sanitystart.args.additional" value=""/> |
87 |
<property name="tryme.args.additional" value=""/> |
85 |
<property name="tryme.args.additional" value=""/> |
88 |
<!-- Best to leave this alone, though, unless you know what you are doing: --> |
86 |
<!-- Best to leave this alone, though, unless you know what you are doing: --> |
89 |
<property name="firststart.args" value=" -J-Dnetbeans.close=true -J-Dnetbeans.debug.exceptions=true -single ${firststart.args.additional}"/> |
87 |
<property name="sanitystart.args" value=" -J-Dnetbeans.close=true -J-Dnetbeans.debug.exceptions=true ${sanitystart.args.additional}"/> |
90 |
<!-- But this it is OK to change: --> |
88 |
<!-- But this it is OK to change: --> |
91 |
<property name="tryme.args" value=" -J-Dnetbeans.debug.exceptions=true -single ${tryme.args.additional}"/> |
89 |
<property name="tryme.args" value=" -J-Dnetbeans.debug.exceptions=true ${tryme.args.additional}"/> |
92 |
<!-- Only useful to override in conjunction with merge target during development: --> |
90 |
<!-- Only useful to override in conjunction with merge target during development: --> |
93 |
<property name="fixedmodules" value="core,openide"/> |
91 |
<property name="fixedmodules" value="core,openide"/> |
94 |
<!-- Override this with the Ant command, e.g. -Dmoduleconfig=superslim --> |
92 |
<!-- Override this with the Ant command, e.g. -Dmoduleconfig=superslim --> |
Lines 342-348
Link Here
|
342 |
<!-- Use of nbmerge target has the effect of automatically depending on all-X for every module. --> |
340 |
<!-- Use of nbmerge target has the effect of automatically depending on all-X for every module. --> |
343 |
<!-- It also runs deltree(dir=wherever) and copydir(src=../X/netbeans,dest=wherever) to create the IDE install. --> |
341 |
<!-- It also runs deltree(dir=wherever) and copydir(src=../X/netbeans,dest=wherever) to create the IDE install. --> |
344 |
|
342 |
|
345 |
<target name="virgin-nozip" depends="firststart-merge"> |
343 |
<target name="build-nozip" depends="delete-and-merge" description="Build the IDE but do not create a final ZIP file."> |
346 |
<taskdef name="createmodulexml" classname="org.netbeans.nbbuild.CreateModuleXML" classpath="nbantext.jar"/> |
344 |
<taskdef name="createmodulexml" classname="org.netbeans.nbbuild.CreateModuleXML" classpath="nbantext.jar"/> |
347 |
<mkdir dir="${netbeans.dest}/system/Modules"/> |
345 |
<mkdir dir="${netbeans.dest}/system/Modules"/> |
348 |
<mkdir dir="${netbeans.dest}/modules/autoload"/> |
346 |
<mkdir dir="${netbeans.dest}/modules/autoload"/> |
Lines 351-359
Link Here
|
351 |
<include name="*.jar"/> |
349 |
<include name="*.jar"/> |
352 |
<!-- Just to test that we can in fact preconfigure some disabled modules: --> |
350 |
<!-- Just to test that we can in fact preconfigure some disabled modules: --> |
353 |
<exclude name="icebrowser.jar"/> |
351 |
<exclude name="icebrowser.jar"/> |
354 |
<!-- It really needs to be installed() currently or exceptions --> |
|
|
355 |
<!-- (so let it be autoscanned and loaded that way): --> |
356 |
<exclude name="javadoc.jar"/> |
357 |
</enabled> |
352 |
</enabled> |
358 |
<disabled dir="${netbeans.dest}/modules"> |
353 |
<disabled dir="${netbeans.dest}/modules"> |
359 |
<include name="icebrowser.jar"/> |
354 |
<include name="icebrowser.jar"/> |
Lines 362-385
Link Here
|
362 |
<include name="*.jar"/> |
357 |
<include name="*.jar"/> |
363 |
</autoload> |
358 |
</autoload> |
364 |
</createmodulexml> |
359 |
</createmodulexml> |
|
|
360 |
<echo file="${netbeans.dest}/build_info">NetBeans dev build |
361 |
------------------ |
362 |
Number: ${buildnumber} |
363 |
Date: ${TODAY} |
364 |
Branding: |
365 |
Branch: trunk |
366 |
Tag: |
367 |
</echo> |
365 |
</target> |
368 |
</target> |
366 |
<target name="virgin" depends="virgin-nozip" |
369 |
|
367 |
description="Create a virgin build that has never been started."> |
370 |
<target name="build" depends="build-nozip" |
|
|
371 |
description="Create a complete build (but do not try it)."> |
368 |
<!-- zip task not well suited to making final build, as it does not set +x bits --> |
372 |
<!-- zip task not well suited to making final build, as it does not set +x bits --> |
369 |
<!-- so on Unix try to use native ZIP first --> |
373 |
<!-- so on Unix try to use native ZIP first --> |
370 |
<delete file="NetBeans-${buildnum}-virgin.zip"/> |
374 |
<delete file="NetBeans-${buildnum}.zip"/> |
371 |
<exec executable="zip" dir="." os="Linux SunOS Solaris" failonerror="false"> |
375 |
<exec executable="zip" dir="." os="Linux SunOS Solaris" failonerror="false"> |
372 |
<arg value="-r"/> |
376 |
<arg value="-r"/> |
373 |
<arg value="NetBeans-${buildnum}-virgin.zip"/> |
377 |
<arg value="NetBeans-${buildnum}.zip"/> |
374 |
<arg value="${netbeans.dest}"/> |
378 |
<arg value="${netbeans.dest}"/> |
375 |
</exec> |
379 |
</exec> |
376 |
<zip zipfile="NetBeans-${buildnum}-virgin.zip" basedir="."> |
380 |
<zip zipfile="NetBeans-${buildnum}.zip" basedir="."> |
377 |
<include name="${netbeans.dest}/"/> |
381 |
<include name="${netbeans.dest}/"/> |
378 |
</zip> |
382 |
</zip> |
379 |
<echo message="Virgin build created; see NetBeans-${buildnum}-virgin.zip."/> |
383 |
<echo>Build created; see NetBeans-${buildnum}.zip (in nbbuild/). |
|
|
384 |
If you like, you may run the IDE straight from |
385 |
the ${netbeans.dest}/bin/ directory. |
386 |
(For example, type: ant tryme) |
387 |
</echo> |
380 |
</target> |
388 |
</target> |
381 |
|
389 |
|
382 |
<target name="firststart-merge" depends="merge-delete,merge" /> |
390 |
<target name="delete-and-merge" depends="merge-delete,merge" /> |
383 |
|
391 |
|
384 |
<target name="merge-delete" depends="init"> |
392 |
<target name="merge-delete" depends="init"> |
385 |
<delete dir="${netbeans.dest}" /> |
393 |
<delete dir="${netbeans.dest}" /> |
Lines 399-487
Link Here
|
399 |
</fileset> |
407 |
</fileset> |
400 |
</chmod> |
408 |
</chmod> |
401 |
</target> |
409 |
</target> |
402 |
<target name="firststart" depends="firststart-merge" |
410 |
|
403 |
description="Build the IDE and start it, but do not create a build archive."> |
411 |
<target name="sanity-check" depends="testuserdir-delete,sanity-start" description="Test whether the build can start up without problems."/> |
404 |
<echo>Starting the IDE... |
412 |
<target name="testuserdir-delete" depends="init"> |
405 |
(This both acts as a test, and primes some files |
413 |
<delete dir="${test.user.dir}"/> |
406 |
to make the first user start faster and better.) |
414 |
</target> |
407 |
</echo> |
415 |
<target name="sanity-start" depends="init,maybe-build-nozip"> |
408 |
<!-- XXX better would be to scan first start log for stacktraces and just show those; --> |
416 |
<mkdir dir="${test.user.dir}"/> |
|
|
417 |
<echo>Starting the IDE as a sanity check...</echo> |
418 |
<!-- XXX better would be to scan start log for stacktraces and just show those; --> |
409 |
<!-- possibly after filtering for duplicates or something like this. --> |
419 |
<!-- possibly after filtering for duplicates or something like this. --> |
410 |
<!-- Timeout is ten minutes; should be enough for valid first start, while preventing --> |
420 |
<!-- Timeout is ten minutes; should be enough for valid start, while preventing --> |
411 |
<!-- a deadlock from hanging an automated build: --> |
421 |
<!-- a deadlock from hanging an automated build: --> |
412 |
<exec os="Windows NT Windows 95 Windows 98 Windows 2000" executable="${netbeans.dest}/bin/runide.exe" failonerror="yes" timeout="600000"> |
422 |
<exec os="Windows NT Windows 95 Windows 98 Windows 2000" executable="${netbeans.dest}/bin/runide.exe" failonerror="yes" timeout="600000"> |
413 |
<arg value="-jdkhome"/> |
423 |
<arg value="-jdkhome"/> |
414 |
<arg file="${jdkhome}"/> |
424 |
<arg file="${jdkhome}"/> |
415 |
<arg line="${firststart.args}"/> |
425 |
<arg value="-userdir"/> |
|
|
426 |
<arg file="${test.user.dir}"/> |
427 |
<arg line="${sanitystart.args}"/> |
416 |
</exec> |
428 |
</exec> |
417 |
<exec os="Linux SunOS Solaris" dir="." executable="sh" failonerror="yes" timeout="600000"> |
429 |
<exec os="Linux SunOS Solaris" dir="." executable="sh" failonerror="yes" timeout="600000"> |
418 |
<arg value="${netbeans.dest}/bin/runide.sh"/> |
430 |
<arg value="${netbeans.dest}/bin/runide.sh"/> |
419 |
<arg value="-jdkhome"/> |
431 |
<arg value="-jdkhome"/> |
420 |
<arg file="${jdkhome}"/> |
432 |
<arg file="${jdkhome}"/> |
421 |
<arg line="${firststart.args}"/> |
433 |
<arg value="-userdir"/> |
|
|
434 |
<arg file="${test.user.dir}"/> |
435 |
<arg line="${sanitystart.args}"/> |
422 |
</exec> |
436 |
</exec> |
423 |
<echo message="Successfully started, cleaning up detritus..."/> |
437 |
<echo>Finished starting the IDE, pay attention to any reported errors.</echo> |
424 |
<!-- XXX W2k users have reported problems with the following line. --> |
|
|
425 |
<!-- Would it be better to do a copy and then a delete? --> |
426 |
<move file="${netbeans.dest}/system/ide.log" tofile="NetBeans-${buildnum}.log"/> |
427 |
<delete file="${netbeans.dest}/system/project.basic"/> |
428 |
<delete file="${netbeans.dest}/system/project.last"/> |
429 |
<delete file="${netbeans.dest}/beans/libs.properties"/> |
430 |
<delete file="${netbeans.dest}/beans/installed.properties"/> |
431 |
<delete dir="${netbeans.dest}/system/Palette/Beans"/> |
432 |
<delete dir="${netbeans.dest}/system/Mount"/> |
433 |
<echo file="${netbeans.dest}/build_info">NetBeans dev build |
434 |
------------------ |
435 |
Number: ${buildnumber} |
436 |
Date: ${TODAY} |
437 |
Branding: |
438 |
Branch: trunk |
439 |
Tag: |
440 |
</echo> |
441 |
</target> |
438 |
</target> |
442 |
|
439 |
|
443 |
<target name="depucelee" depends="firststart" |
440 |
<target name="check-for-build"> |
444 |
description="Create a complete build, including first start and final ZIP file."> |
441 |
<available property="have-build" file="${netbeans.dest}/lib/openide.jar"/> |
445 |
<delete file="NetBeans-${buildnum}.zip"/> |
|
|
446 |
<exec executable="zip" dir="." os="Linux SunOS Solaris" failonerror="false"> |
447 |
<arg value="-r"/> |
448 |
<arg value="NetBeans-${buildnum}.zip"/> |
449 |
<arg value="${netbeans.dest}"/> |
450 |
</exec> |
451 |
<zip zipfile="NetBeans-${buildnum}.zip" basedir="."> |
452 |
<include name="${netbeans.dest}/"/> |
453 |
</zip> |
454 |
<echo>Build created; see NetBeans-${buildnum}.zip (in nbbuild/). |
455 |
If you like, you may run the IDE straight from |
456 |
the ${netbeans.dest}/bin/ directory. |
457 |
(For example, type: ant tryme) |
458 |
</echo> |
459 |
</target> |
460 |
|
461 |
<target name="check-for-firststart"> |
462 |
<available property="have-firststart" file="${netbeans.dest}/lib/openide.jar"/> |
463 |
</target> |
442 |
</target> |
464 |
<target name="maybe-firststart" depends="check-for-firststart" unless="have-firststart"> |
443 |
<target name="maybe-build-nozip" depends="check-for-build" unless="have-build"> |
465 |
<ant dir="." target="firststart"/> |
444 |
<ant dir="." target="build-nozip"/> |
466 |
</target> |
445 |
</target> |
467 |
<target name="tryme" depends="init,maybe-firststart" |
446 |
|
|
|
447 |
<target name="tryme" depends="init,maybe-build-nozip" |
468 |
description="Try running the IDE interactively (build it first if needed)."> |
448 |
description="Try running the IDE interactively (build it first if needed)."> |
469 |
<exec os="Windows NT Windows 95 Windows 98 Windows 2000" executable="${netbeans.dest}/bin/runide.exe" failonerror="yes"> |
449 |
<exec os="Windows NT Windows 95 Windows 98 Windows 2000" executable="${netbeans.dest}/bin/runide.exe" failonerror="yes"> |
470 |
<arg value="-jdkhome"/> |
450 |
<arg value="-jdkhome"/> |
471 |
<arg file="${jdkhome}"/> |
451 |
<arg file="${jdkhome}"/> |
|
|
452 |
<arg value="-userdir"/> |
453 |
<arg file="${test.user.dir}"/> |
472 |
<arg line="${tryme.args}"/> |
454 |
<arg line="${tryme.args}"/> |
473 |
</exec> |
455 |
</exec> |
474 |
<exec os="Linux SunOS Solaris" dir="." executable="sh" failonerror="yes"> |
456 |
<exec os="Linux SunOS Solaris" dir="." executable="sh" failonerror="yes"> |
475 |
<arg value="${netbeans.dest}/bin/runide.sh"/> |
457 |
<arg value="${netbeans.dest}/bin/runide.sh"/> |
476 |
<arg value="-jdkhome"/> |
458 |
<arg value="-jdkhome"/> |
477 |
<arg file="${jdkhome}"/> |
459 |
<arg file="${jdkhome}"/> |
|
|
460 |
<arg value="-userdir"/> |
461 |
<arg file="${test.user.dir}"/> |
478 |
<arg line="${tryme.args}"/> |
462 |
<arg line="${tryme.args}"/> |
479 |
</exec> |
463 |
</exec> |
480 |
</target> |
464 |
</target> |
481 |
|
465 |
|
482 |
<target name="trybuild" depends="firststart-merge,tryme" |
|
|
483 |
description="Build the IDE and try it immediately (no first start)."/> |
484 |
|
485 |
<target name="update-info" depends="init,all-openide,all-core" |
466 |
<target name="update-info" depends="init,all-openide,all-core" |
486 |
description="Build Auto Update NBM files and XML descriptions."> |
467 |
description="Build Auto Update NBM files and XML descriptions."> |
487 |
<!-- Note: partially sorted in dependency order --> |
468 |
<!-- Note: partially sorted in dependency order --> |
Lines 713-718
Link Here
|
713 |
|
694 |
|
714 |
<target name="localclean"> |
695 |
<target name="localclean"> |
715 |
<delete dir="${netbeans.dest}"/> |
696 |
<delete dir="${netbeans.dest}"/> |
|
|
697 |
<delete dir="${test.user.dir}"/> |
716 |
</target> |
698 |
</target> |
717 |
|
699 |
|
718 |
<target name="clean" depends="init,localclean" |
700 |
<target name="clean" depends="init,localclean" |