Coder Social home page Coder Social logo

coremedia / jangaroo-tools Goto Github PK

View Code? Open in Web Editor NEW
105.0 49.0 32.0 34.65 MB

AS3 w/o Flash Plugin

Home Page: https://www.jangaroo.net

License: Other

Java 78.28% ActionScript 3.93% Shell 0.02% JavaScript 13.98% HTML 0.11% Batchfile 0.04% Lex 0.88% FreeMarker 0.09% Smarty 0.02% TypeScript 2.66%

jangaroo-tools's Introduction

jangaroo-tools's People

Contributors

agawecki avatar aholtkamp avatar ahubold avatar aprantl avatar coremedia-ci avatar daspilker avatar dependabot[bot] avatar ebertel avatar ehotman avatar eva-mueller-coremedia avatar fpanteko avatar fsimmend avatar fwellers avatar fwienber avatar jensdallmann avatar marcrohlfs avatar mkleine avatar mmichaelis avatar mohlendo avatar mwestere avatar okummer avatar rreich avatar rtiedema avatar tkroehli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jangaroo-tools's Issues

Compiler accepts invalid baseClass

Hi,
mbuse and I have found an interesting behaviour of jangaroo. Look at this tiny incomplete example.

First, write a jangaroo class.

package wrong.packagepath {
public class WfProtocolListPanelBase extends Container 
{
}
}

Secondly, write a corresponding exml file.

baseClass="de.lynorics.example.WfProtocolListPanelBase">

And now look at the jangaroo class, the jangaroo compiler has generated.

package de.lynorics.example {
public class WfProtocolListPanel extends de.lynorics.example.WfProtocolListPanelBase {
}
}

As you see, the generated "WfProtocolListPanel" extends "WfProtocolListPanelBase" as defined by the given exml. And, as you can see, there ist no class "WfProtocolListPanelBase" in package "de.lynorics.example" since the declaration of this class lives in package "wrong.packagepath".

But, now to the most interesting part of this example.
The jangaroo compiler accepts and compiles this code to a running example! I asume, there is an explanation for this behaviour. Even I have doubts, that it is correct. Am I wrong? ;-)

Grammar railroad diagram

Using a script to convert (with some manual fixes) joo.cup to an EBNF understood by (IPV6) https://www.bottlecaps.de/rr/ui or (IPV4) https://rr.red-dove.com/ui to generate a nice navigable railroad diagram that can be used to document/develop/debug this project grammar.

Follow the instructions shown bellow at the top:

//
// EBNF to be viewd at
//	(IPV6) https://www.bottlecaps.de/rr/ui
//	(IPV4) https://rr.red-dove.com/ui
//
// Copy and paste this at one url shown above in the 'Edit Grammar' tab
// then click the 'View Diagram' tab.
//

as3_joo ::=
   compilationUnit

arguments ::=
  | nonEmptyArguments

arrayLiteral ::=
  LBRACK arrayLiteralFields RBRACK

arrayLiteralFields ::=
  |  expr
  | optExpr COMMA arrayLiteralFields

block ::=
  LBRACE statements RBRACE

catches ::=
  catchClause
  |  catches catchClause

catchClause ::=
  CATCH LPAREN parameter RPAREN block

classBody ::=
  LBRACE classBodyDirectives RBRACE

classBodyDirectives ::=
  | classBodyDirectives	classBodyDirective

classBodyDirective ::=
    statement
  | directive

classDeclaration ::=
    annotationsAndModifiers CLASS ide extends implements classBody
  | annotationsAndModifiers INTERFACE ide interfaceExtends classBody

commaExpr ::=
    expr
  | expr COMMA commaExpr

compilationUnit ::=
    packageDeclaration LBRACE optDirectives compilationUnitDeclaration RBRACE optClassDeclarations
  | mxmlCompilationUnit

compilationUnitDeclaration ::=
    classDeclaration SEMICOLON
  | classDeclaration
  | variableDeclaration
  | functionDeclaration
  | namespaceDeclaration

