Package org.guvnor.common.services.project.builder.model

Examples of org.guvnor.common.services.project.builder.model.BuildResults


                        if ( buildService.isBuilt( project ) ) {
                            final IncrementalBuildResults results = buildService.applyBatchResourceChanges( project,
                                                                                                            changes );
                            incrementalBuildResultsEvent.fire( results );
                        } else {
                            final BuildResults results = buildService.build( project );
                            buildResultsEvent.fire( results );
                        }

                    } catch ( Exception e ) {
                        logger.error( e.getMessage(),
View Full Code Here


    }

    @Override
    public BuildResults build( final Project project ) {
        try {
            final BuildResults results = doBuild( project );
            return results;

        } catch ( Exception e ) {
            logger.error( e.getMessage(),
                          e );
View Full Code Here

    @Override
    public BuildResults buildAndDeploy( final Project project ) {
        try {
            //Build
            final BuildResults results = doBuild( project );

            //Deploy, if no errors
            final POM pom = pomService.load( project.getPomXMLPath() );
            if ( results.getMessages().isEmpty() ) {
                final Builder builder = cache.assertBuilder( project );
                final InternalKieModule kieModule = (InternalKieModule) builder.getKieModule();
                final ByteArrayInputStream input = new ByteArrayInputStream( kieModule.getBytes() );
                m2RepoService.deployJar( input,
                                         pom.getGav() );
View Full Code Here

        }
    }

    private BuildResults doBuild( final Project project ) {
        final Builder builder = cache.assertBuilder( project );
        final BuildResults results = builder.build();
        return results;
    }
View Full Code Here

    public BuildResults build() {
        //KieBuilder is not re-usable for successive "full" builds
        kieBuilder = kieServices.newKieBuilder( kieFileSystem );
        final Results kieResults = kieBuilder.buildAll().getResults();
        final BuildResults results = convertMessages( kieResults );

        //Validate paths that are not handled by Kie
        for ( Map.Entry<Path, BuildValidationHelper> e : nonKieResourceValidationHelpers.entrySet() ) {
            final Path resource = e.getKey();
            final BuildValidationHelper validator = e.getValue();
            final List<ValidationMessage> validationMessages = validator.validate( Paths.convert( resource ) );
            if ( !( validationMessages == null || validationMessages.isEmpty() ) ) {
                for ( ValidationMessage validationMessage : validationMessages ) {
                    results.addBuildMessage( convertValidationMessage( validationMessage ) );
                }
                nonKieResourceValidationHelperMessages.put( resource,
                                                            validationMessages );
            }
        }

        //Check external imports are available. These are loaded when a DMO is requested, but it's better to report them early
        final org.uberfire.java.nio.file.Path nioExternalImportsPath = moduleDirectory.resolve( "project.imports" );
        if ( Files.exists( nioExternalImportsPath ) ) {
            final org.uberfire.backend.vfs.Path externalImportsPath = Paths.convert( nioExternalImportsPath );
            final ProjectImports projectImports = projectService.load( externalImportsPath );
            final Imports imports = projectImports.getImports();
            for ( final Import item : imports.getImports() ) {
                try {
                    Class clazz = this.getClass().getClassLoader().loadClass( item.getType() );
                } catch ( ClassNotFoundException cnfe ) {
                    results.addBuildMessage( makeMessage( ERROR_CLASS_NOT_FOUND,
                                                          cnfe ) );
                }
            }
        }

        //At the end we are interested to ensure that external .jar files referenced as dependencies don't have
        // referential inconsistencies. We will at least provide a basic algorithm to ensure that if an external class
        // X references another external class Y, Y is also accessible by the class loader.
        final KieModuleMetaData kieModuleMetaData = getKieModuleMetaData();
        for ( final String packageName : kieModuleMetaData.getPackages() ) {
            for ( final String className : kieModuleMetaData.getClasses( packageName ) ) {
                final Class clazz = kieModuleMetaData.getClass( packageName, className );
                final TypeSource typeSource = getClassSource( kieModuleMetaData, clazz );
                if ( TypeSource.JAVA_DEPENDENCY == typeSource ) {
                    try {
                        verifyExternalClass( clazz );
                    } catch ( Throwable e ) {
                        results.addBuildMessage( makeMessage(
                                MessageFormat.format( ERROR_EXTERNAL_CLASS_VERIFICATON, clazz.getName() ), e ) );
                    }
                }
            }
        }

        //It's impossible to retrieve a KieContainer if the KieModule contains errors
        if ( results.getMessages().isEmpty() ) {
            kieContainer = kieServices.newKieContainer( kieBuilder.getKieModule().getReleaseId() );
        }

        return results;
    }
View Full Code Here

            }
        }
    }

    private BuildResults convertMessages( final Results kieBuildResults ) {
        final BuildResults results = new BuildResults( gav );

        for ( final Message message : kieBuildResults.getMessages() ) {
            results.addBuildMessage( convertMessage( message ) );
        }

        return results;
    }
View Full Code Here

        final org.uberfire.java.nio.file.Path nioResourcePath = fs.getPath( resourceUrl.toURI() );
        final Path resourcePath = paths.convert( nioResourcePath );

        //Force full build before attempting incremental changes
        final Project project = projectService.resolveProject( resourcePath );
        final BuildResults buildResults = buildService.build( project );
        assertNotNull( buildResults );
        assertEquals( 0,
                      buildResults.getMessages().size() );

        //Perform incremental build
        final int THREADS = 200;
        final Result result = new Result();
        ExecutorService es = Executors.newCachedThreadPool();
View Full Code Here

                                             new GAV(),
                                             ioService,
                                             projectService,
                                             new ArrayList<BuildValidationHelper>() );

        final BuildResults results = builder.build();

        assertTrue( results.getMessages().isEmpty() );
    }
View Full Code Here

                                             new GAV(),
                                             ioService,
                                             projectService,
                                             new ArrayList<BuildValidationHelper>() );

        final BuildResults results = builder.build();

        //Debug output
        if ( !results.getMessages().isEmpty() ) {
            for ( BuildMessage m : results.getMessages() ) {
                System.out.println( m.getText() );
            }
        }

        assertTrue( results.getMessages().isEmpty() );
    }
View Full Code Here

                                             new GAV(),
                                             ioService,
                                             projectService,
                                             new ArrayList<BuildValidationHelper>() );

        final BuildResults results = builder.build();

        //Debug output
        if ( !results.getMessages().isEmpty() ) {
            for ( BuildMessage m : results.getMessages() ) {
                System.out.println( m.getText() );
            }
        }

        assertTrue( results.getMessages().isEmpty() );
    }
View Full Code Here

TOP

Related Classes of org.guvnor.common.services.project.builder.model.BuildResults

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.