Improve and extend Apache Commons
[gpl/argeo-tp.git] / META-INF / spring / org.argeo.tp.apache.commons.xml
index d935ed3a27953cdd5e1d49652f96219d54d989e8..e4b0162dec0e958031b9871a10c36e4efdeddffc 100644 (file)
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
        http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">
 
-       <!-- REGISTER -->
-       <bean id="org.apache.commons.io" parent="template.org.apache.commons" />
-       <bean id="org.apache.commons.fileupload" parent="template.org.apache.commons" />
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.codec"
+               spec="spec.commons">
+               <flow:arg name="project" value="codec" />
+               <flow:arg name="version" value="1.9" />
+               <bean parent="template.commonsArchiveWrapper" />
+       </flow:flow>
 
-       <!-- Ant Factory -->
-       <bean id="template.org.apache.commons" parent="template.bndWrapper"
-               abstract="true">
-               <property name="groupId" value="org.argeo.tp.apache.commons" />
-       </bean>
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.dbcp"
+               spec="spec.commons">
+               <flow:arg name="project" value="pool" />
+               <flow:arg name="version" value="1.5.7" />
+               <bean parent="template.commonsArchiveWrapper" />
+       </flow:flow>
 
-       <flow:flow name="org.argeo.tp.apache.commons/org.apache.commons.io"
-               spec="spec.version">
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.pool"
+               spec="spec.commons">
+               <flow:arg name="project" value="pool" />
+               <flow:arg name="version" value="1.5.7" />
+               <bean parent="template.commonsArchiveWrapper" />
+       </flow:flow>
+
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.collections"
+               spec="spec.commons">
+               <flow:arg name="project" value="collections" />
+               <flow:arg name="version" value="3.2.1" />
+               <bean parent="template.commonsArchiveWrapper" />
+       </flow:flow>
+
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.io"
+               spec="spec.commons">
+               <flow:arg name="project" value="io" />
                <flow:arg name="version" value="2.4" />
-               <bean parent="template.archiveWrapper">
+               <bean parent="template.commonsArchiveWrapper" />
+       </flow:flow>
+
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.fileupload"
+               spec="spec.commons">
+               <flow:arg name="project" value="fileupload" />
+               <flow:arg name="version" value="1.3.1" />
+               <bean parent="template.commonsArchiveWrapper">
                        <property name="uri"
-                               value="http://archive.apache.org/dist/commons/io/binaries/commons-io-@{version}-bin.zip" />
-                       <property name="license">
-                               <util:constant static-field="org.argeo.slc.repo.FreeLicense.APACHE" />
-                       </property>
+                               value="http://archive.apache.org/dist/commons/@{project}/binaries/commons-@{project}-@{version}-bin.zip" />
                        <property name="wrappers">
                                <map>
-                                       <entry key="commons-io-@{version}/commons-io-@{version}.jar"
-                                               value-ref="org.apache.commons.io" />
+                                       <entry
+                                               key="commons-@{project}-@{version}-bin/lib/commons-@{project}-@{version}.jar">
+                                               <bean id="org.apache.commons.fileupload" parent="template.org.apache.commons" />
+                                       </entry>
                                </map>
                        </property>
+                       <property name="sourcesProvider">
+                               <bean class="org.argeo.slc.repo.osgi.ArchiveSourcesProvider">
+                                       <property name="uri"
+                                               value="http://archive.apache.org/dist/commons/@{project}/source/commons-@{project}-@{version}-src.zip" />
+                                       <property name="base"
+                                               value="commons-@{project}-@{version}-src/src/main/java/" />
+                                       <property name="osgiFactory" ref="osgiFactory" />
+                               </bean>
+                       </property>
                </bean>
        </flow:flow>
 
-       <flow:flow name="org.argeo.tp.apache.commons/org.apache.commons.fileupload"
+       <flow:flow name="org.argeo.tp.apache/org.apache.commons.httpclient"
                spec="spec.version">
-               <flow:arg name="version" value="1.3.1" />
-               <bean parent="template.archiveWrapper">
+               <flow:arg name="version" value="3.1" />
+               <bean parent="template.commonsArchiveWrapper">
+                       <property name="version" value="@{version}.0" />
                        <property name="uri"
-                               value="http://archive.apache.org/dist/commons/fileupload/binaries/commons-fileupload-@{version}-bin.zip" />
-                       <property name="license">
-                               <util:constant static-field="org.argeo.slc.repo.FreeLicense.APACHE" />
-                       </property>
+                               value="http://archive.apache.org/dist/httpcomponents/commons-httpclient/binary/commons-httpclient-@{version}.zip" />
                        <property name="wrappers">
                                <map>
                                        <entry
-                                               key="commons-fileupload-@{version}-bin/lib/commons-fileupload-@{version}.jar"
-                                               value-ref="org.apache.commons.fileupload" />
+                                               key="commons-httpclient-@{version}/commons-httpclient-@{version}.jar">
+                                               <bean id="org.apache.commons.httpclient" parent="template.org.apache.commons" />
+                                       </entry>
                                </map>
                        </property>
                        <property name="sourcesProvider">
                                <bean class="org.argeo.slc.repo.osgi.ArchiveSourcesProvider">
                                        <property name="uri"
-                                               value="http://archive.apache.org/dist/commons/fileupload/source/commons-fileupload-@{version}-src.zip" />
-                                       <property name="base"
-                                               value="commons-fileupload-@{version}-src/src/main/java/" />
+                                               value="http://archive.apache.org/dist/httpcomponents/commons-httpclient/source/commons-httpclient-@{version}-src.zip" />
+                                       <property name="base" value="commons-httpclient-@{version}/src/java/" />
                                        <property name="osgiFactory" ref="osgiFactory" />
                                </bean>
                        </property>
                </bean>
        </flow:flow>
 
+       <!-- Specs and templates -->
+       <flow:spec id="spec.commons">
+               <flow:primitive name="version" isParameter="true" />
+               <flow:primitive name="project" isParameter="true" />
+       </flow:spec>
+
+       <bean id="template.commonsArchiveWrapper" parent="template.archiveWrapper"
+               abstract="true">
+               <property name="version" value="@{version}" />
+               <property name="license">
+                       <util:constant static-field="org.argeo.slc.repo.FreeLicense.APACHE" />
+               </property>
+               <property name="uri"
+                       value="http://archive.apache.org/dist/commons/@{project}/binaries/commons-@{project}-@{version}-bin.zip" />
+               <property name="wrappers">
+                       <map>
+                               <entry
+                                       key="commons-@{project}-@{version}/commons-@{project}-@{version}.jar">
+                                       <bean p:name="org.apache.commons.@{project}" parent="template.org.apache.commons" />
+                               </entry>
+                       </map>
+               </property>
+       </bean>
+
+       <bean id="template.org.apache.commons" parent="template.bndWrapper"
+               abstract="true">
+               <property name="groupId" value="org.argeo.tp.apache.commons" />
+       </bean>
 </beans>
\ No newline at end of file