Skip to content

Commit fcac8e8

Browse files
committed
支持单个文件编译
1 parent 64fadea commit fcac8e8

File tree

6 files changed

+126
-0
lines changed

6 files changed

+126
-0
lines changed

callc/java/build_java.bat

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
@echo off
2+
3+
rem set JAVA_HOME=D:\Programs\jdk-13
4+
rem set CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%\lib\jrt-fs.jar;.
5+
rem set PATH=%PATH%;%JAVA_HOME%\bin
6+
set JAVA_HOME=D:\Program Files\Java\jdk-12.0.2
7+
set PATH=%PATH%;%JAVA_HOME%\bin;
8+
set CLASSHOME=%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib\jrt-fs.jar;.
9+
10+
set base_dir=pic\
11+
set pkg_name=mypkg
12+
13+
goto:bat_start
14+
15+
:set_all_class
16+
setlocal ENABLEDELAYEDEXPANSION
17+
set objs1=
18+
for /f %%i in ('dir /s /b "%base_dir%\*.java"') do (
19+
set src_file=%%i
20+
set obj_file=!src_file:~0,-4!class
21+
set objs1=!objs1! !obj_file!
22+
)
23+
echo objs : %objs1%
24+
endlocal & set "%~1=%objs1%"
25+
goto:eof
26+
27+
:set_all_java
28+
setlocal ENABLEDELAYEDEXPANSION
29+
set srcs1=
30+
set srcs2=
31+
for /f %%i in ('dir /s /b "%base_dir%\*.java"') do (
32+
set src=%%i
33+
set srcs1=%srcs1% %src%
34+
set srcs2=!srcs2! !src!
35+
)
36+
echo srcs1 : %srcs1%
37+
echo srcs2 : !srcs2!
38+
endlocal & set "%~1=%srcs2%"
39+
goto:eof
40+
41+
:move_class
42+
set src_file=%1
43+
if not exist %pkg_name% ( mkdir %pkg_name% )
44+
setlocal ENABLEDELAYEDEXPANSION
45+
set obj_file=!src_file:~0,-4!class
46+
if exist !obj_file! (
47+
move !obj_file! %pkg_name%
48+
)
49+
endlocal
50+
goto:eof
51+
52+
:compile_
53+
set src_file=%*
54+
echo src_file : %src_file%
55+
javac -encoding utf-8 -d . %src_file%
56+
goto:eof
57+
58+
:compile_java
59+
set srcs=%*
60+
for %%i in (%srcs%) do (
61+
call:compile_ %%i
62+
if not %errorlevel% == 0 (
63+
echo javac -encoding utf-8 %%i fail.................................
64+
goto:eof
65+
) else (
66+
call:move_class %%i
67+
)
68+
)
69+
goto:eof
70+
71+
:execute_java
72+
set srcs=%*
73+
setlocal ENABLEDELAYEDEXPANSION
74+
for %%i in (%srcs%) do (
75+
set src_file=%%i
76+
echo src_file: !src_file!
77+
set obj_name=!src_file:~0,-5!
78+
set obj_=!obj_name:%cd%\%base_dir%=!
79+
set pkg_=!obj_:\=.!
80+
java %pkg_name%.!pkg_!
81+
if not %errorlevel% == 0 (
82+
echo java %pkg_name%.!pkg_! fail.................................
83+
goto:eof
84+
)
85+
)
86+
endlocal
87+
goto:eof
88+
89+
:bat_file
90+
@rem del mypkg\*.class
91+
call:set_all_java m_srcs
92+
echo m_srcs %m_srcs%
93+
call:set_all_class m_objs
94+
echo m_objs %m_objs%
95+
goto:eof
96+
97+
:color_text
98+
setlocal EnableDelayedExpansion
99+
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
100+
set "DEL=%%a"
101+
)
102+
echo off
103+
<nul set /p ".=%DEL%" > "%~2"
104+
findstr /v /a:%1 /R "^$" "%~2" nul
105+
del "%~2" > nul 2>&1
106+
endlocal
107+
echo .
108+
goto :eof
109+
110+
:bat_start
111+
call:color_text 4e "+++++++++++++++start+++++++++++++"
112+
call:bat_file
113+
114+
call:color_text 19 "+++++++++++++++compile srcs+++++++++++++"
115+
call:compile_java %m_srcs%
116+
117+
call:color_text 2F "---------------execute srcs-------------"
118+
call:execute_java %m_srcs%
119+
120+
:bat_end
121+
pause

callc/java/pic/AnimatedGifEncoder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,4 +541,5 @@ protected void writeString(String s) throws IOException {
541541
out.write((byte) s.charAt(i));
542542
}
543543
}
544+
public static void main(String[] args) {}
544545
}

callc/java/pic/GifDecoder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,4 +772,5 @@ protected void skip() {
772772
readBlock();
773773
} while ((blockSize > 0) && !err());
774774
}
775+
public static void main(String[] args) {}
775776
}

callc/java/pic/GifFrame.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ public GifFrame(BufferedImage im, int del) {
1414
}
1515
public BufferedImage image;
1616
public int delay;
17+
public static void main(String[] args) {}
1718
}

callc/java/pic/LZWEncoder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,4 +300,5 @@ void output(int code, OutputStream outs) throws IOException {
300300
flush_char(outs);
301301
}
302302
}
303+
public static void main(String[] args) {}
303304
}

callc/java/pic/NeuQuant.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,4 +456,5 @@ protected int contest(int b, int g, int r) {
456456
bias[bestpos] -= betagamma;
457457
return (bestbiaspos);
458458
}
459+
public static void main(String[] args) {}
459460
}

0 commit comments

Comments
 (0)