Added build-tools (Windows)
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.class
|
@ -430,10 +430,10 @@ public class JUninstaller extends Frame implements ActionListener {
|
|||||||
selItem = null;
|
selItem = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ltApps.makeVisible(selIdx);
|
|
||||||
ltApps.select(selIdx);
|
ltApps.select(selIdx);
|
||||||
pnUnin.add(ltApps, BorderLayout.CENTER);
|
pnUnin.add(ltApps, BorderLayout.CENTER);
|
||||||
pnUnin.validate();
|
pnUnin.validate();
|
||||||
|
ltApps.makeVisible(selIdx);
|
||||||
MIP.infoPrint(apps.length+" logs");
|
MIP.infoPrint(apps.length+" logs");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -455,10 +455,10 @@ public class JUninstaller extends Frame implements ActionListener {
|
|||||||
selItem = null;
|
selItem = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ltView.makeVisible(selIdx);
|
|
||||||
ltView.select(selIdx);
|
ltView.select(selIdx);
|
||||||
pnView.add(ltView, 1);
|
pnView.add(ltView, 1);
|
||||||
pnView.validate();
|
pnView.validate();
|
||||||
|
ltView.makeVisible(selIdx);
|
||||||
MIP.infoPrint(entries.length+" entries");
|
MIP.infoPrint(entries.length+" entries");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -534,13 +534,8 @@ public class JUninstaller extends Frame implements ActionListener {
|
|||||||
long min;
|
long min;
|
||||||
long sec;
|
long sec;
|
||||||
long mil;
|
long mil;
|
||||||
long remTime;
|
|
||||||
long maxcount = 0;
|
long maxcount = 0;
|
||||||
boolean blProgBar = (lbSIP.getText().indexOf("SCAN") == -1);
|
boolean blProgBar = (lbSIP.getText().indexOf("SCAN") == -1);
|
||||||
double perc;
|
|
||||||
int idx;
|
|
||||||
String outtext;
|
|
||||||
int ctr = 0;
|
|
||||||
if (blProgBar) {
|
if (blProgBar) {
|
||||||
try {
|
try {
|
||||||
maxcount = Long.parseLong(props.getProperty("dump.entries"));
|
maxcount = Long.parseLong(props.getProperty("dump.entries"));
|
||||||
@ -554,26 +549,8 @@ public class JUninstaller extends Frame implements ActionListener {
|
|||||||
min = diffTime/60000;
|
min = diffTime/60000;
|
||||||
sec = (diffTime/1000)%60;
|
sec = (diffTime/1000)%60;
|
||||||
mil = (diffTime/10)%100;
|
mil = (diffTime/10)%100;
|
||||||
outtext = min+":"+((sec<10)?"0":"")+sec+"."+((mil<10)?"0":"")+mil;
|
lbTime.setText(min+":"+((sec<10)?"0":"")+sec+"."+((mil<10)?"0":"")+mil);
|
||||||
if (blProgBar && maxcount>0) {
|
if (blProgBar && maxcount>0) progBar.setPos(mfs.cmpcounter);
|
||||||
progBar.setPos(mfs.cmpcounter);
|
|
||||||
perc = (double)mfs.cmpcounter/(double)maxcount;
|
|
||||||
if (perc>0.1 && ctr>10) {
|
|
||||||
remTime = (int)((double)diffTime/perc)-diffTime;
|
|
||||||
min = remTime/60000;
|
|
||||||
sec = (remTime/1000)%60;
|
|
||||||
mil = (remTime/10)%100;
|
|
||||||
outtext += " ("+min+":"+((sec<10)?"0":"")+sec+"."+((mil<10)?"0":"")+mil+")";
|
|
||||||
ctr = 0;
|
|
||||||
} else {
|
|
||||||
idx = lbTime.getText().indexOf(" ");
|
|
||||||
if (idx>=0) {
|
|
||||||
outtext += lbTime.getText().substring(lbTime.getText().indexOf(" "));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ctr++;
|
|
||||||
}
|
|
||||||
lbTime.setText(outtext);
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep(500);
|
Thread.sleep(500);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
2
TODO
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
- show version number
|
||||||
|
- delete empty directories after deletion of last file in that directory
|
0
add/!/system/Apps/JUninstaller/JUninstaller.prop
Normal file
98
build.cmd
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set UID=0x10205DB2
|
||||||
|
set NAME=jUninstaller
|
||||||
|
set CREATOR=Markus Birth
|
||||||
|
set CLASS=JUninstaller
|
||||||
|
set VER=1,0,100
|
||||||
|
:VER is following format: Major,Minor,Build (don't forget the commas)
|
||||||
|
set ADDFILESDIR=add
|
||||||
|
|
||||||
|
:###########################################################################
|
||||||
|
:#### PROGRAM CODE FOLLOWING --- DO NOT CHANGE ANYTHING BELOW THIS LINE ####
|
||||||
|
:###########################################################################
|
||||||
|
|
||||||
|
|
||||||
|
IF NOT EXIST files\NUL mkdir files
|
||||||
|
IF NOT EXIST release\NUL mkdir release
|
||||||
|
IF NOT EXIST icon\20x16.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\20x16m.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\32x32.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\32x32m.bmp GOTO noicon
|
||||||
|
|
||||||
|
echo Deleting old stuff.
|
||||||
|
del /Q files\*.*
|
||||||
|
del /Q release\*.*
|
||||||
|
IF EXIST config\genaif.cfg del /Q config\genaif.cfg
|
||||||
|
IF EXIST config\icon.mbm del /Q config\icon.mbm
|
||||||
|
IF EXIST config\manifest.mf del /Q config\manifest.mf
|
||||||
|
IF EXIST config\makesis.pkg del /Q config\makesis.pkg
|
||||||
|
|
||||||
|
echo Building MBM.
|
||||||
|
config\bmconv /Q config\icon.mbm /c24icon\20x16.bmp /1icon\20x16m.bmp /c24icon\32x32.bmp /1icon\32x32m.bmp
|
||||||
|
:config\bmconv /Q config\icon.mbm /c24icon\32x32.bmp /1icon\32x32m.bmp
|
||||||
|
|
||||||
|
echo Building genaif.cfg.
|
||||||
|
:USING UNIX-ECHO BECAUSE IT DOESN'T OUTPUT TRAILING SPACES.
|
||||||
|
:WINDOWS ECHO DOESN'T WORK WITH 0>> OR 1>> AND TRAILING SPACES ARE NOT NICE.
|
||||||
|
config\echo mbmfile=config\icon.mbm >config\genaif.cfg
|
||||||
|
config\echo ELangEnglish=%NAME% >>config\genaif.cfg
|
||||||
|
config\echo hidden=0 >>config\genaif.cfg
|
||||||
|
config\echo embeddability=0 >>config\genaif.cfg
|
||||||
|
config\echo newfile=1 >>config\genaif.cfg
|
||||||
|
|
||||||
|
echo Building AIF.
|
||||||
|
config\genaif %UID% <config\genaif.cfg >files\%NAME%.aif
|
||||||
|
|
||||||
|
echo Building APP.
|
||||||
|
config\genaif 0x00000000 0x10001734 %UID% >files\%NAME%.app
|
||||||
|
|
||||||
|
echo Building TXT.
|
||||||
|
config\echo -n -cp %NAME%.jar %CLASS%>files\%NAME%.txt
|
||||||
|
|
||||||
|
echo Building MANIFEST.
|
||||||
|
echo Manifest-Version: 1.0>config\manifest.mf
|
||||||
|
echo Created-By: 0.92-gcc (%CREATOR%)>>config\manifest.mf
|
||||||
|
echo Main-Class: %CLASS%>>config\manifest.mf
|
||||||
|
|
||||||
|
echo Building JAR.
|
||||||
|
config\jar cfm files\%NAME%.jar config\manifest.mf *.class
|
||||||
|
|
||||||
|
echo Building PKG.
|
||||||
|
echo ^&EN>config\makesis.pkg
|
||||||
|
echo #{"%NAME%"},(%UID%),%VER%,TYPE=SISAPP>>config\makesis.pkg
|
||||||
|
echo (0x101F617B),2,0,0,{"UIQ20ProductID"}>>config\makesis.pkg
|
||||||
|
cd files
|
||||||
|
FOR %%f IN (*.*) DO echo "files\%%f"-"!:\System\Apps\%NAME%\%%f">>..\config\makesis.pkg
|
||||||
|
cd ..
|
||||||
|
if NOT EXIST config\AddFiles.class javac config\AddFiles.java
|
||||||
|
java -cp config AddFiles %ADDFILESDIR%
|
||||||
|
|
||||||
|
echo Building SIS.
|
||||||
|
config\makesis config\makesis.pkg release\%NAME%.sis
|
||||||
|
|
||||||
|
echo Cleaning up.
|
||||||
|
del /Q config\genaif.cfg
|
||||||
|
del /Q config\icon.mbm
|
||||||
|
del /Q config\manifest.mf
|
||||||
|
:del /Q config\makesis.pkg
|
||||||
|
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:noicon
|
||||||
|
echo There are no icon BMPs in .\icon or at least one file is missing!!!
|
||||||
|
echo Please create following icons with the specified names:
|
||||||
|
echo.
|
||||||
|
echo 20x16.bmp Small icon with 24bpp
|
||||||
|
echo 20x16m.bmp Transparency mask for small icon with 1bpp
|
||||||
|
echo 32x32.bmp Large icon with 24bpp
|
||||||
|
echo 32x32m.bmp Transparency mask for large icon with 1bpp
|
||||||
|
echo.
|
||||||
|
echo Transparency: black=opaque, white=transparent
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:end
|
||||||
|
endlocal
|
||||||
|
echo.
|
||||||
|
echo All done.
|
73
config/AddFiles.java
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class AddFiles {
|
||||||
|
|
||||||
|
static String pdir;
|
||||||
|
|
||||||
|
private static void addEntry(String path, BufferedWriter out) throws IOException {
|
||||||
|
System.out.print(path);
|
||||||
|
out.write("\""+path+"\"-\"");
|
||||||
|
path = path.substring(pdir.length()+1);
|
||||||
|
path = path.substring(0,1)+":"+path.substring(1);
|
||||||
|
System.out.println(" -> "+path);
|
||||||
|
out.write(path+"\"");
|
||||||
|
out.newLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addRemovalEntry(String path, BufferedWriter out) throws IOException {
|
||||||
|
out.write("\"\"-\"");
|
||||||
|
path = path.substring(pdir.length()+1);
|
||||||
|
path = path.substring(0,1)+":"+path.substring(1);
|
||||||
|
System.out.println(path+" (created later)");
|
||||||
|
out.write(path+"\",FN");
|
||||||
|
out.newLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void parseDir(File dir, BufferedWriter out) throws IOException {
|
||||||
|
String[] files = dir.list();
|
||||||
|
if (files != null) {
|
||||||
|
for (int i=0;i<files.length;i++) {
|
||||||
|
File tmp = new File(dir.getPath()+"\\"+files[i]);
|
||||||
|
if (tmp.isDirectory() && tmp.canRead() && !tmp.isHidden()) {
|
||||||
|
out.flush();
|
||||||
|
parseDir(tmp, out);
|
||||||
|
} else if (tmp.isFile() && !tmp.isHidden()) {
|
||||||
|
addEntry(tmp.getPath(), out);
|
||||||
|
} else if (tmp.isFile() && tmp.isHidden()) {
|
||||||
|
addRemovalEntry(tmp.getPath(), out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
if (args.length<1) {
|
||||||
|
System.out.println("Syntax: AddFiles [directory]");
|
||||||
|
System.exit(3);
|
||||||
|
}
|
||||||
|
pdir = args[0];
|
||||||
|
File bld = new File("config\\makesis.pkg");
|
||||||
|
if (!bld.exists()) {
|
||||||
|
System.out.println("config\\makesis.pkg doesn't exist. Exiting...");
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
File dir = new File(pdir);
|
||||||
|
try {
|
||||||
|
BufferedWriter out = new BufferedWriter(new FileWriter(bld, true));
|
||||||
|
|
||||||
|
parseDir(dir, out);
|
||||||
|
|
||||||
|
out.close();
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
System.out.println("Error while adding data!");
|
||||||
|
ioe.printStackTrace();
|
||||||
|
System.exit(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
132
config/UpdateVersion.java
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class UpdateVersion {
|
||||||
|
|
||||||
|
private static String[] addString(String[] arr, String txt) {
|
||||||
|
String[] tmp;
|
||||||
|
tmp = new String[arr.length+1];
|
||||||
|
for (int i=0;i<arr.length;i++) {
|
||||||
|
tmp[i] = arr[i];
|
||||||
|
}
|
||||||
|
tmp[arr.length] = txt;
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String[] explode(String txt, String sep) {
|
||||||
|
int i=0;
|
||||||
|
int idx;
|
||||||
|
String[] result = new String[0];
|
||||||
|
while ((idx = txt.indexOf(sep, i)) >= 0) {
|
||||||
|
result = addString(result, txt.substring(i,idx));
|
||||||
|
i = idx+sep.length();
|
||||||
|
}
|
||||||
|
result = addString(result, txt.substring(i));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
if (args.length<4) {
|
||||||
|
System.out.println("Syntax: java UpdateVersion [Action] [Major] [Minor] [Build]\n");
|
||||||
|
System.out.println(" [Action] is one of:");
|
||||||
|
System.out.println(" SET to set new values, any non-number will be ignored");
|
||||||
|
System.out.println(" ADD to add values to current values, use +x or -x\n");
|
||||||
|
System.out.println("Example: java UpdateVersion SET x 5 x");
|
||||||
|
System.out.println(" sets Minor version to 5, leaves other values as they are");
|
||||||
|
System.out.println(" java UpdateVersion ADD 0 -2 1");
|
||||||
|
System.out.println(" leaves Major, subtracts 2 from Minor version and adds 1 to build");
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
args[0] = args[0].toLowerCase();
|
||||||
|
if (!args[0].equals("set") && !args[0].equals("add")) {
|
||||||
|
System.out.println("Incorrect Action-switch. See Syntax.");
|
||||||
|
System.exit(4);
|
||||||
|
}
|
||||||
|
File bld = new File("build.cmd");
|
||||||
|
File bld2 = new File("build.$$$");
|
||||||
|
if (!bld.exists()) {
|
||||||
|
System.out.println("build.cmd doesn't exist. Exiting...");
|
||||||
|
System.exit(8);
|
||||||
|
}
|
||||||
|
if (bld2.exists()) {
|
||||||
|
if (!bld2.delete()) {
|
||||||
|
System.out.println("Could not delete temporary file build.$$$. Exiting...");
|
||||||
|
System.exit(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String tmp;
|
||||||
|
String ntmp = "set VER=";
|
||||||
|
int itmp;
|
||||||
|
int[] newi = { 0, 0, 0 };
|
||||||
|
try {
|
||||||
|
BufferedReader in = new BufferedReader(new FileReader(bld));
|
||||||
|
BufferedWriter out = new BufferedWriter(new FileWriter(bld2));
|
||||||
|
while ((tmp = in.readLine()) != null) {
|
||||||
|
tmp = tmp.trim();
|
||||||
|
if (tmp.toLowerCase().indexOf("set ver=") >= 0) {
|
||||||
|
System.out.println("Old: "+tmp);
|
||||||
|
String[] a1 = explode(tmp, "=");
|
||||||
|
String[] a2 = explode(a1[1], ",");
|
||||||
|
if (args[0].equals("set")) {
|
||||||
|
for (int i=0;i<3;i++) {
|
||||||
|
try {
|
||||||
|
newi[i] = Integer.parseInt(args[i+1]);
|
||||||
|
} catch (NumberFormatException nfe) {
|
||||||
|
try {
|
||||||
|
newi[i] = Integer.parseInt(a2[i]);
|
||||||
|
} catch (NumberFormatException nfe2) {
|
||||||
|
System.out.println("Error while parsing specified+old numbers!");
|
||||||
|
nfe2.printStackTrace();
|
||||||
|
System.exit(7);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (args[0].equals("add")) {
|
||||||
|
for (int i=0;i<3;i++) {
|
||||||
|
try {
|
||||||
|
newi[i] = Integer.parseInt(a2[i]);
|
||||||
|
} catch (NumberFormatException nfe) {
|
||||||
|
System.out.println("Error while parsing old numbers!");
|
||||||
|
nfe.printStackTrace();
|
||||||
|
System.exit(6);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
newi[i] += Integer.parseInt(args[i+1]);
|
||||||
|
} catch (NumberFormatException nfe) {
|
||||||
|
System.out.println("Error while parsing specified numbers!");
|
||||||
|
nfe.printStackTrace();
|
||||||
|
System.exit(5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i=0;i<3;i++) {
|
||||||
|
ntmp += Integer.toString(newi[i])+((i<=1)?",":"");
|
||||||
|
}
|
||||||
|
System.out.println("New: "+ntmp);
|
||||||
|
out.write(ntmp);
|
||||||
|
out.newLine();
|
||||||
|
} else {
|
||||||
|
out.write(tmp);
|
||||||
|
out.newLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
out.close();
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
System.out.println("Error while copying!");
|
||||||
|
ioe.printStackTrace();
|
||||||
|
System.exit(3);
|
||||||
|
}
|
||||||
|
if (bld.delete()) {
|
||||||
|
bld2.renameTo(bld);
|
||||||
|
} else {
|
||||||
|
System.out.println("Could not delete old build.cmd. New file is build.$$$ - rename manually!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
2
config/addfiles.lst
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
C:\Documents and Settings\Administrator\My Documents\Development\Java\jUninstaller\add\system\Java\ext\Util.jar
|
||||||
|
C:\Documents and Settings\Administrator\My Documents\Development\Java\jUninstaller\add\system\Libs\TaskSwitch1.dll
|
BIN
config/bmconv.exe
Normal file
31
config/bmconv.txt
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
BMCONV version 48.
|
||||||
|
Epoc multiple bitmap file/rom store convertor program.
|
||||||
|
Copyright (c) 1998 Symbian Ltd
|
||||||
|
|
||||||
|
Usage: BMCONV [/r] [/n] [/hheader] [/q] epocfile [OPT]bmp_1 ... [OPT]bmp_n
|
||||||
|
BMCONV /u epocfile bmp_1 [... bmp_n]
|
||||||
|
BMCONV /v epocfile
|
||||||
|
BMCONV commandfile
|
||||||
|
|
||||||
|
/r specifies a ROM image destination file,
|
||||||
|
the default is a File Store destination file.
|
||||||
|
|
||||||
|
/n disables bitmap compression.
|
||||||
|
|
||||||
|
/q specifies quiet mode - only errors are reported.
|
||||||
|
|
||||||
|
/hheader optionally specifies the automatic generation
|
||||||
|
of a header file "header" for inclusion into code.
|
||||||
|
|
||||||
|
OPT may be one of /1, /2, /4, /8, /c4, /c8, /c12, /c16, /c24
|
||||||
|
specifying bits per pixel and grey-scale/colour, default is /2.
|
||||||
|
|
||||||
|
epocfile specifies the epoc multi-bitmap file name.
|
||||||
|
bmp_n specifies the nth bitmap file name.
|
||||||
|
|
||||||
|
/u decompiles epocfile to bmp_1,...,bmp_n
|
||||||
|
/v displays a summary of the bitmaps in epocfile
|
||||||
|
otherwise bmp_1,...,bmp_n are compiled to epocfile
|
||||||
|
|
||||||
|
commandfile specifies a file containing the commandline
|
||||||
|
with commands separated by spaces or newlines.
|
After Width: | Height: | Size: 1.0 KiB |
95
config/build.cmd
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set UID=0x10205DB2
|
||||||
|
set NAME=jUninstaller
|
||||||
|
set CREATOR=Markus Birth
|
||||||
|
set CLASS=JUninstaller
|
||||||
|
set VER=6,4,5
|
||||||
|
:VER is following format: Major,Minor,Build (don't forget the commas)
|
||||||
|
|
||||||
|
:###########################################################################
|
||||||
|
:#### PROGRAM CODE FOLLOWING --- DO NOT CHANGE ANYTHING BELOW THIS LINE ####
|
||||||
|
:###########################################################################
|
||||||
|
|
||||||
|
|
||||||
|
IF NOT EXIST files\NUL mkdir files
|
||||||
|
IF NOT EXIST release\NUL mkdir release
|
||||||
|
IF NOT EXIST icon\20x16.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\20x16m.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\32x32.bmp GOTO noicon
|
||||||
|
IF NOT EXIST icon\32x32m.bmp GOTO noicon
|
||||||
|
|
||||||
|
echo Deleting old stuff.
|
||||||
|
del /Q files\*.*
|
||||||
|
del /Q release\*.*
|
||||||
|
IF EXIST config\genaif.cfg del /Q config\genaif.cfg
|
||||||
|
IF EXIST config\icon.mbm del /Q config\icon.mbm
|
||||||
|
IF EXIST config\manifest.mf del /Q config\manifest.mf
|
||||||
|
:IF EXIST config\makesis.pkg del /Q config\makesis.pkg
|
||||||
|
|
||||||
|
echo Building MBM.
|
||||||
|
config\bmconv /Q config\icon.mbm /c24icon\20x16.bmp /1icon\20x16m.bmp /c24icon\32x32.bmp /1icon\32x32m.bmp
|
||||||
|
|
||||||
|
echo Building genaif.cfg.
|
||||||
|
:USING UNIX-ECHO BECAUSE IT DOESN'T OUTPUT TRAILING SPACES.
|
||||||
|
:WINDOWS ECHO DOESN'T WORK WITH 0>> OR 1>> AND TRAILING SPACES ARE NOT NICE.
|
||||||
|
config\echo mbmfile=config\icon.mbm >config\genaif.cfg
|
||||||
|
config\echo ELangEnglish=%NAME% >>config\genaif.cfg
|
||||||
|
config\echo hidden=0 >>config\genaif.cfg
|
||||||
|
config\echo embeddability=0 >>config\genaif.cfg
|
||||||
|
config\echo newfile=1 >>config\genaif.cfg
|
||||||
|
|
||||||
|
echo Building AIF.
|
||||||
|
config\genaif %UID% <config\genaif.cfg >files\%NAME%.aif
|
||||||
|
|
||||||
|
echo Building APP.
|
||||||
|
config\genaif 0x00000000 0x10001734 %UID% >files\%NAME%.app
|
||||||
|
|
||||||
|
echo Building TXT.
|
||||||
|
config\echo -n -cp %NAME%.jar %CLASS%>files\%NAME%.txt
|
||||||
|
|
||||||
|
echo Building MANIFEST.
|
||||||
|
echo Manifest-Version: 1.0>config\manifest.mf
|
||||||
|
echo Created-By: 0.92-gcc (%CREATOR%)>>config\manifest.mf
|
||||||
|
echo Main-Class: %CLASS%>>config\manifest.mf
|
||||||
|
|
||||||
|
echo Building JAR.
|
||||||
|
config\jar cfm files\%NAME%.jar config\manifest.mf *.class
|
||||||
|
|
||||||
|
GOTO skipthis
|
||||||
|
echo Building SIS.
|
||||||
|
echo ^&EN>config\makesis.pkg
|
||||||
|
echo #{"%NAME%"},(%UID%),%VER%,TYPE=SISAPP>>config\makesis.pkg
|
||||||
|
echo (0x101F617B),2,0,0,{"UIQ20ProductID"}>>config\makesis.pkg
|
||||||
|
cd files
|
||||||
|
FOR %%f IN (*.*) DO echo "files\%%f"-"!:\System\Apps\%NAME%\%%f">>..\config\makesis.pkg
|
||||||
|
cd ..
|
||||||
|
dir /B /S /AA add>config\addfiles.lst
|
||||||
|
:skipthis
|
||||||
|
config\makesis config\makesis.pkg release\%NAME%.sis
|
||||||
|
|
||||||
|
echo Cleaning up.
|
||||||
|
:del /Q config\genaif.cfg
|
||||||
|
:del /Q config\icon.mbm
|
||||||
|
:del /Q config\manifest.mf
|
||||||
|
:del /Q config\makesis.pkg
|
||||||
|
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:noicon
|
||||||
|
echo There are no icon BMPs in .\icon or at least one file is missing!!!
|
||||||
|
echo Please create following icons with the specified names:
|
||||||
|
echo.
|
||||||
|
echo 20x16.bmp Small icon with 24bpp
|
||||||
|
echo 20x16m.bmp Transparency mask for small icon with 1bpp
|
||||||
|
echo 32x32.bmp Large icon with 24bpp
|
||||||
|
echo 32x32m.bmp Transparency mask for large icon with 1bpp
|
||||||
|
echo.
|
||||||
|
echo Transparency: black=opaque, white=transparent
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:end
|
||||||
|
endlocal
|
||||||
|
echo.
|
||||||
|
echo All done.
|
BIN
config/echo.exe
Normal file
20
config/echo.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Usage: .\echo [OPTION]... [STRING]...
|
||||||
|
|
||||||
|
-n do not output the trailing newline
|
||||||
|
-e (unused)
|
||||||
|
-E disable interpolation of some sequences in STRINGs
|
||||||
|
--help display this help and exit (should be alone)
|
||||||
|
--version output version information and exit (should be alone)
|
||||||
|
|
||||||
|
Without -E, the following sequences are recognized and interpolated:
|
||||||
|
|
||||||
|
\NNN the character whose ASCII code is NNN (octal)
|
||||||
|
\\ backslash
|
||||||
|
\a alert (BEL)
|
||||||
|
\b backspace
|
||||||
|
\c suppress trailing newline
|
||||||
|
\f form feed
|
||||||
|
\n new line
|
||||||
|
\r carriage return
|
||||||
|
\t horizontal tab
|
||||||
|
\v vertical tab
|
BIN
config/genaif.exe
Normal file
11
config/genaif.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Usage: genaif UID3 < aifspecfile > app.aif
|
||||||
|
Or: genaif UID1 UID2 UID3 > pkgfile.pkg
|
||||||
|
|
||||||
|
# Sample aifspecfile:
|
||||||
|
# Mbmfile contains a number of icon/mask pairs
|
||||||
|
mbmfile=app.mbm
|
||||||
|
ELangEnglish=The test app
|
||||||
|
ELangGerman=Die Test App
|
||||||
|
hidden=0
|
||||||
|
embeddability=0
|
||||||
|
newfile=1
|
BIN
config/jar.exe
Normal file
22
config/jar.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Usage: jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C dir] files ...
|
||||||
|
Options:
|
||||||
|
-c create new archive
|
||||||
|
-t list table of contents for archive
|
||||||
|
-x extract named (or all) files from archive
|
||||||
|
-u update existing archive
|
||||||
|
-v generate verbose output on standard output
|
||||||
|
-f specify archive file name
|
||||||
|
-m include manifest information from specified manifest file
|
||||||
|
-0 store only; use no ZIP compression
|
||||||
|
-M do not create a manifest file for the entries
|
||||||
|
-i generate index information for the specified jar files
|
||||||
|
-C change to the specified directory and include the following file
|
||||||
|
If any file is a directory then it is processed recursively.
|
||||||
|
The manifest file name and the archive file name needs to be specified
|
||||||
|
in the same order the 'm' and 'f' flags are specified.
|
||||||
|
|
||||||
|
Example 1: to archive two class files into an archive called classes.jar:
|
||||||
|
jar cvf classes.jar Foo.class Bar.class
|
||||||
|
Example 2: use an existing manifest file 'mymanifest' and archive all the
|
||||||
|
files in the foo/ directory into 'classes.jar':
|
||||||
|
jar cvfm classes.jar mymanifest -C foo/ .
|
BIN
config/makesis.exe
Normal file
10
config/makesis.pkg
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
&EN
|
||||||
|
#{"jUninstaller"},(0x10205DB2),1,0,100,TYPE=SISAPP
|
||||||
|
(0x101F617B),2,0,0,{"UIQ20ProductID"}
|
||||||
|
"files\jUninstaller.aif"-"!:\System\Apps\jUninstaller\jUninstaller.aif"
|
||||||
|
"files\jUninstaller.app"-"!:\System\Apps\jUninstaller\jUninstaller.app"
|
||||||
|
"files\jUninstaller.jar"-"!:\System\Apps\jUninstaller\jUninstaller.jar"
|
||||||
|
"files\jUninstaller.txt"-"!:\System\Apps\jUninstaller\jUninstaller.txt"
|
||||||
|
""-"!:\system\Apps\JUninstaller\JUninstaller.prop",FN
|
||||||
|
"add\!\system\Java\ext\Util.jar"-"!:\system\Java\ext\Util.jar"
|
||||||
|
"add\!\system\Libs\TaskSwitch1.dll"-"!:\system\Libs\TaskSwitch1.dll"
|
71
config/makesis.txt
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
MakeSIS, version 2.0
|
||||||
|
A utility for creating Software Installation (SIS) files.
|
||||||
|
Copyright (c) 2000 Symbian Ltd. All rights reserved.
|
||||||
|
|
||||||
|
MakeSIS PKG File format help
|
||||||
|
============================
|
||||||
|
|
||||||
|
&aa,bb,...,zz Define languages used in installation. Choose from:-
|
||||||
|
AF - Afrikaans, SQ - Albanian, AH - Amharic
|
||||||
|
AR - Arabic, HY - Armenian, AU - Australian
|
||||||
|
AS - Austrian, BE - Belarussian, BN - Bengali
|
||||||
|
BG - Bulgarian, MY - Burmese, CA - Catalan
|
||||||
|
TC - Taiwan Chinese, HK - Hong Kong Chinese
|
||||||
|
ZH - PRC Chinese
|
||||||
|
HR - Croatian, CS - Czech, DA - Danish, DU - Dutch
|
||||||
|
EN - English, AM - American English, CE - Canadian English
|
||||||
|
IE - International English, SF - South African English
|
||||||
|
ET - Estonian, FA - Farsi, FI - Finnish, BL - Belgian Flemish
|
||||||
|
FR - French, BF - Belgian French, CF - Canadian French
|
||||||
|
IF - International French, SF - Swiss French
|
||||||
|
GD - Scots Gaelic, KA - Georgian, GE - German
|
||||||
|
SG - Swiss German, EL - Greek, GU - Gujarati
|
||||||
|
HE - Hebrew, HI - Hindi, HU - Hungarian
|
||||||
|
IC - Icelandic, IN - Indonesian, GA - Irish
|
||||||
|
IT - Italian, SZ - Swiss Italian, JA - Japanese,
|
||||||
|
KN - Kannada, KK - Kazakh, KM - Khmer
|
||||||
|
KO - Korean, LO - Laothian, LV - Latvian
|
||||||
|
LT - Lithuanian, MK - Macedonian, MS - Malay
|
||||||
|
ML - Malayalam, MR - Marathi, MO - Moldovian
|
||||||
|
MN - Mongolian, NZ - New Zealand, NO - Norwegian
|
||||||
|
NN - Norwegian Nynorsk, PL - Polish, PO - Portuguese
|
||||||
|
BP - Brazilian Portuguese, PA - Punjabi, RO - Romanian
|
||||||
|
RU - Russian, SR - Serbian, SI - Sinhalese
|
||||||
|
SK - Slovak, SL - Slovenian, SO - Somali
|
||||||
|
SP - Spanish, OS - International Spanish
|
||||||
|
LS - Latin American Spanish
|
||||||
|
SW - Swahili, SW - Swedish, FS - Finland Swedish
|
||||||
|
TL - Tagalog, TA - Tamil, TE - Telugu, TH - Thai
|
||||||
|
BO - Tibetan, TI - Tigrinya, TU - Turkish
|
||||||
|
CT - Cyprus Turkish, TK - Turkmen, UK - Ukrainian
|
||||||
|
UR - Urdu
|
||||||
|
VI - Vietnamese, CY - Welsh, ZU - Zulu
|
||||||
|
#{"NAMEaa", ... "NAMEzz"},(UID), Major, Minor, Build, Options
|
||||||
|
Define file header, including name, uid and version
|
||||||
|
*PrivateKeyFile,CertificateChainFile,[KEY=password]
|
||||||
|
Digitally sign the SIS file
|
||||||
|
"Source"-"Destination",Options
|
||||||
|
File to be installed/viewed
|
||||||
|
@"Component",(UID)
|
||||||
|
Sub-component with UID to be installed
|
||||||
|
(UID),Major,Minor,Build,{"DEPENDaa", ... "DEPENDzz"}
|
||||||
|
Define a dependency on another component version
|
||||||
|
{ Start of a language block
|
||||||
|
"Source" A file to install within a language block
|
||||||
|
@"Component" A component to install within a language block
|
||||||
|
}-"Destination", Options
|
||||||
|
End a language block containing files
|
||||||
|
},(UID) End a language block containing components
|
||||||
|
IF condition Start of block which is installed if condition evaluates
|
||||||
|
to TRUE at install time. Condition format is of the form:-
|
||||||
|
condition : variable op number
|
||||||
|
EXISTS "filename"
|
||||||
|
(condition)AND(condition)
|
||||||
|
(condition)OR(condition)
|
||||||
|
NOT(condition)
|
||||||
|
op : = <> > < >= <=
|
||||||
|
ELSEIF condition Block which is installed if a previous condition block
|
||||||
|
was not evaluated and condition is TRUE
|
||||||
|
ELSE Block which is installed if no previous condition blocks
|
||||||
|
were evaluated
|
||||||
|
ENDIF Marks end of condition block(s)
|
BIN
config/symbian.jar
Normal file
2
files/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
BIN
icon/20x16.bmp
Before Width: | Height: | Size: 1000 B After Width: | Height: | Size: 1.4 KiB |
BIN
icon/20x16.orig.bmp
Normal file
After Width: | Height: | Size: 1000 B |
BIN
icon/20x16m.bmp
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
BIN
icon/20x16m.orig.bmp
Normal file
After Width: | Height: | Size: 126 B |
BIN
icon/32x32.bmp
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
BIN
icon/32x32.orig.bmp
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
icon/32x32m.bmp
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 192 B |
BIN
icon/32x32m.orig.bmp
Normal file
After Width: | Height: | Size: 192 B |
20
make.cmd
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set BCP=c:\Progra~1\Java\PersonalJava\classes.zip
|
||||||
|
|
||||||
|
set MISC=-g -source 1.3 -target 1.1 -deprecation
|
||||||
|
for %%f in (*.class) do del %%f
|
||||||
|
for %%f in (*.java) do (
|
||||||
|
javac -bootclasspath %BCP% -classpath .\;config\symbian.jar %MISC% %%f
|
||||||
|
if errorlevel 1 echo ERROR!>>make.err
|
||||||
|
)
|
||||||
|
endlocal
|
||||||
|
|
||||||
|
if NOT EXIST config\UpdateVersion.class javac config\UpdateVersion.java
|
||||||
|
if NOT EXIST make.err (
|
||||||
|
java -cp config UpdateVersion ADD 0 0 1
|
||||||
|
) ELSE (
|
||||||
|
echo Errors occured.
|
||||||
|
del make.err
|
||||||
|
)
|
2
release/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|