xreate-environment
No OneTemporary

File Metadata

Created
Sun, Feb 15, 1:00 PM

xreate-environment

// install cmake
// install llvm
// install gcc
// install gtest
EXISTS(gcc) = function(){
exec("gcc -v") :: ExpectNoErrors; log("Check gcc").
}
function():: provide(gcc) {
exec("sudo apt-get install gcc"):: log("[GCC] Installation").
}
function():: TestEnvironment(exists(cmake)){
exec("cmake /V"):: ExpectNoErrors; log("Check cmake").
}
function():: provide(cmake) {
exec("sudo apt-get install cmake"):: log("[CMake] Installation").
}
function():: TestEnvironment(exists(subversion)){
exec("svn --version"):: ExpectNoErrors; log("Check svn").
}
function():: provide(subversion) {
exec("sudo apt-get install subversion"):: log("[Subversion] Installation").
}
function():: TestEnvironment(exists(scons)){
exec("scons -v"):: ExpectNoErrors; log("Check scons").
}
function():: provide(scons) {
exec("sudo apt-get install scons"):: log("[Scons] Installation").
}
function():: TestEnvironment(exists(bison)){
exec("bison --version"):: ExpectNoErrors; log("Check bison").
}
function():: provide(bison) {
exec("sudo apt-get install bison"):: log("[Bison] Installation").
}
//FEATURE dependent packages: Subversion
function():: provide(gringo)
{
exec("cd /opt"). //FEATURE states: dir("/opt")
exec("svn://svn.code.sf.net/p/potassco/code/trunk")
:: log("[Potassco] cloning latest version");
require(svn); require(rights("/opt", WRITE)). //"sudo chown -R user ./potassco"
//
exec("scons --build-dir=release"):: require(scons)
}
function()::depends(env(gringo)){
}
exec(cmd::string) = procedure {
system(cmd)::ErrorCodeResult.
}
procedure :: EnvironmentTest(gcc) {
exec("gcc -v")::ExpectNoErrors.
}
EnvironmentProvider(gcc) = procedure {
exec("sudo apt-get install gcc"):: log("[GCC] Installation").
}

Event Timeline