private BuildResult makeAndStoreBuildResult( BuildContext context, String error ) throws TaskExecutionException { // Project project, ScmResult scmResult, long startTime, int trigger ) // project, scmResult, startTime, trigger ); BuildResult build = new BuildResult(); build.setState( ContinuumProjectState.ERROR ); build.setTrigger( context.getBuildTrigger().getTrigger() ); build.setUsername( context.getBuildTrigger().getTriggeredBy() ); build.setStartTime( context.getStartTime() ); build.setEndTime( System.currentTimeMillis() ); updateBuildResult( build, context ); build.setScmResult( context.getScmResult() ); build.setBuildDefinition( context.getBuildDefinition() ); if ( error != null ) { build.setError( error ); } try { buildResultDao.addBuildResult( context.getProject(), build ); build = buildResultDao.getBuildResult( build.getId() ); context.setBuildResult( build ); return build; } catch ( ContinuumStoreException e ) { throw new TaskExecutionException( "Error storing build result", e ); } }
BuildResult buildResult = new BuildResult(); buildResult.setStartTime( new Date().getTime() ); buildResult.setState( ContinuumProjectState.BUILDING ); buildResult.setTrigger( trigger ); buildResult.setScmResult( scmResult ); buildResult.setModifiedDependencies( updatedDependencies ); buildResult.setBuildDefinition( getBuildDefinition( context ) ); context.put( KEY_BUILD_ID, Integer.toString( buildResult.getId() ) ); buildResult = store.getBuildResult( buildResult.getId() ); File buildOutputFile = configurationService.getBuildOutputFile( buildResult.getId(), project.getId() ); buildResult.setState( result.getExitCode() == 0 ? ContinuumProjectState.OK : ContinuumProjectState.FAILED ); buildResult.setExitCode( result.getExitCode() ); buildResult.setState( ContinuumProjectState.ERROR ); buildResult.setError( ContinuumUtils.throwableToString( e ) ); buildResult.setEndTime( new Date().getTime() );
if ( buildResult.getProject() != null ) serializer.writeAttribute( "id", String.valueOf( buildResult.getProject().getId() ) ); serializer.writeEndElement(); if ( buildResult.getBuildDefinition() != null ) serializer.writeAttribute( "id", String.valueOf( buildResult.getBuildDefinition().getId() ) ); serializer.writeEndElement(); if ( buildResult.getId() != 0 ) serializer.writeCharacters( String.valueOf( buildResult.getId() ) ); serializer.writeEndElement(); if ( buildResult.getBuildNumber() != 0 ) serializer.writeCharacters( String.valueOf( buildResult.getBuildNumber() ) ); serializer.writeEndElement(); if ( buildResult.getState() != 0 ) serializer.writeCharacters( String.valueOf( buildResult.getState() ) ); serializer.writeEndElement(); if ( buildResult.getTrigger() != 0 ) serializer.writeCharacters( String.valueOf( buildResult.getTrigger() ) ); serializer.writeEndElement();
public BuildResult convertMapToBuildResult( Map<String, Object> context ) { BuildResult buildResult = new BuildResult(); buildResult.setStartTime( ContinuumBuildConstant.getStartTime( context ) ); buildResult.setEndTime( ContinuumBuildConstant.getEndTime( context ) ); buildResult.setError( ContinuumBuildConstant.getBuildError( context ) ); buildResult.setExitCode( ContinuumBuildConstant.getBuildExitCode( context ) ); buildResult.setState( ContinuumBuildConstant.getBuildState( context ) ); buildResult.setTrigger( ContinuumBuildConstant.getTrigger( context ) ); buildResult.setUsername( ContinuumBuildConstant.getUsername( context ) ); buildResult.setBuildUrl( ContinuumBuildConstant.getBuildAgentUrl( context ) ); return buildResult; }
private void updateBuildResult( BuildContext context, String error ) { context.setBuildResult( ContinuumBuildAgentUtil.getBuildResult( context.getActionContext(), null ) ); if ( context.getBuildResult() == null ) { BuildResult build = new BuildResult(); build.setState( ContinuumProjectState.ERROR ); build.setTrigger( context.getTrigger() ); build.setUsername( context.getUsername() ); build.setStartTime( context.getBuildStartTime() ); build.setEndTime( System.currentTimeMillis() ); build.setBuildDefinition( BuildContextToBuildDefinition.getBuildDefinition( context ) ); build.setScmResult( context.getScmResult() ); if ( error != null ) { build.setError( error ); } context.setBuildResult( build ); } }
BuildResult buildResult = new BuildResult(); buildResult.setBuildDefinition( buildDefinition ); buildResult.setBuildUrl( run.getBuildAgentUrl() ); buildResult.setTrigger( run.getTrigger() ); buildResult.setUsername( run.getTriggeredBy() ); buildResult.setState( ContinuumProjectState.ERROR ); buildResult.setSuccess( false ); buildResult.setStartTime( new Date().getTime() ); buildResult.setEndTime( new Date().getTime() ); buildResult.setExitCode( 1 ); buildResult.setError( "Problem encountered while returning build result to master by build agent '" + buildAgentUrl + "'. \n" + project.setLatestBuildId( buildResult.getId() ); projectDao.updateProject( project );
BuildResult buildResult = new BuildResult(); java.util.Set parsed = new java.util.HashSet(); while ( xmlStreamReader.nextTag() == XMLStreamConstants.START_ELEMENT ) buildResult.setId( getIntegerValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "id", xmlStreamReader, strict ) ); buildResult.setBuildNumber( getIntegerValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "buildNumber", xmlStreamReader, strict ) ); buildResult.setUsername( getTrimmedValue( xmlStreamReader.getElementText() ) ); buildResult.setState( getIntegerValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "state", xmlStreamReader, strict ) ); buildResult.setTrigger( getIntegerValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "trigger", xmlStreamReader, strict ) ); buildResult.setStartTime( getLongValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "startTime", xmlStreamReader, strict ) ); buildResult.setEndTime( getLongValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "endTime", xmlStreamReader, strict ) ); buildResult.setError( getTrimmedValue( xmlStreamReader.getElementText() ) ); buildResult.setSuccess( getBooleanValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "false" ) ), "success", xmlStreamReader ) ); buildResult.setExitCode( getIntegerValue( getTrimmedValue( getDefaultValue( xmlStreamReader.getElementText(), "0" ) ), "exitCode", xmlStreamReader, strict ) ); buildResult.setScmResult( parseScmResult( "scmResult", xmlStreamReader, strict, encoding ) ); buildResult.setModifiedDependencies( modifiedDependencies ); while ( xmlStreamReader.nextTag() == XMLStreamConstants.START_ELEMENT )
BuildResult buildResult = new BuildResult(); buildResult.setModelEncoding( encoding ); java.util.Set parsed = new java.util.HashSet(); while ( xmlStreamReader.nextTag() == XMLStreamConstants.START_ELEMENT ) buildResult.setId( getIntegerValue( getTrimmedValue( xmlStreamReader.getElementText()), "id", xmlStreamReader, strict ) ); buildResult.setBuildNumber( getIntegerValue( getTrimmedValue( xmlStreamReader.getElementText()), "buildNumber", xmlStreamReader, strict ) ); buildResult.setState( getIntegerValue( getTrimmedValue( xmlStreamReader.getElementText()), "state", xmlStreamReader, strict ) ); buildResult.setTrigger( getIntegerValue( getTrimmedValue( xmlStreamReader.getElementText()), "trigger", xmlStreamReader, strict ) ); buildResult.setStartTime( getLongValue( getTrimmedValue( xmlStreamReader.getElementText()), "startTime", xmlStreamReader, strict ) ); buildResult.setEndTime( getLongValue( getTrimmedValue( xmlStreamReader.getElementText()), "endTime", xmlStreamReader, strict ) ); buildResult.setError( getTrimmedValue( xmlStreamReader.getElementText()) ); buildResult.setSuccess( getBooleanValue( getTrimmedValue( xmlStreamReader.getElementText()), "success", xmlStreamReader ) ); buildResult.setExitCode( getIntegerValue( getTrimmedValue( xmlStreamReader.getElementText()), "exitCode", xmlStreamReader, strict ) ); buildResult.setScmResult( parseScmResult( "scmResult", xmlStreamReader, strict, encoding ) ); buildResult.setModifiedDependencies( modifiedDependencies ); while ( xmlStreamReader.nextTag() == XMLStreamConstants.START_ELEMENT ) buildResult.addModifiedDependency( parseProjectDependency( "modifiedDependency", xmlStreamReader, strict, encoding ) );
getLatestBuildResultForBuildDefinition( projectId, buildDefinitionId ); if ( latestBuildResult == null || ( latestBuildResult.getStartTime() >= startTime && latestBuildResult.getEndTime() > 0 && latestBuildResult.getEndTime() < endTime ) || latestBuildResult.getStartTime() < startTime ) BuildResult buildResult = new BuildResult(); buildResult.setBuildDefinition( buildDef ); buildResult.setError( error ); buildResult.setState( ContinuumProjectState.ERROR ); buildResult.setTrigger( task.getBuildTrigger().getTrigger() ); buildResult.setUsername( task.getBuildTrigger().getTriggeredBy() ); buildResult.setStartTime( startTime ); buildResult.setEndTime( endTime );
if ( buildResult.getState() != ContinuumProjectState.CANCELLED ) buildResult.setBuildDefinition( buildDefinition ); buildResult.setBuildNumber( buildNumber ); buildResult.setModifiedDependencies( distributedBuildUtil.getModifiedDependencies( oldBuildResult, context ) ); buildResult.setScmResult( distributedBuildUtil.getScmResult( context ) ); buildResult.setLastChangedDate( date.getTime() ); buildResult.setLastChangedDate( oldBuildResult.getLastChangedDate() ); buildResult = buildResultDao.getBuildResult( buildResult.getId() ); project.setLatestBuildId( buildResult.getId() ); File buildOutputFile = configurationService.getBuildOutputFile( buildResult.getId(), project.getId() ); out.close(); if ( buildResult.getState() != ContinuumProjectState.CANCELLED )
if ( buildResult.getStartTime() <= 0 ) result.put( ContinuumBuildAgentUtil.KEY_START_TIME, Long.toString( buildResult.getStartTime() ) ); if ( buildResult.getError() == null ) result.put( ContinuumBuildAgentUtil.KEY_BUILD_ERROR, buildResult.getError() ); result.put( ContinuumBuildAgentUtil.KEY_BUILD_STATE, buildResult.getState() ); result.put( ContinuumBuildAgentUtil.KEY_END_TIME, Long.toString( buildResult.getEndTime() ) ); result.put( ContinuumBuildAgentUtil.KEY_BUILD_EXIT_CODE, buildResult.getExitCode() );
public List<BuildResult> getBuildResultsInSuccessForProject( int projectId, long fromDate ) { List<BuildResult> buildResults = getBuildResultsForProject( projectId, fromDate ); List<BuildResult> results = new ArrayList<BuildResult>(); if ( buildResults != null ) { for ( BuildResult res : buildResults ) { if ( res.getState() == ContinuumProjectState.OK ) { results.add( res ); } } } return results; }
long startTime = previousBuildResult == null ? 0 : previousBuildResult.getStartTime(); ArrayList<BuildResult> buildResults = new ArrayList<BuildResult>( buildResultDao.getBuildResultsForProjectWithDetails( projectId, startTime, buildResultId ) ); if ( buildResult.getId() == buildResultId ) while ( buildResult.getState() != ContinuumProjectState.OK ) ScmResult scmResult = buildResult.getScmResult();
Project project = buildResult.getProject(); BuildResult bResult = getLatestBuildResultForProject( project.getId() ); if ( bResult != null && buildResult.getId() == bResult.getId() && parallelBuildsManager.isProjectInAnyCurrentBuild( project.getId() ) ) buildResult.getModifiedDependencies().clear(); buildResult.setBuildDefinition( null );
if ( buildResult.getId() == buildResultId ) while ( buildResult.getState() != ContinuumProjectState.OK ) ScmResult scmResult = buildResult.getScmResult();
/** * Method toString */ public java.lang.String toString() { StringBuffer buf = new StringBuffer(); buf.append( "id = '" ); buf.append( getId() + "'" ); return buf.toString(); } //-- java.lang.String toString()
private void removeBuildResult( BuildResult buildResult ) { buildResultDao.removeBuildResult( buildResult ); // cleanup some files try { File buildOutputDirectory = getConfiguration().getBuildOutputDirectory( buildResult.getProject().getId() ); File buildDirectory = new File( buildOutputDirectory, Integer.toString( buildResult.getId() ) ); if ( buildDirectory.exists() ) { FileUtils.deleteDirectory( buildDirectory ); } File buildOutputFile = getConfiguration().getBuildOutputFile( buildResult.getId(), buildResult.getProject().getId() ); if ( buildOutputFile.exists() ) { FileUtils.forceDelete( buildOutputFile ); } } catch ( ConfigurationException e ) { log.info( "skip error during cleanup build files " + e.getMessage(), e ); } catch ( IOException e ) { log.info( "skip IOException during cleanup build files " + e.getMessage(), e ); } }
public void addBuildResult( Project project, BuildResult build ) throws ContinuumStoreException, ContinuumObjectNotFoundException { PersistenceManager pm = getPersistenceManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); pm.getFetchPlan().addGroup( PROJECT_WITH_BUILDS_FETCH_GROUP ); Object objectId = pm.newObjectIdInstance( Project.class, new Integer( project.getId() ) ); project = (Project) pm.getObjectById( objectId ); build = (BuildResult) makePersistent( pm, build, false ); // TODO: these are in the wrong spot - set them on success (though // currently some depend on latest build being the one in progress) project.setLatestBuildId( build.getId() ); project.setState( build.getState() ); project.addBuildResult( build ); tx.commit(); } finally { rollback( tx ); } }