optClassDeclarations ::=
  | optDirectives classDeclaration optClassDeclarations

constOrVar ::=
    CONST
  | VAR

directive ::=
    IMPORT qualifiedIde SEMICOLON
  | IMPORT qualifiedIde DOT MUL SEMICOLON
  | USE ide qualifiedIde SEMICOLON

annotationsAndModifiers ::=
    modifiers
  | annotations modifiers

annotations ::=
    annotation
  | annotations annotation

annotation ::=
    LBRACK ide RBRACK
  | LBRACK ide LPAREN annotationParameters RPAREN RBRACK

nonEmptyAnnotationParameters ::=
    annotationParameter
  | annotationParameter COMMA nonEmptyAnnotationParameters

annotationParameter ::=
    ide EQ literalExpr
  | ide EQ qualifiedIde
  | literalExpr
  | ide

annotationParameters ::=
  | nonEmptyAnnotationParameters

optDirectives ::=
  | directive optDirectives

literalExpr ::=
    INT_LITERAL
  | FLOAT_LITERAL
  | BOOL_LITERAL
  | STRING_LITERAL
  | REGEXP_START REGEXP_LITERAL
  | NULL_LITERAL

expr ::=
    literalExpr
  | objectLiteral
  | arrayLiteral
  | lvalue
  | functionExpr
  | THIS
  | parenthesizedExpr
  | NEW LT type GT arrayLiteral
  | NEW expr
  | PLUSPLUS expr
     //%prec PREFIX_PLUSPLUS
  | MINUSMINUS expr
     //%prec PREFIX_MINUSMINUS
  | PLUS expr
     //%prec PREFIX_PLUS
  | MINUS expr
     //%prec PREFIX_MINUS
  | NOT expr
  | BITNOT expr
  | TYPEOF expr
  | DELETE expr
  | expr LPAREN arguments RPAREN
  | expr AS expr
  | expr IS expr
  | expr NO_LINE_TERMINATOR_HERE_POSTFIX_OP PLUSPLUS
  | expr NO_LINE_TERMINATOR_HERE_POSTFIX_OP MINUSMINUS
  | expr MUL expr
  | expr DIV expr
  | expr MOD expr
  | expr PLUS expr
  | expr MINUS expr
  | expr LSHIFT expr
  | expr RSHIFT expr
  | expr URSHIFT expr
  | expr LT expr
  | expr GT expr
  | expr LTEQ expr
  | expr GTEQ expr
  | expr INSTANCEOF expr
  | expr EQEQ expr
  | expr NOTEQ expr
  | expr EQEQEQ expr
  | expr NOTEQEQ expr
  | expr AND expr
  | expr XOR expr
  | expr OR expr
  | expr ANDAND expr
  | expr OROR expr
  | expr IN expr
  | lvalue EQ expr
  | lvalue MULTEQ expr
  | lvalue DIVEQ expr
  | lvalue MODEQ expr
  | lvalue PLUSEQ expr
  | lvalue MINUSEQ expr
  | lvalue LSHIFTEQ expr
  | lvalue RSHIFTEQ expr
  | lvalue URSHIFTEQ expr
  | lvalue ANDEQ expr
  | lvalue XOREQ expr
  | lvalue OREQ expr
  | lvalue ANDANDEQ expr
  | lvalue OROREQ expr
  | expr QUESTION expr COLON expr

extends ::=
  |
    EXTENDS qualifiedIde

interfaceExtends ::=
  | EXTENDS ideList

namespaceDeclaration ::=
    annotationsAndModifiers EQ STRING_LITERAL SEMICOLON

functionExpr ::=
    FUNCTION_EXPR optIde LPAREN parameters RPAREN optTypeRelation block

functionDeclaration ::=
    annotationsAndModifiers FUNCTION ide LPAREN parameters RPAREN optTypeRelation block
  | annotationsAndModifiers FUNCTION ide LPAREN parameters RPAREN optTypeRelation SEMICOLON
  | annotationsAndModifiers FUNCTION IDE ide LPAREN parameters RPAREN optTypeRelation block
  | annotationsAndModifiers FUNCTION IDE ide LPAREN parameters RPAREN optTypeRelation SEMICOLON

