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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]