annotate packageimport.d @ 197:0ea0c9f9008f

Remove tango deprecation warnings.
author Frank Benoit <benoit@tionex.de>
date Wed, 18 Feb 2009 19:35:22 +0100
parents 07f3bab17e54
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
132
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 module packageimport;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 import tango.io.FilePath;
197
0ea0c9f9008f Remove tango deprecation warnings.
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
4 import tango.io.device.File;
132
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 import tango.io.Buffer;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 import tango.io.stream.FileStream;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 import tango.io.stream.TextFileStream;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 import tango.util.log.Trace;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 import tango.text.Regex;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 import tango.text.Util;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 import tango.text.stream.LineIterator;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 import tango.text.convert.Format;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 void processDir( char[] dir ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 auto pack = dir.dup.replace( '/', '.' );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 auto fp = FilePath(dir);
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 char[][] mods;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 // read all module names
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 foreach( fileinfo; fp ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 if( fileinfo.folder ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 processDir( fileinfo.path ~ fileinfo.name );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 continue;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 if( fileinfo.name.length > 2 && fileinfo.name[ $-2 .. $ ] == ".d" ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 mods ~= fileinfo.name.dup;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 // foreach module
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 foreach( mod; mods ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 auto filename = Format("{}/{}", dir, mod );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 Trace.formatln( "{}", filename );
197
0ea0c9f9008f Remove tango deprecation warnings.
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
32 auto cont = cast(char[])File.get( filename );
132
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 auto output = new TextFileOutput( filename );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 bool firstline = true;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 void println( char[] l ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 if( !firstline ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 output.newline();
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 output(l);
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 firstline = false;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 bool found = false;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 auto it = new LineIterator!(char)( new Buffer( cont ));
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 foreach( line; it ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 println(line);
152
07f3bab17e54 fixmodules
Frank Benoit <benoit@tionex.de>
parents: 132
diff changeset
46 if( line.length && line.locatePattern( "module " ) is 0 ){
132
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 found = true;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 break;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 assert( found );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 println( "" );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 foreach( impmod; mods ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 if( impmod == mod ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 continue;
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 println( Format( "import {}.{}; // packageimport", pack, impmod[ 0 .. $-2] ));
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 println( "" );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 foreach( line; it ){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 println(line);
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 output.flush();
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 output.close();
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 // read content into buffer
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 // search module statement and print to outfile
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 // write package imports
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 // write all remaining lines
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 void main(){
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 processDir( "dwtx/text" );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 processDir( "dwtx/jface/text" );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 processDir( "dwtx/jface/internal/text" );
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 }
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81
77bd3bb3d7b8 tool for package imports
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82