ide ::=
    IDE

implements ::=
  | IMPLEMENTS ideList

lvalue ::=
    qualifiedIde
  | IDE NAMESPACESEP IDE
  | THIS DOT namespacedIde
  | SUPER DOT namespacedIde
  | expr DOT namespacedIde
  | expr LBRACK commaExpr RBRACK

modifier ::=
    PUBLIC
  | PROTECTED
  | PRIVATE
  | INTERNAL
  /* syntactic keyword modifier or a namespace: */
  | IDE

modifiers ::=
  | modifier modifiers

namespacedIde ::=
    ide
  | modifier NAMESPACESEP IDE

nonEmptyArguments ::=
    expr
  | expr COMMA nonEmptyArguments

nonEmptyParameters ::=
    parameter
  | REST ide optTypeRelation
  | parameter COMMA nonEmptyParameters

nonEmptyObjectFields ::=
    objectField
  | objectField COMMA nonEmptyObjectFields

objectField ::=
    ide COLON expr
  | STRING_LITERAL COLON expr
  | INT_LITERAL COLON expr

objectFields ::=
  | nonEmptyObjectFields

objectLiteral ::=
    LBRACE_EXPR objectFields RBRACE

optCatches ::=
  | catches

optCommaExpr ::=
  | commaExpr

optExpr ::=
  | expr

optIde ::=
  | ide

optInitializer ::=
  | EQ expr

optTypeRelation ::=
  | typeRelation

packageDeclaration ::=
    PACKAGE
  | PACKAGE qualifiedIde

parameter ::=
    ide optTypeRelation optInitializer

parameters ::=
  | nonEmptyParameters

parenthesizedExpr ::=
    LPAREN expr RPAREN

qualifiedIde ::=
    ide
  | IDE DOTLT type GT
  | qualifiedIde DOT namespacedIde

statement ::=
    SEMICOLON
  | commaExpr SEMICOLON
  | ide COLON statement
  | variableDeclaration
  | BREAK SEMICOLON
  | BREAK NO_LINE_TERMINATOR_HERE ide SEMICOLON
  | CONTINUE SEMICOLON
  | CONTINUE NO_LINE_TERMINATOR_HERE ide SEMICOLON
  | RETURN  SEMICOLON
  | RETURN  NO_LINE_TERMINATOR_HERE expr SEMICOLON
  | THROW NO_LINE_TERMINATOR_HERE commaExpr SEMICOLON
  | SUPER LPAREN arguments RPAREN SEMICOLON
  | IF parenthesizedExpr statement ELSE statement
  | IF parenthesizedExpr statement
  | SWITCH parenthesizedExpr LBRACE statementsInSwitch RBRACE
  | WHILE parenthesizedExpr statement
  | DO statement WHILE parenthesizedExpr SEMICOLON
  | FOR LPAREN SEMICOLON optCommaExpr SEMICOLON optCommaExpr RPAREN statement
  | FOR LPAREN commaExpr SEMICOLON optCommaExpr SEMICOLON optCommaExpr RPAREN statement
  | FOR LPAREN forVariableDeclaration SEMICOLON optCommaExpr SEMICOLON optCommaExpr RPAREN statement
  | FOR LPAREN lvalue IN expr RPAREN statement
  | FOR LPAREN VAR ide optTypeRelation IN expr RPAREN statement
  | FOR IDE LPAREN lvalue IN expr RPAREN statement
  | FOR IDE LPAREN VAR ide optTypeRelation IN expr RPAREN statement
  | TRY block catches
  | TRY block optCatches FINALLY block
  | block
  | functionDeclaration

statements ::=
  | statements statement

statementInSwitch ::=
    statement
  | CASE expr COLON
  | DEFAULT COLON

statementsInSwitch ::=
  | statementsInSwitch statementInSwitch

type ::=
    ideType
  | MUL
  | VOID

ideType ::=
    qualifiedIde

