-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmake-it.PS1
49 lines (43 loc) · 1.83 KB
/
make-it.PS1
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
# Windows Power-Shell Build Script
$PROJECT_FOLDER="$PSScriptRoot"
$NAME="PowerAdvantage"
Set-Location "$PROJECT_FOLDER"
Add-Type -A System.IO.Compression.FileSystem
# make dev folders
mkdir -p "$PROJECT_FOLDER/build/dev"
mkdir -p "$PROJECT_FOLDER/build/dist"
# remove stale files and build API jar
rm -v -Recurse build/libs/*.jar
rm -v -Recurse build/dev/*
rm -v -Recurse build/dist/*
echo "Compiling API"
Start-Process -wait gradlew.bat jar
# remove stale files and build mod jar and javadoc
cp -v build/libs/*.jar build/dev/
echo "Compiling Mod"
Start-Process -wait gradlew.bat build
rm -v build/libs/*-sources.jar
echo "Compiling JavaDocs"
Start-Process -wait gradlew.bat javadoc
# zip the sourcecode and javadoc
[IO.Compression.ZipFile]::CreateFromDirectory("$PROJECT_FOLDER/build/docs/javadoc", "$PROJECT_FOLDER/build/dev/$NAME-javadoc.zip")
[IO.Compression.ZipFile]::CreateFromDirectory("$PROJECT_FOLDER/src/main/java", "$PROJECT_FOLDER/build/dev/$NAME-src.zip")
# remove assets from API jar
$array=Get-ChildItem "$PROJECT_FOLDER/build/dev" -Filter "$NAME*.jar"
$myFile=$array[0]
echo "Removing assets from $myFile"
mkdir -p "$PROJECT_FOLDER/build/dev/extract"
[IO.Compression.ZipFile]::ExtractToDirectory("$PROJECT_FOLDER/build/dev/$myfile","$PROJECT_FOLDER/build/dev/extract")
rm -Recurse $PROJECT_FOLDER/build/dev/extract/assets/*
rmdir "$PROJECT_FOLDER/build/dev/extract/assets"
rm "$PROJECT_FOLDER/build/dev/$myfile"
$myAPIfile=$myFile -replace "-","-API-"
& $env:JAVA_HOME\bin\jar.exe c0f "$PROJECT_FOLDER/build/dev/$myAPIfile" -C "$PROJECT_FOLDER/build/dev/extract" .
rm -Recurse $PROJECT_FOLDER/build/dev/extract
# copy final files to dist folder
cp -v build/libs/*.jar build/dist
cp -v build/dev/*.jar build/dist
cp -v build/dev/*.zip build/dist
#done
$time=date
echo "Build script competed on $time"