Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

Notes about package composition

fearthecowboy edited this page Oct 18, 2011 · 1 revision
Directories found in c:\apps [%COAPP_ROOT%]

.installed
.cache
assemblies
x86
x64
bin
powershell
lib 
include
etc


c:\apps
    .installed
        foocorp
            foo-1.2.3.4-x86
            foo-1.2.3.4-x64
            
        barcorp 
            bar-2.3.4.5-x86
            
    .cache


    assemblies (developer libraries) 
        foo\
            foodotnet.dll
            x64\
                foodotnet.dll
                1.2.3.4\
                    foodotnet.dll
            x86\
                foodonet.dll
                1.2.3.4\
                    foodotnet.dll
            1.2.3.4\
                foodotnet.dll

    
    x86
        bar         ->  c:\apps\.installed\barcorp\bar2.3.4.5-x86
        
    x64
        bar         ->  c:\apps\.installed\barcorp\bar2.3.4.5-x64    
    
    bar             ->  c:\apps\.installed\barcorp\bar2.3.4.5-x86
    
    
    
    
    
    bin
        bar.exe  -> C:\apps\.installed\barcorp\bar-2.3.4.5-x86\bar.exe
    
    powershell
        foops 
        barps
    
    lib
        foo.lib                 ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc9].lib            ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc10].lib           ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc10].lib
        
        foo-x86.lib             ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc9]-x86.lib        ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc10]-x86.lib       ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc10].lib
        
        foo-1.2.3.4-x86.lib         ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc9]-1.2.3.4-x86.lib    ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc9].lib
        foo[vc10]-1.2.3.4-x86.lib   ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo[vc10].lib

        foo-a.lib                 ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc9].lib            ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc10].lib           ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc10].lib
        
        foo-a-x86.lib             ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc9]-x86.lib        ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc10]-x86.lib       ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc10].lib
        
        foo-a-1.2.3.4-x86.lib         ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc9]-1.2.3.4-x86.lib    ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc9].lib
        foo-a[vc10]-1.2.3.4-x86.lib   ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x86\libs\foo-a[vc10].lib
        
        foo-x64.lib             ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc9].lib
        foo[vc9]-x64.lib        ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc9].lib
        foo[vc10]-x64.lib       ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc10].lib
        
        foo-1.2.3.4-x64.lib         ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc9].lib
        foo[vc9]-1.2.3.4-x64.lib    ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc9].lib
        foo[vc10]-1.2.3.4-x64.lib   ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo[vc10].lib

        foo-a-x64.lib             ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc9].lib
        foo-a[vc9]-x64.lib        ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc9].lib
        foo-a[vc10]-x64.lib       ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc10].lib
        
        foo-a-1.2.3.4-x64.lib        ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc9].lib
        foo-a[vc9]-1.2.3.4-x64.lib   ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc9].lib
        foo-a[vc10]-1.2.3.4-x64.lib  ->  c:\apps\.installed\foocorp\foo-1.2.3.4-x64\libs\foo-a[vc10].lib       
        
    
    include
        foo              -> c:\apps\.installed\foocorp\foo-1.2.3.4-x64 (active)
        foo-1.2.3.4      -> c:\apps\.installed\foocorp\foo-1.2.3.4-x64 (active)
        
        foo-x86          -> c:\apps\.installed\foocorp\foo-1.2.3.4-x86
        foo-1.2.3.4-x86  -> c:\apps\.installed\foocorp\foo-1.2.3.4-x86 

        foo-x64          -> c:\apps\.installed\foocorp\foo-1.2.3.4-x64
        foo-1.2.3.4-x64  -> c:\apps\.installed\foocorp\foo-1.2.3.4-x64 
        
    
    etc\
        apache\
            theconfigs\    -> c:\apps\etc\apache\1.2.22\
                            
            1.2.22.0\
                config\
                    httpd.conf
                    extra\
                        httpd-info.conf
                        httpd-vhosts.conf
                
            2.2.2.1\
                httpd.conf
    
    
    
    etc
        httpd.conf             -> c:\apps\etc\apache\1.2.22\httpd.conf
        apache\
            httpd.conf         -> c:\apps\etc\apache\1.2.22\httpd.conf
            1.2.22\
                httpd.conf
    

coapp config apache 2.2

coapp config apache-2.2.5.6 do-this

files[configuration-files] {
    include : "**.conf";
}

application {
    include: {
        exes,dlls,other-files
    };
    
    etc-include :{
        configuration-files;
    }
}



composition-rules[active] {
   // set the binaries
}


coapp activate apache-2.2.3.4
coapp activate apache-2.2.3.5 --rule="do-this"
coapp config apache-2.2.3.5 --rule=do-this --rule=do-that
coapp list-rules apache-2.2.3.5
 
 
coapp activate apache-2.2.3.5 --rules=do-this --rule=do-that 

composition-rules[do-this] { // THESE
    directory-symlinks : {
        "${etc}\apache\current" = "${etc}\apache\${ver}";
    }    
    
    symlinks : {
        "${etc}\apache\httpd.conf" = "${etc}\apache\${ver}\httpd.conf";
    }
    
    symlinks : {
        configfiles => "${etc}\apache\${each.name}" = "${etc}\apache\${ver}\${each.name}";
    }
    
}
Clone this wiki locally