forked from gree/unity-webview
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
115 lines (104 loc) · 4.23 KB
/
Rakefile
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Copyright (c) 2012 GREE, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
require 'fileutils'
UNITY="/Applications/UnityCurrent/Unity.app/Contents"
CNT = 2
SRCDIR = Array.new(CNT);
DSTDIR = Array.new(CNT);
SRCS = Array.new(CNT);
SRCDIR[0]="../plugins"
DSTDIR[0]="Packager/Assets/Plugins"
SRCS[0]=%W|
Editor/UnityWebViewPostprocessBuild.cs
WebViewObject.cs
iOS/WebView.mm
iOS/WebViewWithUIWebView.mm
unity-webview-webgl-plugin.jslib
|
SRCDIR[1]="../plugins"
DSTDIR[1]="Packager/Assets"
SRCS[1]=%W|
WebGLTemplates
WebPlayerTemplates
|
task :default => ["build", "pack", "buildnofragment", "packnofragment"]
desc "build"
task :build do
DSTDIR.each do |dir|
sh "git clean -dxf ."
# for keeping meta files
if Dir.exists?('../dist/package')
sh "cd ../dist; git clean -dxf .; git checkout ."
sh "cp -a ../dist/package/* Packager"
end
end
CNT.times do |i|
SRCS[i].each do |src|
dstdir = "#{DSTDIR[i]}/#{File.dirname(src)}"
FileUtils.mkdir_p dstdir
FileUtils.cp_r "#{SRCDIR[i]}/#{src}", dstdir, preserve:true
end
end
["Android"].each do |t|
Dir.chdir("#{SRCDIR[0]}/#{t}") do
sh "git clean -dxf .; ./install.sh --unity /Applications/Unity5.6.1f1"
end
end
["Mac"].each do |t|
Dir.chdir("#{SRCDIR[0]}/#{t}") do
sh "./install.sh"
end
end
end
desc "pack"
task :pack do
sh "#{UNITY}/MacOS/Unity -projectPath `pwd`/Packager -batchmode -quit -executeMethod Packager.Export -logFile LOG"
FileUtils.mv "Packager/unity-webview.unitypackage", "../dist"
sh "(cd Packager; rm -f ../../dist/unity-webview.zip; zip -qr9 ../../dist/unity-webview.zip `find Assets/Plugins -type f` `find Assets/WebGLTemplates -type f` `find Assets/WebPlayerTemplates -type f`)"
sh "(cd ../dist/package; rm -rf Assets; unzip -q ../unity-webview.zip; git checkout Assets/Plugins.meta; git checkout Assets/WebGLTemplates.meta; git checkout Assets/WebPlayerTemplates.meta)"
end
desc "buildnofragment"
task :buildnofragment do
["Android"].each do |t|
Dir.chdir("#{SRCDIR[0]}/#{t}") do
sh "git clean -dxf .; ./install-nofragment.sh --unity /Applications/Unity5.6.1f1"
end
end
sh "sed -i '' -e 's/private static bool nofragment = false/private static bool nofragment = true/' Packager/Assets/Plugins/Editor/UnityWebViewPostprocessBuild.cs"
end
desc "packnofragment"
task :packnofragment do
sh "#{UNITY}/MacOS/Unity -projectPath `pwd`/Packager -batchmode -quit -executeMethod Packager.Export -logFile LOG"
FileUtils.mv "Packager/unity-webview.unitypackage", "../dist/unity-webview-nofragment.unitypackage"
sh "(cd Packager; rm -f ../../dist/unity-webview-nofragment.zip; zip -qr9 ../../dist/unity-webview-nofragment.zip `find Assets/Plugins -type f` `find Assets/WebGLTemplates -type f` `find Assets/WebPlayerTemplates -type f`)"
sh "(cd ../dist/package-nofragment; rm -rf Assets; unzip -q ../unity-webview-nofragment.zip; git checkout Assets/Plugins.meta; git checkout Assets/WebGLTemplates.meta; git checkout Assets/WebPlayerTemplates.meta)"
end
desc "commit"
task :commit do
rev = open("|git show HEAD|head -1|awk '{print $2}'").read.strip
sh "git add ../dist"
sh "git commit -m 'updated binaries (#{rev}).'"
end
desc "clean"
task :clean do
DSTDIR.each do |dir|
FileUtils.rm_rf dir
end
end