ideList ::=
    qualifiedIde
  | qualifiedIde COMMA ideList

typeRelation ::=
    COLON type
  | COLON TYPE_START type

forVariableDeclaration ::=
  VAR ide optTypeRelation optInitializer optNextVariableDeclaration

variableDeclaration ::=
  annotationsAndModifiers constOrVar ide optTypeRelation optInitializer optNextVariableDeclaration SEMICOLON

optNextVariableDeclaration ::=
  | COMMA ide optTypeRelation optInitializer optNextVariableDeclaration

mxmlCompilationUnit ::=
    optXmlHeader mxmlElement

/* <?xml version="..."?> */
optXmlHeader ::=
  | LT_QUESTION ide xmlAttributes QUESTION_GT

mxmlElement ::=
    closedMxmlTag
  | openingMxmlTag mxmlElements closingMxmlTag

mxmlElements ::=
  | mxmlElements mxmlElement
  | mxmlElements STRING_LITERAL

xmlAttribute ::=
    namespacedXmlIde EQ STRING_LITERAL

xmlAttributes ::=
  | xmlAttributes xmlAttribute

namespacedXmlIde ::=
    IDE
  | IDE COLON IDE

openingMxmlTag ::=
    LT namespacedXmlIde xmlAttributes GT

closedMxmlTag ::=
    LT namespacedXmlIde xmlAttributes SLASH_GT

closingMxmlTag ::=
    LT_SLASH namespacedXmlIde GT

//Tokens
//\("[^"]+"\)\s+{ return symbol(\([^)]+\)); }

AS ::= "as"
BREAK ::= "break"
CASE ::= "case"
CATCH ::= "catch"
CLASS ::= "class"
CONST ::= "const"
CONTINUE ::= "continue"
DEFAULT ::= "default"
DELETE ::= "delete"
DO ::= "do"
ELSE ::= "else"
EXTENDS ::= "extends"
FINALLY ::= "finally"
FOR ::= "for"
FUNCTION ::= "function"
IF ::= "if"
IMPLEMENTS ::= "implements"
IMPORT ::= "import"
IN ::= "in"
INSTANCEOF ::= "instanceof"
INTERFACE ::= "interface"
INTERNAL ::= "internal"
IS ::= "is"
NEW ::= "new"
NULL_LITERAL ::= "null"
PACKAGE ::= "package"
PRIVATE ::= "private"
PROTECTED ::= "protected"
PUBLIC ::= "public"
RETURN ::= "return"
SUPER ::= "super"
SWITCH ::= "switch"
THIS ::= "this"
THROW ::= "throw"
TRY ::= "try"
TYPEOF ::= "typeof"
USE ::= "use"
VAR ::= "var"
VOID ::= "void"
WHILE ::= "while"
WITH ::= "with"

BOOL_LITERAL ::= "true"
BOOL_LITERAL ::= "false"


LPAREN ::= "("
RPAREN ::= ")"
LBRACE ::= "{"
RBRACE ::= "}"
LBRACK ::= "["
RBRACK ::= "]"
SEMICOLON ::= ";"
COMMA ::= ","
DOT ::= "."
EQ ::= "="
GT ::= ">"
LT ::= "<"
NOT ::= "!"
QUESTION ::= "?"
COLON ::= ":"
EQEQ ::= "=="
LTEQ ::= "<="
GTEQ ::= ">="
NOTEQ ::= "!="
ANDAND ::= "&&"
OROR ::= "||"
PLUSPLUS ::= "++"
MINUSMINUS ::= "--"
PLUS ::= "+"
MINUS ::= "-"
MUL ::= "*"
AND ::= "&"
OR ::= "|"
XOR ::= "^"
MOD ::= "%"
BITNOT ::= "~"
LSHIFT ::= "<<"
RSHIFT ::= ">>"
URSHIFT ::= ">>>"
PLUSEQ ::= "+="
MINUSEQ ::= "-="
MULTEQ ::= "*="
ANDEQ ::= "&="
ANDANDEQ ::= "&&="
OREQ ::= "|="
OROREQ ::= "||="
XOREQ ::= "^="
MODEQ ::= "%="
LSHIFTEQ ::= "<<="
RSHIFTEQ ::= ">>="
URSHIFTEQ ::= ">>>="
EQEQEQ ::= "==="
NOTEQEQ ::= "!=="
REST ::= "..."
NAMESPACESEP ::= "::"
DIV ::= "/"
DIVEQ ::= "/="
DOTLT ::= ".<"

