SEC-806: Improved OSGi bundle version information support

This commit is contained in:
Luke Taylor 2008-04-30 18:02:47 +00:00
parent 81ebd094ff
commit 0df9dee9dd
4 changed files with 130 additions and 50 deletions

View File

@ -7,7 +7,7 @@
</parent> </parent>
<artifactId>spring-security-cas-client</artifactId> <artifactId>spring-security-cas-client</artifactId>
<name>Spring Security - CAS support</name> <name>Spring Security - CAS support</name>
<packaging>jar</packaging> <packaging>bundle</packaging>
<dependencies> <dependencies>
<dependency> <dependency>
@ -39,4 +39,29 @@
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
</dependencies> </dependencies>
<properties>
<spring.osgi.export>
org.springframework.security.*;version=${pom.version}
</spring.osgi.export>
<spring.osgi.import>
org.springframework.security.*;version="[${pom.version},${pom.version}]",
org.springframework.beans.*;version="${spring.version.osgi}",
org.springframework.context.*;version="${spring.version.osgi}",
org.springframework.dao.*;version="${spring.version.osgi}";resolution:=optional,
org.springframework.util.*;version="${spring.version.osgi}",
javax.servlet.*;version="[2.4.0, 3.0.0)";resolution:=optional,
net.sf.ehcache.*;version="[1.4.1, 2.0.0)";resolution:=optional,
org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
org.jasig.cas.client.*;version="[3.1.1, 4.0.0)"
</spring.osgi.import>
<spring.osgi.private.pkg>
!org.springframework.security.*
</spring.osgi.private.pkg>
<spring.osgi.symbolic.name>org.springframework.security.annotation</spring.osgi.symbolic.name>
</properties>
</project> </project>

View File

@ -67,26 +67,6 @@
<target>1.5</target> <target>1.5</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${felix.version}</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>org.springframework.bundle.security.core.tiger</Bundle-SymbolicName>
<Export-Package>org.springframework.security.*;version=${pom.version}</Export-Package>
<Private-Package>!org.springframework.security.*</Private-Package>
<Implementation-Title>${pom.name}</Implementation-Title>
<Implementation-Version>${pom.version}</Implementation-Version>
<Import-Package>
org.springframework*;resolution:=optional;version="[2.0,2.6)",
*;resolution:=optional
</Import-Package>
</instructions>
<excludeDependencies>true</excludeDependencies>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
<reporting> <reporting>
@ -100,4 +80,26 @@
</plugin> </plugin>
</plugins> </plugins>
</reporting> </reporting>
<properties>
<spring.osgi.export>
org.springframework.security.*;version=${pom.version}
</spring.osgi.export>
<spring.osgi.import>
javax.annotation.*;version="[1.0.0, 2.0.0)",
org.springframework.security.*;version="[${pom.version},${pom.version}]",
org.springframework.core.*;version="${spring.version.osgi}"
</spring.osgi.import>
<spring.osgi.private.pkg>
!org.springframework.security.*
</spring.osgi.private.pkg>
<spring.osgi.include.res>
src/main/resources
</spring.osgi.include.res>
<spring.osgi.symbolic.name>org.springframework.security.annotation</spring.osgi.symbolic.name>
</properties>
</project> </project>

View File

