public void bind()

in src/java/org/apache/ivy/Ivy.java [274:337]


    public void bind() {
        pushContext();
        try {
            if (settings == null) {
                settings = new IvySettings();
            }
            if (eventManager == null) {
                eventManager = new EventManager();
            }
            if (sortEngine == null) {
                sortEngine = new SortEngine(settings);
            }
            if (searchEngine == null) {
                searchEngine = new SearchEngine(settings);
            }
            if (resolveEngine == null) {
                resolveEngine = new ResolveEngine(settings, eventManager, sortEngine);
            }
            if (retrieveEngine == null) {
                retrieveEngine = new RetrieveEngine(settings, eventManager);
            }
            if (deliverEngine == null) {
                deliverEngine = new DeliverEngine(settings);
            }
            if (publishEngine == null) {
                publishEngine = new PublishEngine(settings, eventManager);
            }
            if (installEngine == null) {
                installEngine = new InstallEngine(settings, searchEngine, resolveEngine);
            }
            if (repositoryEngine == null) {
                repositoryEngine = new RepositoryManagementEngine(settings, searchEngine,
                        resolveEngine);
            }

            eventManager.addTransferListener(new TransferListener() {
                public void transferProgress(TransferEvent evt) {
                    ResolveData resolve;
                    switch (evt.getEventType()) {
                        case TransferEvent.TRANSFER_PROGRESS:
                            resolve = IvyContext.getContext().getResolveData();
                            if (resolve == null
                                    || !LogOptions.LOG_QUIET.equals(resolve.getOptions().getLog())) {
                                Message.progress();
                            }
                            break;
                        case TransferEvent.TRANSFER_COMPLETED:
                            resolve = IvyContext.getContext().getResolveData();
                            if (resolve == null
                                    || !LogOptions.LOG_QUIET.equals(resolve.getOptions().getLog())) {
                                Message.endProgress(" (" + (evt.getTotalLength() / KILO) + "kB)");
                            }
                            break;
                        default:
                            break;
                    }
                }
            });

            bound = true;
        } finally {
            popContext();
        }
    }