Package net.rim.tumbler.session

Examples of net.rim.tumbler.session.SessionManager


                // nothing to package
                return NO_ERROR_RETURN_CODE;
            }

            // create SessionManager
            SessionManager sessionManager = cmd.createSession();

            // create bbwp.properties
            Logger.logMessage( LogType.INFO, "PROGRESS_SESSION_BBWP_PROPERTIES" );
            String propertiesFile = sessionManager.getBBWPJarFolder() + WidgetPackager.PROPERTIES_FILE;
            BBWPProperties bbwpProperties = new BBWPProperties( propertiesFile, sessionManager.getSessionHome() );

            // validate BlackBerry WebWorks application archive
            Logger.logMessage( LogType.INFO, "PROGRESS_VALIDATING_WIDGET_ARCHIVE" );
            WidgetArchive wa = new WidgetArchive( sessionManager.getWidgetArchive() );
            wa.validate();

            // parse/validate config.xml
            Logger.logMessage( LogType.INFO, "PROGRESS_SESSION_CONFIGXML" );
            XMLParser xmlparser = new ConfigXMLParser();
            WidgetConfig config = xmlparser.parseXML( wa ); // raw data, without \

            // create/clean outputs/source
            // Logger.printInfoMessage("BlackBerry WebWorks application packaging starts...");
            FileManager fileManager = new FileManager( bbwpProperties, config.getAccessTable() );
            Logger.logMessage( LogType.INFO, "PROGRESS_FILE_POPULATING_SOURCE" );
            fileManager.prepare();

            // Set 3rd party extension classes
            config.setExtensionClasses( fileManager.getExtensionClasses() );
            config.setExtensionJSFiles( fileManager.getExtensionJSFiles() );
            config.setSharedGlobalJSFiles( fileManager.getSharedGlobalJSFiles() );

            // create autogen file
            WidgetConfigSerializer wcs = new WidgetConfig_v1Serializer( config );
            byte[] autogenFile = wcs.serialize();
            fileManager.writeToSource( autogenFile, AUTOGEN_FILE );

            // create jdw/jdp files
            fileManager.generateProjectFiles( sessionManager.getSourceFolder(), sessionManager.getArchiveName(),
                    config.getName(), config.getVersion(), config.getAuthor(), config.getContent(), config.getBackgroundSource(),
                    config.isStartupEnabled(), config.getIconSrc(), config.getHoverIconSrc(), fileManager.getFiles(),
                    bbwpProperties.getImports() );

            // run rapc
            Logger.logMessage( LogType.INFO, "PROGRESS_COMPILING" );
            Rapc rapc = new Rapc( bbwpProperties, config, fileManager.getCompiledJARDependencies() );
            if( !rapc.run( fileManager.getFiles() ) ) {
                throw new PackageException( "EXCEPTION_RAPC" );
            }

            // generate ALX
            generateAlxFile( config );

            // Sign the cod if required
            if( sessionManager.requireSigning() ) {
                Logger.logMessage( LogType.INFO, "PROGRESS_SIGNING" );
                signCod( sessionManager );
                Logger.logMessage( LogType.INFO, "PROGRESS_SIGNING_COMPLETE" );
            }

            // If requires source and a safe source folder is used, copy source to where the user expects it to be
            if( sessionManager.requireSource()
                    && !sessionManager.getOriginalSourceFolder().equals( sessionManager.getSourceFolder() ) ) {
                File f = new File( SessionManager.getInstance().getOriginalSourceFolder() );
                if( !f.exists() ) {
                    if( f.mkdirs() == false ) {
                        Logger.logMessage( LogType.WARNING, "EXCEPTION_MAKING_DIRECTORY" );
                    }
                }

                ExecUtil.exec(
                        null,
                        new String[] { "cp", "-R", sessionManager.getSourceFolder() + "/",
                                sessionManager.getOriginalSourceFolder() }, null );
            }

            // clean/prep output folders
            fileManager.cleanOutput();

            // copy output files
            Logger.logMessage( LogType.INFO, "PROGRESS_GEN_OUTPUT" );
            fileManager.copyOutputsFromSource();

            // clean source (if necessary)
            if( !sessionManager.requireSource() ) {
                fileManager.cleanSource();
            }

            Logger.logMessage( LogType.INFO, "PROGRESS_COMPLETE" );
        } catch( CommandLineException cle ) {
View Full Code Here


    private static String getP12Filename(String bbwpJarFolder) {
        return bbwpJarFolder + SIGTOOL_P12_FILENAME;
    }

    public static void signBar(BBWPProperties bbwpProperties) throws IOException, PackageException {
        SessionManager sessionManager = SessionManager.getInstance();
        String signer = bbwpProperties.getTabletSDK() + File.separator + "bin" + File.separator
            + FileManager.selectOnPlatform("blackberry-signer.bat", "blackberry-signer");

        String barFullname = sessionManager.getOutputFilepath();
        File barFile = new File(barFullname);

        if (barFile.isFile()) {
            try {
                //
                // 1. RIM signing
                //
                String[] cmd1 = {
                    signer,
//                    "-verbose",
                    "-cskpass",
                    sessionManager.getCskPassword(),
                    "-keystore",
                    getP12Filename(sessionManager.getBBWPJarFolder()),
                    "-storepass",
                    sessionManager.getP12Password(),
                    barFullname,
                    "RDK"
                };
                execAndCheck(cmd1, barFile);

                //
                // 2. Developer signing
                //
                String[] cmd2 = {
                    signer,
//                    "-verbose",
                    "-keystore",
                    getP12Filename(sessionManager.getBBWPJarFolder()),
                    "-storepass",
                    sessionManager.getP12Password(),
                    barFullname,
                    "author"
                };
                execAndCheck(cmd2, barFile);
            } catch (InterruptedException ie) {
View Full Code Here

                // nothing to package
                System.exit(NO_ERROR_RETURN_CODE);
            }
           
            // create SessionManager
            SessionManager sessionManager = cmd.createSession();

            // create bbwp.properties
            Logger.logMessage(LogType.INFO, "PROGRESS_SESSION_BBWP_PROPERTIES");
            String propertiesFile = sessionManager.getBBWPJarFolder() + WidgetPackager.PROPERTIES_FILE;
            BBWPProperties bbwpProperties = new BBWPProperties(propertiesFile, sessionManager.getSessionHome());

            // validate widget archive
            Logger.logMessage(LogType.INFO, "PROGRESS_VALIDATING_WIDGET_ARCHIVE");
            WidgetArchive wa = new WidgetArchive(sessionManager.getWidgetArchive());
            wa.validate();

            // parse/validate config.xml
            Logger.logMessage(LogType.INFO, "PROGRESS_SESSION_CONFIGXML");
            XMLParser xmlparser = new ConfigXMLParser();     
            WidgetConfig config = xmlparser.parseXML(wa); // raw data, without \
           
            // create/clean outputs/source
            // Logger.printInfoMessage("Widget packaging starts...");
            FileManager fileManager = new FileManager(bbwpProperties);
            Logger.logMessage(LogType.INFO, "PROGRESS_FILE_POPULATING_SOURCE");
            fileManager.prepare();

            //
            // Copy the JS extensions.
            //
            Map<String, Vector<String>> entryClassTable = null;
            if (SessionManager.getInstance().isPlayBook()) {
                entryClassTable = copyExtensions(bbwpProperties, config);
            }

            // Set 3rd party extension classes
            if (!SessionManager.getInstance().isPlayBook()) {
                config.setExtensionClasses(fileManager.getExtensionClasses());
            }
           
            // create autogen file
            WidgetConfigSerializer wcs = new WidgetConfig_v1Serializer(config, entryClassTable);
            byte[] autogenFile = wcs.serialize();
            fileManager.writeToSource(autogenFile, AUTOGEN_FILE);

            // create jdw/jdp files
            if (!SessionManager.getInstance().isPlayBook()) {
            fileManager.generateProjectFiles(sessionManager.getSourceFolder(),
                    sessionManager.getArchiveName(), config.getName(), config
                            .getVersion(), config.getAuthor(),config.getContent(),config.getBackgroundSource(),config.isStartupEnabled(), config
                            .getIconSrc(), config.getHoverIconSrc(),
                    fileManager.getFiles(), bbwpProperties.getImports());
            }

            // run mxmlc to compile ActionScript into SWF
            Logger.logMessage(LogType.INFO, "PROGRESS_COMPILING");
            if (SessionManager.getInstance().isPlayBook()) {
                Mxmlc mxmlc = new Mxmlc(bbwpProperties, config);

                // just for demo purposes, we hard code the source file path
                mxmlc.run();
           
                // *** just for demo purposes, we HARD CODE THE SOURCE PATH ***
                Logger.logMessage(LogType.INFO, "PROGRESS_PACKAGING");
                AirPackager packager = new AirPackager(bbwpProperties, config);
                int ret = packager.run();
                if (ret==0)
                {
                  Logger.logMessage(LogType.INFO, "PACKAGING_COMPLETE");
                }
                else
                {
                  System.exit(ret);
                }
            }

            // generate ALX
            if (!SessionManager.getInstance().isPlayBook()) {
                generateAlxFile(config);
            }

            // Sign the cod if required
            if (ENABLE_SIGNING && sessionManager.requireSigning()) {
                Logger.logMessage(LogType.INFO, "PROGRESS_SIGNING");
                if (SessionManager.getInstance().isPlayBook()) {
                    try {
                        SigningSupport.signBar(bbwpProperties);
                    } catch (Exception e) {
                        File barFile = new File(sessionManager.getOutputFilepath());
                        if (barFile.isFile()) {
                            barFile.delete();
                        }
                        throw e;
                    }
                } else {
                    signCod(sessionManager);
                }
                Logger.logMessage(LogType.INFO, "PROGRESS_SIGNING_COMPLETE");
            }

            // clean/prep output folders
            fileManager.cleanOutput();

            // copy output files
            if (!SessionManager.getInstance().isPlayBook()) {
                Logger.logMessage(LogType.INFO, "PROGRESS_GEN_OUTPUT");
                fileManager.copyOutputsFromSource(STANDARD_OUTPUTS, OTA_OUTPUTS);
            }

            // clean source (if necessary)
            if (!sessionManager.requireSource()) {
                fileManager.cleanSource();
            }

            Logger.logMessage(LogType.INFO, "PROGRESS_COMPLETE");
        } catch (CommandLineException cle) {
View Full Code Here

TOP

Related Classes of net.rim.tumbler.session.SessionManager

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.