Maven Import with Jangaroo Language does not work with IDEA 10

Exception on import:

org.jetbrains.idea.maven.project.MavenProject.findPlugin(Ljava/lang/String;Ljava/lang/String;)Lorg/jetbrains/idea/maven/project/MavenPlugin;
at net.jangaroo.ide.idea.JangarooFacetImporter.isApplicable(JangarooFacetImporter.java:64)
at org.jetbrains.idea.maven.importing.MavenImporter.getSuitableImporters(MavenImporter.java:48)
at org.jetbrains.idea.maven.project.MavenProject.getSuitableImporters(MavenProject.java:794)
at org.jetbrains.idea.maven.project.MavenProject.resolve(MavenProject.java:405)
at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1004)
at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:39)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:131)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$100(MavenProjectsProcessor.java:28)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:107)
at org.jetbrains.idea.maven.utils.MavenUtil$9.run(MavenUtil.java:395)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:382)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:130)

Jangaroo Migration to Ext AS 6 - IntelliJ IDEA Plugin won't work

See also: CoreMedia Support Ticket 46032

Migration Step 7:

  • Enter the version of ext-as (as in the previous step), e.g. 6.2.0-6

leads to:

  • IntelliJ IDEA 2017.x.x
    • nothing happens
  • IntelliJ IDEA 2016.3.x
    • errormessage: "Required library not found: The library 'net.jangaroo:ext-as:6.2.0-6' not found in Maven repositories."

But the library is present in the local repository - this is guaranteed after performing step 6.
The working device is a Lenovo P51 which is running on Win10.

“NoSuchMethodErrors” due to multiple versions of commons-codec:commons-codec:jar

Issue description:

There are multiple versions of commons-codec:commons-codec in jangaroo-tools\jangaroo\jangaroo-app-runner. As shown in the following dependency tree, library commons-codec:commons-codec:1.11 is transitively introduced by org.apache.httpcomponents:httpclient:4.5.9, but has been managed to be version 1.3.

However, several methods defined in shadowed version commons-codec:commons-codec:1.11 are referenced by client project via org.apache.httpcomponents:httpclient:4.5.9 but missing in the actually loaded version commons-codec:commons-codec:1.3.

For instance, the following missing method(defined in commons-codec:commons-codec:1.11) are actually referenced by jangaroo-tools\jangaroo\jangaroo-app-runner, which will introduce a runtime error(i.e., "NoSuchMethodError") into jangaroo-tools\jangaroo\jangaroo-app-runner.

org.apache.commons.codec.binary.Base64: void init(int) is invoked by jangaroo-tools\jangaroo\jangaroo-app-runner via the following path:


