You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Piotr Bzdyl <pi...@bzdyl.net> on 2005/11/20 13:38:39 UTC

[m2] Facelets and JSF implementation

Hello,

I would like to setup my own central repository with Facelets jar and 
configure its pom with all dependencies. I see that it requires JSF API. 
I would like to use MyFaces or Sun's Reference Implementation. I think 
that I should include in the Facelets pom only JSF API dependency since 
different projects using Facelets can choose different implementations. 
I was thinking about following solution:

pom.xml for Facelets 
(https://facelets.dev.java.net/nonav/docs/dev/docbook.html#gettingstarted-dependencies):

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sun</groupId>
  <artifactId>facelets</artifactId>
  <version>1.0e</version>
  <dependencies>
    <!-- JSF API from http://javaserverfaces.dev.java.net/ -->
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>1.1</version>
    </dependency>
    <!-- EL API from https://facelets.dev.java.net/files/documents/3448/24027/facelets-1.0e.zip -->
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-api</artifactId>
      <version>1.0</version>
    </dependency>
    <!-- What about EL reference implementation? Include here? -->
    <!-- EL RI from https://facelets.dev.java.net/files/documents/3448/24027/facelets-1.0e.zip -->
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-ri</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
</project>

MyFaces 1.1.1 pom (based on the http://jira.codehaus.org/browse/MEV-136#action_51297):

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.myfaces</groupId>
  <artifactId>myfacess</artifactId>
  <version>1.1.1</version>
  <dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.7.0</version>
  </dependency>
  <dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.3.0</version>
  </dependency>
  <dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.1</version>
  </dependency>
  <dependency>
    <groupId>commons-digester</groupId>
    <artifactId>commons-digester</artifactId>
    <version>1.7</version>
  </dependency>
  <dependency>
    <groupId>commons-el</groupId>
    <artifactId>commons-el</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId> commons-fileupload</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
    <groupId>commons-lang</groupId>
    <artifactId> commons-lang</artifactId>
    <version>2.1</version>
  </dependency>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.0.4</version>
  </dependency>
  <dependency>
    <groupId>commons-validator</groupId>
    <artifactId>commons-validator</artifactId>
    <version>1.1.4</version>
  </dependency>
  <dependency>
    <groupId>oro</groupId>
    <artifactId>oro</artifactId>
    <version>2.0.8</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
    <scope>provided></scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided></scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.1.2</version>
  </dependency>
  <dependency>
    <groupId>javax.portlet</groupId>
    <artifactId>portlet-api</artifactId>
    <version>1.0</version>
  </dependency>
  <!-- only for tiles support -->
  <dependency>
    <groupId>struts</groupId>
    <artifactId>struts</artifactId>
    <version>1.2.7</version>
    <optional>true</optional>
  </dependency>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>easymock</groupId>
    <artifactId>easymock</artifactId>
    <version>1.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>easymock</groupId>
    <artifactId>easymockclassextension</artifactId>
    <version>1.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>cargo</groupId>
    <artifactId>cargo</artifactId>
    <version>0.6</version>
    <scope>test</scope>
  </dependency>
</project>

The main concern is about where to include API and RI dependencies? I think that all libraries which uses particular API should include dependency only to the API libraries and all projects using these libraries should include dependencies of equivalent implementations. But how and where this information should be written for users of these libraries? Maybe API libraries should list its own implementations as optional dependencies (I don't think it is a good solution because API libraries aren't responsible for these implementations), or other solution?

Best regards,
Piotrek


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org