Subversion Repositories DevTools

Rev

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

Rev 6914 Rev 7032
Line 1208... Line 1208...
1208
        {
1208
        {
1209
            BuildExclusion buildExclusion = it.next();
1209
            BuildExclusion buildExclusion = it.next();
1210
 
1210
 
1211
            if ( !buildExclusion.isProcessed() )
1211
            if ( !buildExclusion.isProcessed() )
1212
            {
1212
            {
-
 
1213
                if (buildExclusion.isImported() && ! buildExclusion.isARootCause() ) {
-
 
1214
                    // Remove from the exclusion list
-
 
1215
                    buildExclusion.includeToBuild(mReleaseManager, mBaseline);
-
 
1216
                    mLogger.fatal("reportChange remove unused exclusion: " + buildExclusion.info());
1213
                // notify
1217
                } else {
-
 
1218
                    // Exclude and notify
1214
                buildExclusion.excludeFromBuild(mReleaseManager, mBaseline);
1219
                    buildExclusion.excludeFromBuild(mReleaseManager, mBaseline);
1215
                buildExclusion.email(this, mPackageCollection);
1220
                    buildExclusion.email(this, mPackageCollection);
1216
                counter++;
1221
                    counter++;
-
 
1222
                }
1217
            }
1223
            }
1218
        }
1224
        }
1219
        mLogger.fatal("reportChange exclusion count: " + counter);
1225
        mLogger.fatal("reportChange exclusion count: " + counter);
1220
    }
1226
    }
1221
 
1227
 
Line 1341... Line 1347...
1341
    }
1347
    }
1342
 
1348
 
1343
    /**
1349
    /**
1344
     * Sets the mBuildFile to -5 (indirectly dependent on package versions which are not reproducible) 
1350
     * Sets the mBuildFile to -5 (indirectly dependent on package versions which are not reproducible) 
1345
     * for the package and all dependent packages 
1351
     * for the package and all dependent packages 
1346
     * @param p           The package being excluded 
1352
     * @param p             The package being excluded 
1347
     * @param rootPvId  The PVID of the package that is causing the exclusion. Null or -ve values are special
1353
     * @param rootPvId      The PVID of the package that is causing the exclusion. Null or -ve values are special
1348
     *                  This package is the root cause, -2: Excluded by Ripple Stop 
1354
     *                      This package is the root cause, -2: Excluded by Ripple Stop 
1349
     *                   
1355
     *                   
1350
     * @param rootCause  Text message. Max 50 characters imposed by RM database 
1356
     * @param rootCause     Text message. Max 50 characters imposed by RM database 
1351
     * @param list        If not null, add build exclusion to specified list, else use default(mBuildExclusionCollection) list. Allows insertions while iterating the list.
1357
     * @param list          If not null, add build exclusion to specified list, else use default(mBuildExclusionCollection) list. Allows insertions while iterating the list.
1352
     * @param be          If not null, process provided BuildExclusion element, otherwise find-existing/create a BuildExclusion element
1358
     * @param be            If not null, process provided BuildExclusion element, otherwise find-existing/create a BuildExclusion element
1353
     * @param dependentToo True: Exclude all packages that depend on the excluded package 
1359
     * @param dependentToo  True: Exclude all packages that depend on the excluded package 
1354
     */
1360
     */
1355
    private void rippleBuildExclude(Package p, int rootPvId, String rootCause, ListIterator<BuildExclusion> list, BuildExclusion be, boolean dependentToo )
1361
    private void rippleBuildExclude(Package p, int rootPvId, String rootCause, ListIterator<BuildExclusion> list, BuildExclusion be, boolean dependentToo )
1356
    {
1362
    {
1357
        mLogger.debug("rippleBuildExclude");
1363
        mLogger.debug("rippleBuildExclude");
1358
        if ( p.mBuildFile == 0 || p.mBuildFile == 1 )
1364
        if ( p.mBuildFile == 0 || p.mBuildFile == 1 )
Line 1360... Line 1366...
1360
            p.mBuildFile = -5;
1366
            p.mBuildFile = -5;
1361
            mLogger.info("rippleBuildExclude set mBuildFile to -5 for package " + p.mAlias );
1367
            mLogger.info("rippleBuildExclude set mBuildFile to -5 for package " + p.mAlias );
1362
 
1368
 
1363
            if ( be != null )
1369
            if ( be != null )
1364
            {
1370
            {
1365
                be.process();
1371
                be.setProcessed();
1366
            }
1372
            }
1367
            else
1373
            else
1368
            {
1374
            {
1369
                //  If no be item has been provided, then scan the complete collection looking for a matching item
1375
                //  If no be item has been provided, then scan the complete collection looking for a matching item
1370
                //  If found, process it, else add it (unprocessed)
1376
                //  If found, process it, else add it (unprocessed)
Line 1373... Line 1379...
1373
                {
1379
                {
1374
                    BuildExclusion buildExclusion = it.next();
1380
                    BuildExclusion buildExclusion = it.next();
1375
 
1381
 
1376
                    if ( buildExclusion.compare(p.mId, rootPvId, rootCause))
1382
                    if ( buildExclusion.compare(p.mId, rootPvId, rootCause))
1377
                    {
1383
                    {
1378
                        buildExclusion.process();
1384
                        buildExclusion.setProcessed();
1379
                        found = true;
1385
                        found = true;
1380
                        break;
1386
                        break;
1381
                    }
1387
                    }
1382
                }
1388
                }
1383
 
1389
 
Line 1390... Line 1396...
1390
                    {
1396
                    {
1391
                        BuildExclusion buildExclusion = it.next();
1397
                        BuildExclusion buildExclusion = it.next();
1392
 
1398
 
1393
                        if ( buildExclusion.compare(p.mId))
1399
                        if ( buildExclusion.compare(p.mId))
1394
                        {
1400
                        {
1395
                            buildExclusion.process();
1401
                            buildExclusion.setProcessed();
1396
                        }
1402
                        }
1397
                    }
1403
                    }
1398
 
1404
 
1399
                    BuildExclusion buildExclusion = new BuildExclusion(p.mId, rootPvId, rootCause, p.mTestBuildInstruction);
1405
                    BuildExclusion buildExclusion = new BuildExclusion(p.mId, rootPvId, rootCause, p.mTestBuildInstruction);
1400
 
1406