package org.jboss.windup.rules.apps.mavenize; /** * This class was originally intended as a static store of various BOM's dependencies. * But it turned out there are so many that it's better to extract them right from the BOM. * That is implemented in nexus-repo-indexer 6. * * This might be deleted in the final version. * * @author <a href="http://ondra.zizka.cz/">Ondrej Zizka, zizka@seznam.cz</a> */ interface ApiDependenciesData { // Regex to help transforming from POM XML: // From quickstarts: // (?> )(?:<!-- ([\s\S]+?) -->\s+)?<dependency>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+(?:<type>(.+)</type>)?\s+<scope>(.+)</scope>\s+</dependency> // MavenCoord DEP_ = new MavenCoord("$2", "$3", "", "$4").setScope("$5").setComment("$1").addExclusion("$"); // From the BOMs: // (?<i> +)(?:<!-- ([\s\S]+?) -->\s+)?<dependency>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+(?:<version>(.+)</version>)?\s+(?:<!-- ([\s\S]+?) -->\s+)?<exclusions>\s+<exclusion>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+</exclusion>\s+</exclusions>\s+(?:<type>(.+)</type>)?\s+(?:<scope>(.+)</scope>)?\s+</dependency> // (?<i> +)(?:<!-- ([\s\S]+?) -->\s+)?<dependency>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+(?:<version>(.+)</version>)?\s+(?:<!-- ([\s\S]+?) -->\s+)?(?:<exclusions>\s+<exclusion>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+</exclusion>\s+</exclusions>)?\s+(?:<type>(.+)</type>)?\s+(?:<scope>(.+)</scope>)?\s+</dependency> // MavenCoord DEP_ = new MavenCoord("$2", "$3", "$4", "$8").setComment("$1")\n.addExclusion(new MavenCoord("$6", "$7", null).setComment("$5")); // (?:<exclusions>\s+)(?:<exclusion>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+</exclusion>)+(?:\s+</exclusions>) // (?:<!-- ([\s\S]+?) -->\s+)?<exclusion>\s+<groupId>(.+)</groupId>\s+<artifactId>(.+)</artifactId>\s+</exclusion> // .addExclusion(new MavenCoord("$2", "$3", null).setComment("$1")) // .setComment\(""\)||.addExclusion\(new MavenCoord\("", "", null\) // setScope\(""\) -> setScope\("provided"\) // \s+.addExclusion\(new MavenCoord\("", "", null\).setComment\(""\)\); -> ; // Quickstarts MavenCoord DEP_API_SERVLET_31 = new MavenCoord("org.jboss.spec.javax.servlet", "jboss-servlet-api_3.1_spec", null).setScope("provided"); MavenCoord DEP_API_EJB_CLIENT = new MavenCoord("org.wildfly", "wildfly-ejb-client-bom", "pom").setScope("provided"); MavenCoord DEP_API_CDI = new MavenCoord("javax.enterprise", "cdi-api", "", null).setScope("provided").setComment("Import the CDI API, we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_JAVAX_ANN = new MavenCoord("org.jboss.spec.javax.annotation", "jboss-annotations-api_1.2_spec", "", null).setScope("provided").setComment("Import the Common Annotations API (JSR-250), we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_JSF = new MavenCoord("org.jboss.spec.javax.faces", "jboss-jsf-api_2.2_spec", "", null).setScope("provided").setComment("Import the JSF API, we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_EJB_32 = new MavenCoord("org.jboss.spec.javax.ejb", "jboss-ejb-api_3.2_spec", "", null).setScope("provided").setComment("Import the EJB API, we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_JAXRS_20 = new MavenCoord("org.jboss.spec.javax.ws.rs", "jboss-jaxrs-api_2.0_spec", "", null).setScope("provided").setComment("Import the JAX-RS API, we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_JPA_21 = new MavenCoord("org.hibernate.javax.persistence", "hibernate-jpa-2.1-api", "", null).setScope("provided").setComment("Import the JPA API, we use provided scope as the API is included in JBoss EAP"); MavenCoord DEP_API_HIBERNATE_VALIDATOR = new MavenCoord("org.hibernate", "hibernate-validator", "", null).setScope("provided").addExclusion(new MavenCoord("org.slf4j", "slf4j-api", null)); // TODO: Maybe I should read these data dynamically from the artifact's POM itself? // org.jboss.bom:jboss-eap-javaee7:7.0.0-build-12 MavenCoord DEP_HBN_CORE = new MavenCoord("org.hibernate", "hibernate-core", "5.0.8.Final", null).setScope("provided").addExclusion(new MavenCoord("xml-apis", "xml-apis", null)); MavenCoord DEP_HBN_EM = new MavenCoord("org.hibernate", "hibernate-entitymanager", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_HBN_ENVERS = new MavenCoord("org.hibernate", "hibernate-envers", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_HBN_INFINISPAN = new MavenCoord("org.hibernate", "hibernate-infinispan", "5.0.8.Final", null).setScope("provided").addExclusion(new MavenCoord("org.jboss.javaee", "jboss-transaction-api", null)); MavenCoord DEP_HBN_C3P0 = new MavenCoord("org.hibernate", "hibernate-c3p0", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_HBN_EHCACHE = new MavenCoord("org.hibernate", "hibernate-ehcache", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_HBN_PROXOOL = new MavenCoord("org.hibernate", "hibernate-proxool", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_HBN_VALIDATOR = new MavenCoord("org.hibernate", "hibernate-validator", "5.2.4.Final", null).setScope("provided"); MavenCoord DEP_HBN_SEARCH_ENGINE = new MavenCoord("org.hibernate", "hibernate-search-engine", "5.5.2.Final", null).setScope("provided"); MavenCoord DEP_HBN_SEARCH_ORM = new MavenCoord("org.hibernate", "hibernate-search-orm", "5.5.2.Final", null).setScope("provided"); MavenCoord DEP_ISPAN_DIR_PROVIDER = new MavenCoord("org.infinispan", "infinispan-directory-provider", "8.1.2.Final", null).setScope("provided"); MavenCoord DEP_HBN_VALID_ANN_PROC = new MavenCoord("org.hibernate", "hibernate-validator-annotation-processor", "5.2.4.Final", null).setScope("provided"); MavenCoord DEP_HBN_JPA_MD = new MavenCoord("org.hibernate", "hibernate-jpamodelgen", "5.0.8.Final", null).setScope("provided"); MavenCoord DEP_ISPAN_CORE = new MavenCoord("org.infinispan", "infinispan-core", "8.1.2.Final", null).setScope("provided"); MavenCoord DEP_ISPAN_CLIENT_HOTROD = new MavenCoord("org.infinispan", "infinispan-client-hotrod", "8.1.2.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_EJB3_EXT = new MavenCoord("org.jboss.ejb3", "jboss-ejb3-ext-api", "2.2.0.Final", null).setScope("provided").addExclusion(new MavenCoord("org.jboss.javaee", "jboss-ejb-api", null)); MavenCoord DEP_JBOSS_LOGGING_PROC = new MavenCoord("org.jboss.logging", "jboss-logging-processor", "2.0.1.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_LOGGING = new MavenCoord("org.jboss.logging", "jboss-logging", "3.3.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_XTS = new MavenCoord("org.jboss.narayana.xts", "jbossxts", "3.3.0.Final", "5.2.13.Final").setClassifier("api").setScope("provided"); MavenCoord DEP_RESTEASY_ASSYNC = new MavenCoord("org.jboss.resteasy", "async-http-servlet-3.0", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_ATOM = new MavenCoord("org.jboss.resteasy", "resteasy-atom-provider", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("com.sun.xml.bind", "jaxb-impl", null)); MavenCoord DEP_RESTEASY_JAXB = new MavenCoord("org.jboss.resteasy", "resteasy-jaxb-provider", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("com.sun.xml.bind", "jaxb-impl", null)); MavenCoord DEP_RESTEASY_JETTISON = new MavenCoord("org.jboss.resteasy", "resteasy-jettison-provider", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_JACKSON = new MavenCoord("org.jboss.resteasy", "resteasy-jackson-provider", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_JACKSON2 = new MavenCoord("org.jboss.resteasy", "resteasy-jackson2-provider", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_JAXRS = new MavenCoord("org.jboss.resteasy", "resteasy-jaxrs", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("org.jboss.spec.javax.annotation", "jboss-annotations-api_1.1_spec", null)).addExclusion(new MavenCoord("net.jcip", "jcip-annotations", null)).addExclusion(new MavenCoord("org.apache.httpcomponents", "httpclient", null)).addExclusion(new MavenCoord("commons-io", "commons-io", null)); MavenCoord DEP_RESTEASY_CLIENT = new MavenCoord("org.jboss.resteasy", "resteasy-client", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_MULTIPART = new MavenCoord("org.jboss.resteasy", "resteasy-multipart-provider", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("javax.mail", "mail", null)).addExclusion(new MavenCoord("org.apache.james", "apache-mime4j", null)); MavenCoord DEP_RESTEASY_JSONP = new MavenCoord("org.jboss.resteasy", "resteasy-json-p-provider", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("javax.json", "javax.json-api", null)).addExclusion(new MavenCoord("org.glassfish", "javax.json", null)); MavenCoord DEP_RESTEASY_JSAPI = new MavenCoord("org.jboss.resteasy", "resteasy-jsapi", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_RESTEASY_VALIDATOR_11 = new MavenCoord("org.jboss.resteasy", "resteasy-validator-provider-11", "3.0.16.Final", null).setScope("provided").addExclusion(new MavenCoord("org.hibernate", "hibernate-validator", null)).addExclusion(new MavenCoord("com.fasterxml", "classmate", null)); MavenCoord DEP_RESTEASY_SPRING = new MavenCoord("org.jboss.resteasy", "resteasy-spring", "3.0.16.Final", null).setScope("provided"); MavenCoord DEP_NEGO_COMMON = new MavenCoord("org.jboss.security", "jboss-negotiation-common", "3.0.0.Final", null).setScope("provided"); MavenCoord DEP_NEGO_EXTRAS = new MavenCoord("org.jboss.security", "jboss-negotiation-extras", "3.0.0.Final", null).setScope("provided"); MavenCoord DEP_NEGO_NTLM = new MavenCoord("org.jboss.security", "jboss-negotiation-ntlm", "3.0.0.Final", null).setScope("provided"); MavenCoord DEP_NEGO_SPNEGO = new MavenCoord("org.jboss.security", "jboss-negotiation-spnego", "3.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSSWS_CXF_CLIENT = new MavenCoord("org.jboss.ws.cxf", "jbossws-cxf-client", "5.1.0.Beta1", null).setScope("provided").addExclusion(new MavenCoord("org.jboss.com.sun.httpserver", "httpserver", null)); MavenCoord DEP_SUN_HTTPSERVER = new MavenCoord("org.picketbox", "picketbox-commons", "1.0.0.final", null).setScope("provided"); MavenCoord DEP_PICKETLINK_API = new MavenCoord("org.picketlink", "picketlink-api", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_PICKETLINK_COMMON = new MavenCoord("org.picketlink", "picketlink-common", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_PICKETLINK_FEDERATION = new MavenCoord("org.picketlink", "picketlink-federation", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_PICKETLINK_IMPL = new MavenCoord("org.picketlink", "picketlink-impl", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_PICKETLINK_IDM_API = new MavenCoord("org.picketlink", "picketlink-idm-api", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_PICKETLINK_IDM_IMPL = new MavenCoord("org.picketlink", "picketlink-idm-impl", "2.5.5.SP1", null).setScope("provided"); MavenCoord DEP_WFLY_CLUSTERING_SINGLETON = new MavenCoord("org.wildfly", "wildfly-clustering-singleton-api", "10.0.0.Final", null).setScope("provided"); MavenCoord DEP_WFLY_SECURITY_API = new MavenCoord("org.wildfly", "wildfly-security-api", "10.0.0.Final", null).setScope("provided"); MavenCoord DEP_LOG4J = new MavenCoord("log4j", "log4j", "1.2.16", null).setScope("provided"); // From org.jboss.spec:jboss-javaee-7.0:1.0.3.Final MavenCoord DEP_JAVAX_ACTIVATION = new MavenCoord("javax.activation", "activation", "1.1.1", null).setScope("provided"); MavenCoord DEP_JAVAX_CDI_API = new MavenCoord("javax.enterprise", "cdi-api", "1.2", null).setScope("provided").addExclusion(new MavenCoord("javax.annotation", "jsr250-api", null)).addExclusion(new MavenCoord("javax.el", "javax.el-api", null)).addExclusion(new MavenCoord("javax.interceptor", "javax.interceptor-api", null)); MavenCoord DEP_JAVAX_INJECT = new MavenCoord("javax.inject", "javax.inject", "1", null).setScope("provided"); MavenCoord DEP_JAVAX_JWS = new MavenCoord("javax.jws", "jsr181-api", "1.0-MR1", null).setScope("provided"); MavenCoord DEP_JAVAX_MAIL = new MavenCoord("com.sun.mail", "javax.mail", "1.5.3", null).setScope("provided"); MavenCoord DEP_JAVAX_VALIDATION_API = new MavenCoord("javax.validation", "validation-api", "1.1.0.Final", null).setScope("provided"); MavenCoord DEP_HBN_JPA_API_21 = new MavenCoord("org.hibernate.javax.persistence", "hibernate-jpa-2.1-api", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAXRS_20 = new MavenCoord("org.jboss.spec.javax.ws.rs", "jboss-jaxrs-api_2.0_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAVAX_ANNOTATION = new MavenCoord("org.jboss.spec.javax.annotation", "jboss-annotations-api_1.2_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAVAX_BATCH = new MavenCoord("org.jboss.spec.javax.batch", "jboss-batch-api_1.0_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_EJB_32 = new MavenCoord("org.jboss.spec.javax.ejb", "jboss-ejb-api_3.2_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAVAX_EL_30 = new MavenCoord("org.jboss.spec.javax.el", "jboss-el-api_3.0_spec", "1.0.4.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_CONCURRENCY_10 = new MavenCoord("org.jboss.spec.javax.enterprise.concurrent", "jboss-concurrency-api_1.0_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JSF_22 = new MavenCoord("org.jboss.spec.javax.faces", "jboss-jsf-api_2.2_spec", "2.2.11", null).setScope("provided"); MavenCoord DEP_JBOSS_INTERCEPTORS_12 = new MavenCoord("org.jboss.spec.javax.interceptor", "jboss-interceptors-api_1.2_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JSON_10 = new MavenCoord("org.jboss.spec.javax.json", "jboss-json-api_1.0_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_J2EE_MGMT_11 = new MavenCoord("org.jboss.spec.javax.management.j2ee", "jboss-j2eemgmt-api_1.1_spec", "1.0.1.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_CONNECTOR_17 = new MavenCoord("org.jboss.spec.javax.resource", "jboss-connector-api_1.7_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_RMI_10 = new MavenCoord("org.jboss.spec.javax.rmi", "jboss-rmi-api_1.0_spec", "1.0.4.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JACC_15 = new MavenCoord("org.jboss.spec.javax.security.jacc", "jboss-jacc-api_1.5_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JASPI_11 = new MavenCoord("org.jboss.spec.javax.security.auth.message", "jboss-jaspi-api_1.1_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JMS_20 = new MavenCoord("org.jboss.spec.javax.jms", "jboss-jms-api_2.0_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_SERVLET_31 = new MavenCoord("org.jboss.spec.javax.servlet", "jboss-servlet-api_3.1_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JSP_23 = new MavenCoord("org.jboss.spec.javax.servlet.jsp", "jboss-jsp-api_2.3_spec", "1.0.1.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JSTL_12 = new MavenCoord("org.jboss.spec.javax.servlet.jstl", "jboss-jstl-api_1.2_spec", "1.1.2.Final", null).setScope("provided").addExclusion(new MavenCoord("xalan", "xalan", null)); MavenCoord DEP_JBOSS_TRANSACTION_12 = new MavenCoord("org.jboss.spec.javax.transaction", "jboss-transaction-api_1.2_spec", "1.0.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_WEBSOCKET_11 = new MavenCoord("org.jboss.spec.javax.websocket", "jboss-websocket-api_1.1_spec", "1.1.0.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAXB_22 = new MavenCoord("org.jboss.spec.javax.xml.bind", "jboss-jaxb-api_2.2_spec", "1.0.4.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_SAAJ_13 = new MavenCoord("org.jboss.spec.javax.xml.soap", "jboss-saaj-api_1.3_spec", "1.0.3.Final", null).setScope("provided"); MavenCoord DEP_JBOSS_JAXWS_22 = new MavenCoord("org.jboss.spec.javax.xml.ws", "jboss-jaxws-api_2.2_spec", "2.0.2.Final", null).setScope("provided"); MavenCoord[] API_ARTIFACTS = new MavenCoord[]{ DEP_HBN_CORE, DEP_HBN_EM, DEP_HBN_ENVERS, DEP_HBN_INFINISPAN, DEP_HBN_C3P0, DEP_HBN_EHCACHE, DEP_HBN_PROXOOL, DEP_HBN_VALIDATOR, DEP_HBN_SEARCH_ENGINE, DEP_HBN_SEARCH_ORM, DEP_ISPAN_DIR_PROVIDER, DEP_HBN_VALID_ANN_PROC, DEP_HBN_JPA_MD, DEP_ISPAN_CORE, DEP_ISPAN_CLIENT_HOTROD, DEP_JBOSS_EJB3_EXT, DEP_JBOSS_LOGGING_PROC, DEP_JBOSS_LOGGING, DEP_JBOSS_XTS, DEP_RESTEASY_ASSYNC, DEP_RESTEASY_ATOM, DEP_RESTEASY_JAXB, DEP_RESTEASY_JETTISON, DEP_RESTEASY_JACKSON, DEP_RESTEASY_JACKSON2, DEP_RESTEASY_JAXRS, DEP_RESTEASY_CLIENT, DEP_RESTEASY_MULTIPART, DEP_RESTEASY_JSONP, DEP_RESTEASY_JSAPI, DEP_RESTEASY_VALIDATOR_11, DEP_RESTEASY_SPRING, DEP_NEGO_COMMON, DEP_NEGO_EXTRAS, DEP_NEGO_NTLM, DEP_NEGO_SPNEGO, DEP_JBOSSWS_CXF_CLIENT, DEP_SUN_HTTPSERVER, DEP_PICKETLINK_API, DEP_PICKETLINK_COMMON, DEP_PICKETLINK_FEDERATION, DEP_PICKETLINK_IMPL, DEP_PICKETLINK_IDM_API, DEP_PICKETLINK_IDM_IMPL, DEP_WFLY_CLUSTERING_SINGLETON, DEP_WFLY_SECURITY_API, DEP_LOG4J, // From org.jboss.spec:jboss-javaee-7.0:1.0.3.Final DEP_JAVAX_ACTIVATION, DEP_JAVAX_CDI_API, DEP_JAVAX_INJECT, DEP_JAVAX_JWS, DEP_JAVAX_MAIL, DEP_JAVAX_VALIDATION_API, DEP_HBN_JPA_API_21, DEP_JBOSS_JAXRS_20, DEP_JBOSS_JAVAX_ANNOTATION, DEP_JBOSS_JAVAX_BATCH, DEP_JBOSS_EJB_32, DEP_JBOSS_JAVAX_EL_30, DEP_JBOSS_CONCURRENCY_10, DEP_JBOSS_JSF_22, DEP_JBOSS_INTERCEPTORS_12, DEP_JBOSS_JSON_10, DEP_JBOSS_J2EE_MGMT_11, DEP_JBOSS_CONNECTOR_17, DEP_JBOSS_RMI_10, DEP_JBOSS_JACC_15, DEP_JBOSS_JASPI_11, DEP_JBOSS_JMS_20, DEP_JBOSS_SERVLET_31, DEP_JBOSS_JSP_23, DEP_JBOSS_JSTL_12, DEP_JBOSS_TRANSACTION_12, DEP_JBOSS_WEBSOCKET_11, DEP_JBOSS_JAXB_22, DEP_JBOSS_SAAJ_13, DEP_JBOSS_JAXWS_22, }; }