Subversion Repositories DevTools

Rev

Rev 6198 | Rev 6619 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6198 Rev 6276
Line 65... Line 65...
65
my $opt_allSandbox;                         # Extend scope to entire sandbox
65
my $opt_allSandbox;                         # Extend scope to entire sandbox
66
my $opt_processUsedBy;                      # Process dependants(consumers) not dependents(children)
66
my $opt_processUsedBy;                      # Process dependants(consumers) not dependents(children)
67
my $opt_keepgoing;                          # Ignore errors
67
my $opt_keepgoing;                          # Ignore errors
68
my $opt_reScan;                             # Rescan for buildfiles
68
my $opt_reScan;                             # Rescan for buildfiles
69
my $opt_multiBuilders = 0;                  # How handle packages with multiple bulders: 0:Error, 1:Report, 2:Ignore
69
my $opt_multiBuilders = 0;                  # How handle packages with multiple bulders: 0:Error, 1:Report, 2:Ignore
-
 
70
my $opt_onlyLevel = 0;                      # Single level processing
70
 
71
 
71
#
72
#
72
#   Globals - Provided by the JATS environment
73
#   Globals - Provided by the JATS environment
73
#
74
#
74
my $USER            = $ENV{'USER'};
75
my $USER            = $ENV{'USER'};
Line 83... Line 84...
83
my $GBE_DPKG_CACHE      = $ENV{'GBE_DPKG_CACHE'};
84
my $GBE_DPKG_CACHE      = $ENV{'GBE_DPKG_CACHE'};
84
my $GBE_DPKG            = $ENV{'GBE_DPKG'};
85
my $GBE_DPKG            = $ENV{'GBE_DPKG'};
85
my $GBE_DPLY            = $ENV{'GBE_DPLY'};
86
my $GBE_DPLY            = $ENV{'GBE_DPLY'};
86
my $GBE_DPKG_STORE      = $ENV{'GBE_DPKG_STORE'};
87
my $GBE_DPKG_STORE      = $ENV{'GBE_DPKG_STORE'};
87
my $GBE_DPKG_REPLICA    = $ENV{'GBE_DPKG_REPLICA'};
88
my $GBE_DPKG_REPLICA    = $ENV{'GBE_DPKG_REPLICA'};
-
 
89
my $GBE_DPKG_ESCROW     = $ENV{'GBE_DPKG_ESCROW'};
88
 
90
 
89
#
91
#
90
#   Globals
92
#   Globals
91
#
93
#
92
my @stopped = ();                               # Stopped entries
94
my @stopped = ();                               # Stopped entries
Line 98... Line 100...
98
my $maxDname = 0;                               # Pretty display
100
my $maxDname = 0;                               # Pretty display
99
 
101
 
100
#
102
#
101
#   Known files
103
#   Known files
102
#
104
#
-
 
105
$GBE_DPKG_SBOX = '' unless defined $GBE_DPKG_SBOX;
103
my $cacheFile  = $GBE_DPKG_SBOX . '/location_cache';
106
my $cacheFile  = $GBE_DPKG_SBOX . '/location_cache';
104
my $depthFile  = $GBE_DPKG_SBOX . '/scanDepth';
107
my $depthFile  = $GBE_DPKG_SBOX . '/scanDepth';
105
my $filterFile = $GBE_DPKG_SBOX . '/buildfilter';
108
my $filterFile = $GBE_DPKG_SBOX . '/buildfilter';
106
 
109
 
107
#-------------------------------------------------------------------------------
110
#-------------------------------------------------------------------------------
Line 616... Line 619...
616
    #
619
    #
617
    #   Process all packages in the sandbox
620
    #   Process all packages in the sandbox
618
    #
621
    #
619
    foreach my $linkFile ( glob "$GBE_DPKG_SBOX/*/*.lnk")
622
    foreach my $linkFile ( glob "$GBE_DPKG_SBOX/*/*.lnk")
