Skip to content

Installation: Client

moobyfr edited this page Feb 25, 2011 · 18 revisions

NOTE: You can skip this part and directly use nightly at http://nightlies.archipelproject.org. see how to install client from nightlies

Prerequisites

This part will guide you through the installation of the client (the web GUI) The only prerequisites for building Archipel Client are:

  • SUN's JDK or OpenJDK. (don't panic, java is only needed by the Cappuccino build tools, you can remove it after, you don't need Java to use Archipel)
  • a real WebBrowser (forget IE it forgets us).

Bootstrap

Bootstrap is the script that will build all needed things for archipel client.

Submodules initialization

The bootstrap will first checks if all Archipel's submodules are initialized. While you just cloned the repository, they aren't. So it will start to run git submodule update --init. This has to be done where you have made git clone

After that, you can enter the ArchipelClient, and run bootstrap.sh

##############################################################################
#                                                                            #
#                        Archipel Submodules                                 #
#                                                                            #
##############################################################################

It seems that your local copy hasn't its submodules initialized. Bootstrap
will initialize it for you. Please wait.



Submodule 'GrowlCappuccino'
Submodule 'LPKit'
Submodule 'MessageBoard'
Submodule 'StropheCappuccino'
Submodule 'VNCCappuccino'
Submodule 'iTunesTabView'

[...]

 * Continue ? [y/n] :

When this is ok, bootstrap won't ask you to update submodules as it will have touched a file named .submodules_initialized. If you want to retry sync, just remove this file and run bootstrap again

Configuration of the build

bootstrap will ask you if you want to build all necessary Frameworks, apply the Cappuccino frameworks and export the release as a flattened ready-to-run web application. You should say yes to all questions.

##############################################################################
#                                                                            #
#                            Archipel Client                                 #
#                                                                            #
##############################################################################

Welcome to the installation script of Archipel Client. You need to have the
Cappuccino development environment installed in order to build this software.
You can grab it from http://cappuccino.org


 Testing environment

 * Would you like to build Cappuccino ? [y/n] :
 * Would you like to build GrowlCappuccino ? [y/n] :
 * Would you like to build VNCCappuccino ? [y/n] :
 * Would you like to build StropheCappuccino ? [y/n] :
 * Would you like to build iTunesTabView ? [y/n] :
 * Would you like to build MessageBoard ? [y/n] :
 * Would you like to build LPKit ? [y/n] :
 * Would you like to build Archipel Client ? [y/n] :
 * Would you like to apply Cappuccino Framework ? [y/n] :
 * Would you like to export Archipel ? [y/n] :
 * Where do you want to export Archipel Client ? ~/ : ~/Desktop/ArchipelRelease

 Installation information
   - build Cappuccino            : True
   - build GrowlCappuccino       : True
   - build VNCCappuccino         : True
   - build StropheCappuccino     : True
   - build iTunesTabView         : True
   - build MessageBoard          : True
   - build LPKit                 : True
   - build Archipel Client       : True
   - apply Cappuccino            : True
   - export to                   : ~/Desktop/ArchipelRelease

 * Do you confirm ? [y/n] :

Building

When you confirm the build starts :

* Do you confirm ? [y/n] :
* Building Cappuccino
* Cappuccino builded
* Building GrowlCappuccino
* GrowlCappuccino builded
* Building VNCCappuccino
* VNCCappuccino builded
* Building StropheCappuccino
* StropheCappuccino builded
* Building iTunesTabView
* iTunesTabView builded
* Building MessageBoard
* MessageBoard builded
* Building LPKit
* LPKit builded
* Adding Cappuccino framework
* Cappuccino added
* Building ArchipelClient
* ArchipelClient built
* Exporting archipel to ~/Desktop/ArchipelRelease
* Archipel Client exported

Installation is now complete.

* Continue ? [y/n] :

You are done with Archipel Client

The builded version of Archipel Client is available to your export path. Just put it in a HTTP served directory (or with Safari/WebKit nightlies, you can even launch it as file:///) and you're ready to go.

Developer installation

Cappuccino applications don't have to be "built". They can be run right from the source directory, but then, the Cappuccino runtime will have to parse source on the fly. This decreases the overall performances. But for developing needs, performance is not really necessary. By the way, all the bundles (located in Modules.src) have to be built, otherwise they won't load at all.

The really low level way to build a module is:

cd Modules.src/MyModule/
jake release ; jake debug
cd ../../Modules
ln -s Modules.src/MyModules/Build/{Debug/Release}/MyModule

and then edit Modules/modules.plist to tell Archipel to load the module :

<dict>
    <key>folder</key>
    <string>MyModule</string>
</dict>

All of this is a pain. So we also provide another script called buildArchipel that automates all these tasks.

For example, to do the exact same thing as above you can do:

cd ArchipelClient # you must be in this directory
./buildArchipel -bg --modules=MyModule

That's all.

If you want to build two or more modules, separate them with commas:

./buildArchipel -bg --modules=Module1,Module2,...,ModuleN

If you use the g options the module plist will only contains the modules given with --modules.

If you want to build all modules:

./buildArchipel -bag [--config=Release|Debug]

Then you can update some modules without regenerating the plist using:

./buildArchipel -b --modules=Module1,Module2

For more information just type

./buildArchipel --help

This script build Archipel GUI according to a the following set of options.
Copyright (c) 2010 Antoine Mercadal <[email protected]>

Usage: build.py COMMAND [CONFIG] TARGETS [OPTIONS]

    COMMAND are the following:
        -b | --build             : build the TARGETS
        -C | --clean             : clean the TARGETS builded

    CONFIG is the following:
        --config=<conf>          : <conf> can be 'release' of 'debug'. If ommited, default config is 'debug'.

    TARGETS are the following:
        -a | --all               : build all. Projects and all modules;
        -p | --project           : build only Archipel without any modules;
        -m | --allmodules        : build only all modules;
        --modules=<list>         : build a given list of module. <list> is "moduleA,moduleC" whith no space.

    OPTIONS are the following:
        -I | --installmodules    : copy all the already builded modules according to TARGET to the destination dir.
        -u | --uninstallmodules  : remove all the builded modules according to TARGET from the destination dir.
        -g | --generateplist     : generate a modules.plist file according to TARGET.
        -h | --help              : display this message
        -e | --example           : display some usage example;
        --native=<platform>      : generate a native app. platform supported are [MacOS] (case sensitive).
        --ignoremodules=<list>   : ignore list of modules. <list> is "moduleA,moduleC" whith no space.
        --exportsdk=<path>       : generate and export Archipel SDK to <path>
        --export=<path>  : export the ready to use flattened application to <path>
Clone this wiki locally