Changeset 292
- Timestamp:
- 11/05/06 10:06:00 (2 years ago)
- Files:
-
- trunk/build/buildapp.php (added)
- trunk/build/buildjbt.php (added)
- trunk/build/buildjelix.php (added)
- trunk/build/buildjtpl.php (added)
- trunk/build/config (added)
- trunk/build/config/demoxul-dist.ini (added)
- trunk/build/config/demoxul-test.ini (added)
- trunk/build/config/jbt-dist.ini (added)
- trunk/build/config/jbt-test.ini (added)
- trunk/build/config/jelix-dist-dev.ini (added)
- trunk/build/config/jelix-dist-opt.ini (added)
- trunk/build/config/jelix-test.ini (added)
- trunk/build/config/jtpl-dist.ini (added)
- trunk/build/config/jtpl-test.ini (added)
- trunk/build/config/modules-dist.ini (added)
- trunk/build/config/modules-test.ini (added)
- trunk/build/config/myapp-dist.ini (added)
- trunk/build/config/myapp-test.ini (added)
- trunk/build/config/testapp-dist.ini (added)
- trunk/build/config/testapp-test.ini (added)
- trunk/build/lib (added)
- trunk/build/lib/jBuild.inc.php (added)
- trunk/build/lib/jBuildUtils.lib.php (added)
- trunk/build/lib/jCmdUtils.class.php (added)
- trunk/build/lib/jManifest.class.php (added)
- trunk/build/lib/preprocessor.lib.php (moved) (moved from trunk/build/preprocessor.lib.php)
- trunk/build/manifests/jbuildtools.mn (modified) (1 diff)
- trunk/build/mkdist.php (modified) (2 diffs)
- trunk/build/preprocess.php (modified) (3 diffs)
- trunk/build/README.TXT (modified) (2 diffs)
- trunk/build/tests/testpreprocess.php (modified) (1 diff)
- trunk/demoxul/VERSION (added)
- trunk/Makefile (modified) (2 diffs)
- trunk/myapp/VERSION (added)
- trunk/testapp/VERSION (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/manifests/jbuildtools.mn
r154 r292 2 2 mkdist.php 3 3 mkmanifest.php 4 preprocessor.lib.php5 4 preprocess.php 6 5 VERSION 7 6 LICENCE 8 7 README.TXT 8 CREDITS 9 10 cd lib 11 jBuild.inc.php 12 jBuildUtils.lib.php 13 preprocessor.lib.php 14 jManifest.class.php 15 jCmdUtils.class.php trunk/build/mkdist.php
r232 r292 13 13 // arguments : fichier.lf chemin_source chemin_dist 14 14 15 require_once(dirname(__FILE__).'/ preprocessor.lib.php');15 require_once(dirname(__FILE__).'/lib/jManifest.class.php'); 16 16 17 17 if($_SERVER['argc'] < 4){ … … 27 27 28 28 } 29 /*$env = $_SERVER;30 $options = array('verbose'=>false);31 $arrargv = $_SERVER['argv'];32 foreach($arrargv as $argv){33 29 34 if($argv{0} == '-'){ 35 $sw = substr(array_shift($_SERVER['argv']),1); 36 if($sw{0} =='D'){ 37 38 }else{ 39 $options['verbose'] = (strpos('v', $sw) !== false); 40 } 41 }else{ 42 break; 43 } 44 }*/ 45 list($ficlist, $sourcedir, $distdir) = $_SERVER['argv']; 46 47 48 function createDir ($dir){ 49 if (!file_exists($dir)) { 50 createDir(dirname($dir)); 51 mkdir($dir, 0775); 52 } 30 try { 31 list($ficlist, $sourcedir, $distdir) = $_SERVER['argv']; 32 jManifest::process($ficlist, $sourcedir, $distdir, $_SERVER, $options['verbose']); 33 exit(0); 34 }catch(Exception $e){ 35 echo $e->getMessage(); 36 exit(1); 53 37 } 54 38 55 function normalizeDir($dirpath){56 57 if(substr($dirpath,-1) != '/'){58 $dirpath.='/';59 }60 return $dirpath;61 }62 63 $sourcedir = normalizeDir($sourcedir);64 $distdir = normalizeDir($distdir);65 66 $script = file($ficlist);67 $hasError=false;68 $currentdestdir = '';69 $currentsrcdir = '';70 $preproc = new jPreProcessor();71 72 foreach($script as $nbline=>$line){73 $nbline++;74 if(preg_match('!^(cd|sd|dd|\*)?\s+([a-zA-Z0-9\/.\-_]+)\s*(?:\(([a-zA-Z0-9\/.\-_]*)\))?\s*$!m', $line, $m)){75 if($m[1] == 'dd'){76 $currentdestdir = normalizeDir($m[2]);77 createDir($distdir.$currentdestdir);78 }elseif($m[1] == 'sd'){79 $currentsrcdir = normalizeDir($m[2]);80 }elseif($m[1] == 'cd'){81 $currentsrcdir = normalizeDir($m[2]);82 $currentdestdir = normalizeDir($m[2]);83 createDir($distdir.$currentdestdir);84 }else{85 if($m[2] == ''){86 echo "$ficlist : file required on line $nbline \n";87 $hasError=true;88 break;89 }90 if(!isset($m[3]) || $m[3]=='') $m[3]=$m[2];91 92 $destfile = $distdir.$currentdestdir.$m[3];93 94 if($m[1]=='*'){95 if($options['verbose']){96 echo "process ".$sourcedir.$currentsrcdir.$m[2]."\tto\t".$destfile."\n";97 }98 99 $preproc->setVars($_SERVER);100 try{101 $contents = $preproc->parseFile($sourcedir.$currentsrcdir.$m[2]);102 }catch(Exception $e){103 echo "$ficlist : line $nbline, cannot process file ".$m[2]." (", $e ,")\n";104 $hasError=true;105 break;106 }107 file_put_contents($destfile,$contents);108 }else{109 if($options['verbose'])110 echo "copy ".$sourcedir.$currentsrcdir.$m[2]."\tto\t".$destfile."\n";111 112 if(!copy($sourcedir.$currentsrcdir.$m[2], $destfile)){113 echo "$ficlist : cannot copy file ".$m[2].", line $nbline \n";114 $hasError=true;115 break;116 }117 }118 119 }120 121 }elseif(preg_match("!^\s*(\#.*)?$!",$line)){122 // commentaire, on ignore123 }else{124 echo "$ficlist : syntax error on line $nbline \n";125 $hasError=true;126 break;127 }128 }129 130 if($hasError)131 exit(1);132 else133 exit(0);134 39 ?> trunk/build/preprocess.php
r232 r292 11 11 */ 12 12 13 require_once(dirname(__FILE__).'/preprocessor.lib.php'); 13 require_once(dirname(__FILE__).'/lib/preprocessor.lib.php'); 14 require_once(dirname(__FILE__).'/lib/jBuildUtils.lib.php'); 14 15 15 16 // arguments : chemin_source chemin_dist … … 39 40 } 40 41 } 41 42 function createDir ($dir){43 if (!file_exists($dir)) {44 createDir(dirname($dir));45 mkdir($dir, 0775);46 }47 }48 49 function normalizeDir($dirpath){50 if(substr($dirpath,-1) != '/'){51 $dirpath.='/';52 }53 return $dirpath;54 }55 56 57 42 try{ 58 43 … … 66 51 } 67 52 68 createDir(dirname($distfile));53 jBuildUtils::createDir(dirname($distfile)); 69 54 file_put_contents($distfile, $dist); 70 55 exit(0); trunk/build/README.TXT
r154 r292 1 jBuildTools : scripts de g�ration de distribution de sources1 jBuildTools : scripts de g�ration et de distribution de sources 2 2 3 3 4 4 preprocess.php 5 5 pr�rocesseur de fichier texte (PHP, HTML ou autre..) 6 voir http:// jelix.org/articles/hackersmanual/preprocesseur6 voir http://developer.jelix.org/wiki/fr/preprocesseur 7 7 usage : 8 8 php preprocess.php fichier_source fichier_cible … … 11 11 mkdist.php 12 12 g�rateur d'arborescence 13 voir http:// jelix.org/articles/hackersmanual/mkdist13 voir http://developer.jelix.org/wiki/fr/mkdist 14 14 usage : 15 15 php mkdist.php [-v] fichier_manifest.mn repertoire_source repertoire_cible trunk/build/tests/testpreprocess.php
r233 r292 11 11 */ 12 12 13 require_once(dirname(__FILE__).'/../ preprocessor.lib.php');13 require_once(dirname(__FILE__).'/../lib/preprocessor.lib.php'); 14 14 15 15 require_once(dirname(__FILE__).'/../../lib/simpletest/unit_tester.php'); trunk/Makefile
r271 r292 1 1 2 SHELL=/bin/sh 2 3 PHP=/usr/bin/php … … 5 6 CURRENT_PATH = $(shell pwd) 6 7 7 ifndef LIB_VERSION 8 LIB_VERSION = $(shell cat lib/jelix/VERSION) 8 ifdef DISTPATH 9 DISTPATHSWITCH="-D MAIN_TARGET_PATH=$(DISTPATH)" 10 else 11 DISTPATH=_dist 12 DISTPATHSWITCH= 9 13 endif 10 11 ifndef JTPL_VERSION 12 JTPL_VERSION = $(shell cat lib/jelix/tpl/VERSION) 14 ifdef TESTPATH 15 TESTPATHSWITCH="-D MAIN_TARGET_PATH=$(TESTPATH)" 16 else 17 TESTPATH=_dev 18 TESTPATHSWITCH= 13 19 endif 14 15 ifndef JBT_VERSION 16 JBT_VERSION = $(shell cat build/VERSION) 17 endif 18 19 SVN_REVISION = $(shell svn info | grep -E "vision" -m 1 | cut -d ":" -f 2 | cut -d " " -f 2) 20 21 ifeq ($(LIB_VERSION),SVN) 22 LIB_VERSION=SVN-$(SVN_REVISION) 23 endif 24 25 ifeq ($(JTPL_VERSION),SVN) 26 JTPL_VERSION=SVN-$(SVN_REVISION) 27 endif 28 29 ifeq ($(JBT_VERSION),SVN) 30 JBT_VERSION=SVN-$(SVN_REVISION) 31 endif 32 33 ifndef LIB_NAME 34 LIB_NAME=$(LIB_VERSION) 35 endif 36 ifndef JTPL_NAME 37 JTPL_NAME=$(LIB_VERSION) 38 endif 39 ifndef JBT_NAME 40 JBT_NAME=$(LIB_VERSION) 41 endif 42 43 ifndef DIST 44 DIST=_dist 45 endif 46 ifndef DEV 47 DEV=_dev 48 endif 49 ifndef DOCS 50 DOCS=_docs 51 endif 52 53 54 55 DISTJELIX="$(DIST)/jelix-$(LIB_VERSION)" 56 DISTHACKER="$(DEV)" 57 DISTJTPL="$(DIST)/jtpl" 58 DEVJTPL="$(DEV)/jtpl" 59 DISTJBT="$(DIST)/jbuildtools" 60 61 ifndef J_TEMP 62 J_TEMP=$(DISTHACKER) 63 endif 64 65 ifndef J_LIB 66 J_LIB=$(DISTHACKER) 20 ifndef DOCSPATH 21 DOCSPATH=_docs 67 22 endif 68 23 69 24 default: 70 @echo "target: " 71 @echo " dist-all dist-jelix dist-testapp dist-myapp dist-modules dist-demoxul" 72 @echo " dev-all dev-jelix dev-jelix-lib dev-myapp dev-testapp dev-modules dev-demoxul" 73 @echo " jtpl jtpl-dist" 74 @echo " jbt-dist" 75 @echo " docs" 25 @echo "target:" 26 @echo " tests editions : " 27 @echo " jelix-test, jtpl-test, testapp-test, myapp-test, all-test" 28 @echo " developers editions : (generate package for users)" 29 @echo " jelix-dist, testapp-dist, myapp-dist, jtpl-dist, jbt-dist, docs-dist, all-dist" 30 @echo " productions serveur editions : (generate optimized version with package)" 31 @echo " jelix-dist-opt all-dist-opt" 32 @echo " G�ration de la doc: " 33 @echo " docs" 76 34 @echo "param�es facultatifs (valeurs actuelles) :" 77 @echo " DIST : repertoire cible pour les distributions (" $(DIST) ")" 78 @echo " DEV : repertoire cible pour developper (" $(DEV) ")" 79 @echo " LIB_VERSION : num� de version de Jelix (" $(LIB_VERSION) ")" 80 @echo " JTPL_VERSION : num� de version de jtpl standalone (" $(JTPL_VERSION) ")" 81 @echo "r�rtoire de construction des projets:" 82 @echo " distributions jelix testapp myapp demoxul : " $(DISTJELIX) 83 @echo " developpement jelix testapp myapp demoxul : " $(DISTHACKER) 84 @echo " distribution jtpl : " $(DISTJTPL) 35 @echo " DISTPATH : repertoire cible pour les distributions (" $(DISTPATH) ")" 36 @echo " TESTPATH : repertoire cible pour developper (" $(TESTPATH) ")" 85 37 86 dist-all: dist-jelix dist-testapp dist-myapp jtpl-dist jbt-dist dist-modules 38 all-dist: jelix-dist testapp-dist myapp-dist jtpl-dist jbt-dist 87 39 88 dev-all: dev-jelix dev-modules dev-myapp dev-testapp jtpl 40 all-dist-opt: jelix-dist-opt 89 41 90 dist-jelix: common-dist 91 export LIB_VERSION=$(LIB_VERSION) \ 92 && $(PHP) build/mkdist.php build/manifests/jelix-lib.mn . $(DISTJELIX) \ 93 && $(PHP) build/mkdist.php build/manifests/jelix-dev.mn . $(DISTJELIX) \ 94 && $(PHP) build/mkdist.php build/manifests/jelix-others.mn . $(DISTJELIX) \ 95 && echo "$(LIB_VERSION)" > "$(DISTJELIX)/lib/jelix/VERSION" 96 tar czf $(DIST)/jelix-lib-$(LIB_NAME).tar.gz -C $(DISTJELIX) lib/ temp/ 42 all-test: jelix-test myapp-test testapp-test jtpl-test 97 43 98 dist-testapp: common-dist 99 $(PHP) build/mkdist.php build/manifests/testapp.mn . $(DISTJELIX) 100 tar czf $(DIST)/testapp-$(LIB_NAME).tar.gz -C $(DISTJELIX) testapp/ temp/testapp/ 44 jelix-dist: 45 $(PHP) build/buildjelix.php $(DISTPATHSWITCH) build/config/jelix-dist-dev.ini 101 46 102 dist-demoxul: common-dist 103 $(PHP) build/mkdist.php build/manifests/demoxul.mn . $(DISTJELIX) 104 tar czf $(DIST)/demoxul-$(LIB_NAME).tar.gz -C $(DISTJELIX) demoxul/ temp/demoxul/ 47 jelix-dist-opt: 48 $(PHP) build/buildjelix.php $(DISTPATHSWITCH) build/config/jelix-dist-opt.ini 105 49 106 dist-myapp: common-dist 107 $(PHP) build/mkdist.php build/manifests/myapp.mn . $(DISTJELIX) 108 tar czf $(DIST)/myapp-$(LIB_NAME).tar.gz -C $(DISTJELIX) myapp/ temp/myapp/ 50 jelix-test: 51 $(PHP) build/buildjelix.php $(TESTPATHSWITCH) build/config/jelix-test.ini 109 52 110 dist-modules: common-dist 111 export LIB_VERSION=$(LIB_VERSION) \ 112 && $(PHP) build/mkdist.php build/manifests/jelix-modules.mn lib/jelix-modules/ $(DIST)/additional-modules/ 113 tar czf $(DIST)/jelix-additional-modules-$(LIB_NAME).tar.gz -C $(DIST) additional-modules/ 53 testapp-dist: 54 $(PHP) build/buildapp.php $(DISTPATHSWITCH) build/config/testapp-dist.ini 114 55 115 common-dist: 116 if [ ! -d "$(DIST)" ] ; then mkdir $(DIST) ; fi 117 if [ ! -d "$(DISTJELIX)" ] ; then mkdir $(DISTJELIX) ; fi 118 if [ ! -d "$(DIST)/additional-modules/" ] ; then mkdir $(DIST)/additional-modules/ ; fi 56 testapp-test: 57 $(PHP) build/buildapp.php $(TESTPATHSWITCH) build/config/testapp-test.ini 119 58 120 dev-jelix: common-dev 121 export LIB_VERSION=$(LIB_VERSION) \ 122 && $(PHP) build/mkdist.php build/manifests/jelix-lib.mn . $(J_LIB) \ 123 && $(PHP) build/mkdist.php build/manifests/jelix-dev.mn . $(J_LIB) \ 124 && $(PHP) build/mkdist.php build/manifests/jelix-others.mn . $(J_TEMP) \ 125 && echo "$(LIB_VERSION)" > "$(J_LIB)/lib/jelix/VERSION" 59 myapp-dist: 60 $(PHP) build/buildapp.php $(DISTPATHSWITCH) build/config/myapp-dist.ini 126 61 127 dev-jelix-lib: common-dev 128 export LIB_VERSION=$(LIB_VERSION) \ 129 && $(PHP) build/mkdist.php build/manifests/jelix-lib.mn . $(DISTHACKER) \ 130 && echo "$(LIB_VERSION)" > "$(DISTHACKER)/lib/jelix/VERSION" 131 132 dev-modules: common-dev 133 export LIB_VERSION=$(LIB_VERSION) \ 134 && $(PHP) build/mkdist.php build/manifests/jelix-modules.mn lib/jelix-modules/ $(DISTHACKER)/lib/jelix-modules/ 135 136 dev-testapp: common-dev 137 $(PHP) build/mkdist.php build/manifests/testapp.mn . $(DISTHACKER) 138 139 dev-myapp: common-dev 140 $(PHP) build/mkdist.php build/manifests/myapp.mn . $(DISTHACKER) 141 142 dev-demoxul: common-dev 143 $(PHP) build/mkdist.php build/manifests/demoxul.mn . $(DISTHACKER) 144 145 common-dev: 146 if [ ! -d "$(DISTHACKER)" ] ; then mkdir $(DISTHACKER) ; fi 147 148 jtpl: 149 if [ ! -d "$(DEVJTPL)" ] ; then mkdir $(DEVJTPL) ; fi 150 export JTPL_STANDALONE=1 \ 151 && $(PHP) build/mkdist.php build/manifests/jtpl-standalone.mn . $(DEVJTPL) \ 152 && echo "$(JTPL_VERSION)" > "$(DEVJTPL)/VERSION" 62 myapp-test: 63 $(PHP) build/buildapp.php $(TESTPATHSWITCH) build/config/myapp-test.ini 153 64 154 65 jtpl-dist: 155 if [ ! -d "$(DISTJTPL)" ] ; then mkdir $(DISTJTPL) ; fi 156 export JTPL_STANDALONE=1 \ 157 && $(PHP) build/mkdist.php build/manifests/jtpl-standalone.mn . $(DISTJTPL) \ 158 && echo "$(JTPL_VERSION)" > "$(DISTJTPL)/VERSION" 159 tar czf $(DIST)/jtpl-$(JTPL_NAME).tar.gz -C $(DIST) jtpl/ 66 $(PHP) build/buildjtpl.php $(DISTPATHSWITCH) build/config/jtpl-dist.ini 67 68 jtpl-test: 69 $(PHP) build/buildjtpl.php $(TESTPATHSWITCH) build/config/jtpl-test.ini 160 70 161 71 jbt-dist: 162 if [ ! -d "$(DISTJBT)" ] ; then mkdir $(DISTJBT) ; fi 163 $(PHP) build/mkdist.php build/manifests/jbuildtools.mn build/ $(DISTJBT) \ 164 && echo "$(JBT_VERSION)" > "$(DISTJBT)/VERSION" 165 tar czf $(DIST)/jbuildtools-$(JBT_NAME).tar.gz -C $(DIST) jbuildtools/ 72 $(PHP) build/buildjbt.php $(DISTPATHSWITCH) build/config/jbt-dist.ini 73 74 jbt-test: 75 $(PHP) build/buildjbt.php $(TESTPATHSWITCH) build/config/jbt-test.ini 76 77 modules-dist: 78 $(PHP) build/buildmodules.php $(DISTPATHSWITCH) build/config/modules-dist.ini 79 80 modules-test: 81 $(PHP) build/buildmodules.php $(TESTPATHSWITCH) build/config/modules-test.ini 166 82 167 83 168 docs: dev-jelix-lib169 $(PHPDOC) -d $( DISTHACKER)/lib/jelix/ -t $(DOCS) \84 docs: jelix-test 85 $(PHPDOC) -d $(TESTPATH)/lib/jelix/ -t $(DOCSPATH) \ 170 86 -o "HTML:frames:DOM/jelix" -s on -ct "contributor,licence" -i *.ini.php \ 171 87 -ti "Jelix API Reference" -ric "README,INSTALL,CHANGELOG,CREDITS,LICENCE,VERSION"
