[jboss-cvs] jbosside/releng/org.jboss.ide.eclipse.releng/builders/common ...

Marshall Culpepper mculpepper at jboss.com
Wed Sep 6 22:40:11 EDT 2006


  User: mculpepper
  Date: 06/09/06 22:40:11

  Added:       releng/org.jboss.ide.eclipse.releng/builders/common  
                        bundleDependencies.xml
  Removed:     releng/org.jboss.ide.eclipse.releng/builders/common  
                        bundlePlugins.xml
  Log:
  renamed "bundlePlugins" to "bundleDependencies" since it does both features and plugins
  
  Revision  Changes    Path
  1.1      date: 2006/09/07 02:40:11;  author: mculpepper;  state: Exp;jbosside/releng/org.jboss.ide.eclipse.releng/builders/common/bundleDependencies.xml
  
  Index: bundleDependencies.xml
  ===================================================================
  <project>
  	<taskdef classpath="${build.root}/lib/ant-contrib.jar" resource="net/sf/antcontrib/antlib.xml"/>
  	<taskdef classpath="${build.root}/bin" resource="org/jboss/ide/eclipse/releng/antlib.xml" />
  	
  	<macrodef name="bundleDependencies">
  		<attribute name="feature"/>
  		<attribute name="archivePath"/>
  		<attribute name="buildDirectory"/>
  
  		<sequential>
  			<property name="plugins.dir" value="@{buildDirectory}/plugins"/>
  			<property name="features.dir" value="@{buildDirectory}/features"/>
  			<property name="tmp.dir" value="${java.io.tmpdir}/jbosside-build"/>
  
  			<mkdir dir="${tmp.dir}/plugins" />
  			
  			<calculateFeatureDependencies feature="@{feature}" pluginList="pluginDeps" featureList="featureDeps" eclipseInstallDir="@{buildDirectory}"/>
  			
  			<for list="${pluginDeps}" param="plugin.name" trim="true">
  				<sequential>
  					<copy todir="${tmp.dir}/plugins">
  						<fileset dir="${plugins.dir}">
  							<include name="@{plugin.name}_*/**/*" />
  							<include name="@{plugin.name}_*.jar"/>
  						</fileset>
  					</copy>
  					
  					<copySourceDependency name="@{plugin.name}" type="plugin" buildDirectory="@{buildDirectory}" copyTo="${tmp.dir}"/>					
  				</sequential>
  			</for>
  						
  			<for list="${featureDeps}" param="feature.name" trim="true">
  				<sequential>
  					<copy todir="${tmp.dir}/features">
  						<fileset dir="${features.dir}">
  							<include name="@{feature.name}_*/**/*"/>
  						</fileset>
  					</copy>
  					
  					<copySourceDependency name="@{feature.name}" type="feature" buildDirectory="@{buildDirectory}" copyTo="${tmp.dir}"/>
  				</sequential>
  			</for>
  			
  			<zip destfile="@{archivePath}" basedir="${tmp.dir}" update="yes"/>
  			<delete dir="${tmp.dir}"/>
  		</sequential>
  	</macrodef>
  
  	<macrodef name="copySourceDependency">
  		<attribute name="name"/>
  		<attribute name="type"/>
  		<attribute name="buildDirectory"/>
  		<attribute name="copyTo"/>
  		
  		<sequential>
  			<!-- we need to see if the dependency is a "source" dependency i.e.. a plugin/feature that was pulled from source control and built instead of being a pure binary plugin/feature -->
  			<!-- the easiest way to do this is to loop on a dirset that looks for this dependencies name without an underscore -->
  			<for param="dirname">
  				<dirset dir="@{buildDirectory}/@{type}s" includes="@{name}" />
  				<sequential>
  					<!-- if we're here we know this plugin/feature was built from source, meaning we need to invoke the build script to generate the binary directory for us for bundling -->
  					<ant antfile="@{buildDirectory}/@{type}s/@{name}/build.xml" target="gather.bin.parts" inheritall="true">
  						<property name="destination.temp.folder" value="@{copyTo}/plugins"/>
  						<property name="feature.base" value="@{copyTo}/features"/>
  					</ant>
  				</sequential>
  			</for>
  		</sequential>
  	</macrodef>
  </project>
  
  



More information about the jboss-cvs-commits mailing list