Subversion Repositories DevTools

Rev

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

Rev 7099 Rev 7155
Line 1... Line 1...
1
package com.erggroup.buildtool.ripple;
1
package com.erggroup.buildtool.ripple;
2
 
2
 
3
import java.io.File;
3
import java.io.File;
4
import java.sql.SQLException;
-
 
5
import java.util.ArrayList;
4
import java.util.ArrayList;
6
import java.util.Comparator;
5
import java.util.Comparator;
7
import java.util.HashMap;
6
import java.util.HashMap;
8
import java.util.Iterator;
7
import java.util.Iterator;
9
import java.util.LinkedHashSet;
8
import java.util.LinkedHashSet;
Line 11... Line 10...
11
 
10
 
12
import org.slf4j.Logger;
11
import org.slf4j.Logger;
13
import org.slf4j.LoggerFactory;
12
import org.slf4j.LoggerFactory;
14
 
13
 
15
import com.erggroup.buildtool.ripple.ReleaseManager.BuildReason;
14
import com.erggroup.buildtool.ripple.ReleaseManager.BuildReason;
16
import com.erggroup.buildtool.smtp.CreateUrls;
-
 
17
import com.erggroup.buildtool.smtp.Smtpsend;
-
 
18
import com.erggroup.buildtool.utilities.MutableInt;
15
import com.erggroup.buildtool.utilities.MutableInt;
19
import com.erggroup.buildtool.utilities.XmlBuilder;
16
import com.erggroup.buildtool.utilities.XmlBuilder;
20
import com.erggroup.buildtool.utilities.utilities;
17
import com.erggroup.buildtool.utilities.utilities;
21
 
18
 
22
public class Package
19
public class Package
Line 1339... Line 1336...
1339
        {
1336
        {
1340
            String email = it.next();
1337
            String email = it.next();
1341
 
1338
 
1342
            if (retVal == null)
1339
            if (retVal == null)
1343
            {
1340
            {
1344
                retVal = new String();
1341
                retVal = "";
1345
            } else
1342
            } else
1346
            {
1343
            {
1347
                retVal += ",";
1344
                retVal += ",";
1348
            }
1345
            }
1349
            retVal += email;
1346
            retVal += email;
Line 1364... Line 1361...
1364
            mBuildFailureEmailCollection.add(email);
1361
            mBuildFailureEmailCollection.add(email);
1365
        }
1362
        }
1366
    }
1363
    }
1367
 
1364
 
1368
    /**
1365
    /**
1369
     * End of Processing for a Test Build
-
 
1370
     *     - sends email notification
-
 
1371
     *     - marks the instruction complete in the database
-
 
1372
     */
-
 
1373
    public void completeTestBuild(RippleEngine rippleEngine, boolean success) throws SQLException, Exception
-
 
1374
    {
-
 
1375
        mLogger.debug("completeTestBuild");
-
 
1376
 
-
 
1377
        if (mTestBuildInstruction == 0)
-
 
1378
        {
-
 
1379
            mLogger.info("completeTestBuild. Not Build Instruction");
-
 
1380
            return;
-
 
1381
        }
-
 
1382
 
-
 
1383
        //  Email Subject
-
 
1384
        String subject = (success == true ? "TEST BUILD COMPLETED SUCCESSFULLY" : "TEST BUILD FAILED") 
-
 
1385
                + " on package "
-
 
1386
                + mAlias;
-
 
1387
       
-
 
1388
        // Email Body
-
 
1389
        String mailBody = "";
-
 
1390
        if ( success != true)
-
 
1391
        {
-
 
1392
            mailBody += "Test build issues are identified in preceding build failure email.<p>"; 
-
 
1393
        }
-
 
1394
        mailBody += "Release: " + rippleEngine.mBaselineName + "<br>" 
-
 
1395
                  + "Package: " + mAlias + "<br>" 
-
 
1396
                  + "Rm Ref: " + CreateUrls.generateRmUrl(rippleEngine.getRtagId(), mId) + "<br>" 
-
 
1397
                  + "VcsTag: " + mVcsTag + "<br>"
-
 
1398
                  + "Build dependencies:<br>";
-
 
1399
        
-
 
1400
        String indentString = "&nbsp;&nbsp;&nbsp;&nbsp;";
-
 
1401
 
-
 
1402
        for (Iterator<Package> it3 = mPackageDependencyCollection.iterator(); it3.hasNext();)
-
 
1403
        {
-
 
1404
            Package depend = it3.next();
-
 
1405
 
-
 
1406
            String dependsExtension = depend.mExtension;
-
 
1407
            String dependsVersion = depend.mVersion;
-
 
1408
 
-
 
1409
            if (dependsExtension.length() > 0)
-
 
1410
            {
-
 
1411
                dependsVersion += dependsExtension;
-
 
1412
            }
-
 
1413
            mailBody += indentString + RippleEngine.quoteString(depend.mName, dependsVersion) + "<br>";
-
 
1414
        }
-
 
1415
 
-
 
1416
        mailBody += "<br>Build standards:<br>";
-
 
1417
 
-
 
1418
        for (Iterator<BuildStandard> it = mBuildStandardCollection.iterator(); it.hasNext();)
-
 
1419
        {
-
 
1420
            BuildStandard bs = it.next();
-
 
1421
 
-
 
1422
            String bsText = bs.getBuildStandardText();
-
 
1423
            if (bsText.length() > 0)
-
 
1424
            {
-
 
1425
                mailBody += indentString + bsText + "<br>";
-
 
1426
            }
-
 
1427
        }
-
 
1428
 
-
 
1429
        mailBody += "<p><hr>";
-
 
1430
        try
-
 
1431
        {
-
 
1432
            String target = emailInfoNonAntTask(rippleEngine);
-
 
1433
            mLogger.error("completeTestBuildEmail Server: " + rippleEngine.getMailServer());
-
 
1434
            mLogger.error("completeTestBuildEmail Sender: " + rippleEngine.getMailSender());
-
 
1435
            mLogger.error("completeTestBuildEmail Target: " + target);
-
 
1436
 
-
 
1437
            Smtpsend.send(rippleEngine.getMailServer(), // mailServer
-
 
1438
                    rippleEngine.getMailSender(),       // source
-
 
1439
                    target,                         // target
-
 
1440
                    rippleEngine.getMailSender(),       // cc
-
 
1441
                    null,                           // bcc
-
 
1442
                    subject,                        // subject
-
 
1443
                    mailBody,                       // body
-
 
1444
                    null                            // attachment
-
 
1445
            );
-
 
1446
        } catch (Exception e)
-
 
1447
        {
-
 
1448
            mLogger.warn("Email Failure: completeTestBuild:" + e.getMessage());
-
 
1449
        }
-
 
1450
 
-
 
1451
        // Update the Release Manager Database
-
 
1452
        rippleEngine.mReleaseManager.markDaemonInstCompleted(mTestBuildInstruction);
-
 
1453
        mLogger.error("completeTest. Returning");
-
 
1454
    }
-
 
1455
 
-
 
1456
 
-
 
1457
    /**
-
 
1458
     * Returns true if the package is a part of a circular dependency within the provided collection
1366
     * Returns true if the package is a part of a circular dependency within the provided collection
1459
     * 
1367
     * 
1460
     * If the package depends on a package with a circular dependency then the function
1368
     * If the package depends on a package with a circular dependency then the function
1461
     * will return false.
1369
     * will return false.
1462
     */
1370
     */