-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.bat
52 lines (45 loc) · 968 Bytes
/
build.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@echo off
title Java Build Script
call "%~dp0../env_vars.bat"
echo.
:: Main class name
set "mainClass=Main.java"
:: Source code
set "src=%~dp0src"
if not exist "%src%" mkdir "%src%"
:: Compiled classes
set "classes=%~dp0classes"
if not exist "%classes%" mkdir "%classes%"
:: Jar file
call :getFolder "name" "%~dp0."
set "jar=%~dp0%name%.jar"
:: Compilation
echo Compiling...
rmdir /Q /S "%classes%" >nul 2>nul
javac -d "%classes%" -cp "%src%;%lib%\*" "%src%\%mainClass%"
if %ERRORLEVEL% NEQ 0 (
rmdir /Q /S "%classes%" >nul 2>nul
goto :err
)
:: Packing
echo Packing...
jar -c -M -f "%jar%" -C "%classes%" .
if %ERRORLEVEL% NEQ 0 (
rmdir /Q /S "%classes%" >nul 2>nul
goto :err
)
rmdir /Q /S "%classes%" >nul 2>nul
exit
:: Gets the last named element of a path
:getFolder
set "%~1=%~n2"
exit /b
:: Resolves relative paths to fully qualified path names.
:normalizePath
set "%~1=%~f2"
exit /b
:err
echo.
echo Press any key to exit.
pause >nul
exit