620
    {
623
    {
621
        my $pkg = TagFileRead($linkFile);
624
        my $pkg = getPackageLink( TagFileRead($linkFile) );
622
 
-
 
623
        $pkg =~ s~\\~/~g;
-
 
624
        if ($pkg =~ s~^GBE_SANDBOX/~$GBE_SANDBOX/~)
-
 
625
        {
-
 
626
                # If the target sandbox is in the 'deploymode' then the package
-
 
627
                # will not be in the expected location. It will be in a 'build/deploy'
-
 
628
                # subdir. Remove the pkg/name dir to get to the root of the package
-
 
629
                my @dirs = File::Spec->splitdir( $pkg );
-
 
630
                splice(@dirs, -2);
-
 
631
                my $deployBox = catdir(@dirs, 'build', 'deploy');
-
 
632
                $pkg = $deployBox if ( -d $deployBox);
-
 
633
        }
-
 
634
 
-
 
635
        unless ( -d $pkg )
625
        unless ( -d $pkg )
636
        {
626
        {
637
            if ($opt_delete)
627
            if ($opt_delete)
638
            {
628
            {
639
                Message ("Delete: $linkFile");
629
                Message ("Delete: $linkFile");
Line 649... Line 639...
649
    
639
    
650
    exit (0);
640
    exit (0);
651
}
641
}
652
 
642
 
653
#-------------------------------------------------------------------------------
643
#-------------------------------------------------------------------------------
-
 
644
# Function        : getPackageLink 
-
 
645
#
-
 
646
# Description     : Read a package link file and process the data to generate 
-
 
647
#                   the link to the package
-
 
648
#
-
 
649
# Inputs          : $linkFile   - File that contains the link
-
 
650
#
-
 
651
# Returns         : The resolved link
-
 
652
#
-
 
653
sub getPackageLink
-
 
654
{
-
 
655
    my ($linkFile) = @_;
-
 
656
    my $pkg = TagFileRead($linkFile);
-
 
657
    $pkg =~ s~\\~/~g;
-
 
658
    if ($pkg =~ s~^GBE_SANDBOX/~$GBE_SANDBOX/~)
-
 
659
    {
-
 
660
            # If the target sandbox is in the 'deploymode' then the package
-
 
661
            # will not be in the expected location. It will be in a 'build/deploy'
-
 
662
            # subdir. Remove the pkg/name dir to get to the root of the package
-
 
663
            my @dirs = File::Spec->splitdir( $pkg );
-
 
664
            splice(@dirs, -2);
-
 
665
            my $deployBox = catdir(@dirs, 'build', 'deploy');
-
 
666
            $pkg = $deployBox if ( -d $deployBox);
-
 
667
    }
-
 
668
 
-
 
669
    return $pkg;
-
 
670
}
-
 
671
 
-
 
672
 
-
 
673
#-------------------------------------------------------------------------------
654
# Function        : setScanDepth 
674
# Function        : setScanDepth 
655
#
675
#
656
# Description     : Set the depth of the build file scan usd in this sandbox 
676
# Description     : Set the depth of the build file scan usd in this sandbox 
657
#
677
#
658
# Inputs          : Command line arguments
678
# Inputs          : Command line arguments
Line 742... Line 762...
742
    #   Look in each package archive directory
762
    #   Look in each package archive directory
743
    #
763
    #
744
    foreach my $dpkg ( $GBE_DPKG_SBOX,
764
    foreach my $dpkg ( $GBE_DPKG_SBOX,
745
                       $GBE_DPKG_LOCAL,
765
                       $GBE_DPKG_LOCAL,
746
                       $GBE_DPKG_CACHE,
766
                       $GBE_DPKG_CACHE,
-
 
767
                       $GBE_DPKG_ESCROW,
-
 
768
                       '--NotEscrow',
747
                       $GBE_DPKG_REPLICA,
769
                       $GBE_DPKG_REPLICA,
748
                       $GBE_DPKG,
770
                       $GBE_DPKG,
749
                       $GBE_DPLY,
771
                       $GBE_DPLY,
750
                       $GBE_DPKG_STORE )
772
                       $GBE_DPKG_STORE )
751
    {
773
    {
752
        next unless ( $dpkg );
774
        next unless ( $dpkg );
-
 
775
        if ( $dpkg eq '--NotEscrow' )
-
 
776
        {
-
 
777
            last if ($GBE_DPKG_ESCROW);
-
 
778
            next;
-
 
779
        }
-
 
780
 
753
        if ( -d "$dpkg/$name/$ver" )
781
        if ( -d "$dpkg/$name/$ver" )
754
        {
782
        {
755
            return 1;
783
            return 1;
756
        }
784
        }
757
    }
785
    }
Line 794... Line 822...
794
#                   Operation will be modified by
822
#                   Operation will be modified by
795
#                       $opt_toPackage
823
#                       $opt_toPackage
796
#                       $opt_fromPackage
824
#                       $opt_fromPackage
797
#                       @opt_justPackage
825
#                       @opt_justPackage
798
#                       @opt_ignorePackage
826
#                       @opt_ignorePackage
-
 
827
#                       $opt_onlyLevel
799
#
828
#
800
# Inputs          : quiet       undef - noisy
829
# Inputs          : quiet       undef - noisy
801
#                               1 - quiet           
830
#                               1 - quiet           
802
#
831
#
803
# Returns         : Will exit if not in a sandbox
832
# Returns         : Will exit if not in a sandbox
Line 893... Line 922...
893
            next if ( $pname =~ m~^\.~ );
922
            next if ( $pname =~ m~^\.~ );
894
            next if ( $pname =~ m~dpkg_archive$~ );
923
            next if ( $pname =~ m~dpkg_archive$~ );
895
            next if ( $pname eq 'CSV' );
924
            next if ( $pname eq 'CSV' );
896
            next if ( $pname eq 'lost+found' );
925
            next if ( $pname eq 'lost+found' );
897
            next unless ( -d $pname );
926
            next unless ( -d $pname );
-
 
927
            if ( -d $pname . '/sandbox_dpkg_archive' ) {
-
 
928
                Warning("Nested sandbox ignored: $pname");
-
 
929
                next ;
-
 
930
            }
898
            Verbose ("Package discovered: $pname");
931
            Verbose ("Package discovered: $pname");
899
 
932
 
900
            if ( -f "$pname/stop" || -f "$pname/stop.$GBE_MACHTYPE" )
933
            if ( -f "$pname/stop" || -f "$pname/stop.$GBE_MACHTYPE" )
901
            {
934
            {
902
                push @stopped, $pname;
935
                push @stopped, $pname;
Line 1127... Line 1160...
1127
                Warning("Package marked for skip: $fe->{dname}, $fe->{dir}") unless $quiet;
1160
                Warning("Package marked for skip: $fe->{dname}, $fe->{dir}") unless $quiet;
1128
                $scan_add = 0;
1161
                $scan_add = 0;
1129
                $fe->{buildSkip} = 1;
1162
                $fe->{buildSkip} = 1;
1130
            }
1163
            }
1131
 
1164
 
-
 
1165
            #
-
 
1166
            #   Select one level
-
 
1167
            #
-
 
1168
            if ($opt_onlyLevel && $opt_onlyLevel != $level) {
-
 
1169
                $scan_add = 0;
-
 
1170
            }
-
 
1171
 
1132
            $fe->{level} = $level;
1172
            $fe->{level} = $level;
1133
            $fe->{buildActive} = $scan_add;
1173
            $fe->{buildActive} = $scan_add;
1134
            $packages{$build} = $fe;
1174
            $packages{$build} = $fe;
1135
            push (@build_order, $fe);
1175
            push (@build_order, $fe);
1136
            delete $depends{$build};
1176
            delete $depends{$build};
Line 2181... Line 2221...
2181
        'entireSandBox!'    => \$opt_allSandbox,
2221
        'entireSandBox!'    => \$opt_allSandbox,
2182
        'users!'            => \$opt_processUsedBy,
2222
        'users!'            => \$opt_processUsedBy,
2183
        'keepgoing!'        => \$opt_keepgoing,
2223
        'keepgoing!'        => \$opt_keepgoing,
2184
        'rescan!'           => \$opt_reScan,
2224
        'rescan!'           => \$opt_reScan,
2185
        'multiBuilders:s'   => $parseMulti, 
2225
        'multiBuilders:s'   => $parseMulti, 
-
 
2226
        'onlylevel:i'       => \$opt_onlyLevel,
2186
        );
2227
        );
2187
 
2228
 
2188
    #
2229
    #
2189
    #   Merge in the user options
2230
    #   Merge in the user options
2190
    #
2231
    #
Line 2250... Line 2291...
2250
#-------------------------------------------------------------------------------
2291
#-------------------------------------------------------------------------------
2251
# Function        : addBuildInfo 
2292
# Function        : addBuildInfo 
2252
#
2293
#
2253
# Description     : Add some build info status
2294
# Description     : Add some build info status
2254
#                   It will have a .sig file if its been sucessfully built
2295
#                   It will have a .sig file if its been sucessfully built
-
 
2296
#                   
-
 
2297
#                   StatusFlags
-
 
2298
#                   Position 1: S - Build Skipped, s - Build Suppressed
-
 
2299
#                   Position 2: Blank - Not processed  , - = NoBuild, B - Built * - Current package
-
 
2300
#                   Position 3: E - Exists in dPkg, L - Local, M - Both local and dPkg
-
 
2301
#                   Position 4: G - Good Fingerprint, b - Bad Fingerprint
2255
#
2302
#
2256
# Inputs          : $fe     - Package info 
2303
# Inputs          : $fe     - Package info 
2257
#
2304
#
2258
# Returns         : True - sig file present
2305
# Returns         : StatusFlags
-
 
2306
#                   StatusText
2259
#
2307
#
2260
sub addBuildInfo
2308
sub addBuildInfo
2261
{
2309
{
2262
    my ($fe, $args) = @_;
2310
    my ($fe, $args) = @_;
2263
    my $txt = '';
2311
    my $txt = '';
-
 
2312
    my $statusS = ' ';
2264
    my $statusB = ' ';
2313
    my $statusB = ' ';
-
 
2314
    my $statusP = ' ';
2265
    my $statusF = ' ';
2315
    my $statusF = ' ';
2266
    my $statusS = ' ';
-
 
2267
 
2316
 
2268
    unless ($fe->{buildActive}) {
2317
    unless ($fe->{buildActive}) {
2269
        $txt .= ($fe->{buildSkip}) ? ' (Build Skipped)' : ' (Build Suppressed)';
2318
        $txt .= ($fe->{buildSkip}) ? ' (Build Skipped)' : ' (Build Suppressed)';
2270
        $statusS = ($fe->{buildSkip}) ? 'S' : 's';
2319
        $statusS = ($fe->{buildSkip}) ? 'S' : 's';
2271
    }
2320
    }
Line 2274... Line 2323...
2274
    {
2323
    {
2275
        $statusB = '*';
2324
        $statusB = '*';
2276
        $txt .= ' (Current Package)';
2325
        $txt .= ' (Current Package)';
2277
    }
2326
    }
2278
 
2327
 
2279
    my $sigFile = getPkgFingerPrintFile($fe);
2328
    my $fpFile = getPkgFingerPrintFile($fe);
2280
    my $tagFile = $sigFile;
-
 
2281
    if (-f $sigFile)
2329
    if (-f $fpFile)
2282
    {
2330
    {
-
 
2331
        my $nobFile = $fpFile;
2283
        $sigFile =~ s~ffp$~nob~;
2332
        $nobFile =~ s~ffp$~nob~;
2284
        if (-f $sigFile) {
2333
        if (-f $nobFile) {
2285
            $txt .= ' [NoBuild]';
2334
            $txt .= ' [NoBuild]';
2286
            $statusB = '-';
2335
            $statusB = '-';
2287
#        } elsif (locatePreBuiltPackage($fe)) {
-
 
2288
#            $txt .= ' [PreBuilt]';
-
 
2289
#            $statusB = 'P';
-
 
2290
        } else {
2336
        } else {
2291
            $txt .= ' [Built]';
2337
            $txt .= ' [Built]';
2292
            $statusB = 'B';
2338
            $statusB = 'B';
2293
        }
2339
        }
2294
 
2340
 
2295
        if ($args->{testFingerPrint})
2341
        if ($args->{testFingerPrint})
2296
        {
2342
        {
2297
            if ( TagFileMatch($tagFile, genPkgFingerPrint($fe, 'Test')) )
2343
            if ( TagFileMatch($fpFile, genPkgFingerPrint($fe, 'Test')) )
2298
            {
2344
            {
2299
                $txt .= ' [GoodFinger]';
2345
                $txt .= ' [GoodFinger]';
2300
                $statusF = 'G';
2346
                $statusF = 'G';
2301
            } else {
2347
            } else {
2302
                $txt .= ' [BadFinger]';
2348
                $txt .= ' [BadFinger]';
2303
                $statusF = 'b';
2349
                $statusF = 'b';
2304
            }
2350
            }
2305
        }
2351
        }
-
 
2352
    }
2306
 
2353
 
-
 
2354
    my $preBuilt = check_package_existance($fe->{name}, $fe->{version});
-
 
2355
    if ($preBuilt) {
-
 
2356
        $txt .= ' [dPkg]';
-
 
2357
        $statusP = 'E';
2307
    }
2358
    }
-
 
2359
    
-
 
2360
    my $plink = catdir( $GBE_DPKG_SBOX, $fe->{name}, 'sandbox.' . $fe->{prj} . '.lnk' );
-
 
2361
    my $linkTarget = getPackageLink ($plink);
-
 
2362
 
-
 
2363
    Verbose ("Sandbox link: $plink -> $linkTarget");
-
 
2364
    if (-d $linkTarget) {
-
 
2365
        $txt .= ' [Local]';
-
 
2366
        if ($preBuilt) {
-
 
2367
            $statusP = 'M';
-
 
2368
        } else {
-
 
2369
            $statusP = 'L';
-
 
2370
        }
-
 
2371
    }
-
 
2372
 
2308
    return "$statusS$statusB$statusF", $txt ;
2373
    return "$statusS$statusB$statusP$statusF", $txt ;
2309
 
2374
 
2310
}
2375
}
2311
 
2376
 
2312
#-------------------------------------------------------------------------------
2377
#-------------------------------------------------------------------------------
2313
# Function        : opts_add2List
2378
# Function        : opts_add2List
Line 2347... Line 2412...
2347
#                   faster as there is no file i/o.
2412
#                   faster as there is no file i/o.
2348
#                   
2413
#                   
2349
#                   It does assume that the file metadata will change if the file is changed
2414
#                   It does assume that the file metadata will change if the file is changed
2350
#                   Will also detect the addition / deletion of files
2415
#                   Will also detect the addition / deletion of files
2351
#                   
2416
#                   
2352
#                   Note: This siganture is not machine - type safe
2417
#                   Note: This signature is not machine - type safe
2353
#                         It will vary between machines (windows/Linux/...)
2418
#                         It will vary between machines (windows/Linux/...)
-
 
2419
#                         At the moment the Sandbox is really a single machine tool
2354
#
2420
#
2355
# Inputs          : $fe            - Package entry of the package to process
2421
# Inputs          : $fe            - Package entry of the package to process
2356
#                   $mode          - Diagnostic: mode
2422
#                   $mode          - Diagnostic: mode
2357
#
2423
#
2358
# Returns         : A SHA1 hash over all the files
2424
# Returns         : A SHA1 hash over all the files
Line 2384... Line 2450...
2384
    #
2450
    #
2385
    my @dirList = ToolsetFiles::GetSubTrees($ifaceDir);
2451
    my @dirList = ToolsetFiles::GetSubTrees($ifaceDir);
2386
    Error ("Internal:ToolsetFiles::GetDirList for $fe->{dname} not populated" ) unless @dirList;
2452
    Error ("Internal:ToolsetFiles::GetDirList for $fe->{dname} not populated" ) unless @dirList;
2387
 
2453
 
2388
    #
2454
    #
-
 
2455
    #   Generate a hash of toolset files and toolset-internal directories
-
 
2456
    #       These won't be included in the finger print as they are subject
-
 
2457
    #       to change by a 'build'.
-
 
2458
    #
-
 
2459
    my %toolsetFiles = map { $_ => 1 } ToolsetFiles::GetFiles($ifaceDir, 1);
-
 
2460
    my %toolsetDirs  = map { $_ => 1 } ToolsetFiles::GetBuildDirs($ifaceDir);
-
 
2461
 
-
 
2462
    #
2389
    #   Create the hash
2463
    #   Create the hash
2390
    #
2464
    #
2391
    $genPkgFingerPrintSha1 = Digest->new("SHA-1");
2465
    $genPkgFingerPrintSha1 = Digest->new("SHA-1");
2392
    push @fpdata, $mode;
2466
    push @fpdata, $mode;
2393
 
2467
 
Line 2420... Line 2494...
2420
        #       Kill of the last access time - not useful
2494
        #       Kill of the last access time - not useful
2421
        #       
2495
        #       
2422
        #       Need to exclude files that change during a null build
2496
        #       Need to exclude files that change during a null build
2423
        #           /interface/GbeFiles.cfg
2497
        #           /interface/GbeFiles.cfg
2424
        #           /build.log
2498
        #           /build.log
-
 
2499
        #           These files are tracked in GbeBuild.cfg
-
 
2500
        #       Need to directories that change during a null build
-
 
2501
        #           These files are tracked in GbeBuild.cfg
2425
        #           
2502
        #           
2426
        #       Symlinks present problems.
2503
        #       Symlinks present problems.
2427
        #       Some packages generate symlinks as they create file system images. The
2504
        #       Some packages generate symlinks as they create file system images. The
2428
        #       links are not designed to be interpreted in the context of the current
2505
        #       links are not designed to be interpreted in the context of the current
2429
        #       computer. As a result.
2506
        #       computer. As a result.
Line 2439... Line 2516...
2439
        #       
2516
        #       
2440
        #       Current solution: Do not include 'stat' data for ANY symlink or directory
2517
        #       Current solution: Do not include 'stat' data for ANY symlink or directory
2441
        #
2518
        #
2442
        my @data = stat($item);
2519
        my @data = stat($item);
2443
        my $text;
2520
        my $text;
-
 
2521
 
2444
        if ( $item =~ m~/build.log$~ || $item =~ m~/GbeFiles.cfg$~) {
2522
        if ( exists $toolsetFiles{$item}) {
2445
            $text = "$item : SKIPPED FILE : ";
2523
            $text = "$item : SKIPPED FILE : ";
2446
 
2524
 
2447
        }  elsif (-d $item ) {
2525
        }  elsif (-d $item ) {
2448
                $text = "$item : DIRECTORY"
2526
            $text = "$item : DIRECTORY";
-
 
2527
            if ( exists $toolsetDirs{$item}) {
-
 
2528
                $File::Find::prune = 1;
-
 
2529
                $text = "$item : SKIP INTERNAL DIRECTORY";
-
 
2530
            }
-
 
2531
 
2449
        }  elsif (-l $item ) {
2532
        }  elsif (-l $item ) {
2450
            if ( ! @data) {
2533
            if ( ! @data) {
2451
                $text = "$item : BROKEN SYMLINK : ";
2534
                $text = "$item : BROKEN SYMLINK : ";
2452
            } else {
2535
            } else {
2453
                my $linkTarget = readlink($item) || 'Read Error';
2536
                my $linkTarget = readlink($item) || 'Read Error';
Line 2569... Line 2652...
2569
    -help[=n]                  - Display help with specified detail
2652
    -help[=n]                  - Display help with specified detail
2570
    -help -help                - Detailed help message
2653
    -help -help                - Detailed help message
2571
    -man                       - Full documentation
2654
    -man                       - Full documentation
2572
 
2655
 
2573
 Options for recursion control:
2656
 Options for recursion control:
-
 
2657
    -onlyLevel=number          - Limit building to one level
2574
    -toPackage=name            - Stop building after package
2658
    -toPackage=name            - Stop building after package
2575
    -fromPackage=name          - Start building from package
2659
    -fromPackage=name          - Start building from package
2576
    -justPackage=name[,name]   - Build named packages
2660
    -justPackage=name[,name]   - Build named packages
2577
    -ignorePackage=name[,name] - Do not build named packages
2661
    -ignorePackage=name[,name] - Do not build named packages
2578
    -entireSandbox             - Process the entire sandbox
2662
    -entireSandbox             - Process the entire sandbox
Line 2636... Line 2720...
2636
 
2720
 
2637
=item B<-man>
2721
=item B<-man>
2638
 
2722
 
2639
Prints the manual page and exits. This is the same a -help=3
2723
Prints the manual page and exits. This is the same a -help=3
2640
 
2724
 
-
 
2725
=item B<-onlyLevel=number>
-
 
2726
 
-
 
2727
This option is available in all commands that process multiple packages.
-
 
2728
Package processing will be limited to the specified level. 
-
 
2729
 
-
 
2730
This can be used to perform a multi-machine build. Level-1 builds are performed 
-
 
2731
on all machines and the results merged into the common package store, then Level-2 builds 
-
 
2732
are performed on all machines.
-
 
2733
 
-
 
2734
Level-1 packages have no dependencies.
-
 
2735
 
-
 
2736
Level-2 packages only have dependancies on Level-1 packages
-
 
2737
 
-
 
2738
Level-N packages only have dependancies on packages below Level N-1
-
 
2739
 
2641
=item B<-toPackage=name>
2740
=item B<-toPackage=name>
2642
 
2741
 
2643
This option is available in all commands that process multiple packages.
2742
This option is available in all commands that process multiple packages.
2644
Package processing will stop at the named package.
2743
Package processing will stop at the named package.
2645
 
2744
 
Line 2850... Line 2949...
2850
 
2949
 
2851
jats sandbox populate [command options] [packageName packageVersion]
2950
jats sandbox populate [command options] [packageName packageVersion]
2852
 
2951
 
2853
 Common Options:
2952
 Common Options:
2854
    -help[=n], -man            - Command specific help, [n=1,2,3]
2953
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
2954
    -onlyLevel=number          - Limit building to one level
2855
    -toPackage=name            - Stop building after package
2955
    -toPackage=name            - Stop building after package
2856
    -fromPackage=name          - Start building from package
2956
    -fromPackage=name          - Start building from package
2857
    -justPackage=name[,name]   - Build named packages
2957
    -justPackage=name[,name]   - Build named packages
2858
    -ignorePackage=name[,name] - Do not build named packages
2958
    -ignorePackage=name[,name] - Do not build named packages
2859
    -entireSandbox             - Process the entire sandbox
2959
    -entireSandbox             - Process the entire sandbox
Line 3067... Line 3167...
3067
 
3167
 
3068
jats sandbox info [command options]
3168
jats sandbox info [command options]
3069
 
3169
 
3070
 Common Options:
3170
 Common Options:
3071
    -help[=n], -man            - Command specific help, [n=1,2,3]
3171
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3172
    -onlyLevel=number          - Limit building to one level
3072
    -toPackage=name            - Stop building after package
3173
    -toPackage=name            - Stop building after package
3073
    -fromPackage=name          - Start building from package
3174
    -fromPackage=name          - Start building from package
3074
    -justPackage=name[,name]   - Build named packages
3175
    -justPackage=name[,name]   - Build named packages
3075
    -ignorePackage=name[,name] - Do not build named packages
3176
    -ignorePackage=name[,name] - Do not build named packages
3076
    -entireSandbox             - Process the entire sandbox
3177
    -entireSandbox             - Process the entire sandbox
Line 3377... Line 3478...
3377
 
3478
 
3378
jats sandbox all [command options] [arguments]
3479
jats sandbox all [command options] [arguments]
3379
 
3480
 
3380
 Common Options:
3481
 Common Options:
3381
    -help[=n], -man            - Command specific help, [n=1,2,3]
3482
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3483
    -onlyLevel=number          - Limit building to one level
3382
    -toPackage=name            - Stop building after package
3484
    -toPackage=name            - Stop building after package
3383
    -fromPackage=name          - Start building from package
3485
    -fromPackage=name          - Start building from package
3384
    -justPackage=name[,name]   - Build named packages
3486
    -justPackage=name[,name]   - Build named packages
3385
    -ignorePackage=name[,name] - Do not build named packages
3487
    -ignorePackage=name[,name] - Do not build named packages
3386
    -entireSandbox             - Process the entire sandbox
3488
    -entireSandbox             - Process the entire sandbox
Line 3442... Line 3544...
3442
 
3544
 
3443
jats sandbox build [command options] [arguments]
3545
jats sandbox build [command options] [arguments]
3444
 
3546
 
3445
 Common Options:
3547
 Common Options:
3446
    -help[=n], -man            - Command specific help, [n=1,2,3]
3548
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3549
    -onlyLevel=number          - Limit building to one level
3447
    -toPackage=name            - Stop building after package
3550
    -toPackage=name            - Stop building after package
3448
    -fromPackage=name          - Start building from package
3551
    -fromPackage=name          - Start building from package
3449
    -justPackage=name[,name]   - Build named packages
3552
    -justPackage=name[,name]   - Build named packages
3450
    -ignorePackage=name[,name] - Do not build named packages
3553
    -ignorePackage=name[,name] - Do not build named packages
3451
    -entireSandbox             - Process the entire sandbox
3554
    -entireSandbox             - Process the entire sandbox
Line 3493... Line 3596...
3493
 
3596
 
3494
jats sandbox clean|clobber [command options]
3597
jats sandbox clean|clobber [command options]
3495
 
3598
 
3496
 Common Options:
3599
 Common Options:
3497
    -help[=n], -man            - Command specific help, [n=1,2,3]
3600
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3601
    -onlyLevel=number          - Limit building to one level
3498
    -toPackage=name            - Stop building after package
3602
    -toPackage=name            - Stop building after package
3499
    -fromPackage=name          - Start building from package
3603
    -fromPackage=name          - Start building from package
3500
    -justPackage=name[,name]   - Build named packages
3604
    -justPackage=name[,name]   - Build named packages
3501
    -ignorePackage=name[,name] - Do not build named packages
3605
    -ignorePackage=name[,name] - Do not build named packages
3502
    -entireSandbox             - Process the entire sandbox
3606
    -entireSandbox             - Process the entire sandbox
Line 3531... Line 3635...
3531
 
3635
 
3532
jats sandbox make [command options] [arguments]
3636
jats sandbox make [command options] [arguments]
3533
 
3637
 
3534
 Common Options:
3638
 Common Options:
3535
    -help[=n], -man            - Command specific help, [n=1,2,3]
3639
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3640
    -onlyLevel=number          - Limit building to one level
3536
    -toPackage=name            - Stop building after package
3641
    -toPackage=name            - Stop building after package
3537
    -fromPackage=name          - Start building from package
3642
    -fromPackage=name          - Start building from package
3538
    -justPackage=name[,name]   - Build named packages
3643
    -justPackage=name[,name]   - Build named packages
3539
    -ignorePackage=name[,name] - Do not build named packages
3644
    -ignorePackage=name[,name] - Do not build named packages
3540
    -entireSandbox             - Process the entire sandbox
3645
    -entireSandbox             - Process the entire sandbox
Line 3568... Line 3673...
3568
 
3673
 
3569
jats sandbox cmd [command options] [arguments]
3674
jats sandbox cmd [command options] [arguments]
3570
 
3675
 
3571
 Common Options:
3676
 Common Options:
3572
    -help[=n], -man            - Command specific help, [n=1,2,3]
3677
    -help[=n], -man            - Command specific help, [n=1,2,3]
-
 
3678
    -onlyLevel=number          - Limit building to one level
3573
    -toPackage=name            - Stop building after package
3679
    -toPackage=name            - Stop building after package
3574
    -fromPackage=name          - Start building from package
3680
    -fromPackage=name          - Start building from package
3575
    -justPackage=name[,name]   - Build named packages
3681
    -justPackage=name[,name]   - Build named packages
3576
    -ignorePackage=name[,name] - Do not build named packages
3682
    -ignorePackage=name[,name] - Do not build named packages
3577
    -entireSandbox             - Process the entire sandbox
3683
    -entireSandbox             - Process the entire sandbox