# # Proguard config file for GeoGebra # # -ignorewarnings -injars build/geogebra.jar -injars build/geogebra_main.jar -injars build/geogebra_gui.jar -injars build/geogebra_export.jar -injars build/geogebra_algos.jar -injars build/geogebra_cas.jar -injars build/jlatexmath.jar -outjars build/temp # libraries -libraryjars ../java150-rt.jar -libraryjars lib_jsobject.jar -libraryjars lib_mac_extensions.jar #-libraryjars jlatexmath.jar # Rhino Javascript is not obfuscated -libraryjars build/geogebra_javascript.jar -dontoptimize -allowaccessmodification -overloadaggressively # needed for eg StringBuilder.setLength() # see http://proguard.sourceforge.net/manual/troubleshooting.html -dontskipnonpubliclibraryclasses #-printmapping geogebra.map #-applymapping geogebra3-2-0-0.map # Keep GeoGebra application -keep class geogebra.GeoGebra { public static void main(java.lang.String[]); } ## enums -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } # Keep GeoGebra applet -keep class geogebra.GeoGebraApplet { public ; } # Keep GeoGebraAppletPreloader -keep class geogebra.GeoGebraAppletPreloader { public ; } # Keep GeoGebraPanel -keep class geogebra.GeoGebraPanel { public ; } # Keep Moodle plugin -keep class geogebra.GeoGebraMoodleApplet { public ; } # see META-INF/services -keep class org.freehep.graphicsio.raw.RawImageWriterSpi { ; } # needed so that hoteqn can find Des12.gif, etc. #-keep class geogebra.gui.hoteqn.SymbolLoader { ; } # JLaTeXMath uses reflection -keep class org.scilab.forge.jlatexmath.* { ; } # MathPiper / JAS interaction -keep class org.mathpiper.builtin.library.jas.* { ; } -keep class org.mathpiper.builtin.javareflection.* { ; } -keep class edu.jas.poly.* { ; } # called with reflection -keep class edu.xtec.adapter.impl.AdapterImpl { ; } # Jasymca uses reflection to create functions like LambaSIN #-keep class jasymca.Lambda* {} # Rhino Javascript #-keep class org.mozilla.classfile.* { } #-keep class org.mozilla.javascript.* { } #-keep class org.mozilla.javascript.jdk13.* { } #-keep class org.mozilla.javascript.jdk15.* { } #-keep class org.mozilla.javascript.optimizer.* { } #-keep class org.mozilla.javascript.regexp.* { } #-keep class org.mozilla.javascript.serialize.* { } #-keep class org.mozilla.javascript.xml.* { } # supress foxtrot error messages -keep class java.util.LinkedList { java.lang.Object getFirst(); } -keep class java.lang.Object { java.lang.Object list; } -keep class geogebra.gui.virtualkeyboard.VirtualKeyboard { public static void main(java.lang.String[]); } ##### # Plugin part #### -keep class geogebra.plugin.GgbAPI { ; } # -keep public class * { # public protected *; # } #-keep class geogebra.gui.util.BrowserLauncher { ; } -keep class geogebra.plugin.PlugLetIF { ; } #-keep class geogebra.MyFileFilter { ; } #-keep class geogebra.Application { ; } #-keep class geogebra.kernel.Construction { ; } #-keep class geogebra.kernel.ConstructionElement { ; } #-keep class geogebra.kernel.AlgoElement { ; } #-keep class geogebra.kernel.arithmetic.Equation { ; } #-keep class geogebra.kernel.arithmetic.ExpressionNode { ; } #-keep class geogebra.kernel.arithmetic.ExpressionValue { ; } #-keep class geogebra.kernel.arithmetic.Function { ; } #-keep class geogebra.kernel.arithmetic.NumberValue { ; } #-keep class geogebra.kernel.Dilateable { ; } #-keep class geogebra.kernel.GeoBoolean { ; } #-keep class geogebra.kernel.GeoConic { ; } #-keep class geogebra.kernel.GeoCurveCartesian { ; } #-keep class geogebra.kernel.GeoDeriveable { ; } #-keep class geogebra.kernel.GeoElement { ; } #-keep class geogebra.kernel.GeoFunction { ; } #-keep class geogebra.kernel.GeoImage { ; } #-keep class geogebra.kernel.GeoLine { ; } #-keep class geogebra.kernel.GeoList { ; } #-keep class geogebra.kernel.GeoNumeric { ; } #-keep class geogebra.kernel.GeoPoint { ; } #-keep class geogebra.kernel.GeoPolygon { ; } #-keep class geogebra.kernel.GeoSegment { ; } #-keep class geogebra.kernel.GeoText { ; } #-keep class geogebra.kernel.GeoVec3D { ; } #-keep class geogebra.kernel.GeoVector { ; } #-keep class geogebra.kernel.Kernel { ; } #-keep class geogebra.kernel.Macro { ; } #-keep class geogebra.kernel.Mirrorable { ; } #-keep class geogebra.kernel.Path { ; } #-keep class geogebra.kernel.PointRotateable { ; } #-keep class geogebra.kernel.Rotateable { ; } #-keep class geogebra.kernel.Translateable { ; } #-keep class org.freehep.graphics2d.TagString { ; }