@ -142,33 +142,57 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <properties>
<plugins> <spring.osgi.export>
<plugin> org.springframework.security.*;version=${pom.version}
<groupId>org.apache.felix</groupId> </spring.osgi.export>
<artifactId>maven-bundle-plugin</artifactId>
<version>${felix.version}</version> <spring.osgi.import>
<extensions>true</extensions> !com.ibm.websphere.security,
<configuration> javax.servlet.*;version="[2.4.0, 3.0.0)";resolution:=optional,
<instructions> net.sf.ehcache.*;version="[1.4.1, 2.0.0)";resolution:=optional,
<Bundle-SymbolicName>org.springframework.bundle.security.core</Bundle-SymbolicName> org.aopalliance.*;version="[1.0.0, 2.0.0)",
<Export-Package>org.springframework.security.*;version=${pom.version}</Export-Package> org.apache.commons.codec.*;version="[1.3.0, 2.0.0)",
<Private-Package>!org.springframework.security.*</Private-Package> org.apache.commons.collections.*;version="[3.2.0, 4.0.0)",
<Implementation-Title>${pom.name}</Implementation-Title> org.apache.commons.lang.*;version="[2.1.0, 3.0.0)",
<Implementation-Version>${pom.version}</Implementation-Version> org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
<Import-Package> org.apache.directory.server.configuration.*;version="[1.0.2, 2.0.0)";resolution:=optional,
org.springframework*;resolution:=optional;version="[2.0,2.6)", org.apache.directory.server.core.*;version="[1.0.2, 2.0.0)";resolution:=optional,
*;resolution:=optional org.apache.directory.server.protocol.*;version="[1.0.2, 2.0.0)";resolution:=optional,
</Import-Package> org.aspectj.*;version="[1.5.4, 2.0.0)";resolution:=optional,
org.jaxen.*;version="[1.1.1, 2.0.0)";resolution:=optional,
org.springframework.aop.*;version="${spring.version.osgi}",
org.springframework.beans.*;version="${spring.version.osgi}",
org.springframework.context.*;version="${spring.version.osgi}",
org.springframework.core.*;version="${spring.version.osgi}",
org.springframework.dao.*;version="${spring.version.osgi}";resolution:=optional,
org.springframework.jdbc.*;version="${spring.version.osgi}";resolution:=optional,
org.springframework.ldap.*;version="[1.2.1.A, 2.0.0)";resolution:=optional,
org.springframework.metadata.*;version="${spring.version.osgi}",
org.springframework.mock.*;version="${spring.version.osgi}";resolution:=optional,
org.springframework.remoting.*;version="${spring.version.osgi}";resolution:=optional,
org.springframework.util.*;version="${spring.version.osgi}",
org.springframework.web.*;version="${spring.version.osgi}";resolution:=optional,
javax.crypto.*,
javax.naming.*,
javax.rmi.*,
javax.security.*,
javax.sql.*,
javax.xml.parsers.*,
org.w3c.dom.*,
org.xml.sax.*,
*;resolution:=optional
</spring.osgi.import>
<spring.osgi.private.pkg>
!org.springframework.security.*
</spring.osgi.private.pkg>
<!-- <!--
<Embed-Dependency> <spring.osgi.include.res>
*;scope=compile|runtime;inline=true src/main/resources
</Embed-Dependency> </spring.osgi.include.res>
--> -->
</instructions> <spring.osgi.symbolic.name>org.springframework.security</spring.osgi.symbolic.name>
</configuration> </properties>
</plugin>
</plugins>
</build>
</project> </project>

31
pom.xml
View File

@ -451,6 +451,35 @@
</postProcess> </postProcess>
</configuration> </configuration>
</plugin> </plugin>
<!-- OSGi Felix bundle plugin -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>1.4.0</version>
<extensions>true</extensions>
<configuration>
<obrRepository>NONE</obrRepository>
<instructions>
<!-- bundle specific conf -->
<Bundle-Name>${artifactId}</Bundle-Name>
<Bundle-SymbolicName>${spring.osgi.symbolic.name}</Bundle-SymbolicName>
<Bundle-Vendor>SpringSource</Bundle-Vendor>
<Export-Package>${spring.osgi.export}</Export-Package>
<Import-Package>${spring.osgi.import}</Import-Package>
<Private-Package>${spring.osgi.private.pkg}</Private-Package>
<!--Include-Resource>${spring.osgi.include.res}</Include-Resource-->
<!-- jar entries -->
<Implementation-Title>Spring Security</Implementation-Title>
<Implementation-Version>${pom.version}</Implementation-Version>
<Implementation-Vendor>SpringSource</Implementation-Vendor>
<Implementation-Vendor-Id>org.springframework.security</Implementation-Vendor-Id>
<!-- Spring specific entries -->
<!--Spring-Version>${spring.maven.artifact.version}</Spring-Version-->
</instructions>
<excludeDependencies>true</excludeDependencies>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
@ -701,7 +730,7 @@
</dependencyManagement> </dependencyManagement>
<properties> <properties>
<spring.version>2.0.8</spring.version> <spring.version>2.0.8</spring.version>
<felix.version>1.4.0</felix.version> <spring.version.osgi>[2.0.8, 3.0.0)</spring.version.osgi>
<jstl.version>1.1.2</jstl.version> <jstl.version>1.1.2</jstl.version>
<docbook.source>${basedir}/src/docbkx</docbook.source> <docbook.source>${basedir}/src/docbkx</docbook.source>