source: release-kits/wirk3/src/wirk3.cpp@ 15691

Last change on this file since 15691 was 15691, checked in by oranfry, 16 years ago

changes to the ant scripts to accompany the changes in the wrapper and jar installer

File size: 5.8 KB
Line 
1#include <windows.h>
2
3#include <fstream>
4#include <iostream>
5#include <string>
6
7using namespace std;
8
9void replace_all ( std::string & str, std::string const & pattern, std::string const & replacement ) {
10
11 std::string::size_type start = str.find( pattern, 0 );
12
13 while ( start != str.npos ) {
14 str.replace( start, pattern.size(), replacement );
15 start = str.find( pattern, start+replacement.size() );
16 }
17
18}
19
20int main(int argc, char** argv ) {
21
22 string classpath, command;
23
24 //influential environment variables
25 string JAVA_HOME = getenv( "JAVA_HOME" );
26 string WIRK3_HOME = getenv( "WIRK3_HOME" );
27 //string PWD = getenv( "CD" );
28
29 //get the pwd
30 string pwd;
31 system( "CD > cd.dat" );
32 ifstream file( "cd.dat" ) ;
33 getline(file, pwd);
34 file.close();
35 system( "del cd.dat" );
36
37
38 //set the classpath
39 //WIRK3_HOME + "\\ant-scripts\\tasks\\orangevolt\\roxes-win32forjava-1.1.1.jar;" + WIRK3_HOME + "\\ant-scripts\\tasks\\orangevolt\\orangevolt-ant-tasks-1.3.8.jar;" +
40 classpath = pwd + "\\installer\\cp;" + JAVA_HOME + "\\lib\\tools.jar;" + WIRK3_HOME + "\\lib\\serializer.jar;" + WIRK3_HOME + "\\lib\\xalan.jar;" + WIRK3_HOME + "\\lib\\xercesImpl.jar;" + WIRK3_HOME + "\\lib\\xml-apis.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-antlr.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-bcel.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-bsf.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-log4j.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-oro.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-regexp.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-apache-resolver.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-commons-logging.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-commons-net.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-icontract.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-jai.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-javamail.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-jdepend.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-jmf.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-jsch.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-junit.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-launcher.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-netrexx.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-nodeps.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-starteam.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-stylebook.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-swing.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-trax.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-vaj.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-weblogic.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-xalan1.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\ant-xslp.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\xercesImpl.jar;" + WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\lib\\xml-apis.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ai-icons-amaranth.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ai-icons-bluecurve.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ai-icons-crystalsvg.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ai-icons-eclipse.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ai-icons-krystaline.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ant-installer-ext.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\ant-installer.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\jgoodies-edited-1_2_2.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\xercesImpl.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\lib\\xml-apis.jar;" + WIRK3_HOME + "\\bin\\ant-installer\\classes";
41 putenv( ("CLASSPATH=" + classpath).c_str() );
42
43 //check that it worked
44 //string changed_classpath = getenv("CLASSPATH");
45 //cout << "classpath: " << changed_classpath << endl;
46
47 //create the command
48 command = WIRK3_HOME + "\\bin\\apache-ant-1.6.5\\bin\\ant.bat -f " + WIRK3_HOME + "\\ant-scripts\\build.xml -Dwirk3.home=" + WIRK3_HOME;
49 //pass on the arguments
50 string a;
51 for ( int i=0; i < argc; i++ ) {
52 a = argv[i];
53
54 if ( a.compare("-help") == 0 ) {
55 //show_help();
56 return 0;
57
58 } else if ( a.compare("-cp") == 0) {
59 cout << classpath;
60 return 0;
61
62 } else if ( a.compare("-sim") == 0 ) {
63 command += " -Dexecute=false";
64
65 } else if ( a.compare("-descend") == 0 ) {
66 command += " -Dresume.mode=descend";
67
68 } else if ( a.compare("-from") == 0 ) {
69 command = command + " -Dresume.from=" + argv[++i];
70 //from=`echo $2 | sed 's/compile/1/g' | sed 's/create-distributions/2/g' | sed 's/create-installer/3/g' | sed 's/wrap/4/g'`
71 //toexec=$toexec$from
72 } else if ( a.compare("-to") == 0 ) {
73 command = command + " -Dresume.to=" + argv[++i];
74 //to=`echo $2 | sed 's/compile/1/g' | sed 's/create-distributions/2/g' | sed 's/create-installer/3/g' | sed 's/wrap/4/g'`
75 //toexec=$toexec$to
76 } else {
77 command = command + " " + a;
78 }
79
80 }
81
82
83 //use forward slashes for everything else
84 //replace_all( pwd, "\\", "/" );
85
86 //set the basedir in the command
87 command = command + " -Dbasedir=";
88 command = command + pwd;
89
90
91
92 //command = command + ".";
93
94 cout
95 << "O-----------------------------------------O" << endl
96 << "| |" << endl
97 << "| WiRK3 |" << endl
98 << "| Windows Release Kit for Greenstone3 |" << endl
99 << "| |" << endl
100 << "O-----------------------------------------O" << endl
101 ;
102
103 cout << "pwd: " << pwd << endl;
104 cout << "command: " << command << endl;
105
106 system( command.c_str() );
107
108 return 0;
109
110}
Note: See TracBrowser for help on using the repository browser.