aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Tools/Windows/Installer/LICENSE.txt25
-rw-r--r--OpenSim/Tools/Windows/Installer/OpenSim.nsi151
-rwxr-xr-xOpenSim/Tools/classaudit.pl133
3 files changed, 309 insertions, 0 deletions
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
new file mode 100644
index 0000000..6ad7705
--- /dev/null
+++ b/OpenSim/Tools/Windows/Installer/LICENSE.txt
@@ -0,0 +1,25 @@
1Copyright (c) Contributors, http://opensimulator.org/
2See CONTRIBUTORS.TXT for a full list of copyright holders.
3
4Redistribution and use in source and binary forms, with or without
5modification, are permitted provided that the following conditions are met:
6 * Redistributions of source code must retain the above copyright
7 notice, this list of conditions and the following disclaimer.
8 * Redistributions in binary form must reproduce the above copyright
9 notice, this list of conditions and the following disclaimer in the
10 documentation and/or other materials provided with the distribution.
11 * Neither the name of the OpenSim Project nor the
12 names of its contributors may be used to endorse or promote products
13 derived from this software without specific prior written permission.
14
15THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY EXPRESS OR
16IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
19DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
21GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/OpenSim/Tools/Windows/Installer/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
new file mode 100644
index 0000000..d1df7ba
--- /dev/null
+++ b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
@@ -0,0 +1,151 @@
1!include "MUI.nsh"
2
3Name "OpenSim"
4OutFile "OpenSim Setup 0.4.exe"
5
6CRCCheck On
7
8InstallDir "$PROGRAMFILES\OpenSim"
9InstallDirRegKey HKCU "Software\OpenSim" ""
10
11;Vista redirects $SMPROGRAMS to all users without this
12RequestExecutionLevel admin
13
14Var MUI_TEMP
15Var STARTMENU_FOLDER
16
17!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
18!define MUI_LANGDLL_REGISTRY_KEY "Software\OpenSim"
19!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
20
21!define MUI_ABORTWARNING
22
23!insertmacro MUI_PAGE_WELCOME
24!insertmacro MUI_PAGE_LICENSE "LICENSE.txt"
25!insertmacro MUI_PAGE_DIRECTORY
26
27!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
28!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenSim"
29!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
30
31!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
32
33!insertmacro MUI_PAGE_INSTFILES
34!insertmacro MUI_PAGE_FINISH
35
36!insertmacro MUI_UNPAGE_WELCOME
37!insertmacro MUI_UNPAGE_CONFIRM
38!insertmacro MUI_UNPAGE_INSTFILES
39!insertmacro MUI_UNPAGE_FINISH
40
41!insertmacro MUI_LANGUAGE "English"
42!insertmacro MUI_LANGUAGE "French"
43!insertmacro MUI_LANGUAGE "German"
44!insertmacro MUI_LANGUAGE "Spanish"
45!insertmacro MUI_LANGUAGE "SpanishInternational"
46!insertmacro MUI_LANGUAGE "SimpChinese"
47!insertmacro MUI_LANGUAGE "TradChinese"
48!insertmacro MUI_LANGUAGE "Japanese"
49!insertmacro MUI_LANGUAGE "Korean"
50!insertmacro MUI_LANGUAGE "Italian"
51!insertmacro MUI_LANGUAGE "Dutch"
52!insertmacro MUI_LANGUAGE "Danish"
53!insertmacro MUI_LANGUAGE "Swedish"
54!insertmacro MUI_LANGUAGE "Norwegian"
55!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
56!insertmacro MUI_LANGUAGE "Finnish"
57!insertmacro MUI_LANGUAGE "Greek"
58!insertmacro MUI_LANGUAGE "Russian"
59!insertmacro MUI_LANGUAGE "Portuguese"
60!insertmacro MUI_LANGUAGE "PortugueseBR"
61!insertmacro MUI_LANGUAGE "Polish"
62!insertmacro MUI_LANGUAGE "Ukrainian"
63!insertmacro MUI_LANGUAGE "Czech"
64!insertmacro MUI_LANGUAGE "Slovak"
65!insertmacro MUI_LANGUAGE "Croatian"
66!insertmacro MUI_LANGUAGE "Bulgarian"
67!insertmacro MUI_LANGUAGE "Hungarian"
68!insertmacro MUI_LANGUAGE "Thai"
69!insertmacro MUI_LANGUAGE "Romanian"
70!insertmacro MUI_LANGUAGE "Latvian"
71!insertmacro MUI_LANGUAGE "Macedonian"
72!insertmacro MUI_LANGUAGE "Estonian"
73!insertmacro MUI_LANGUAGE "Turkish"
74!insertmacro MUI_LANGUAGE "Lithuanian"
75!insertmacro MUI_LANGUAGE "Slovenian"
76!insertmacro MUI_LANGUAGE "Serbian"
77!insertmacro MUI_LANGUAGE "SerbianLatin"
78!insertmacro MUI_LANGUAGE "Arabic"
79!insertmacro MUI_LANGUAGE "Farsi"
80!insertmacro MUI_LANGUAGE "Hebrew"
81!insertmacro MUI_LANGUAGE "Indonesian"
82!insertmacro MUI_LANGUAGE "Mongolian"
83!insertmacro MUI_LANGUAGE "Luxembourgish"
84!insertmacro MUI_LANGUAGE "Albanian"
85!insertmacro MUI_LANGUAGE "Breton"
86!insertmacro MUI_LANGUAGE "Belarusian"
87!insertmacro MUI_LANGUAGE "Icelandic"
88!insertmacro MUI_LANGUAGE "Malay"
89!insertmacro MUI_LANGUAGE "Bosnian"
90!insertmacro MUI_LANGUAGE "Kurdish"
91!insertmacro MUI_LANGUAGE "Irish"
92!insertmacro MUI_LANGUAGE "Uzbek"
93!insertmacro MUI_LANGUAGE "Galician"
94!insertmacro MUI_LANGUAGE "Afrikaans"
95!insertmacro MUI_LANGUAGE "Catalan"
96
97!insertmacro MUI_RESERVEFILE_LANGDLL
98
99Section "Install"
100 SetOutPath "$INSTDIR"
101
102 SetCompress Auto
103 SetOverwrite IfNewer
104 File /r "bin\*.*"
105
106 WriteRegStr HKCU "Software\OpenSim" "" $INSTDIR
107 WriteUninstaller "$INSTDIR\Uninstall.exe"
108
109 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
110 CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
111 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenSim.lnk" "$INSTDIR\OpenSim.exe"
112 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
113 !insertmacro MUI_STARTMENU_WRITE_END
114
115 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "DisplayName" "OpenSim (remove only)"
116 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "UninstallString" "$INSTDIR\Uninstall.exe"
117SectionEnd
118
119Function .onInit
120 !insertmacro MUI_LANGDLL_DISPLAY
121FunctionEnd
122
123Section "Uninstall"
124 Delete "$INSTDIR\*.*"
125 RMDir /r "$INSTDIR"
126
127!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
128
129 Delete "$SMPROGRAMS\$MUI_TEMP\OpenSim.lnk"
130 Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
131
132 ;Delete empty start menu parent diretories
133 StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
134
135 startMenuDeleteLoop:
136 ClearErrors
137 RMDir $MUI_TEMP
138 GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
139
140 IfErrors startMenuDeleteLoopDone
141
142 StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
143 startMenuDeleteLoopDone:
144
145 DeleteRegKey /ifempty HKCU "Software\OpenSim"
146 DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim"
147SectionEnd
148
149Function un.onInit
150 !insertmacro MUI_UNGETLANGUAGE
151FunctionEnd
diff --git a/OpenSim/Tools/classaudit.pl b/OpenSim/Tools/classaudit.pl
new file mode 100755
index 0000000..efe0069
--- /dev/null
+++ b/OpenSim/Tools/classaudit.pl
@@ -0,0 +1,133 @@
1#!/usr/bin/perl
2#
3# Audit tool for OpenSim class and namespace definitions.
4#
5# Copyright 2007 IBM
6#
7# Authors: Sean Dague
8#
9# Redistribution and use in source and binary forms, with or without
10# modification, are permitted provided that the following conditions are met:
11# * Redistributions of source code must retain the above copyright
12# notice, this list of conditions and the following disclaimer.
13# * Redistributions in binary form must reproduce the above copyright
14# notice, this list of conditions and the following disclaimer in the
15# documentation and/or other materials provided with the distribution.
16# * Neither the name of the OpenSim Project nor the
17# names of its contributors may be used to endorse or promote products
18# derived from this software without specific prior written permission.
19#
20# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
21# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
24# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31use strict;
32use File::Find;
33use Data::Dumper;
34use constant YELLOW => "\033[33m";
35use constant RED => "\033[31m";
36use constant CLEAR => "\033[0m";
37our %totals;
38
39
40find(\&test, "../OpenSim");
41print Dumper(\%totals);
42
43sub test {
44 my $file = $File::Find::name;
45 my $dir = $File::Find::dir;
46 $file =~ s{^../}{}; #strip off prefix
47 $dir =~ s{^../}{}; #strip off prefix
48
49 return if ($file !~ /\.cs$/);
50 return if ($file =~ /AssemblyInfo\.cs$/);
51
52 print "Processing File: $file\n";
53
54 my $namespace = find_namespace($_);
55 my $class = find_class($_);
56
57
58
59 if(cmp_namespace($namespace, $dir) == 1) {
60 $totals{goodns}++;
61 } else {
62 $totals{badns}++;
63 }
64
65
66 if(cmp_class($namespace, $class, $file) == 1) {
67 $totals{goodclass}++;
68 } else {
69 $totals{badclass}++;
70 }
71 print "\n";
72}
73
74sub find_class {
75 my $file = shift;
76 my $content = slurp($file);
77 if ($content =~ /\n\s*(public|private|protected)?\s*(class|interface)\s+(\S+)/) {
78 return $3;
79 }
80 return "";
81}
82
83sub find_namespace {
84 my $file = shift;
85 my $content = slurp($file);
86
87 if ($content =~ /\bnamespace\s+(\S+)/s) {
88 return $1;
89 }
90 return "";
91}
92
93sub slurp {
94 my $file = shift;
95 local(*IN);
96 local $/ = undef;
97
98 open(IN, "$file") or die "Can't open '$file': $!";
99 my $content = <IN>;
100 close(IN);
101
102 return $content;
103}
104
105sub cmp_class {
106 my ($ns, $class, $file) = @_;
107 $class = "$ns.$class";
108 my $classtrans = $class;
109 $classtrans =~ s{\.}{/}g;
110 $classtrans .= ".cs";
111
112 if($classtrans ne $file) {
113 error(YELLOW, "CLASS: $class != $file");
114 return -1;
115 }
116 return 1;
117}
118
119sub cmp_namespace {
120 my ($ns, $dir) = @_;
121 my $nstrans = $ns;
122 $nstrans =~ s{\.}{/}g;
123
124 if($nstrans ne $dir) {
125 error(RED, "NS: $ns != $dir");
126 return -1;
127 }
128 return 1;
129}
130
131sub error {
132 print @_, CLEAR, "\n";
133}