OpenSearch/plugins/lang-python/build.gradle

529 lines
20 KiB
Groovy
Raw Normal View History

/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
esplugin {
description 'The Python language plugin allows to have python as the language of scripts to execute.'
classname 'org.elasticsearch.plugin.python.PythonPlugin'
}
dependencies {
compile 'org.python:jython-standalone:2.7.0'
}
integTest {
cluster {
setting 'script.inline', 'true'
setting 'script.stored', 'true'
Circuit break the number of inline scripts compiled per minute When compiling many dynamically changing scripts, parameterized scripts (<https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-using.html#prefer-params>) should be preferred. This enforces a limit to the number of scripts that can be compiled within a minute. A new dynamic setting is added - `script.max_compilations_per_minute`, which defaults to 15. If more dynamic scripts are sent, a user will get the following exception: ```json { "error" : { "root_cause" : [ { "type" : "circuit_breaking_exception", "reason" : "[script] Too many dynamic script compilations within one minute, max: [15/min]; please use on-disk, indexed, or scripts with parameters instead", "bytes_wanted" : 0, "bytes_limit" : 0 } ], "type" : "search_phase_execution_exception", "reason" : "all shards failed", "phase" : "query", "grouped" : true, "failed_shards" : [ { "shard" : 0, "index" : "i", "node" : "a5V1eXcZRYiIk8lecjZ4Jw", "reason" : { "type" : "general_script_exception", "reason" : "Failed to compile inline script [\"aaaaaaaaaaaaaaaa\"] using lang [painless]", "caused_by" : { "type" : "circuit_breaking_exception", "reason" : "[script] Too many dynamic script compilations within one minute, max: [15/min]; please use on-disk, indexed, or scripts with parameters instead", "bytes_wanted" : 0, "bytes_limit" : 0 } } } ], "caused_by" : { "type" : "general_script_exception", "reason" : "Failed to compile inline script [\"aaaaaaaaaaaaaaaa\"] using lang [painless]", "caused_by" : { "type" : "circuit_breaking_exception", "reason" : "[script] Too many dynamic script compilations within one minute, max: [15/min]; please use on-disk, indexed, or scripts with parameters instead", "bytes_wanted" : 0, "bytes_limit" : 0 } } }, "status" : 500 } ``` This also fixes a bug in `ScriptService` where requests being executed concurrently on a single node could cause a script to be compiled multiple times (many in the case of a powerful node with many shards) due to no synchronization between checking the cache and compiling the script. There is now synchronization so that a script being compiled will only be compiled once regardless of the number of concurrent searches on a node. Relates to #19396
2016-07-26 15:36:29 -04:00
setting 'script.max_compilations_per_minute', '1000'
}
}
thirdPartyAudit.excludes = [
2015-12-28 22:38:55 -05:00
// uses internal java api: sun.security.x509 (X509CertInfo, X509CertImpl, X500Name)
'org.python.netty.handler.ssl.util.OpenJdkSelfSignedCertGenerator',
2015-12-28 22:38:55 -05:00
// uses internal java api: sun.misc.Cleaner
'org.python.netty.util.internal.Cleaner0',
2015-12-28 22:38:55 -05:00
// uses internal java api: sun.misc.Signal
'jnr.posix.JavaPOSIX',
'jnr.posix.JavaPOSIX$SunMiscSignalHandler',
2015-12-28 22:38:55 -05:00
// uses internal java api: sun.misc.Unsafe
'com.kenai.jffi.MemoryIO$UnsafeImpl',
'com.kenai.jffi.MemoryIO$UnsafeImpl32',
'com.kenai.jffi.MemoryIO$UnsafeImpl64',
'org.python.google.common.cache.Striped64',
'org.python.google.common.cache.Striped64$1',
'org.python.google.common.cache.Striped64$Cell',
'org.python.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator',
'org.python.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1',
'org.python.netty.util.internal.chmv8.ForkJoinPool$2',
'org.python.netty.util.internal.PlatformDependent0',
'org.python.netty.util.internal.UnsafeAtomicIntegerFieldUpdater',
'org.python.netty.util.internal.UnsafeAtomicLongFieldUpdater',
'org.python.netty.util.internal.UnsafeAtomicReferenceFieldUpdater',
'org.python.netty.util.internal.chmv8.ConcurrentHashMapV8',
'org.python.netty.util.internal.chmv8.ConcurrentHashMapV8$1',
'org.python.netty.util.internal.chmv8.ConcurrentHashMapV8$TreeBin',
'org.python.netty.util.internal.chmv8.CountedCompleter',
'org.python.netty.util.internal.chmv8.CountedCompleter$1',
'org.python.netty.util.internal.chmv8.ForkJoinPool',
'org.python.netty.util.internal.chmv8.ForkJoinPool$WorkQueue',
'org.python.netty.util.internal.chmv8.ForkJoinTask',
'org.python.netty.util.internal.chmv8.ForkJoinTask$1',
2015-12-28 22:38:55 -05:00
// "uberjaring" (but not shading) classes that have been in the JDK since 1.5
// nice job python.
'javax.xml.XMLConstants',
'javax.xml.datatype.DatatypeConfigurationException',
'javax.xml.datatype.DatatypeConstants$1',
'javax.xml.datatype.DatatypeConstants$Field',
'javax.xml.datatype.DatatypeConstants',
'javax.xml.datatype.DatatypeFactory',
'javax.xml.datatype.Duration',
'javax.xml.datatype.FactoryFinder',
'javax.xml.datatype.SecuritySupport$1',
'javax.xml.datatype.SecuritySupport$2',
'javax.xml.datatype.SecuritySupport$3',
'javax.xml.datatype.SecuritySupport$4',
'javax.xml.datatype.SecuritySupport$5',
'javax.xml.datatype.SecuritySupport',
'javax.xml.datatype.XMLGregorianCalendar',
'javax.xml.namespace.NamespaceContext',
'javax.xml.namespace.QName$1',
'javax.xml.namespace.QName',
'javax.xml.parsers.DocumentBuilder',
'javax.xml.parsers.DocumentBuilderFactory',
'javax.xml.parsers.FactoryConfigurationError',
'javax.xml.parsers.FactoryFinder',
'javax.xml.parsers.ParserConfigurationException',
'javax.xml.parsers.SAXParser',
'javax.xml.parsers.SAXParserFactory',
'javax.xml.parsers.SecuritySupport$1',
'javax.xml.parsers.SecuritySupport$2',
'javax.xml.parsers.SecuritySupport$3',
'javax.xml.parsers.SecuritySupport$4',
'javax.xml.parsers.SecuritySupport$5',
'javax.xml.parsers.SecuritySupport',
'javax.xml.stream.EventFilter',
'javax.xml.stream.FactoryConfigurationError',
'javax.xml.stream.FactoryFinder',
'javax.xml.stream.Location',
'javax.xml.stream.SecuritySupport$1',
'javax.xml.stream.SecuritySupport$2',
'javax.xml.stream.SecuritySupport$3',
'javax.xml.stream.SecuritySupport$4',
'javax.xml.stream.SecuritySupport$5',
'javax.xml.stream.SecuritySupport',
'javax.xml.stream.StreamFilter',
'javax.xml.stream.XMLEventFactory',
'javax.xml.stream.XMLEventReader',
'javax.xml.stream.XMLEventWriter',
'javax.xml.stream.XMLInputFactory',
'javax.xml.stream.XMLOutputFactory',
'javax.xml.stream.XMLReporter',
'javax.xml.stream.XMLResolver',
'javax.xml.stream.XMLStreamConstants',
'javax.xml.stream.XMLStreamException',
'javax.xml.stream.XMLStreamReader',
'javax.xml.stream.XMLStreamWriter',
'javax.xml.stream.events.Attribute',
'javax.xml.stream.events.Characters',
'javax.xml.stream.events.Comment',
'javax.xml.stream.events.DTD',
'javax.xml.stream.events.EndDocument',
'javax.xml.stream.events.EndElement',
'javax.xml.stream.events.EntityDeclaration',
'javax.xml.stream.events.EntityReference',
'javax.xml.stream.events.Namespace',
'javax.xml.stream.events.NotationDeclaration',
'javax.xml.stream.events.ProcessingInstruction',
'javax.xml.stream.events.StartDocument',
'javax.xml.stream.events.StartElement',
'javax.xml.stream.events.XMLEvent',
'javax.xml.stream.util.EventReaderDelegate',
'javax.xml.stream.util.StreamReaderDelegate',
'javax.xml.stream.util.XMLEventAllocator',
'javax.xml.stream.util.XMLEventConsumer',
'javax.xml.transform.ErrorListener',
'javax.xml.transform.FactoryFinder',
'javax.xml.transform.OutputKeys',
'javax.xml.transform.Result',
'javax.xml.transform.SecuritySupport$1',
'javax.xml.transform.SecuritySupport$2',
'javax.xml.transform.SecuritySupport$3',
'javax.xml.transform.SecuritySupport$4',
'javax.xml.transform.SecuritySupport$5',
'javax.xml.transform.SecuritySupport',
'javax.xml.transform.Source',
'javax.xml.transform.SourceLocator',
'javax.xml.transform.Templates',
'javax.xml.transform.Transformer',
'javax.xml.transform.TransformerConfigurationException',
'javax.xml.transform.TransformerException',
'javax.xml.transform.TransformerFactory',
'javax.xml.transform.TransformerFactoryConfigurationError',
'javax.xml.transform.URIResolver',
'javax.xml.transform.dom.DOMLocator',
'javax.xml.transform.dom.DOMResult',
'javax.xml.transform.dom.DOMSource',
'javax.xml.transform.sax.SAXResult',
'javax.xml.transform.sax.SAXSource',
'javax.xml.transform.sax.SAXTransformerFactory',
'javax.xml.transform.sax.TemplatesHandler',
'javax.xml.transform.sax.TransformerHandler',
'javax.xml.transform.stax.StAXResult',
'javax.xml.transform.stax.StAXSource',
'javax.xml.transform.stream.StreamResult',
'javax.xml.transform.stream.StreamSource',
'javax.xml.validation.Schema',
'javax.xml.validation.SchemaFactory',
'javax.xml.validation.SchemaFactoryFinder$1',
'javax.xml.validation.SchemaFactoryFinder$2',
'javax.xml.validation.SchemaFactoryFinder',
'javax.xml.validation.SchemaFactoryLoader',
'javax.xml.validation.SecuritySupport$1',
'javax.xml.validation.SecuritySupport$2',
'javax.xml.validation.SecuritySupport$3',
'javax.xml.validation.SecuritySupport$4',
'javax.xml.validation.SecuritySupport$5',
'javax.xml.validation.SecuritySupport$6',
'javax.xml.validation.SecuritySupport$7',
'javax.xml.validation.SecuritySupport$8',
'javax.xml.validation.SecuritySupport',
'javax.xml.validation.TypeInfoProvider',
'javax.xml.validation.Validator',
'javax.xml.validation.ValidatorHandler',
'javax.xml.xpath.SecuritySupport$1',
'javax.xml.xpath.SecuritySupport$2',
'javax.xml.xpath.SecuritySupport$3',
'javax.xml.xpath.SecuritySupport$4',
'javax.xml.xpath.SecuritySupport$5',
'javax.xml.xpath.SecuritySupport$6',
'javax.xml.xpath.SecuritySupport$7',
'javax.xml.xpath.SecuritySupport$8',
'javax.xml.xpath.SecuritySupport',
'javax.xml.xpath.XPath',
'javax.xml.xpath.XPathConstants',
'javax.xml.xpath.XPathException',
'javax.xml.xpath.XPathExpression',
'javax.xml.xpath.XPathExpressionException',
'javax.xml.xpath.XPathFactory',
'javax.xml.xpath.XPathFactoryConfigurationException',
'javax.xml.xpath.XPathFactoryFinder$1',
'javax.xml.xpath.XPathFactoryFinder$2',
'javax.xml.xpath.XPathFactoryFinder',
'javax.xml.xpath.XPathFunction',
'javax.xml.xpath.XPathFunctionException',
'javax.xml.xpath.XPathFunctionResolver',
'javax.xml.xpath.XPathVariableResolver',
'org.w3c.dom.Attr',
'org.w3c.dom.CDATASection',
'org.w3c.dom.CharacterData',
'org.w3c.dom.Comment',
'org.w3c.dom.DOMConfiguration',
'org.w3c.dom.DOMError',
'org.w3c.dom.DOMErrorHandler',
'org.w3c.dom.DOMException',
'org.w3c.dom.DOMImplementation',
'org.w3c.dom.DOMImplementationList',
'org.w3c.dom.DOMImplementationSource',
'org.w3c.dom.DOMLocator',
'org.w3c.dom.DOMStringList',
'org.w3c.dom.Document',
'org.w3c.dom.DocumentFragment',
'org.w3c.dom.DocumentType',
'org.w3c.dom.Element',
'org.w3c.dom.Entity',
'org.w3c.dom.EntityReference',
'org.w3c.dom.NameList',
'org.w3c.dom.NamedNodeMap',
'org.w3c.dom.Node',
'org.w3c.dom.NodeList',
'org.w3c.dom.Notation',
'org.w3c.dom.ProcessingInstruction',
'org.w3c.dom.Text',
'org.w3c.dom.TypeInfo',
'org.w3c.dom.UserDataHandler',
'org.w3c.dom.bootstrap.DOMImplementationRegistry$1',
'org.w3c.dom.bootstrap.DOMImplementationRegistry$2',
'org.w3c.dom.bootstrap.DOMImplementationRegistry$3',
'org.w3c.dom.bootstrap.DOMImplementationRegistry$4',
'org.w3c.dom.bootstrap.DOMImplementationRegistry',
'org.w3c.dom.css.CSS2Properties',
'org.w3c.dom.css.CSSCharsetRule',
'org.w3c.dom.css.CSSFontFaceRule',
'org.w3c.dom.css.CSSImportRule',
'org.w3c.dom.css.CSSMediaRule',
'org.w3c.dom.css.CSSPageRule',
'org.w3c.dom.css.CSSPrimitiveValue',
'org.w3c.dom.css.CSSRule',
'org.w3c.dom.css.CSSRuleList',
'org.w3c.dom.css.CSSStyleDeclaration',
'org.w3c.dom.css.CSSStyleRule',
'org.w3c.dom.css.CSSStyleSheet',
'org.w3c.dom.css.CSSUnknownRule',
'org.w3c.dom.css.CSSValue',
'org.w3c.dom.css.CSSValueList',
'org.w3c.dom.css.Counter',
'org.w3c.dom.css.DOMImplementationCSS',
'org.w3c.dom.css.DocumentCSS',
'org.w3c.dom.css.ElementCSSInlineStyle',
'org.w3c.dom.css.RGBColor',
'org.w3c.dom.css.Rect',
'org.w3c.dom.css.ViewCSS',
'org.w3c.dom.events.DocumentEvent',
'org.w3c.dom.events.Event',
'org.w3c.dom.events.EventException',
'org.w3c.dom.events.EventListener',
'org.w3c.dom.events.EventTarget',
'org.w3c.dom.events.MouseEvent',
'org.w3c.dom.events.MutationEvent',
'org.w3c.dom.events.UIEvent',
'org.w3c.dom.html.HTMLAnchorElement',
'org.w3c.dom.html.HTMLAppletElement',
'org.w3c.dom.html.HTMLAreaElement',
'org.w3c.dom.html.HTMLBRElement',
'org.w3c.dom.html.HTMLBaseElement',
'org.w3c.dom.html.HTMLBaseFontElement',
'org.w3c.dom.html.HTMLBodyElement',
'org.w3c.dom.html.HTMLButtonElement',
'org.w3c.dom.html.HTMLCollection',
'org.w3c.dom.html.HTMLDListElement',
'org.w3c.dom.html.HTMLDOMImplementation',
'org.w3c.dom.html.HTMLDirectoryElement',
'org.w3c.dom.html.HTMLDivElement',
'org.w3c.dom.html.HTMLDocument',
'org.w3c.dom.html.HTMLElement',
'org.w3c.dom.html.HTMLFieldSetElement',
'org.w3c.dom.html.HTMLFontElement',
'org.w3c.dom.html.HTMLFormElement',
'org.w3c.dom.html.HTMLFrameElement',
'org.w3c.dom.html.HTMLFrameSetElement',
'org.w3c.dom.html.HTMLHRElement',
'org.w3c.dom.html.HTMLHeadElement',
'org.w3c.dom.html.HTMLHeadingElement',
'org.w3c.dom.html.HTMLHtmlElement',
'org.w3c.dom.html.HTMLIFrameElement',
'org.w3c.dom.html.HTMLImageElement',
'org.w3c.dom.html.HTMLInputElement',
'org.w3c.dom.html.HTMLIsIndexElement',
'org.w3c.dom.html.HTMLLIElement',
'org.w3c.dom.html.HTMLLabelElement',
'org.w3c.dom.html.HTMLLegendElement',
'org.w3c.dom.html.HTMLLinkElement',
'org.w3c.dom.html.HTMLMapElement',
'org.w3c.dom.html.HTMLMenuElement',
'org.w3c.dom.html.HTMLMetaElement',
'org.w3c.dom.html.HTMLModElement',
'org.w3c.dom.html.HTMLOListElement',
'org.w3c.dom.html.HTMLObjectElement',
'org.w3c.dom.html.HTMLOptGroupElement',
'org.w3c.dom.html.HTMLOptionElement',
'org.w3c.dom.html.HTMLParagraphElement',
'org.w3c.dom.html.HTMLParamElement',
'org.w3c.dom.html.HTMLPreElement',
'org.w3c.dom.html.HTMLQuoteElement',
'org.w3c.dom.html.HTMLScriptElement',
'org.w3c.dom.html.HTMLSelectElement',
'org.w3c.dom.html.HTMLStyleElement',
'org.w3c.dom.html.HTMLTableCaptionElement',
'org.w3c.dom.html.HTMLTableCellElement',
'org.w3c.dom.html.HTMLTableColElement',
'org.w3c.dom.html.HTMLTableElement',
'org.w3c.dom.html.HTMLTableRowElement',
'org.w3c.dom.html.HTMLTableSectionElement',
'org.w3c.dom.html.HTMLTextAreaElement',
'org.w3c.dom.html.HTMLTitleElement',
'org.w3c.dom.html.HTMLUListElement',
'org.w3c.dom.ls.DOMImplementationLS',
'org.w3c.dom.ls.LSException',
'org.w3c.dom.ls.LSInput',
'org.w3c.dom.ls.LSLoadEvent',
'org.w3c.dom.ls.LSOutput',
'org.w3c.dom.ls.LSParser',
'org.w3c.dom.ls.LSParserFilter',
'org.w3c.dom.ls.LSProgressEvent',
'org.w3c.dom.ls.LSResourceResolver',
'org.w3c.dom.ls.LSSerializer',
'org.w3c.dom.ls.LSSerializerFilter',
'org.w3c.dom.ranges.DocumentRange',
'org.w3c.dom.ranges.Range',
'org.w3c.dom.ranges.RangeException',
'org.w3c.dom.stylesheets.DocumentStyle',
'org.w3c.dom.stylesheets.LinkStyle',
'org.w3c.dom.stylesheets.MediaList',
'org.w3c.dom.stylesheets.StyleSheet',
'org.w3c.dom.stylesheets.StyleSheetList',
'org.w3c.dom.traversal.DocumentTraversal',
'org.w3c.dom.traversal.NodeFilter',
'org.w3c.dom.traversal.NodeIterator',
'org.w3c.dom.traversal.TreeWalker',
'org.w3c.dom.views.AbstractView',
'org.w3c.dom.views.DocumentView',
'org.w3c.dom.xpath.XPathEvaluator',
'org.w3c.dom.xpath.XPathException',
'org.w3c.dom.xpath.XPathExpression',
'org.w3c.dom.xpath.XPathNSResolver',
'org.w3c.dom.xpath.XPathNamespace',
'org.w3c.dom.xpath.XPathResult',
'org.xml.sax.AttributeList',
'org.xml.sax.Attributes',
'org.xml.sax.ContentHandler',
'org.xml.sax.DTDHandler',
'org.xml.sax.DocumentHandler',
'org.xml.sax.EntityResolver',
'org.xml.sax.ErrorHandler',
'org.xml.sax.HandlerBase',
'org.xml.sax.InputSource',
'org.xml.sax.Locator',
'org.xml.sax.Parser',
'org.xml.sax.SAXException',
'org.xml.sax.SAXNotRecognizedException',
'org.xml.sax.SAXNotSupportedException',
'org.xml.sax.SAXParseException',
'org.xml.sax.XMLFilter',
'org.xml.sax.XMLReader',
'org.xml.sax.ext.Attributes2',
'org.xml.sax.ext.Attributes2Impl',
'org.xml.sax.ext.DeclHandler',
'org.xml.sax.ext.DefaultHandler2',
'org.xml.sax.ext.EntityResolver2',
'org.xml.sax.ext.LexicalHandler',
'org.xml.sax.ext.Locator2',
'org.xml.sax.ext.Locator2Impl',
'org.xml.sax.helpers.AttributeListImpl',
'org.xml.sax.helpers.AttributesImpl',
'org.xml.sax.helpers.DefaultHandler',
'org.xml.sax.helpers.LocatorImpl',
'org.xml.sax.helpers.NamespaceSupport$Context',
'org.xml.sax.helpers.NamespaceSupport',
'org.xml.sax.helpers.NewInstance',
'org.xml.sax.helpers.ParserAdapter$AttributeListAdapter',
'org.xml.sax.helpers.ParserAdapter',
'org.xml.sax.helpers.ParserFactory',
'org.xml.sax.helpers.SecuritySupport$1',
'org.xml.sax.helpers.SecuritySupport$2',
'org.xml.sax.helpers.SecuritySupport$3',
'org.xml.sax.helpers.SecuritySupport$4',
'org.xml.sax.helpers.SecuritySupport',
'org.xml.sax.helpers.XMLFilterImpl',
'org.xml.sax.helpers.XMLReaderAdapter$AttributesAdapter',
'org.xml.sax.helpers.XMLReaderAdapter',
'org.xml.sax.helpers.XMLReaderFactory',
// classes are missing
'com.jcraft.jzlib.Deflater',
'com.jcraft.jzlib.Inflater',
'com.jcraft.jzlib.JZlib$WrapperType',
'com.jcraft.jzlib.JZlib',
'javassist.ClassClassPath',
'javassist.ClassPath',
'javassist.ClassPool',
'javassist.CtClass',
'javassist.CtMethod',
'javax.servlet.Filter',
'javax.servlet.FilterChain',
'javax.servlet.FilterConfig',
'javax.servlet.ServletConfig',
'javax.servlet.ServletContext',
'javax.servlet.ServletContextEvent',
'javax.servlet.ServletContextListener',
'javax.servlet.ServletException',
'javax.servlet.ServletRequest',
'javax.servlet.ServletResponse',
'javax.servlet.http.HttpServlet',
'javax.servlet.http.HttpServletRequest',
'javax.servlet.http.HttpServletResponse',
'jnr.x86asm.Asm',
'jnr.x86asm.Assembler',
'jnr.x86asm.CPU',
'jnr.x86asm.Mem',
'jnr.x86asm.Register',
'junit.framework.Assert',
'junit.framework.TestCase',
'org.antlr.stringtemplate.StringTemplate',
'org.eclipse.jetty.alpn.ALPN$ClientProvider',
'org.eclipse.jetty.alpn.ALPN$ServerProvider',
'org.eclipse.jetty.alpn.ALPN',
'org.eclipse.jetty.npn.NextProtoNego$ClientProvider',
'org.eclipse.jetty.npn.NextProtoNego$ServerProvider',
'org.eclipse.jetty.npn.NextProtoNego',
'org.jboss.marshalling.ByteInput',
'org.jboss.marshalling.ByteOutput',
'org.jboss.marshalling.Marshaller',
'org.jboss.marshalling.MarshallerFactory',
'org.jboss.marshalling.MarshallingConfiguration',
'org.jboss.marshalling.Unmarshaller',
'org.junit.Assert',
'org.junit.internal.matchers.CombinableMatcher',
'org.junit.matchers.JUnitMatchers',
'org.junit.runner.JUnitCore',
'org.python.apache.commons.logging.Log',
'org.python.apache.commons.logging.LogFactory',
'org.python.apache.log4j.Level',
'org.python.apache.log4j.Logger',
'org.python.apache.tomcat.jni.Buffer',
'org.python.apache.tomcat.jni.CertificateVerifier',
'org.python.apache.tomcat.jni.Library',
'org.python.apache.tomcat.jni.Pool',
'org.python.apache.tomcat.jni.SSL',
'org.python.apache.tomcat.jni.SSLContext',
'org.python.apache.tools.ant.BuildException',
'org.python.apache.tools.ant.DirectoryScanner',
'org.python.apache.tools.ant.Project',
'org.python.apache.tools.ant.taskdefs.Execute',
'org.python.apache.tools.ant.taskdefs.Java',
'org.python.apache.tools.ant.taskdefs.MatchingTask',
'org.python.apache.tools.ant.types.Commandline$Argument',
'org.python.apache.tools.ant.types.Path',
'org.python.apache.tools.ant.types.Resource',
'org.python.apache.tools.ant.types.ResourceCollection',
'org.python.apache.tools.ant.types.resources.BaseResourceCollectionContainer',
'org.python.apache.tools.ant.util.GlobPatternMapper',
'org.python.apache.tools.ant.util.SourceFileScanner',
'org.python.apache.xml.resolver.Catalog',
'org.python.apache.xml.resolver.CatalogManager',
'org.python.apache.xml.resolver.readers.SAXCatalogReader',
'org.python.google.protobuf.CodedInputStream',
'org.python.google.protobuf.CodedOutputStream',
'org.python.google.protobuf.ExtensionRegistry',
'org.python.google.protobuf.ExtensionRegistryLite',
'org.python.google.protobuf.MessageLite$Builder',
'org.python.google.protobuf.MessageLite',
'org.python.google.protobuf.MessageLiteOrBuilder',
'org.python.google.protobuf.Parser',
'org.python.objectweb.asm.tree.AbstractInsnNode',
'org.python.objectweb.asm.tree.ClassNode',
'org.python.objectweb.asm.tree.InsnList',
'org.python.objectweb.asm.tree.InsnNode',
'org.python.objectweb.asm.tree.JumpInsnNode',
'org.python.objectweb.asm.tree.LabelNode',
'org.python.objectweb.asm.tree.LocalVariableNode',
'org.python.objectweb.asm.tree.LookupSwitchInsnNode',
'org.python.objectweb.asm.tree.MethodNode',
'org.python.objectweb.asm.tree.TableSwitchInsnNode',
'org.python.objectweb.asm.tree.TryCatchBlockNode',
'org.python.objectweb.asm.tree.analysis.Analyzer',
'org.python.objectweb.asm.tree.analysis.BasicValue',
'org.python.objectweb.asm.tree.analysis.BasicVerifier',
'org.python.objectweb.asm.tree.analysis.Frame',
'org.python.objectweb.asm.tree.analysis.SimpleVerifier',
'org.slf4j.Logger',
'org.slf4j.LoggerFactory',
2015-12-28 22:38:55 -05:00
'org.tukaani.xz.ARMOptions',
'org.tukaani.xz.ARMThumbOptions',
'org.tukaani.xz.DeltaOptions',
'org.tukaani.xz.FilterOptions',
'org.tukaani.xz.FinishableWrapperOutputStream',
'org.tukaani.xz.IA64Options',
'org.tukaani.xz.LZMA2InputStream',
'org.tukaani.xz.LZMA2Options',
'org.tukaani.xz.LZMAInputStream',
'org.tukaani.xz.PowerPCOptions',
'org.tukaani.xz.SPARCOptions',
'org.tukaani.xz.SingleXZInputStream',
'org.tukaani.xz.UnsupportedOptionsException',
'org.tukaani.xz.X86Options',
'org.tukaani.xz.XZ',
'org.tukaani.xz.XZInputStream',
'org.tukaani.xz.XZOutputStream',
]