This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 14837
Collapse All | Expand All

(-)nbbuild/.cvsignore (+1 lines)
Lines 3-5 Link Here
3
netbeans
3
netbeans
4
nbantext.jar
4
nbantext.jar
5
lib
5
lib
6
testuserdir
(-)nbbuild/build.xml (-74 / +56 lines)
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"

Return to bug 14837