Invocation path------
<net.jangaroo.apprunner.proxy.AddDynamicPackagesServlet: void doGet(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)> jangaroo-tools\jangaroo\jangaroo-app-runner\target\classes
<org.apache.http.impl.client.CloseableHttpClient: org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.client.methods.HttpUriRequest)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.client.CloseableHttpClient: org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.protocol.HttpContext)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.client.InternalHttpClient: org.apache.http.client.methods.CloseableHttpResponse doExecute(org.apache.http.HttpHost,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.execchain.MainClientExec: org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.conn.routing.HttpRoute,org.apache.http.client.methods.HttpRequestWrapper,org.apache.http.client.protocol.HttpClientContext,org.apache.http.client.methods.HttpExecutionAware)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.auth.HttpAuthenticator: void generateAuthResponse(org.apache.http.HttpRequest,org.apache.http.auth.AuthState,org.apache.http.protocol.HttpContext)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.auth.HttpAuthenticator: org.apache.http.Header doAuth(org.apache.http.auth.AuthScheme,org.apache.http.auth.Credentials,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.http.impl.auth.BasicScheme: org.apache.http.Header authenticate(org.apache.http.auth.Credentials,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)> Repositories\org\apache\httpcomponents\httpclient\4.5.9\httpclient-4.5.9.jar
<org.apache.commons.codec.binary.Base64: void init(int)> 

Suggested fixing solutions:

  1. Declare a direct dependency commons-codec:commons-codec:1.11 in the pom file of jangaroo-tools\jangaroo\jangaroo-app-runner
    This repair will not introduce new dependencies and conflicts.

  2. Use configuration attribute <dependencyManagement> to unify the version of library commons-codec:commons-codec to be 1.11 in jangaroo-tools\jangaroo\jangaroo-app-runner's pom file.
    This repair will not introduce new dependencies and conflicts.

Please let me know which solution do you prefer? I can submit a PR to fix it.

Thank you very much for your attention.
Best regards,

Dependency tree----


net.jangaroo:jangaroo-app-runner:jar:4.0.77-SNAPSHOT
+- org.slf4j:slf4j-api:jar:1.7.2:compile
+- org.apache.commons:commons-lang3:jar:3.7:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.7.1:compile
|  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.7.1:compile (version managed from 2.7.0)
|  \- com.fasterxml.jackson.core:jackson-core:jar:2.7.1:compile
+- org.eclipse.jetty:jetty-server:jar:9.4.19.v20190610:compile
|  +- (javax.servlet:javax.servlet-api:jar:3.1.0:compile - omitted for duplicate)
|  +- org.eclipse.jetty:jetty-http:jar:9.4.19.v20190610:compile
|  |  +- (org.eclipse.jetty:jetty-util:jar:9.4.19.v20190610:compile - omitted for duplicate)
|  |  \- (org.eclipse.jetty:jetty-io:jar:9.4.19.v20190610:compile - omitted for duplicate)
|  \- org.eclipse.jetty:jetty-io:jar:9.4.19.v20190610:compile
|     \- (org.eclipse.jetty:jetty-util:jar:9.4.19.v20190610:compile - omitted for duplicate)
+- org.eclipse.jetty:jetty-util:jar:9.4.19.v20190610:compile
+- org.eclipse.jetty:jetty-servlet:jar:9.4.19.v20190610:compile
|  \- org.eclipse.jetty:jetty-security:jar:9.4.19.v20190610:compile
|     \- (org.eclipse.jetty:jetty-server:jar:9.4.19.v20190610:compile - omitted for duplicate)
+- org.eclipse.jetty:jetty-webapp:jar:9.4.19.v20190610:compile
|  +- org.eclipse.jetty:jetty-xml:jar:9.4.19.v20190610:compile
|  |  \- (org.eclipse.jetty:jetty-util:jar:9.4.19.v20190610:compile - omitted for duplicate)
|  \- (org.eclipse.jetty:jetty-servlet:jar:9.4.19.v20190610:compile - omitted for duplicate)
+- javax.servlet:javax.servlet-api:jar:3.1.0:compile
+- org.mitre.dsmiley.httpproxy:smiley-http-proxy-servlet:jar:1.11:compile
|  \- (org.apache.httpcomponents:httpclient:jar:4.5.9:compile - version managed from 4.5.6; omitted for duplicate)
+- org.apache.httpcomponents:httpclient:jar:4.5.9:compile
|  +- (org.apache.httpcomponents:httpcore:jar:4.4.9:compile - version managed from 4.4.11; omitted for duplicate)
|  +- commons-logging:commons-logging:jar:1.1.1:compile (version managed from 1.2)
|  \- commons-codec:commons-codec:jar:1.3:compile (version managed from 1.11)
+- org.apache.httpcomponents:httpcore:jar:4.4.9:compile
\- junit:junit:jar:4.12:test
   \- org.hamcrest:hamcrest-core:jar:1.3:test

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.