Subversion Repositories DevTools

Rev

Rev 814 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 814 Rev 816
Line 69... Line 69...
69
    boolean exit = false;
69
    boolean exit = false;
70
    RippleEngine rippleEngine = new RippleEngine(mReleaseManager, mRtagId, true);
70
    RippleEngine rippleEngine = new RippleEngine(mReleaseManager, mRtagId, true);
71
    MutableInt rconId = new MutableInt();
71
    MutableInt rconId = new MutableInt();
72
    MutableInt current_run_level = new MutableInt();
72
    MutableInt current_run_level = new MutableInt();
73
    MutableString addendum = new MutableString();
73
    MutableString addendum = new MutableString();
74
    boolean runLevelSet = false;
-
 
75
 
74
 
76
    while(!exit)
75
    while(!exit)
77
    {
76
    {
78
      try
77
      try
79
      {
78
      {
Line 96... Line 95...
96
        {
95
        {
97
          if ( mGbebuildfilter.compareTo("unit test generate build files") != 0)
96
          if ( mGbebuildfilter.compareTo("unit test generate build files") != 0)
98
          {
97
          {
99
            if ( mGbebuildfilter.compareTo("unit test coordinate slave threads") != 0 )
98
            if ( mGbebuildfilter.compareTo("unit test coordinate slave threads") != 0 )
100
            {
99
            {
101
            
-
 
102
              if ( !runLevelSet )
-
 
103
              {
-
 
104
                // IMPORTANT - this is done once before a Thread.sleep by design
-
 
105
                // In the case of an SQLException (signifying a database access issue)
-
 
106
                // avoid accessing the database immediately
-
 
107
                mRunLevel = RunLevel.IDLE;
-
 
108
                mRunLevel.persist(mReleaseManager, mRconId);
-
 
109
                runLevelSet = true;
-
 
110
              }
-
 
111
              
-
 
112
              mLogger.warn("run checking allowedToProceed");
100
              mLogger.warn("run checking allowedToProceed");
113
              allowedToProceed();
101
              allowedToProceed();
114
              mLogger.info("run allowedToProceed returned");
102
              mLogger.info("run allowedToProceed returned");
115
  
103
  
116
              if ( mGbebuildfilter.compareTo("unit test allowed to proceed") == 0 )            
104
              if ( mGbebuildfilter.compareTo("unit test allowed to proceed") == 0 )            
Line 120... Line 108...
120
            }
108
            }
121
            
109
            
122
            // coordinate slave threads
110
            // coordinate slave threads
123
            mLogger.warn("run coordinate slave threads");
111
            mLogger.warn("run coordinate slave threads");
124
            boolean allSlaveThreadsWaiting = false;
112
            boolean allSlaveThreadsWaiting = false;
-
 
113
            boolean logWarning = true;
125
            
114
            
126
            while ( !allSlaveThreadsWaiting )
115
            while ( !allSlaveThreadsWaiting )
127
            {
116
            {
128
              mReleaseManager.queryRunLevel(mRtagId);
117
              mReleaseManager.queryRunLevel(mRtagId);
129
              
118
              
Line 138... Line 127...
138
              {
127
              {
139
                if (moreRunLevelsConfigured)
128
                if (moreRunLevelsConfigured)
140
                {
129
                {
141
                  if (current_run_level.value != ReleaseManager.DB_WAITING)
130
                  if (current_run_level.value != ReleaseManager.DB_WAITING)
142
                  {
131
                  {
-
 
132
                    if ( logWarning )
-
 
133
                    {
143
                    mLogger.warn("run waiting for rcon id " + rconId.value);
134
                      mLogger.warn("run waiting for rcon id " + rconId.value);
-
 
135
                      logWarning = false;
-
 
136
                    }
-
 
137
                    else
-
 
138
                    {
-
 
139
                      mLogger.info("run waiting for rcon id " + rconId.value);                      
-
 
140
                    }
144
                    allSlaveThreadsWaiting = false;
141
                    allSlaveThreadsWaiting = false;
145
                  }
142
                  }
146
                  else
143
                  else
147
                  {
144
                  {
148
                    moreRunLevelsConfigured = mReleaseManager.getNextRunLevel(rconId, current_run_level);
145
                    moreRunLevelsConfigured = mReleaseManager.getNextRunLevel(rconId, current_run_level);
Line 193... Line 190...
193
                                                        packageVersionId, 
190
                                                        packageVersionId, 
194
                                                        fullyPublished,
191
                                                        fullyPublished,
195
                                                        newLabel);
192
                                                        newLabel);
196
            if ( buildOccurred )
193
            if ( buildOccurred )
197
            {
194
            {
-
 
195
              // buildOccurred simply means a dummy build file did not apply ie the build file had attempted a build
-
 
196
              // by now it has been labelled
-
 
197
              tearViewDown();
-
 
198
              
198
              boolean buildErrorOccurred = true;
199
              boolean buildErrorOccurred = true;
199
              try
200
              try
200
              {
201
              {
201
                
202
                
202
                if ( fullyPublished.value.compareTo("yes") == 0 )
203
                if ( fullyPublished.value.compareTo("yes") == 0 )
Line 213... Line 214...
213
                  {
214
                  {
214
                    mLogger.info("run package not labelled in ClearCase on " + packageName.value + packageVersion.value);
215
                    mLogger.info("run package not labelled in ClearCase on " + packageName.value + packageVersion.value);
215
                    throw new Exception();
216
                    throw new Exception();
216
                  }
217
                  }
217
                }
218
                }
218
                
219
                else
219
                if ( buildErrorOccurred )
-
 
220
                {
220
                {
221
                  mLogger.info("run build error occurred on " + packageName.value + packageVersion.value);
221
                  mLogger.info("run build error occurred on " + packageName.value + packageVersion.value);
222
                  throw new Exception();
222
                  throw new Exception();
223
                }
223
                }
224
                
224
                
225
                tearViewDown();
-
 
226
              }
225
              }
227
              catch( Exception e)
226
              catch( Exception e)
228
              {
227
              {
229
                // an error occurred publishing to ClearCase or Release Manager
228
                // an error occurred publishing to ClearCase or Release Manager
230
                // take out the archive entry first
229
                // take out the archive entry first
Line 305... Line 304...
305
            
304
            
306
          do
305
          do
307
          {
306
          {
308
            if (moreBuildThreadsConfigured)
307
            if (moreBuildThreadsConfigured)
309
            {
308
            {
-
 
309
                mLogger.warn("run changing run level to ACTIVE for rcon_id " + rconId.value);
310
                mRunLevel.persist(mReleaseManager, rconId.value);
310
                mRunLevel.persist(mReleaseManager, rconId.value);
311
                moreBuildThreadsConfigured = mReleaseManager.getNextReleaseConfig(rconId);
311
                moreBuildThreadsConfigured = mReleaseManager.getNextReleaseConfig(rconId);
312
            }
312
            }
313
          }
313
          }
314
          while (moreBuildThreadsConfigured);
314
          while (moreBuildThreadsConfigured);