mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-30 09:49:26 +00:00
Added a proguard file generation to the Java wrapper (todo: test it)
This commit is contained in:
parent
f661520d27
commit
ec2ffd8a14
2 changed files with 33 additions and 0 deletions
|
|
@ -760,6 +760,19 @@ class Jni(object):
|
|||
for method in methods:
|
||||
self.methods.append(method)
|
||||
|
||||
class Proguard(object):
|
||||
def __init__(self, package):
|
||||
self.package = package
|
||||
self.classes = []
|
||||
|
||||
def add_class(self, javaClass):
|
||||
obj = {
|
||||
'package': self.package,
|
||||
'className': javaClass.className,
|
||||
'classImplName': javaClass.classImplName,
|
||||
}
|
||||
self.classes.append(obj)
|
||||
|
||||
##########################################################################
|
||||
|
||||
class GenWrapper(object):
|
||||
|
|
@ -790,6 +803,7 @@ class GenWrapper(object):
|
|||
self.translator = JavaTranslator(package, exceptions)
|
||||
self.renderer = pystache.Renderer()
|
||||
self.jni = Jni(package)
|
||||
self.proguard = Proguard(package)
|
||||
|
||||
self.enums = {}
|
||||
self.interfaces = {}
|
||||
|
|
@ -823,8 +837,10 @@ class GenWrapper(object):
|
|||
for name, value in self.classes.items():
|
||||
self.render(value, self.javadir + '/' + value.filename)
|
||||
self.jni.add_object(value)
|
||||
self.proguard.add_class(value)
|
||||
|
||||
self.render(self.jni, self.srcdir + '/linphone_jni.cc')
|
||||
self.render(self.proguard, self.srcdir + '/proguard.txt')
|
||||
|
||||
def render(self, item, path):
|
||||
tmppath = path + '.tmp'
|
||||
|
|
|
|||
17
wrappers/java/proguard.mustache
Normal file
17
wrappers/java/proguard.mustache
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Don't warn stuff that we are not "proguarding", warnings would make the build fail.
|
||||
-dontwarn org.linphone.**
|
||||
|
||||
# The following intefaces are referenced from JNI
|
||||
{{#classes}}
|
||||
-keep interface {{package}}.{{className}} {*;}
|
||||
-keep class {{package}}.{{classImplName}} {*;}
|
||||
{{/classes}}
|
||||
|
||||
# Mediastreamer classes
|
||||
-keep class org.linphone.mediastream.Factory {*;}
|
||||
-keep class org.linphone.mediastream.MediastreamerAndroidContext {*;}
|
||||
-keep class org.linphone.mediastream.video.capture.AndroidVideoApi9JniWrapper {*;}
|
||||
-keep class org.linphone.mediastream.video.capture.AndroidVideoApi8JniWrapper {*;}
|
||||
-keep class org.linphone.mediastream.video.capture.AndroidVideoApi5JniWrapper {*;}
|
||||
-keep class org.linphone.mediastream.video.AndroidVideoWindowImpl {*;}
|
||||
-keep class org.linphone.mediastream.Version {*;}
|
||||
Loading…
Add table
Reference in a new issue